基于树莓派的数据采集与存储0001_第1页
基于树莓派的数据采集与存储0001_第2页
基于树莓派的数据采集与存储0001_第3页
基于树莓派的数据采集与存储0001_第4页
基于树莓派的数据采集与存储0001_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、ndows的树莓派。自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。3百度文库配置树莓派1.树莓派供电树莓派的供电装置与智能手机的充电器是一样的。基本规格为DC 5V(直流电),至少达到700mA的输出电流,树莓派 2的输出电流应该更大,比如或2A。2.手动对SD存储卡进行写操作(windows)选择一张4GB以上的SD存储卡,SD卡插入笔记本电脑卡槽(或者需要一个读卡器)。下载官方发行的树莓派操作系统发行包(,并解压到本地。用管理员权限打开Fedora ARMIn staller (下

3、载),将下载的镜像写入SD存储卡。如下图:Installer63.连接笔记本电脑显示器网络设置:SD卡插入树莓派的 SD卡插槽,把树莓派和路由器用网线连接。打开电脑“网络和共享中心”,点击“WLAN( *)”点击“属性”,点击“共享”,在“允许其他网络用户通过此计算机的In ternet 来连接”前打勾。查找树莓派IP地址:打开"运行”(win+R键),输入cmd',输入"arp -a ",在 下图中的0x4接口下的动态地址就为树莓派的IP地址。biXUsapo t0M10>arphft 27 eb a8?朋PuTTy,在Host Name中输入树莓

4、派IP,PuTTY C on tig u rat ionC-atencry:曰 3»alcri-j Lgg唧 -I- TfNrn-iinal keyboard 如寻 V/rdcwWrl l*¥Ou| Trarsiartkan S«lec±lo«-CsrriMtienDates尸中阿; T*lrwt申55 H_ ni«4AtsoiJ:E«a3l匚 Qpllans for our PuTTY scrsalonSbecrty Ihc cfefitlmftB *>u warfl to conned Ic 电伽 IB心日出日貝)

5、 Pmn '»< _ - -dVrf c_> Teifiet < _:- RJogin « SSH : ” 8&心L-3EKi, 3ewe as at aneiJ sesa &nSa>ed Ses&ionB登入树莓派:在下图页面中login处输入树莓派账号(pi ),在password处输入密码(raspberry )。回车进入下图页面树莓派的桌面环境配置:在上putty 中输入 sudo apt-get update ; sudo apt-getin stall tightvncserver。安装完成vnc服务后,在

6、上图中继续输入以下命令:vncserver :1(一定要创建连接端口)。在第一次运行时,会提示你创建密码。在连接时就需要此密码。下载RealVNC(),在下图中输入树莓派IP:1(女口。百度文库VNC Server: 192,160,0.113:1Username:Password:Cancel进入树莓派桌面Api's X diklop (<Mpbnypk ) * VMC Viwr唤D 燈即-I -三、硬件电路连接DHT11与树莓派引脚图如下:-*2.64mm正直背面侧页- -一9、DHRBlWi?itih *1v5n供电 3 a. a'/M-.6DATA甲启找寸NDGO

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

8、传输为 40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度 小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数 据等于“ 8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数 据”所得结果的末 8位。 DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据从模式下QHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号QHT11不会主动进行温湿度采集采集数据后转换到低速模式。通讯过程如 图所示五、获取DHT11传感器温湿度采用Python语言实现温湿度的获取,

9、每执行一次程序读取一次温湿度的值。采用 putty中的nano编辑器完成汇编。步骤如下:登入树莓派,获取root权限进入nano编辑器,编辑 Python程序,程序如下:#! /usr/bin/env pythonimport as GPIOimport time channel = 12data =j = 0(channel,(channel,(channel,(channel,while (channel)=:continuewhile (channel)=:continuewhile j < 40:k = 0while (channel)=:continuewhile (chann

10、el)=:k += 1if k > 100:breakif k < 8:(0)else:(1)j += 1print "sensor is working."11print data humidity_bit = data0:8humidity_point_bit = data8:16temperature_bit = data16:24temperature_point_bit = data24:32check_bit = data32:40humidity = 0humidity_point = 0temperature = 0temperature_poi

11、nt = 0check = 0for i in range(8):humidity += humidity_biti * 2 * (7 - i)humidity_point += humidity_point_biti * 2 * (7 - i)temperature += temperature_biti * 2 * (7 - i)temperature_point += temperature_point_biti * 2 * (7 - i)check += check_biti * 2 * (7 - i)tmp = humidity + humidity_point + temperat

