【GD32E231 DIY】远程数据采集系统

xjzh   2019-6-17 00:57 楼主

        LoRa技术在物联网发展中占据着重要位置,因其易于建设和部署,成为当前普遍应用的物联网专用网络通信技术。近几年,因LoRa技术成熟度处于领先地位,还有LoRa传输距离远,功耗低,抗干扰性强的特点,使得LoRa模块的应用十分广泛。

    本文设计利用GD32E231采集温湿度,红外检测等环境数据,然后通过无线传输将数据传输至后台系统。

    本设计利用GD32E231C8T6控制温湿度传感器DHT11、人体红外检测模块、OLEDLoRa通信模块等。将采用到的温度、湿度和红外报警信号通过OLED显示出来,并通过LoRa通信节点将数据传送至后台的LoRa节点,最终上传到上位机。

image.png

1 总体结构图

1DHT11模块

    运用GD32E231C8T6微控制器的GPIO功能采集DHT11传感器的温度和湿度数据。DHT11一次完整的数据传输为40bit,高位先出。

    数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和。

    DHT11的初始化时序如下:

image.png

读取数据0的时序如下:

image.png

读取数据1的时序如下:

image-20190617002926-1.jpeg

采用PA1DHT11的数据输入输出口相连接,设计流程如下:

image.png

2、红外检测模块

        HC-SR501是基于红外线技术的自动控制模块,采用EXTI2来检测人体红外检测模块HC-SR501的信号。进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。

        a、不可重复触发方式:即感应输出高电平后,延时时间段一结束, 输出将自动从高电平变成低电平;

        b、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)

       设计流程如下图:                                      image.png

3OLED

    所用的OLED显示屏控制器为SSD1306,控制128X64的点阵显示。采用GD32E231C8T6微控制器的SPI功能模块和OLED的四线SPI模式通信。设计流程如下图:

                                                           image.png

4LoRa通信模组

    采用ALIENTEK 推出的一款体积小、微功率、低功耗、高性能远距离 LORA 无线串口模块ATK-LORA-01。各引脚的详细的详细描述如下。

MD0

输入

1、 配置进入参数配置
2、 上电时与 AUX 引脚配合进入固件升级模式

AUX

1、 输出
2、 输入

1、 用于指示模块工作状态,用户唤醒外部MCU
2
、 上电时与 MD0 引脚配合进入固件升级模式

RXD

输入

TTL 串口输入,连接到外部 TXD 输出引脚

TXD

输出

TTL 串口输出,连接到外部 RXD 输入引脚

GND

地线

 

VCC

DC3.3~5V 电源输入

 

 

电气连接如下图:

image-20190617003327-2.png

工作方式主要有:

1 透明传输:即透传数据,例如:A设备发5字节数据 AA BB CC DD EE B 设备,B设备就收到数据 AA BB CC DD EE。(透明传输,针对设备相同地址、相同的通信信道之间通信,用户数据可以是字符或 16 进制数据形式)。

2)定向传输:即定点传输,例如: A设备(地址为: 0x1400,信道为0x1723 信道 433Mhz))需要向B设备(地址为0x1234,信道为0x1016 信道、426Mhz))发送数据AA BB CC,其通信格式为:12 34 10 AA BB CC,其中1234为模块 B 的地址,10为信道,则模块B可以收到 AA BB CC。同理,如果B设备需要向A设备发送数据AA BB CC,其通信格式为:14 00 17 AA BB CC,则A设备可以收到AA BB CC。(定向传输,可实现设备间地址和通信信道不同之间通信,数据格式为16进制,发送格式:高位地址+低位地址+信道+用户数据)。

3 广播与数据监听:将模块地址设置为0xFFFF,可以监听相同信道上的所有模块的数据传输;发送的数据,可以被相同信道上任意地址的模块收到,从而起到广播和监听的作用。

LoRa通信模组的配置流程如下图:

image.png

    项目的测试仅在室内进行,采用的LoRa无线通信实际距离可达3000米(视具体的地形、遮挡物等环境而定),另外由于时间原因,该项目可进一步优化,后期上位机可以采用更加友好的用户界面,也可以根据需要在后台使用MCU来接收和处理远端采集的数据信息。

    通过这次活动,感觉到了国产MCU发展的非常好,在很多应用场景下,GD32E231是完全够用的,官方提供的库函数也非常好用,希望兆易MCU的市场越来越大,发展越来越好。感谢兆易创新及电子工程世界论坛!同时感谢勤劳付出的管理员!

 

 

 

本帖最后由 xjzh 于 2019-6-17 02:08 编辑
  • 远程数据采集系统_20190617015815.JPG
  • 远程数据采集系统_20190617015944.JPG
  • 远程数据采集系统_20190617020008.JPG
  • 远程数据采集系统_20190617020057.JPG

回复评论 (6)

点赞  2019-6-17 10:23

附上Word文档^_^

补充内容 (2019-6-21 23:27): https://training.eeworld.com.cn/video/20589 本帖最后由 xjzh 于 2019-6-17 22:37 编辑
点赞  2019-6-17 22:34

好, 感谢分享!

点赞  2019-6-26 11:34
引用: wdl67 发表于 2019-6-26 11:34 好, 感谢分享!

^_^

点赞  2019-6-28 14:08

谢谢分享

点赞  2021-4-5 14:06

现在兆易官方提供的库函数很多了,比以前好多了

点赞  2021-4-5 16:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复