基于STM32F103和ESP8266的远程温湿度数据采集器设计

来源 :科学与生活 | 被引量 : 0次 | 上传用户:zhenghaiwei
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文详细地介绍了一种远程控制的温湿度数据采集器的设计。采集器的主控芯片采用STM32F103RBT6,温湿度采集模块采用常用DHT11模块或高精度的SHT30传感器,远程数据传输采用ESP8266模块。本文通过研究这些模块的工作流程,具体实现了就地数据采集功能、数据收发功能及远程控制功能。
  关键字:DHT11温湿度传感器;STM32F103;WiFi AT指令
  该远程数据采集/控制器的具体实现路线为:采集到的数据通过TCP/IP协议发送给远程服务端(PC或其他嵌入式系统设备),由服务端后台处理后根据数据处理反馈信息进行报警或设备启动/停止操作。采用的关键技术为基于AT指令的TCP/IP协议远程数据收发及远程控制技术。
  该数据采集器,将远程数据传输和控制技术有机融合,并将结合现代移动设备端开发技术,为PC端、移动设备应用端和云平台端的具体应用设计提供了温湿度数据采集和远程被控的可靠数据来源及硬件支持。
  1、引言
  单片机技术的持续发展,使得单片机的性能和可靠性得到了巨大提升。以ARM内核为基础设计的STM32系列单片机在芯片性能和器件成本之间达到了一定平衡。本文研究了一种以STM32单片机技术开发的远程温湿度采集器,集合单片机控制的数据采集技术和WiFi环境下的TCP/IP数据传输技术,为远程温湿度数据采集/控制系统提供了一种性价比较高、结构简单、可靠性较好的终端数据采集/被控设备。为相关产业的远程采集和控制系统的终端设计提供了一种有效技术路线。
  2、系统硬件结构设计
  经过可行性分析后,将整个采集器前端划分为多个模块进行功能设计及实现。其中处理器选型为STM32F103RBT6。现场数据采集使用DHT11,用于简单验证采集器功能,后期可换为SHT30,配合编写驱动程序代码进行高精度温湿度数据采集。无线传输模块采用技术成熟的WiFi模块ESP8266,现场显示模块采用IIC总线的OLED屏,便于编写显示模块。现场控制采用独立按键进行,仅需进行简单控制即可。
  2.1 处理器选型及引脚连接
  STM32系列单片机,有着具有合理的性价比。其中STM32F103RBT6所具有的IO及功能引脚个数足以满足数据采集、现场显示、现场控制所需。
  进行必要的电源和晶振引脚连接后以及STlink调试器连接后,根据外围电路功能需求,采用PC1-PC3引脚连接LED灯,用于开机测试,PC10使用GPIO功能连接DHT11温湿度传感器,PA2-PA3引脚,使用串口2功能,用于WiFi模块的控制。PB6-PB7引脚,使用I2C功能,用于连接I2C总线控制的OLED液晶屏进行现场数据显示。PC7连接有源蜂鸣器实现报警功能。PC8 PC9 以及PA0連接3个独立按键,用于现场控制功能实现,最后引出PA9 PA10的串口1功能,用于现场调试输出。完成单片机的引脚分配。
  2.2 温湿度传感器模块
  本文暂时只涉及温湿度采集器功能,采用最常用的DHT11温湿度传感器模块作为数据采集单元,若需使用高精度SHT30传感器,可先预留SHT30的I2C引脚。
  DHT11数字模拟温湿度信号传感器由一个感温和一个感湿的自动控制元件模块组成,一个数位测温自动控制元件,并与数控单片机IO引脚直接连接,使整个系统的功能集成化以及操作过程变得更加简易快捷。
  此处采用STM32F103的PC10引脚直连DHT11的DATA引脚,根据数据手册时序,进行数据采集命令及数据的传输。
  2.3 显示OLED模块
  现场显示模块不需要太多功能和较高分辨率,本文采用一个0.98寸的128*64点阵OLED屏作为现场数据显示模块,此类模块的连接可以采用多个IO引脚进行命令和数据传输,也可采用I2C总线进行命令和数据传输。为了节约IO引脚资源,本文采用PB6 PB7引脚,并配置为I2C总线功能进行命令和数据传输。
  2.4 WiFi通讯模块
  ESP8266模块是一款天线芯片一体的成熟WiFi模块,模块的WiFi数据传输功能,可通过串口、I2C总线、内部固件烧写等方式操作AT指令进行命令和数据传输。
  AT指令集是从终端设备向终端适配器或数据电路终端设备发送的,带有AT两个字符的控制指令。一般除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。
  AT指令集常用于各种数据传输模块的数据传输和控制,例如GSM、WiFi模块等。
  本文采用单片机的串口2作为AT指令发送端口,所以将ESP8266的对应引脚连接在STM32的PA2 PA3引脚,并配置为串口2功能。
  2.5 其他功能模块
  除上述主要功能模块外,MCU还连接了3个独立按键,用于控制和输入功能,另外引出了串口1的引脚,用于现场调试信息的输入输出。
  3、系统软件功能实现
  3.1 温湿度数据采集模块驱动
  DHT11采用IO口直接与STM32进行通信,后期换成精度较高的SHT30的通信方式与DHT11完全不同,采用I2C总线进行数据通讯,因此可根据需要,将DHT11的驱动程序更换为SHT30驱动,并预留SHT30的I2C引脚接口即可。
  DHT11通讯过程如图1所示
  STM32与DHT11之间一次通讯时间4ms左右,数据分小数部分和整数部分,当前小数部分用于以后扩展,先读出为零。总线在主机空闲工作状态下就会变成一个高电平,主机将它的总线高度拉低并等待DHT11响应。DHT11接收器得到启停信号后,等待主机终端启动和运行停止并将信号传到终端,然后向主机终端发送一个主机响应。主机向总线前端发送开始响应信号主机终止,延时主机等待,读取DHT11的主机响应开始信号,主机向前端发送主机启动信号开始响应信号,可以直接将它切换为主机总线上的输入电压模式,或者主机输出一个小的高电平,总线从下向上将主机输出的输入电阻拉高。总线为低电平,DHT11发送响应信号,DHT11发送响应信号后,再把整个总线拉高,准备发送数据,每一个bit数据都以低电平时隙作为起点,高电平的长短决定了数据位是0还是1。最后一个bit数据传送完毕后,DHT11将总线拉低,总线由上将电阻拉高并进入空闲状态。   3.2 WiFi通讯模块驱动
  本文采用ESP8266直连STM32的串口2,并控制串口2对WiFi模块发送AT指令的方式来进行WiFi数据通讯。其中驱动程序中使用了大量的AT指令。具体指令原型如下:
  (1)设置 WiFi 模式: AT+CWMODE=3 // softAP+station mode Response :OK
  (2)连接路由: AT+CWJAP="SSID","password" // SSID and password of router Response :OK
  (3)查询设备 IP 地址: AT+CIFSR Response :192.168.101.105 // Device’s IP that got from router.
  (4)设备作为 TCP client 连接 TCP server: AT+CIPSTART="TCP","192.168.101.110",8080 // protocol、server IP & port Response :OK Linked
  (5)使能透传模式: AT+CIPMODE=1 Response :OK
  (6)发送数据: AT+CIPSEND Response: >
  //From now on,data received from UART will be transparent transmitted to server.
  (7)接收数据: +IPD,0,n: xxxxxxxxxx // received n bytes,data = xxxxxxxxxx
  (8)断开 TCP 连接:AT+CIPCLOSE=0 // Delete NO.0 connection. Response :0,CLOSED OK 。数据采集端采用STM32串口2发送AT指令,WiFi模块的驱动程序编写实际上转化为对了串口2进行数据及指令收发函数的编写和功能实现。
  3.3 现场控制及现场显示驱动程序
  数据采集端的现场数据显示,其显示器件采用I2C接口的OLED屏,驱动的编写需要将连接的引脚PB6 PB7配置为I2C功能,然后根据数据手册,实现打点函数,分别调用打点函数编写字符显示函数及图形显示函数即可。
  现场控制采用独立按键,驱动程序对PC8 PC9 PA0引脚功能配置为IO功能,然后对这3个引脚的高低电平进行读操作,即可判断键值,并根据键值实现功能函数。
  3.4 主程序设计
  主程序功能需将各个器件的功能整合,并实现具体数据采集、WiFi传输及现场显示和控制功能。本文采用有限状态机思想,将具体功能进行模块化划分,主要算法思想如下:
  (1)上电后进行各个器件的初始化,配置STM32各引脚功能。
  (2)初始化有限状态机的初始状态为未收到主控端命令字符串,无按键输入状态。
  (3)显示并连接可搜索的WiFi信号,返回连接状态。
  (4)根据状态值,显示不同显示界面,包括控制界面和数据采集及发送界面。
  (5)获取温湿度数值,将数值在OLED现场显示,并通过WiFi模块发送给远端。若温湿度值超阈值或者远程命令包含警报指令则启动警报器。
  (6)获取远端控制指令。根据获取的指令字符改变状态机状态。
  (7)获取按键键值,根据按键键值改变状态机状态。若检查到远程关闭指令,或者现场关閉网络的按键状态则执行关闭WiFi操作并关机。
  (8)跳转到(4)并重复逐条向下执行。
  4、系统测试
  主程序中,为了避免数据传输过于频繁,每次数据发送后添加了8秒延时。数据采集端,除了需要定时发送温湿度数据给远程控制端外,还需要检测远程控制端发回的控制指令以及现场按键控制的状态,本文采用第三方公司提供的物联网云平台对此数据采集器进行了功能和性能测试。采集器调用了该平台提供的API函数将温湿度数据传给云服务器并能接收云端的远程控制指令。其数据传输效果如图2所示。
  从功能和性能上分析,该数据采集器符合通用远程温湿度数据传输端的功能和性能要求。
  5、总结与展望
  本文采用STM32F103RBT6配合常用的DHT11温湿度传感器、OLED显示屏、ESP8266模块等,设计和实现了一款远程温湿度数据采集器,研究了传感器的数据采集流程,学习了WiFi模块的AT控制指令的控制方法,编写了模块驱动程序,实现了数据采集并远程收发及远程控制等功能。为后期远程PC端、移动设备端、云平台端的开发提供了一种性价比高、可靠性好、可扩充功能、可扩展精度的数据采集来源。为后期设计并实现一整台多端多平台的远程温湿度数据采集控制系统提供了坚实的数据来源。
  参考文献
  [1]孙忠富,杜克明,尹首一.智能家居发展趋势与农业应用展望[J].农业网络信息,2010,(5):6-8
  [2]王鑫,赵文鑫,卫国唯,李建航.基于STM32单片机的物料搬运小车[J].科技风,2019(19):9.
  [3]郭兴,魏立明,郭庆伟.基于STM32的综合管廊中燃气泄漏的检测系统设计[J].北方建筑,2019,4(03):79-82.
  [4]李道亮.智能家居与智慧农业[J].农业工程,2012,(1):1-8
  [5]王美确,陈明霞,李顺艳,陆志颖.基于智能家居的APP红外控制系统[J].科技风,2019(18):83-84.
