基于树莓派的数据采集与存储精编版

合集下载

Raspberry Pi树莓派数据存储管理优化方案

Raspberry Pi树莓派数据存储管理优化方案

目录1RASPBERRY PI树莓派数据存储管理优化方案 (2)1.1整体优化方案 (2)1.2U盘初始化方法 (3)1.3U盘自动挂载方法 (4)1.4U盘自动管理方法 (5)1.5系统分区制作方法 (6)1.6优化脚体制作 (10)1.6.1U盘自动格式化脚本 (10)1.6.2U盘自动挂载脚本 (21)1.6.3U盘自动管理脚本 (30)1 Raspberry Pi树莓派数据存储管理优化方案1.1 整体优化方案树莓派系统在使用过程中,难免需要存储各种数据信息,便是系统的存储空间是有限的,存储介质也包括有外接U盘或系统TF卡,因此需要有一套有效的数据存储管理方案以满足系统的长期稳定运行需求,避免因为存储空间不足或出现不可读写等现象而异致系统故障。

本方案设计了一套完整可靠的数据存储管理优化方案,可应用于有效管理树莓派系统或应用程序持续产出的数据文件,保障树莓派系统长期稳定运行,具体的优化方案描述如下。

1、首先,创建/home/storage目录,定义为数据存储空间,专门应用于管理系统及应用程序的产出数据。

2、当有外接U盘接入的情况下,启动自动挂载脚本优先将U盘自动挂载到/home/storage,此时主要以U盘作为数据存储介质。

自动挂载脚本的详细制作就参考下面章节。

3、当没有外接U盘时,自动挂载脚本将自动检测系统TF卡是否存在数据分区(自定义),如果存在则自动挂载到/home/storage,此时主要以数据分区作为数据存储介质。

关于数据分区的制作方法请参考下面章节。

4、当系统既没有外接U盘接入,也没有数据分区时,系统默认以/home/storage目录直接作为数据存储空间,数据直接保存在系统TF卡的系统主分区。

1.2 U盘初始化方法目前树莓派系统支持的U盘大小有16G、32G、64G等规格,系统对一般通用的U盘产品是自动识别的,不需要安装驱动,只要把U盘插入树莓派的USB接口,正常情况下,通过sudo fdisk -l命令就可以查询到U盘的识别状态以及其属性信息,如下图所示。

树莓派技术入门应用--树莓派+MCC118实现数据采集

树莓派技术入门应用--树莓派+MCC118实现数据采集

树莓派技术入门应用--树莓派+MCC118实现数据采集树莓派+ MCC 118 实现数据采集最近从树莓派实验室拿到一块MCC 118 DAQ 扩展板的试用,这是我第一次接触专业的DAQ 采集卡,怀着对数据采集的好奇开始摸索。

首先了解到这个板卡可以同时支持8路数据采集,但我这里暂时只需要用到其中1路来实现一个环境光线的采集。

我会使用一个安放在室外、具有模拟输出功能的光线传感器模块,采集其模拟电信号,并线性转换成一个光照的亮度指数。

在室内的一个鱼缸里,我安装了一个LED氛围灯,并尝试用采集到的室外光照亮度指数来设置这个LED氛围灯的亮度。

最终实现室内鱼缸的光照度和室外自然光照度实时同步,我的爱鱼也能实时感受到室外的天气变化了~材料清单树莓派(Raspberry Pi)一块MCC 118 DAQ HAT一块光线传感器模块(带模拟输出)一个RGB LED 模块一个(共阴或共阳,本例使用共阴)面包板一块杜邦线若干瑞士军刀扩展板一块(可选)一、安装环境树莓派建议安装官方的Raspbian 系统,不需要特别的配置。

直接开始部署MCC 118 配套的SDK 和范例试试数据采集卡的工作情况,步骤如下(这里直接参考了这篇教程)。

二、接线先看光线传感器模块。

