总结:开始实验之前,需要在电脑上安装树莓派温湿度传感器工具,并建立数据库连接。 您的计算机的设置到此结束。 顺便说一句,如果您运行 Raspberry Pi 代码并看到如下所示的远程连接失败错误代码,那是因为您打开了防火墙。 如果关闭防火墙,则不会报告此错误。
工具:树莓派*1 温湿度传感器DHT11*1
开始实验之前,电脑上必须安装好MYSQL,并建立数据库连接。 现在,我们将使用 Navicat Premium 连接到我们刚刚在计算机上创建的数据库,并在数据库中创建一个新表。 这里需要注意的重要一点是您可以轻松选择连接名称。 主机可以直接输入为 localhost 或本地 IP 地址。 这个端口因人而异,可能是3306、3308等。 之后,只需输入您的用户名和密码。 但需要注意的是,root用户不具备从一开始就远程登录的能力,必须在计算机终端进行授权。 ! ! 首先,在电脑cmd下登录mysqlmysql -h localhost -uroot -p(注意一定要在MySQL安装bin目录下),给你的树莓派访问权限GRANT ALL Gives PRIVILEGES ON *。 * TO "root"@"Raspberry Pi ip 地址" IDENTIFIED BY "root 用户密码" WITH GRANT OPTION; 然后输入 flash 权限。 我们建议重新启动 MySQL 以使当前命令生效。 可以直接退出。 您的计算机的设置到此结束。 顺便说一句,当我运行Raspberry Pi代码时,远程连接失败(错误代码:2003),如下所示。 这是因为防火墙已打开。如果不勾选,则不会报此错误。 接下来,转到树莓派。 如果您想在 Raspberry Pi 上使用 Adafruit_DHT 库,则必须首先下载它,使用 git clone https://github.com/adafruit/Adafruit_Python_DHT.git 解压,然后 cd 到 Adafruit_Python_DHT 目录(也在 Raspberry Pi 4B 上) ). 在 Adafruit_DHT 目录中找到 platform_detect.py 文件并添加以下文件: 键入第1行的语句,进入上级目录sudo.python3 setup.py install进行安装,安装完成后可以进入example目录运行测试文件,第一个参数表示是否安装成功。为DHT11或DHT22,后者参数连接温湿度传感器数据引脚最后需要上传数据代码。 to MYSQL con = pymysql.connect(host="你电脑的IP地址",port=端口号,user="用户名",db="你刚刚创建的数据库",passwd="密码")这个很重要
import pymysqlimport Adafruit_DHTimport timepin = 17 # DHT11 连接到 BCM 编码数据引脚 globalsensorsensor = Adafruit_DHT.DHT11con = pymysql.connect(host="你电脑的IP地址",port=端口号,user="root",db="你刚刚创建的数据库",passwd="123")#远程连接 MYSQLcur = con .cursor( ) #创建光标湿度、温度 = Adafruit_DHT.read_retry(sensor, pin)#dht11 如果为 True,则读取数据: 湿度Not None 并且温度也不是 None: print("Temp={0:0.1f}*C Humidity={1:0.1f}%".format(温度, 湿度)) else: print("失败,请重试! " ) Break time.sleep(1) # 延迟 1 秒 sql="插入新创建的表值 (%s,%s)" #由于只能上传的数据是字符串,所以这里进行了强制转换 insert=cur.executemany(sql,[(str(温度),str(湿度))]) print("sucess",insert)cur . close()con.commit()con.close()
然后运行,刷新Navicat Premium中新创建的表,你终于会看到有数据了。 当然,这里上传的数据不限于DHT11。 您还可以尝试添加其他传感器。 剩下的就看你的表现了。
评论前必须登录!
注册