其他文献
目的 探讨慢性间歇低氧(CIH)对老龄鼠脑血管及内皮素-1(ET-1)、一氧化氮(NO)、血管内皮生长因子(VEGF)表达的影响.方法 应用间歇低氧处理方式建立CIH老龄大鼠实验模型,实验3、6、9周后,检测血浆ET-1、NO和VEGF的含量;观察脑血管病理变化与脑组织中小动脉血管壁厚度与外径之比(WT%)与VEGF蛋白的表达.结果 CIH组血ET-1、VEGF表达均增加,NO表达减弱,从第3周E
目的 探讨重组人脑利钠肽(心活素)对大鼠心肌梗死后心室重构的影响. 方法建立雄性Wistar大鼠心肌梗死后心室重构模型.随机分为模型组、治疗组、假手术组.治疗组给予心活素15μg/kg,每天腹腔注射1次,假手术组及模型组仅以等体积的生理盐水腹腔注射.5周后检测心室重构指标、心功能参数及电镜观察. 结果模型组左室质量(LVAW)(883.09±35.15)mg、左室质量指数(LVRW)(2.40±0
摘要:近些年来,社会对生态环境越来越重视,因此投入了更多的资源对其进行研究与开发,在这其中也包括地理信息系统。地理信息系统的应用十分广泛,在环境科学领域的应用效果也是十分显著的,它促进了科学环境的不断进步,因此在环境科学领域有着非常好的发展前景。本文从地理信息系统的概论出发,对其在环境科学领域中的应用进行了具体的分析,并对其发展前景进行了展望,希望能给到相关人士一些建议和参考。  关键词:地理信息
目的 总结我院干部门诊老年男性患者肾小管功能增龄性变化,并进行相关危险因素分析. 方法 研究对象共229例,分为<80岁组和≥80岁组,排除诊断为慢性肾脏病的患者.测定尿常规、血肌酐、血尿素、尿β2微球蛋白(β2-MG)、尿α1微球蛋白(α1-MG);根据Cockcroft-Gault公式计算估测肾小球滤过率(eGFR).总结年龄与上述指标的相关关系,并对相关危险因素进行多因素Logistic回归
为了了解煤矿退休职工的身体健康状况,我们于2008年5月至10月对王台矿1543例退休职工进行了健康体检,并对体检结果及易患疾病进行分析,旨在了解退休职工所患疾病情况、疾病的发展情况,为今后进行疾病的预防、治疗和心理干预指导提供理论依据。
期刊
阿尔茨海默病(Alzheimer′s disease,AD)是年龄相关的神经系统退行性疾病.研究发现,β淀粉样蛋白(β-Amyloid,Aβ)生成和清除的失衡,导致Aβ在脑实质内沉积,是AD发病机制的重要环节.小胶质细胞能清除衰老、坏死的细胞碎片,是脑内重要的免疫细胞, AD发病与小胶质细胞的异常激活相关。
期刊
摘要:三维地形以数字化的方式对地形表面起伏状态和细节特征进行模拟,广泛应用于飞行视景仿真、战场态势仿真、模拟演练、应急指挥、灾害救援等应用场景中。三维地形的真实性和可视化渲染的实时性直接决定了三维应用场景的逼真度、沉浸感和有效性。文主要针对地质遥感数据成果可视化及共享展示,解决地质遥感数据体三维展示效果不佳,地质调查成果数据展示组织方式欠缺,可视化系统性能欠佳的问题,提供了优化的数据存储渲染技术、
目的 探讨缺氧诱导因子-1α(HIF-1α)在缺氧后大脑皮层神经元的表达情况,为临床治疗缺血缺氧性脑血管病提供更多的实验依据.方法 制备体外培养大鼠大脑皮层神经元原代培养及缺氧的模型;免疫细胞化学鉴定大鼠大脑皮层神经元;在12h,24 h,48 h及72 h采用免疫组化方法检测正常及缺氧神经元中HIF-1α的表达情况.结果 正常对照组神经元各时间点HIF-1α阳性细胞表达较少,组内各时间点比较差异
老年食管癌术后肺部并发症发生率为25%~30%,病死率可达32%[1-2].因此积极防治术后并发症是手术成败的关键之一.本文通过大剂量沐舒坦(盐酸氨溴索)在高龄食管癌患者术后的应用,观察沐舒坦在防治高龄食管癌患者术后肺部并发症的临床应用价值。
期刊
急性外伤性颅内血肿手术治疗的重要环节是控制脑水肿、降低颅内压和改善脑氧代谢,采取有效的降颅压方法是抢救患者生命的关键措施之一。
期刊