为什么用带模拟输出(AO)的光线传感器呢?是因为这款传感器如果只有数字输出(DO)的话,其输出的数据只能是高电平或低电平,只能反映光线是否达到某个设定的值,而无法反映出光线的强弱。

但树莓派本身并没有ADC,无法直接读取模拟电信号(信号的强弱和光线强弱相关)。

这时MCC 118 DAQ 就派上用场了。

MCC 118 的排座设计将GPIO全部引出了,很方便外接其他传感器。

引脚连接表光线传感器:VCC —树莓派:5V光线传感器:GND — MCC 118:GND光线传感器:AO — MCC 118:CH1RGBLED模块:GND —树莓派:GNDRGBLED模块:R —树莓派:BCM 17RGBLED模块:G —树莓派:BCM 27RGBLED模块:B —树莓派:BCM 22三、测量采集和数值换算启动Web 波形图程序:接下来就可以在浏览器中打开http://:8080 访问了。

基于树莓派的物联网数据采集和分析

基于树莓派的物联网数据采集和分析

基于树莓派的物联网数据采集和分析物联网(Internet of Things, IoT)已经成为现代科技领域的一个热门话题,它连接了各种物理设备和传感器,将真实世界与数字世界相互融合。

而树莓派(Raspberry Pi)作为一款功能强大的微型计算机,已经被广泛应用于物联网领域,特别是在物联网数据采集和分析方面。

本文将探讨基于树莓派的物联网数据采集和分析的相关技术和应用。

第一部分:数据采集在物联网中,数据采集是整个系统的基础和核心。

树莓派作为一个硬件平台,可以通过连接各种传感器和设备来实现数据的采集。

树莓派具备丰富的GPIO(General Purpose Input/Output)接口,可以连接和控制各种数字和模拟传感器,如温度传感器、湿度传感器、光线传感器等等。

通过编程,我们可以轻松读取这些传感器的数据。

此外,树莓派还可以通过无线技术,如Wi-Fi、蓝牙等,连接到网络设备或其他物联网节点,实现数据的远程采集。

例如,我们可以通过树莓派连接到一个气象站,实时获取天气数据;或者连接到一个智能家居系统,实时监控家居设备的状态。

第二部分:数据传输和存储数据采集好之后,接下来需要将采集到的数据传输到云平台或其他存储设备上。

树莓派可以使用多种通信协议,如MQTT(Message Queuing Telemetry Transport)、HTTP(Hypertext Transfer Protocol)等,将数据传输到云端。

这些通信协议可以确保数据的安全传输和可靠性。

云平台通常提供了丰富的数据存储和管理功能,例如Amazon Web Services(AWS)、Microsoft Azure等。

我们可以将树莓派采集到的数据存储在云端的数据库中,以便后续的数据分析和应用。

第三部分:数据分析物联网的真正价值在于对采集到的数据进行分析和挖掘。

树莓派作为一个计算平台,可以在本地进行简单的数据分析,也可以将数据传输到云端进行复杂的数据处理。

树莓派麦阵列数据采集分发的设计与实现

