Python+mysql数据库+传感器(将传感器获得数据存⼊数据库)
在这⾥⾸先,要感谢我的⽼师—蒋⽼师,因为,他提供了传感器的连接,让我顺利完成这次实验。也在蒋⽼师的指导下,知道⼀套完整的流程⾛向:
需要连接传感器,现在的笔记本⼀般没有端⼝,所以⽤的是虚拟端⼝;⽤传感器获得数据,将传感器获得数据存⼊本地数据库;通过另外的⼀个程序,将本地的数据库中数据传⼊⼀个服务器中(这个步骤没有完成,如果完成了,我会记得更新的)
现在的笔记本电脑,⼀般没有串⼝,采⽤虚拟串⼝;
先来展⽰⼀下实验效果:
数据库中内容:
接下来是代码部分:
先来实验两个串⼝间的相互通信:
串⼝1代码:
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
u'''
Created on 2018年12⽉27⽇
@author: wuluo
'''
__author__ = 'wuluo'
__version__ = '1.0.0'
__company__ = u'重庆交⼤'
__updated__ = '2018-12-27'
import serial
# 打开串⼝
serialPort = "COM1"  # 串⼝
baudRate = 9600  # 波特率
ser =serial.Serial(serialPort, baudRate, timeout=0.5)
print("参数设置:串⼝=%s ,波特率=%d" % (serialPort, baudRate))
# 收发数据
while 1:
str = input("请输⼊要发送的数据(⾮中⽂)并同时接收数据: ")
ser.write((str + '\n').encode())
adline())  # 可以接收中⽂
ser.close()
if __name__ == "__main__":
pass
串⼝2的代码:
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
u'''
Created on2018年12⽉27⽇
@author: wuluo
'''
__author__ = 'wuluo'
__version__ = '1.0.0'
__company__ = u'重庆交⼤'
__updated__ = '2018-12-27'
import serial
# 打开串⼝
serialPort = "COM2"  # 串⼝
baudRate = 9600  # 波特率
ser =serial.Serial(serialPort, baudRate, timeout=0.5)
print("参数设置:串⼝=%s ,波特率=%d" % (serialPort, baudRate))
# 收发数据
while 1:
str = input("请输⼊要发送的数据(⾮中⽂)并同时接收数据: ")
ser.write((str + '\n').encode())
adline())  # 可以接收中⽂
ser.close()
if __name__ == "__main__":
pass
实验结果:
下⾯,介绍,如何通过⼀个串⼝,将传感器得到的数据传回到本地数据库,
准备⼀个数据库,我采⽤的是mysql,具体安装教程,以及相关的问题,上⾯有链接,数据库的创建语⾔:
create table wensidu(
id  varchar(50 ),
wendu  varchar(50),
sidu  varchar(50),
primary  key(id)
)
然后就是两个串⼝部分的代码:The one:
#!/usr/bin/env
python3
# -*-
coding:utf-8 -*-
u'''
Created on 2019年1⽉6⽇
@author:
wuluo
'''
__author__
= 'wuluo'
__version__
= '1.0.0'
__company__
= u'重庆交⼤'
__updated__
= '2019-01-11'
import threading
import time
import jpyc.jserial as jserial import socket
import codecs
import pymysql
#
mysql数据库的连接
con =
host='127.0.0.1',
port=3306,
user='root',
password='123456',
db='python_wensidu',
charset='utf8'
)
cur =
con.cursor()  # 定义⼀个游标,通过游标来操作数据库
class U2S():
def __init__(self, us_address, s_para):
self.isalive = True
self.us_address
= us_address
self.s_para = s_para
self.serial = jserial.JSerial()
self.serial.setsettings(s_para)
self.serial.open()
self.udp =python怎么读取串口数据
socket.socket(socket.AF_INET, socket.SOCK_DGRAM)        self.udp.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,
1)
self.udp.settimeout(5)
self.th =
threading.Thread(vfromserial, args=())        self.th.setDaemon(True)
self.th.start()
self.th_udp =
threading.Thread(vfromudp, args=())
self.th_udp.setDaemon(True)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。