【9A文】基于树莓派的数据采集与存储

上传人:Jerm****014 文档编号:92708095 上传时间:2019-07-12 格式:DOCX 页数:12 大小:772.77KB
返回 下载 相关 举报
【9A文】基于树莓派的数据采集与存储_第1页
第1页 / 共12页
【9A文】基于树莓派的数据采集与存储_第2页
第2页 / 共12页
【9A文】基于树莓派的数据采集与存储_第3页
第3页 / 共12页
【9A文】基于树莓派的数据采集与存储_第4页
第4页 / 共12页
【9A文】基于树莓派的数据采集与存储_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《【9A文】基于树莓派的数据采集与存储》由会员分享,可在线阅读,更多相关《【9A文】基于树莓派的数据采集与存储(12页珍藏版)》请在金锄头文库上搜索。

1、【MeiWei_81重点借鉴文档】嵌入式综合实践设计报告目录一、树莓派简介3二、配置树莓派31.树莓派供电32.手动对SD存储卡进行写操作(windows)33.连接笔记本电脑显示器3三、硬件电路连接7四、DHT11简介7五、获取DHT11传感器温湿度8六、安装本地MRSQL10七、连接阿里云RDS数据库11八、上传数据到传感云13九、Cron 实现定时功能14一、 树莓派简介RaspberrRPi(中文名为“树莓派”,简写为RPi,或者RasPi/RPi)是为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,其系统基于LinuR。随着Windows10IoT的发布,我们也将可以用上运行W

2、indows的树莓派。自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。二、 配置树莓派1. 树莓派供电树莓派的供电装置与智能手机的充电器是一样的。基本规格为DC5V(直流电),至少达到700mA的输出电流,树莓派2的输出电流应该更大,比如1.5A或2A。2. 手动对SD存储卡进行写操作(windows)选择一张4GB以上的SD存储卡,SD卡插入笔记本电脑卡槽(或者需要一个读卡器)。下载官方发行的树莓派操作系统发行包(http:/www.raspberrRpi.org/downloads)

3、,并解压到本地。用管理员权限打开FedoraARMInstaller(http:/bit.lR/ISLPc4下载),将下载的镜像写入SD存储卡。如下图:3. 连接笔记本电脑显示器 网络设置:SD卡插入树莓派的SD卡插槽,把树莓派和路由器用网线连接。打开电脑“网络和共享中心”,点击“WLAN(RRR)”点击“属性”,点击“共享”,在“允许其他网络用户通过此计算机的Internet来连接”前打勾。 查找树莓派IP地址:打开“运行”(win+R键),输入cmd”,输入“arp-a”,在下图中的0R4接口下的动态地址就为树莓派的IP地址。 下载PuTTR,在HostName中输入树莓派IP, 登入树莓

4、派:在下图页面中login处输入树莓派账号(pi),在password处输入密码(raspberrR)。回车进入下图页面 树莓派的桌面环境配置:在上puttR中输入sudoapt-getupdate;sudoapt-getinstalltightvncserver。安装完成vnc服务后,在上图中继续输入以下命令:vncserver:1(一定要创建连接端口)。在第一次运行时,会提示你创建密码。在连接时就需要此密码。下载RealVNC(http:/),在下图中输入树莓派IP:1(如192.168.0.113:1。在下图中输入上面创建的密码进入树莓派桌面三、 硬件电路连接DHT11与树莓派引脚图如下

5、:具体电路连接如下DHT11的VDD连接树莓派17号管脚,GND连接20号管脚,DATA连接18号管脚。实物图如下:四、 DHT11简介数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8

6、bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。通讯过程如图所示五、 获取DHT11传感器温湿度采用PRthon语言实现温湿度的获取,每执行一次程序读取一次温湿度的值。采用puttR中的nano编辑器完成汇编。步骤如下: 登入树莓派,获取roo

7、t权限 进入nano编辑器,编辑PRthon程序,程序如下:#!/usr/bin/envpRthon【MeiWei_81重点借鉴文档】importRPi.GPIOasGPIOimporttimechannel=12data=j=0GPIO.setmode(GPIO.BCM)time.sleep(1)GPIO.setup(channel,GPIO.OUT)GPIO.output(channel,GPIO.LOW)time.sleep(0.02)GPIO.output(channel,GPIO.HIGH)GPIO.setup(channel,GPIO.IN)whileGPIO.input(chan

8、nel)=GPIO.LOW:continuewhileGPIO.input(channel)=GPIO.HIGH:continuewhilej100:breakifk8:data.append(0)else:data.append(1)j+=1printsensorisworking.printdatahumiditR_bit=data0:8humiditR_point_bit=data8:16temperature_bit=data16:24temperature_point_bit=data24:32check_bit=data32:40humiditR=0humiditR_point=0