12、ure + temperature_pointif check = tmp:print "temperature : ", temperature, ", humidity : " , humidityelse:print "wrong"print "temperature : ", temperature, ", humidity : " , humidity, " check : ", check, " tmp : ", tmp()保存(Ctrl+O

13、)并退出(Ctrl+X )执行此程序():pyth on六、安装本地MY SQL使用管理员权限运行apt-get获取最新的MySQL及Python编程接口(之后用于数据库编程):|sudo apt-get in stall mysql-server pyth on-m ysqldb安装过程中需要输入 root管理员的密码,该密码之后用于访问数据库系统。在本地 MYSQ创建库"test ” ,表"dht ”和三个列"dht_tem ”,“ dht_hum” "dht_time ”。mysql -u root - p;登入本地 MySQLcreate dat

14、abase test;创建数据库” testUSE test;选择数据库” test ”create table dht;创建表"dht ”CREATE TABLE dht(dht_tem DECIMAL(4,1), dht_hum DECIMAL(4,1),dht_timechar(25);创建列 “ dht_tem ” , “ dht_hum” , “ dht_time元成后查看建好的表"dht ” ,如下图所示:Tables_in_test卜 Database changed mysql> SHOW TABLES,dht+11 工屮 in set (0. 00

15、secnrysql> USE testReading table inforination for coirpletion of table and column names You can turn off this feature to get quicker start up mth A4T11,121hI Field|1 Type1Null11 Key |I Default 1Extra 11dht_temdecimalL)YESI NULL'dht_humdecimal (4, L)YESNULLchar (25)YESNULL1HDE SCRIBE dht;3 tow

16、s in. set (0. 01 sec)在之前的中添加如下几段语句: import MySQLdbconn = (host='localhost',port=3306,user='root',passwd='QAZQAZ',db='test')cur =()value = temperature,humidity,str('%A %X %Z',()("insert into dht (dht_tem,dht_hum,dht_time) values(%s,%s,%s)",value)() ()

17、执行:pyth on按照之前数据库的操作方法,可在本地数据库MySQL查看到新插入的温湿度数据。如下图所示(已执行多次程序):dh-r;irysql> SELECT +4hdht 1 ime日ht| dht.humccccccccccccccc 5UTUTUT町UTUTUTUTnTUT町UTUT町UT O2 6140 7 147050340 20312554524442 1- 4 « H 4« «- H 4«« n« V B « n s - n « V B :7 8 99O1589 9 913O5 93333

18、44444445011 ov SB is 1 Bl - i - H ”: 4444444444445 5 5-000000000000000ooooo-o-ooooooooooooooo 5.L2.2.1.1.7.0.0.0.0.0.0.0.0.0.0.0.0.8. 555 5554555555555555 54n- o o &Z.7.1J-11 1-OOOOOOOOOOOOOA-OOOO 7.7-8B6-6.6.6.6.6.&&6.&&6.6.6.6. 1X 1X_ 1X IX 1X- IX 1X IX IX 1L- 1X IX 1X 1X 1X IX

19、 IX 1-七、连接阿里云RDS数据库云服务器和云数据库 RDS云服务上安装了下 mysql,在云盾里开放 3306端口, 远程同样能够正常连接数据库,但云服务器里搭建数据库可能不如云数据库来的稳 定,云数据库更易维护。利用实名账户在阿里云试用一个月的免费云数据库。具体操 作如下:申请阿里云试用一个月的免费云数据库登入阿里云RDS创建账号” dht_zzx ”和创建数据库” dht ”登入自己创建的数据库"dht” ,创建表"dht11 ”和三个列"dht_tem ”,“ dht_hum ” “ dht time ”。结果如下:设置白名单:即不设置访问限制;连接信

20、息改为切换外网模式,并将外网地址保存好。在中添加如下程序:import requestsimport jsondb = (host=",port=3306,user='dht_zzx', passwd='qaz123', db='dht')cur_db =()("insert into tb_dht (dht_tem,dht_hum,dht_time) values (%s,%s,%s)",value)()运行程序,打开阿里云数据库,观察结果,如下:20甘页 SQL fin * Mtifb令阳t 3 席式忧 3 n/

21、ntca 克辭 j dht” C ffifisQL 1 SELECT * FFtDfl JltllidhthumHh 忙time卜1 1fIdWTC2怩皿如1 10VTC扌18wwkj 曲.22:me4俐皿如 10.23;CO VTC5聃闻CO 別;£0 U1C6IE礼山孑池倚inc7狛Vcaulay 如立出口 IflC呂642聘皿氈F -0 37:03 UTCg310 2-8:03 UTC10a和皤 1>O.1B;O3 m八、上传数据到传感云申请传感云账号添加一个设备“ dhtll温湿度采集”,添加两传感器“dhtll温度”,“ dhtll湿度”,得到传感器 ID 分别为:565274cce4b0932584ded623,5652756ee4b0932584ded624 ;在个人中心查看自己的密钥:C0b419675b8955d2866e224e448b06e1 ;在API文档的插入数值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论