树莓派麦阵列数据采集分发的设计与实现
def send_array(socket, A, flags=0, copy=True, track=False): md = dict(dtype=str(A.dtype), shape=A.shape) socket.send_json(md, flags|zmq.SNDMORE) return socket.send(A, flags, copy=copy, track=track)
树莓派麦阵列数据采集分发的设计与实现
刘晓晖,秦子实
(中国飞机强度研究所,陕西 西安 710065)
摘要:近年来,5G 技术的发展带动物联网设备快速普及,以树莓派为代表的卡片计算机大量出现在工程应用的各个方面。 而在音频采集处理方面,基于树莓派的麦阵列声源采集具有高算力、高精度、低功率的特点。本文介绍基于 sounddevice 的 采集、分发、播放音频流的方法,该方法可以对音频数字信号进行自定义预处理,支持多种数据分发方式,系统依赖少,代 码简单且方便部署。
数据流发送有两种方式:阻塞方式的和非阻塞回调方式, 为方便调试,本文选用非阻塞回调方式,即音频数据流发送开 始后立即返回,这样可以继续在解释器中继续执行其他作业。 启动音频流的方法如下:
rs = sd. Stream(samplerate=48000, device=iodevs, channels= [8, 2], callback=cb, finished_callback=fcb)
“seeed-8mic-voicecard”即为麦阵列声源采集设备(序号为 2),具有 8 路输入,即 2 颗 AC108 ADC 芯片,每芯 4 路输入其中 1 路为 playback,则实际采集为 6 路。麦阵列自带声卡输出,即
AC101 DAC 芯片(序号为 6),2 路输入 2 路输出,占用树莓派 3.5mm 耳机监听接口。因此,sounddevice 库主要使用序号 2 及 序号 6 设备进行音频数据的输入输出。通过以下代码获取输 入输出设备 ID:

基于树莓派的数据采集与存储

基于树莓派的数据采集与存储

基于树莓派的数据采集与存储随着物联网技术不断发展,传感器、控制器等设备日益普及,数据采集与存储也成为物联网应用不可或缺的一部分。

树莓派作为一款小巧、功能强大而成本低廉的微型计算机,已经被广泛应用于物联网领域,特别适用于数据采集与存储。

一、树莓派介绍树莓派是一款基于ARM处理器的微型计算机,由于其体积小、功耗低、硬件扩展性强等特点,吸引了大量的开发者和用户。

从树莓派1代开始,就已经成为了开源社区的重要组成部分。

现如今,树莓派已经推出了多个版本,其中包括树莓派4B、3B+、3A+等。

二、数据采集1. 传感器选择在进行数据采集之前,需要选择对应的传感器。

树莓派支持的传感器包括温度传感器、湿度传感器、光敏传感器、震动传感器、气压传感器、GPS等等。

根据不同的实际情况、环境要求选择不同的传感器。

2. 数据采集树莓派有多个GPIO口可以用来与传感器进行连接,并能够通过不同的接口读取传感器的数据。

有两种方法可以进行数据采集:(1)使用现有的Python库进行数据采集和存储。

这是使用树莓派最简单的方式之一,只需下载对应的Python库并导入即可,例如使用Rpi.GPIO模块进行GPIO读取操作。

(2)自己编写代码,使用树莓派提供的GPIO库进行数据的采集。

自己编写代码可以根据需要进行定制化开发,编写代码可以使用Python、C、C++等多种编程语言进行。

三、数据存储根据不同的需求,可以选择不同的数据存储方式。

1. 文本文件存储最简单的一种方式就是使用文本文件进行数据存储。

将数据写入文本文件,然后通过读文件的方式进行数据的读取。

这种方式简单易操作,但是不适合大量数据的存储。

2. 数据库存储数据库是一种更加完善的数据存储方式,可以进行分层、分组、索引等操作,大大提高了数据的存取速度。

在树莓派中可以使用SQLite、MySQL、PostgreSQL等多种数据库进行数据存储。

使用数据库需要先安装对应的数据库软件,并编写相应的代码进行数据读写操作。

CM4 Nano V1.0 数据手册说明书

CM4 Nano V1.0 数据手册说明书

CM4 NANO基于树莓派CM4的面向工业应用场景的计算机上海晶珩电子科技有限公司2023-01-09版权声明CM4 Nano及其相关知识产权为上海晶珩电子科技有限公司所有。

上海晶珩电子科技有限公司拥有本文件的版权并保留所有权利。

未经上海晶珩电子科技有限公司的书面许可,不得以任何方式和形式修改、分发或复制本文件的任何部分。

免责声明上海晶珩电子科技有限公司不保证本手册中的信息是最新的、正确的、完整的或高质量的。

