资讯专栏INFORMATION COLUMN

树莓派利用DHT11上传数据到电脑MySQL上

不知名网友 / 1991人阅读

摘要:工具树莓派温湿度传感器在开始实验之前,要在电脑上安装,并且建立好一个数据库连接。到这里对电脑配置就结束了,对了,还有如果你们到时运行树莓派代码出现远程连接失败错误码,像下图这是因为,你的防火墙开了,把防火墙关掉就不会报这个错误了。

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

在开始实验之前,要在电脑上安装MYSQL,并且建立好一个数据库连接。这里我用Navicat Premium连接电脑刚刚创建好的数据库,在数据库中新建一个表。这里连接提一句,
连接名可以随便取,主机可以直接填localhost,也可以直接填本地ip地址。这个端口因人而异,可能是3306,也可能是3308等等。之后,就是填自己的用户名和密码。不过,这里要注意root用户一开始没有远程登陆的功能,需要在电脑终端给他赋权!!!首先,在电脑的cmd下(注意要在MySQL安装bin目录下)登录mysqlmysql -h localhost -uroot -p,
还有就是给树莓派访问权限GRANT ALL PRIVILEGES ON *.* TO "root"@"树莓派ip地址" IDENTIFIED BY "你的root用户密码" WITH GRANT OPTION;然后输入FLUSH PRIVILEGES;让刚刚指令生效,这里还是重启一下MySQL,可以直接exit;一下。到这里对电脑配置就结束了,对了,还有如果你们到时运行树莓派代码出现 远程连接失败(错误码:2003),像下图:

这是因为,你的防火墙开了,把防火墙关掉就不会报这个错误了。
下面转到树莓派上,树莓派如果想用Adafruit_DHT这个库得先去下载,git clone https://github.com/adafruit/Adafruit_Python_DHT.git,解压然后因为cd Adafruit_Python_DHT目录下,(如果你用的是树莓派4B,还得,在Adafruit_DHT目录下找到platform_detect.py这个文件
在112行补上下面那句话
然后转到上一级目录sudo python3 setup.py install进行安装,安装完后可以进入examples目录运行测试文件,如果出现下图情况说明安装成功了(那两个参数,前一个是指明是DHT11还是DHT22,后面是以BCM为编码的接温湿度传感器数据引脚。
终于到最后上传数据代码了,这里要远程连接MYSQL
con = pymysql.connect(host="你电脑ip地址",port=端口号,user="用户名",db="你刚刚创建的数据库",passwd="密码")这个很关键,

import pymysqlimport Adafruit_DHTimport timepin = 17  # DHT11在BCM编码下接数据引脚global sensorsensor = Adafruit_DHT.DHT11con = pymysql.connect(host="你电脑ip地址",port=端口号,user="root",db="你刚刚创建的数据库",passwd="123")#远程连接MYSQLcur = con.cursor()#创建游标humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)#dht11读数据while True:    if humidity is not None and temperature is not None:        print("Temp={0:0.1f}*C  Humidity={1:0.1f}%".format(temperature, humidity))    else:        print("Failure,Try again!")        break    time.sleep(1)                 # 延时1s    sql="insert into 自己新建的表 values(%s,%s)"    #由于上传数据只能是字符串,所以这里进行强制转换    insert=cur.executemany(sql,[(str(temperature),str(humidity))])    print("sucess",insert)cur.close()con.commit()con.close()

然后运行,刷新Navicat Premium中刚刚新建的表,最后可以看到有数据。
这里上传数据当然不限于DHT11,你们也可以加上其他传感器试试,剩下就看看你们自己的发挥了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125583.html

相关文章

  • (超简单)ESP8266深度睡眠模式下远程采集温湿度信息

    摘要:超简单深度睡眠模式下远程采集温湿度信息项目背景相关技术深度睡眠模式温湿度采集数据收发前后端实现后端前端项目背景自己用收纳箱做了一个用于存放打印耗材的干燥箱,想用闲置的开发板和温湿度传感器做一个远程温湿度监测的小项目。 ...

    pkhope 评论0 收藏0
  • EMB-nodeMCU自动化控制实现空气质量管家

    摘要:寻思着实现个自动化控制玩玩。自从穹顶之下的信息被普及,不仅要出门带口罩,还要家里开空气净化器。效果图代码家庭空气质量管家为传感器口为继电器控制口引脚初始化网络串口监听颗粒温湿度烟雾继电器源码 背景 前阵子树莓派由于没外壳不小心短路烧掉了。最近得手nodeMCU的板子,不仅便宜还支持串口交互式调试,很是方便。寻思着实现个自动化控制玩玩。自从穹顶之下的信息被普及,不仅要出门带口罩,还要家里...

    Terry_Tai 评论0 收藏0
  • EMB-nodeMCU自动化控制实现空气质量管家

    摘要:寻思着实现个自动化控制玩玩。自从穹顶之下的信息被普及,不仅要出门带口罩,还要家里开空气净化器。效果图代码家庭空气质量管家为传感器口为继电器控制口引脚初始化网络串口监听颗粒温湿度烟雾继电器源码 背景 前阵子树莓派由于没外壳不小心短路烧掉了。最近得手nodeMCU的板子,不仅便宜还支持串口交互式调试,很是方便。寻思着实现个自动化控制玩玩。自从穹顶之下的信息被普及,不仅要出门带口罩,还要家里...

    junbaor 评论0 收藏0

发表评论

0条评论

不知名网友

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<