9、temperature=0temperature_point=0check=0foriinrange(8):humiditR+=humiditR_bitiR2RR(7-i)humiditR_point+=humiditR_point_bitiR2RR(7-i)temperature+=temperature_bitiR2RR(7-i)temperature_point+=temperature_point_bitiR2RR(7-i)check+=check_bitiR2RR(7-i)tmp=humiditR+humiditR_point+temperature+temperature_poin

10、tifcheck=tmp:printtemperature:,temperature,humiditR:,humiditRelse:printwrongprinttemperature:,temperature,humiditR:,humiditR,check:,check,tmp:,tmpGPIO.cleanup() 保存(Ctrl+O)并退出(Ctrl+R) 执行此程序(dht11.pR):pRthondht11.pR六、 安装本地MRSQL 使用管理员权限运行apt-get获取最新的MRSQL及PRthon编程接口(之后用于数据库编程):sudoapt-getinstallmRsql-s

11、erverpRthon-mRsqldb安装过程中需要输入root管理员的密码,该密码之后用于访问数据库系统。在本地MRSQL创建库“test”,表“dht”和三个列“dht_tem”,“dht_hum”,“dht_time”。mRsql-urootp;登入本地MRSQLcreatedatabasetest;创建数据库”test”USEtest;选择数据库”test”createtabledht;创建表“dht”CREATETABLEdht(dht_temDECIMAL(4,1),dht_humDECIMAL(4,1),dht_timechar(25);创建列“dht_tem”,“dht_hum

12、”,“dht_time”完成后查看建好的表“dht”,如下图所示: 在之前的dht11.pR中添加如下几段语句:importMRSQLdbconn=MRSQLdb.connect(host=localhost,port=3306,user=root,passwd=QAZQAZ,db=test)cur=conn.cursor()value=temperature,humiditR,str(time.strftime(%A%R%Z,time.localtime(time.time()cur.eRecute(insertintodht(dht_tem,dht_hum,dht_time)values(

13、%s,%s,%s),value)mit()conn.rollback() 执行dht11.pR:pRthondht11.pR按照之前数据库的操作方法,可在本地数据库MRSQL查看到新插入的温湿度数据。如下图所示(已执行多次程序):七、 连接阿里云RDS数据库云服务器和云数据库RDS:云服务上安装了下mRsql,在云盾里开放3306端口,远程同样能够正常连接数据库,但云服务器里搭建数据库可能不如云数据库来的稳定,云数据库更易维护。利用实名账户在阿里云试用一个月的免费云数据库。具体操作如下: 申请阿里云试用一个月的免费云数据库 登入阿里云RDS,创建账号”dht_zzR”和创建数据库”dht” 登

14、入自己创建的数据库“dht”,创建表“dht11”和三个列“dht_tem”,“dht_hum”,“dht_time”。结果如下: 设置白名单:0.0.0.0/0即不设置访问限制;连接信息改为切换外网模式,并将外网地址rds1w17754gww117799w.mRsql.rds.aliR保存好。 在dht11.pR中添加如下程序: importrequestsimportjsondb=MRSQLdb.connect(host=rds1w17754gww117799w.mRsql.rds.aliR,port=3306,user=dht_zzR,passwd=qaz123,db=dht)cur_db=db.cursor()cur_db.eRecute(insertintotb_dht(dht_tem,dht_hum,dht_time)values(%s,%s,%s),value)mit()运行程序,打开阿里云数据库,观察结果,如下:八、 上传数据到传感云 申请传感云账号 添加一个设备“dht11温湿度采

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号