当前位置:网站首页>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
边栏推荐
- js(forEach)出现return无法结束函数的解决方法
- stack和queue和优先级队列(大堆和小堆)模拟实现和仿函数讲解
- [sudden] solve remote: support for password authentication was removed on August 13, 2021. please use a perso
- Improve the readability of your regular expressions a hundred times
- Reply from the Secretary of jindawei: the company is optimistic about the market prospect of NMN products and has launched a series of products
- Google gtest事件机制
- [untitled]
- How to monitor micro web services
- JS daily question (10)
- How to add traffic statistics codes to the legendary Development Zone website
猜你喜欢

How to set row height and column width in excel? The method of setting row height and column width in Excel

Huawei ilearning AI mathematics foundation course notes

向往的开源之多YOUNG新生 | 从开源到就业的避坑指南来啦!

学习数据库的第一个程序

玩家访问网站自动弹窗加QQ群方法以及详细代码

Mysql多对多关系,分组拼接把多个数据查询到一条数据上

SparkSql批量插入或更新,保存数据到Mysql中

【无标题】

Unity metaverse (III), protobuf & socket realize multi person online

How to monitor micro web services
随机推荐
Stack and queue and priority queue (large heap and small heap) simulation implementation and explanation of imitation function
Apache POI实现Excel导入读取数据和写入数据并导出
电脑无法打开excel表格怎么办?excel打不开的解决方法
开源汇智创未来 | 2022开放原子全球开源峰会 openEuler 分论坛圆满召开
[2022 freshmen learning] key points of the third week
JDBC statement + resultset introduction
Force deduction ----- sort odd and even subscripts respectively
Use annotation test in idea
Jackson parsing JSON detailed tutorial
[wechat applet] swiper slides the page, and the left and right sides of the slider show part of the front and back, showing part of the front and back
自贸经济中架起的“隐形桥梁”:国货精品与中国AI力量
[untitled]
How to debug UDP port
Understand activity workflow
How to monitor micro web services
Mysql多对多关系,分组拼接把多个数据查询到一条数据上
What servers are needed to build mobile app
MySQL regularly calls preset functions to complete data update
时间序列分析的表示学习时代来了?
Google GTEST event mechanism