上海晶珩电子科技有限公司也不对这些信息的进一步使用作出保证。

如果由于使用或不使用本手册中的信息,或由于使用错误或不完整的信息而造成的物质或非物质相关损失,只要没有证明是上海晶珩电子科技有限公司的故意或过失,就可以免除对上海晶珩电子科技有限公司的责任索赔。

上海晶珩电子科技有限公司明确保留对本手册的内容或部分内容进行修改或补充的权利,无需特别通知。

目录1产品概述 (5)1.1目标应用 (5)1.2规格参数 (5)1.3系统框图 (6)1.4功能布局 (6)1.5包装清单 (7)1.6订购编码 (7)2产品外观及结构 (8)2.1产品外观 (8)2.2产品照片 (8)2.3尺寸信息 (10)2.4Mount Dimensional Drawings (11)2.4.1导轨安装 (11)2.4.2墙面式安装 (12)3接口和连接器 (12)3.1前面板 (13)3.1.1电源输入 (13)3.1.2千兆以太网 (13)3.2后面板 (14)3.2.1指示灯 (14)3.2.2Micro SD卡 (14)3.2.3HDMI (14)3.2.4USB 2.0 (14)3.2.5USB 3.0 (15)3.3顶部面板 (15)3.3.1BOOT (16)3.3.240PIN (16)3.3.3Mini CSI (16)3.3.4HDMI DSI (16)3.4天线 (17)3.4.1WIFI/BT (17)4内部接口 (17)4.1电源输出 (17)4.2USB 3.0 Type-C (17)4.3RTC (17)4.4Buzzer (18)4.5HDMI FPC (18)5无线通信 (18)5.1WiFi (18)5.2Bluetooth (19)5.3天线 (19)5.3.1WiFi / BT天线 (19)6电气特性 (19)6.1电气参数 (20)7FAQ (20)8产品变更记录 (20)9关于我们 (20)9.1关于EDATEC (20)9.2联系方式 (21)1CM4 Nano是一款基于树莓派CM4的面向工业应用场景的计算机。

基于树莓派的codesys编程

基于树莓派的codesys编程

基于树莓派的Codesys编程一、介绍树莓派(Raspberry Pi)是一款基于ARM架构的微型计算机,它可以运行各种不同的操作系统,如Linux系统和Windows 10 IoT系统。

在工业自动化领域,树莓派的应用也越来越广泛。

其中,Codesys是一种常用的工业自动化编程软件,它支持多种不同的编程语言,如ST、IL、FBD和LD,以及PLCopen标准。

基于树莓派的Codesys编程,为工业自动化系统的开发提供了更灵活、便捷的解决方案。

二、基础知识1. 树莓派概述树莓派是由英国的Raspberry Pi基金会开发的一款微型计算机,它采用ARM架构,拥有丰富的接口和扩展能力。

树莓派的主要版本包括Zero系列、1系列、2系列和3系列,每个版本都有不同的性能和功能特点。

2. Codesys简介Codesys是一种常用的工业自动化编程软件,它提供了完整的开发环境和广泛的编程语言支持,能够满足不同工业自动化系统的需求。

Codesys广泛应用于PLC(可编程逻辑控制器)编程、SCADA(监控和数据采集系统)开发等领域。

三、基于树莓派的Codesys编程优势1. 灵活性树莓派作为一款开源硬件评台,具有丰富的扩展能力,用户可以根据需求进行自定义扩展,并使用Codesys进行灵活的编程开发。

2. 成本效益相比传统的工业自动化硬件,树莓派的价格更为低廉,而且性能依然强大,基于树莓派的Codesys编程方案可以有效降低开发和维护成本。

3. 社区支持树莓派和Codesys都拥有广泛的用户群体和开发者社区,用户可以通过社区获得更多的技术支持和资源共享,加速项目开发和问题解决。

