当前位置:网站首页>Ros1 dead chicken data is stored in txt and SQLite
Ros1 dead chicken data is stored in txt and SQLite
2022-07-29 05:13:00 【huashuideyu】
#!/usr/bin/env python3
#coding = 'utf-8'
from distutils.command.config import config
from email import message
import rospy
import paho.mqtt.client as mqtt
import time
import rospy
import json
from std_msgs.msg import String
from service.msg import data,pose
num = 0
def robotInfoCallback(msg):
rospy.loginfo("Subcribe roobot Info: [%s] ", msg)
conf = msg.conf
tim = msg.time
print("wait high")
try :
hight_msg = rospy.wait_for_message("new_pose_hight",pose,timeout=1)
hight = hight_msg.pos_h
except:
hight = 0
print("get height",hight)
distance_msg = rospy.wait_for_message("pose_rfid",pose,timeout=1)
dis = distance_msg.pos_r
dis = 1
print("get distance",dis)
rfid =1
rfid_msg = rospy.wait_for_message("pose_rfid",pose,timeout=1)
rfid = rfid_msg.pos_r
print("get rfid",rfid)
global num
num += 1
pub_tim = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
txt_name = pub_tim
Message = {
"method":0,"conf":conf,"time":tim,"distance":dis,"rfid":rfid,"heigh":hight,"p_time":pub_tim}
s = str(Message)
num_s = str(num)
with open('/home/r/rosWorkSpace/xiaoche_ws/src/main/src/save/'+ "num :" + num_s +" "+ txt_name +'.txt', 'w', encoding='utf-8') as f:
# take dic dumps json Format for writing
f.write(json.dumps(s))
print(s)
print("---------------------------------------")
def robot_subscriber():
# ROS Node initialization
rospy.init_node('save', anonymous=True)
# Create a Subscriber, The subscription is called /data_info Of topic, Register callback function robotInfoCallback
rospy.Subscriber("data_info", data, robotInfoCallback)
print("waiting data")
# Loop waiting for callback function
rospy.spin()
if __name__ == '__main__':
robot_subscriber()
sqlite Store
establish database By default home Under the folder
#!/usr/bin/python3
import sqlite3
conn = sqlite3.connect('deadBroiler.db')
print(" Database open successfully ")
c = conn.cursor()
c.execute('''CREATE TABLE DEADBROILER ( TIME TEXT PRIMARY KEY , METHOD INT , CONF DOUBLE , DISTANCE INT , RFID INT , HIGH INT , SPEED REAL , AHEAD INT , PTIME TEXT );''')
print(" Data table created successfully ")
conn.commit()
conn.close()
Storage node
#!/usr/bin/env python3
#coding = 'utf-8'
from crypt import methods
from operator import methodcaller
from turtle import speed
import rospy
import time
import rospy
import json
from std_msgs.msg import String
import sqlite3
from service.msg import data,pose
num = 0
def robotInfoCallback(msg):
rospy.loginfo("Subcribe roobot Info: [%s] ", msg)
conf = msg.conf
tim = msg.time
print("wait high")
try :
hight_msg = rospy.wait_for_message("new_pose_hight",pose,timeout=1)
hight = hight_msg.pos_h
except:
hight = 0
print("get height",hight)
distance_msg = rospy.wait_for_message("pose_rfid",pose,timeout=1)
dis = distance_msg.pos_r
dis = 1
print("get distance",dis)
rfid =1
rfid_msg = rospy.wait_for_message("pose_rfid",pose,timeout=1)
rfid = rfid_msg.pos_r
print("get rfid",rfid)
global num
num += 1
pub_tim = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
txt_name = pub_tim
Message = [tim,mthd,conf,dis,rfid,hight,spd,pub_tim]
conn = sqlite3.connect('deadBroiler.db')
c = conn.cursor()
print (" Database open successfully ")
c.execute("INSERT INTO DEADBROILER (TIME,METHOD,CONF,DISTANCE,RFID,HIGH,SPEED,AHEAD,PTIME) \
VALUES(?,?,?,?,?,?,?,?,?)",( Message[0],Message[1],Message[2],Message[3],Message[4],Message[5],Message[6],Message[7],Message[8]))
conn.commit()
print (" Data insertion successful ")
conn.close()
conn = sqlite3.connect('test.db')
c = conn.cursor()
print (" Database open successfully ")
for data in Message :
c.execute("INSERT INTO COMPANY (METHOD,CONF,TIME,DISTANCE,RFID,HIGH,SPEED,PTIME) \
VALUES(?,?,?,?,?,?,?,?)",data["method"],data["conf"],data["time"],data["distance"],(data["rfid"],data["heigh"],data["p_time"]))
conn.commit()
print (" Data insertion successful ")
conn.close()
def robot_subscriber():
# ROS Node initialization
rospy.init_node('save', anonymous=True)
# Create a Subscriber, The subscription is called /data_info Of topic, Register callback function robotInfoCallback
rospy.Subscriber("data_info", data, robotInfoCallback)
print("waiting data")
# Loop waiting for callback function
rospy.spin()
if __name__ == '__main__':
robot_subscriber()
Data storage of dead chickens on that day
#!/usr/bin/env python
#coding = 'utf-8'
from distutils.command.config import config
from email import message
import rospy
import paho.mqtt.client as mqtt
import time
import rospy
import json
from std_msgs.msg import String
from service.msg import data,pose
import sqlite3
import datetime
num = 0
date_tim = "db"+time.strftime('%Y%m%d', time.localtime())
def robot_subscriber():
global date_tim
# Create a Subscriber, The subscription is called /data_info Of topic, Register callback function robotInfoCallback
date_object = datetime.date.today()
conn = sqlite3.connect('/home/yong/RosWorkSpace2/two_ws/src/main/src/deadBroiler.db')
print(" Database open successfully ")
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS [%s] ( NUMBER INT, TIME TEXT , METHOD INT , CONF DOUBLE , DISTANCE INT , RFID INT , HIGH INT , SPEED REAL , AHEAD INT , PTIME TEXT );''' % date_tim )
print(" Data table created successfully ")
conn.commit()
conn.close()
global num
##########
num += 1
conf = 0
tim = datetime.date.today()
hight = 0
dis = 0
ahd = 2
spd = 0
rfid = 0
method = 0
pub_tim = tim
##########
#Message = {"method":0,"conf":conf,"time":tim,"distance":dis,"rfid":rfid,"hight":hight,"ahead":ahd,"speed":spd,"p_time":pub_tim}
Message = [num,tim,method,conf,dis,rfid,hight,spd,ahd,pub_tim]
conn = sqlite3.connect('/home/yong/RosWorkSpace2/two_ws/src/main/src/deadBroiler.db')
c = conn.cursor()
print (" Database open successfully ")
#try:
table_name =date_tim
print(table_name)
c.execute('INSERT INTO '+table_name+' (NUMBER,TIME,METHOD,CONF,DISTANCE,RFID,HIGH,SPEED,AHEAD,PTIME) \
VALUES(?,?,?,?,?,?,?,?,?,?)', ( Message[0],Message[1],Message[2],Message[3],Message[4],Message[5],Message[6],Message[7],Message[8],Message[9]))
conn.commit()
conn.close()
print (" Data insertion successful ")
if __name__ == '__main__':
robot_subscriber()
Data acquisition of dead chickens on that day
边栏推荐
- Google GTEST event mechanism
- 学习数据库的第一个程序
- 优炫数据库启动失败,报网络错误
- Diagram of odoo development tutorial
- Create a mindscore environment in modelars, install mindvision, and conduct in-depth learning and training (Huawei)
- 如何让照片中的人物笑起来?HMS Core视频编辑服务一键微笑功能,让人物笑容更自然
- ThreadPoolExecutor simple to use
- roLabelImg转DATO格式数据
- Quick start JDBC
- JS daily question (10)
猜你喜欢
excel怎么设置行高和列宽?excel设置行高和列宽的方法
Network Security Learning - Intranet Security 1
How is the entered query SQL statement executed?
Apache POI实现Excel导入读取数据和写入数据并导出
Stack and queue and priority queue (large heap and small heap) simulation implementation and explanation of imitation function
MySQL many to many relationship, grouping and splicing to query multiple data to one data
虚拟偶像的歌声原来是这样生成的!
Solution | get the relevant information about the current employees' highest salary in each department |
Northeast University Data Science Foundation (matlab) - Notes
office2010每次打开都要配置进度怎么解决?
随机推荐
IDEA中使用注解Test
Flink+iceberg environment construction and production problem handling
三层项目的架构分析及构造方法的参数名称注入
Use annotation test in idea
Jackson解析JSON详细教程
Lenovo Savior r7000+ add ssd+ copy and partition the information of the original D disk to the new SSD
What if excel is stuck and not saved? The solution of Excel not saved but stuck
带你搞懂 Kubernetes 集群中几种常见的流量暴露方案
[untitled]
【config】配置数组参数
AUTOSAR from introduction to proficiency 100 lectures (78) -autosar-dem module
网安学习-内网安全1
TMUX essays
How is the entered query SQL statement executed?
Reply from the Secretary of jindawei: the company is optimistic about the market prospect of NMN products and has launched a series of products
Mysql的自连接和联合查询
Open the tutorial of adding and modifying automatically playing music on the open zone website
A little knowledge about management
sql日志
Young freshmen yearn for more open source | here comes the escape guide from open source to employment!