关注分享主机优惠活动
国内外VPS云服务器

Raspberry Pi使用DHT11向MySQL上传数据。

在开始实验之前,要在电脑上安装树莓派的温湿度传感器,并建立数据库连接。到这里,电脑的配置就结束了。对了,如果你运行Raspberry Pi代码,出现了远程连接失败的错误代码,如下图所示,这是因为你的防火墙开启了,所以你关闭了就不会报错了。

工具:树莓Pi * 1温湿度传感器DHT11 * 1

在开始实验之前,您应该在您的计算机上安装MYSQL并建立数据库连接。在这里,我使用Navicat Premium连接到计算机刚刚创建的数据库,并在数据库中创建一个新表。这里连接名可以随意取,主机可以直接填写localhost或者本地ip地址。这个端口因人而异。可能是3306,3308等等。之后,填写你的用户名和密码。不过这里需要注意的是,root用户一开始并没有远程登录的功能,需要在电脑端进行授权!!!首先在你电脑的cmd下登录mysql MySQL -h localhost -uroot -p(注意要安装在MySQL的bin目录下),给予Raspberry Pi访问权限授予*上的所有权限。*以“root”@“Raspberry Pi IP address”标识的“您的root密码”带有授予选项;然后输入刷新权限;让刚才的指令生效,这里是重启MySQL,可以直接退出;等一下。到这里,电脑的配置就结束了。顺便说一下,如果你运行Raspberry Pi代码,出现远程连接失败(错误代码:2003),如下图所示:这是因为你的防火墙打开了,关闭了也不会报错。接下来,转到树莓派。如果要用库Adafruit_DHT,必须先下载,Git克隆https://github.com/adafruit/Adafruit_Python_DHT.git,解压然后因为是在cd Adafruit_Python_DHT目录下,(如果用的是Raspberry Pi 4B,还是要,找到Adafruit_DHT目录下的platform_detect.py文件,在第112行加上下面这句话,然后去之前的目录sudo python3 setup.py install进行安装。安装完成后,您可以进入examples目录来运行测试文件。如果出现下图,说明安装成功(两个参数中的第一个表示是DHT11还是DHT22,后面是BCM编码的温度和湿度传感器数据pin。最后,上传数据代码。远程连接MYSQL con = pymysql.connect(host= "你的电脑ip地址",port=端口号,user= "用户名",db= "你刚刚创建的数据库",passwd= "密码")是非常重要的。

import py MySQL import ada fruit _ DHT import time Pin = 17 # DHT 11 connect data Pin global sensor sensor = ada fruit _ DHT . DHT 11 con = py MySQL . connect(host = "你的电脑ip地址",Port=端口号,user="root ",db= "你刚创建的数据库",passwd = " 123 ")# remote connection MySQL cur = con . cursor()# create cursor humi nity,temperature = ada fruit _ DHT . Read _ retry(sensor,Pin)#dht11读取数据而true: if格式(温度、湿度))else: print("失败,再试一次!")break time . sleep(1)# delay 1s SQL = " insert into your own new created table values(% s,%s)" #因为上传的数据只能是字符串,所以在这里,cast insert = cur.executemany (SQL,[(STR (temperature),STR (huminity))]) print ("success ",insert)cur . close()con.com MIT()con . close()然后运行它刷新Navicat Premium中新创建的表。最后,你可以在这里上传数据,当然不仅限于DHT11。也可以加其他传感器试试,剩下的就看你自己了。

未经允许不得转载:主机频道 » Raspberry Pi使用DHT11向MySQL上传数据。

评论 抢沙发

评论前必须登录!