四、基于树莓派的Codesys编程实践在进行基于树莓派的Codesys编程实践时,首先需要准备一台树莓派开发板和Codesys软件。

接下来,按照以下步骤进行实践:1. 安装操作系统选择适合的操作系统,如Raspbian系统或Windows 10 IoT系统,并进行安装和配置。

树莓派如何采集RS485数据

树莓派如何采集RS485数据

树莓派如何采集RS485数据1、RS485介绍RS485是有线传输串行数据的标,支持同时传输485总线上的多点数据。

传输速率为10Mbps,传输距离可达50英尺。

传输速率为100Kbps时,传输距离可达4000英尺。

RS485总线通常为4芯或2芯,现在普遍采用2芯总线。

一条总线最多支持32个设备。

总线之间还可以串接,从而支持成百以上的节点。

RS485主要技术规格如下:2、RS485和树莓派的连接目前有一种RS485 Shield的设备,可以直接连接到树莓派上。

硬件连接图如下:3、配置Update source list$ sudo apt-get updateInstall python-pip$ sudo apt-get install python-pipUse pip to install WiringPi (WiringPi is designed for raspberry pi to behave similarly to that of the wiring library under Arduino. After this libraryis installed,c or shell or python can use the function to configure and control GPIOs directly. :$ sudo pip install wiringpiInstalled the associated library files of serial ports :$ sudo apt-get install python-serial.Test whether the GPIO library and the serial library is installed or not:$ python$ import RPi.GPIO$ import serialIf there is no error , then the two libraries are installed correctly.We need to configure file ‘/boot/cmdline.txt’ to remove the kernel booting information and debug message:$ sudo nano / boot / cmdline.txtYou can see the following information:dwc_otg.lpm_enable = 0 console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 console = tty1 root = / dev/mmcblk0p2 rootfstype = ext4 elevator = deadline rootwaitRemove “console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200″so that the information becomes:dwc_otg.lpm_enable = 0 console = tty1 root = / dev/mmcblk0p2 rootfstype = ext4 elevator = deadline rootwaitDisable log in from the serial port:$ sudo nano / etc / inittaband comment out ” T0: 23: respawn :/ sbin / getty-L ttyAMA0 115200 vt100″Restart Raspberry Pi:$ sudo rebootNow you can use / dev/ttyAMA0 like the regular COM port.4、测试代码Test code(serial_test.py):1 2 3 4 5 6 7 8 910111213 import serialport = ”/dev/ttyAMA0″usart = serial.Serial(port,9600)usart.flushInput()print (“serial test: BaudRate = 9600″) usart.write(“please enter the character:\r”) while True:141516171819202122232425if( usart.inWaiting()>0) :receive = usart.read(1)print ”receive: ”,receiveusart.write(“ send: ’”)usart.write(receive)usart.write(“‘\r”)6、基于RS232转RS485的测试例程硬件连接方式:硬件管脚对应关系:RS485 Shield ‘A’-> RS232-RS485 converter ‘ T/R + ‘RS485 Shield ‘B’-> RS232-RS485 converter ‘ T/R- ‘RS485 Shield ‘GND’ -> RS232-RS485 converter’ GND ‘After the wiring is done, launch a serial terminal. We use X-CTU in our case, and set the baud rate to 9600After running serial_test.py, enter the characters in the X-CTU:欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。

一种基于树莓派的水产养殖数据采集装置[实用新型专利]

一种基于树莓派的水产养殖数据采集装置[实用新型专利]

(19)中华人民共和国国家知识产权局(12)实用新型专利(10)授权公告号 (45)授权公告日 (21)申请号 201922322940.3(22)申请日 2019.12.23(73)专利权人 河北农业大学地址 066000 河北省秦皇岛市海港区河北大街东段52号河北农业大学海洋学院(72)发明人 贾佩峤 李鸿烨 李彬 李笑笑 郝文悦 段晓萌 金丽娜 (74)专利代理机构 北京志霖恒远知识产权代理事务所(普通合伙) 11435代理人 周丹(51)Int.Cl.G01D 21/02(2006.01)G01D 11/00(2006.01)(54)实用新型名称一种基于树莓派的水产养殖数据采集装置(57)摘要本实用新型公开了一种基于树莓派的水产养殖数据采集装置,包括外壳,外壳的上端面啮合连接有盖子,外壳的内部开有安装槽,安装槽安装有用于检测水质的传感器组,且传感器组内部的传感器探头均通过外壳上开有的贯穿槽延伸至外壳的外部,且所述外壳的底部螺纹啮合有用于装置保持竖直状态的稳定锥。

本装置与树莓派开发板相结合,可以远程对水质进行检测,并且稳定锥采用中空结构能够调节吃水深度,从而应对不同水质环境情况,另外探头在进行检测的时候才会伸出与水接触,避免水生植物都探头的影响能够提高使用寿命,减少维护次数,有利于长期使用。

权利要求书1页 说明书5页 附图6页CN 211373690 U 2020.08.28C N 211373690U1.一种基于树莓派的水产养殖数据采集装置,包括外壳(1),所述外壳(1)的上端面啮合连接有盖子(4),其特征在于:所述外壳(1)的内部开有安装槽(2),所述安装槽(2)通过其内部设有的安装机构(3)安装有用于检测水质的传感器组,且传感器组内部的传感器均与安装在盖子(4)内部的控制中心(5)电连接,所述传感器组内部的传感器的下端探头均通过外壳(1)上开有的贯穿槽(18)延伸至外壳(1)的外部,且所述外壳(1)的底部螺纹啮合有稳定锥(22)。

根据树莓派的温度采集存储显示系统

根据树莓派的温度采集存储显示系统

《嵌入式综合实践》设计报告设计题目:基于Raspberry Pi B+的温度采集、存储、显示系统班级:信息工程2012-04班姓名:陈岩学号: 04121471姓名:陈灿坚学号: 04121470姓名:郭镭斌学号: 04121474姓名:刘杨学号: 04121494指导教师:李健时间: 2015年6月目录一、设计任务 (3)二、设计方案 (3)三、设计原理及内容 (5)(一)树莓派初始配置 (5)(二)数据的采集 (13)(三)数据的存储 (15)(五)数据的显示 (20)(六)数据的修改 (26)(七)新浪云端应用申请创建 (27)(八)数据上传与云端接收 (30)(九)本地和云端数据库实现同步删除与修改 (33)(十)互联网显示数据折线图 (34)(十一)Android客户端 (38)四、设计成果 (40)五、设计总结 (41)六、参考文献 (43)附录1:实践日志: (44)附录2:源程序,见文件夹 (51)一、 设计任务开发一套基于树莓派2、及DS18B20温度传感器的信息采集存储显示系统,相关参数要求如下:1.在Linux 下每隔30秒自动采集一次温湿度信号;2.使用数据库MySQL 在本地存储8个小时的温度信号;3.使用新浪云的MySQL 数据库存储温湿度信号;4.编写客户端(PC 或Android 与网页形式)访问数据库实现读取数据、删除数据等操作,并以曲线表方式显示。

二、 设计方案图2-1 系统硬件框图为实现项目设计要求,本次设计采用Python 、PHP 、MySQL 、Apache2、HTML 等相关软件及编程语言进行开发。

开发硬件要求:树莓派B+板一块、DS18B20温度传感器及驱动板一块、网线一根、路由器一个、电源设备。

软件及编程要求:Python 语言、PHP 编程语言、Apache2、MySQL 语言、MySQL 数据库、新浪云SAE 环境,HTML 。

本系统采用主要采用Python 语言编写,对DS18B20温度传感器进行读取并……………………………………树莓派DS18B20网线互联网写入本地MySQL 数据库和新浪云数据库。

基于树莓派的风力发电远程数据采集系统的设计

基于树莓派的风力发电远程数据采集系统的设计

基于树莓派的风力发电远程数据采集系统的设计【摘要】为了实现风力发电场的远程数据采集功能,论文设计了一款基于树莓派的远程数据采集系统。

该系统通过树莓派对各个传感器进行实时数据采集,并将采集到的数据发向服务器。

Design of Remote Data Acquisition System for Wind Power Generation Based on Raspberry PiLI Wen-jing, ZHENG Xu-dong, SHI Hao-tian, WANG Yong-peng, LI Xue-dongAbstract: In order to realize the remote data acquisition function of wind farm, this paper designs a remote data acquisition systembased on Raspberry Pi. The system collects the data of each sensor in real time through Raspberry Pi, and sends the collected data to the server.【关键词】树莓派;数据采集;web客户端Raspberry Pi; data acquisition; web client【基金项目】内蒙古工业大学大学生创新实验计划项目:基于arm处理器的风力发电远程监控查询系统的设计与开发(2018030)。

1引言随着计算机技术的普及和测量技术的飞速发展,数据采集技术得到广泛应用。

数据采集是一个系统集成技术,数据采集系统是由传感器、信号检测、数据处理模块共同组成的嵌入式系统。

数据采集是指对温度、压力、流量、位移等模拟量进行采样,转换成数字量后由计算机进行存储、处理、显示的过程。

国内外数据采集与监控的研究都已取得了一定的成果,例如美国AstroNova公司开发的AstroViewX、英国GarradHassan公司的GHSCADA系统,国内有北京振欧智能科技有限公司开发的振华CZ8800数据采集终端,南瑞电控所的NS2000W华锐风电等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

随着Windows10 IoT的发布,我们也将可以用上运行Windows的树莓派。

自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。

别看其外表“娇小”,内“心”却很强大,视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。

二、配置树莓派1.树莓派供电树莓派的供电装置与智能手机的充电器是一样的。

基本规格为DC 5V(直流电),至少达到700mA的输出电流,树莓派2的输出电流应该更大,比如1.5A或2A。

2.手动对SD存储卡进行写操作(windows)选择一张4GB以上的SD存储卡,SD卡插入笔记本电脑卡槽(或者需要一个读卡器)。

下载官方发行的树莓派操作系统发行包(/downloads),并解压到本地。

用管理员权限打开Fedora ARM Installer(http://bit.ly/ISLPc4下载),将下载的镜像写入SD存储卡。

如下图:3.连接笔记本电脑显示器网络设置:SD卡插入树莓派的SD卡插槽,把树莓派和路由器用网线连接。

打开电脑“网络和共享中心”,点击“WLAN(***)”点击“属性”,点击“共享”,在“允许其他网络用户通过此计算机的Internet来连接”前打勾。

✧查找树莓派IP地址:打开“运行”(win+R键),输入cmd”,输入“arp -a”,在下图中的0x4接口下的动态地址就为树莓派的IP地址。

✧下载PuTTy,在Host Name中输入树莓派IP,✧登入树莓派:在下图页面中login处输入树莓派账号(pi),在password处输入密码(raspberry)。

回车进入下图页面树莓派的桌面环境配置:在上putty中输入sudo apt-get update; sudo apt-get install tightvncserver。

安装完成vnc服务后,在上图中继续输入以下命令:vncserver :1 (一定要创建连接端口)。

在第一次运行时,会提示你创建密码。

在连接时就需要此密码。

下载RealVNC(),在下图中输入树莓派IP:1(如192.168.0.113:1。

在下图中输入上面创建的密码进入树莓派桌面三、硬件电路连接DHT11与树莓派引脚图如下:具体电路连接如下DHT11的VDD连接树莓派17号管脚,GND连接20号管脚,DATA连接18号管脚。

实物图如下:四、 DHT11简介数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。

它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。

DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:一次完整的数据传输为40bit,高位先出。

数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。

DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。

通讯过程如图所示五、获取DHT11传感器温湿度采用Python语言实现温湿度的获取,每执行一次程序读取一次温湿度的值。

采用putty中的nano编辑器完成汇编。

步骤如下:✧登入树莓派,获取root权限✧进入nano编辑器,编辑Python程序,程序如下:#! /usr/bin/env pythonimport RPi.GPIO as GPIOimport time channel = 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)while GPIO.input(channel) == GPIO.LOW:continuewhile GPIO.input(channel) == GPIO.HIGH:continuewhile j < 40:k = 0while GPIO.input(channel) == GPIO.LOW:continuewhile GPIO.input(channel) == GPIO.HIGH:k += 1if k > 100:breakif k < 8:data.append(0)else:data.append(1)j += 1print "sensor is working."print datahumidity_bit = data[0:8]humidity_point_bit = data[8:16]temperature_bit = data[16:24]temperature_point_bit = data[24:32]check_bit = data[32:40]humidity = 0humidity_point = 0temperature = 0temperature_point = 0check = 0for i in range(8):humidity += humidity_bit[i] * 2 ** (7 - i)humidity_point += humidity_point_bit[i] * 2 ** (7 - i)temperature += temperature_bit[i] * 2 ** (7 - i)temperature_point += temperature_point_bit[i] * 2 ** (7 - i)check += check_bit[i] * 2 ** (7 - i)tmp = humidity + humidity_point + temperature + temperature_pointif check == tmp:print "temperature : ", temperature, ", humidity : " , humidityelse:print "wrong"print "temperature : ", temperature, ", humidity : " , humidity, " check : ", check, " tmp : ", tmpGPIO.cleanup()✧保存(Ctrl+O)并退出(Ctrl+X)✧执行此程序(dht11.py):python dht11.py六、安装本地MYSQL✧使用管理员权限运行apt-get获取最新的MySQL及Python编程接口(之后用于数据库编程):sudo apt-get install mysql-server python-mysqldb安装过程中需要输入root管理员的密码,该密码之后用于访问数据库系统。

在本地MYSQL创建库“test”,表“dht”和三个列“dht_tem”,“dht_hum”,“dht_time”。

mysql -u root –p ;登入本地MySQLcreate database test ; 创建数据库”test”USE test ; 选择数据库”test”create table dht ;创建表“dht”CREATE TABLE dht(dht_tem DECIMAL(4,1), dht_hum DECIMAL(4,1),dht_time char(25)) ;创建列“dht_tem”,“dht_hum”,“dht_time”完成后查看建好的表“dht”,如下图所示:在之前的dht11.py中添加如下几段语句:import MySQLdbconn = MySQLdb.connect(host='localhost',port=3306,user='root',passwd='QAZQAZ',db='test')cur = conn.cursor()value =[temperature,humidity,str(time.strftime('%A %X %Z',time.localtime(time.time())))] cur.execute("insert into dht (dht_tem,dht_hum,dht_time) values(%s,%s,%s)",value) mit()conn.rollback()✧执行dht11.py:python dht11.py按照之前数据库的操作方法,可在本地数据库MySQL查看到新插入的温湿度数据。

如下图所示(已执行多次程序):七、连接阿里云RDS数据库云服务器和云数据库RDS:云服务上安装了下mysql,在云盾里开放3306端口,远程同样能够正常连接数据库,但云服务器里搭建数据库可能不如云数据库来的稳定,云数据库更易维护。

利用实名账户在阿里云试用一个月的免费云数据库。

具体操作如下:✧申请阿里云试用一个月的免费云数据库✧登入阿里云RDS,创建账号”dht_zzx”和创建数据库”dht”✧登入自己创建的数据库“dht”,创建表“dht11”和三个列“dht_tem”,“dht_hum”,“dht_time”。

相关文档
最新文档