APP下载

物联网智能插板设计之硬件程序设计

2022-04-25杨永明徐海霞

物联网技术 2022年4期
关键词:插板开发板标号

杨永明,徐海霞

( 1.西安建筑科技大学 理学院,陕西 西安 710055;2.宁夏医科大学图书馆,宁夏 银川 750004)

0 引 言

通过网络对家中设备实行远程控制或者语音控制,相比普通家居具有更多优势。具备远程控制、语音控制、自动报警、在线监控、自动通风等功能的智能家居发展迅速,并且依旧处于探索阶段。通过物联网技术开发智能家居不仅是紧跟社会发展的明智之举,也是抢占市场发展先机的必由之路。

1 研究内容

通过学习物联网技术、程序编程语言编写简易的硬件程序,实现硬件与软件连接,设计制作具有远程控制功能的智能插板。

通过硬件将物体接入互联网,再由硬件芯片通过各种通信协议与微控制器和微处理器通信,由相应的控制器控制设备运转、连接移动端设备或者PC端,移动端通过云端控制器实现物体的远程控制。本次设计包括云平台的搭建、硬件程序设计和移动端设计三部分。下面主要介绍介绍硬件程序设计。

2 硬件端

选择使用由安信公司基于ESP8266模块设计的ESP8266-nodeMCU开发板,虽然ESP8266-nodeMCU每个引脚都有明确的标号,且有排插,便于线路连接,但ESP8266-nodeMCU开发板上的引脚标号与ESP8266模块的引脚功能并不匹配,所以需要了解ESP8266-nodeMCU开发板引脚匹配的ESP8266模块的引脚功能。以GPIO开头的引脚标号代表实际ESP8266模块的引脚标号,D开头的引脚代表ESP8266-nodeMCU开发板上的引脚标号。在编写代码时,假如使用“digitalWrite(2,HIGH)”语句,表示改变引脚GPIO2电平为高,对应的开发板引脚为D4;假如使用“digitalWrite(D2,HIGH)”语句,表示改变D2引脚的电平为高。

2.1 Arduino环境搭建

使用Arduino IDE软件对ESP8266-nodeMCU开发板进行程序编译,当完成Arduino IDE软件的下载之后需要更改开发板的型号以及连接的串口。首先打开计算机管理界面,进入设备管理器界面,查看电脑连接ESP8266-nodeMCU开发板使用的端口。之后进入Arduino软件,在其工具栏中找到“端口”一栏,选择ESP8266-nodeMCU开发板使用的端口,然后在此工具栏中的开发板中选择ESP8266-nodeMCU。

2.2 硬件程序设计

根据代码实现的功能,可以将程序代码大概分为6个部分,分别是:定义头文件、WiFi初始化、接口定义、循环检测、控制程序以及上传数据。

2.2.1 头文件定义程序

此部分程序用于定义需要用到的头文件以及信息。WiFi_SSID和WiFi_PASSWD是定义ESP8266开发板连接的WiFi名称和密码,只能连接PRODUCT_KEY、DEVICE_NAME以及DEVICE_SECRET定义之前云端搭建时创建的ESP8266设备的阿里云三元组信息。ALINK_TOPIC_PROP_SET定义程序接收信息时用到的Topic,ALINK_TOPIC_PROP_POST定义ESP8266开发板上传数据使用的Topic信息。其中,/sys/a1GccfpSkGH/esp8266/thing/service/property/set和/a1GccfpSkGH/esp8266/user/1均来自阿里云物联网平台中的云产品流转规则Topic,其中一个Topic具有发布权限,另一个Topic具有订阅权限。

2.2.2 WiFi初始化程序

WiFi初始化需调用ESP8266 WiFi库的函数。这部分程序定义WiFi如何通过调用函数实现连接。

2.2.3 接口定义程序

该部分程序主要用来定义需要用到的ESP8266-nodeMCU开发板上的引脚功能,此程序将2号引脚定义为输出引脚,并把引脚的初始电平定义为高电平。由于本次设计使用的继电器为低电平,所以引脚电平为高,使继电器处于关闭状态,只有ESP8266接收到开关信号时电平变为低电平才能触发继电器工作。此处还需要注意的是,定义的引脚为ESP8266模块上的GPIO2号引脚,在连接硬件电路时,ESP8266-nodeMCU开发板上的引脚不能选择D2引脚,需要选择开发板上标号为D4的引脚。“init_WiFi(WiFi_SSID,WiFi_PASSWD)”用于调用WiFi初始化函数,mqttClient.setCallback(mqtt_callback)语句是调用之前PubSubClient.h文件中的mqttClient函数,可实现与阿里云端的连接。

2.2.4 循环检测函数

程序主要调用了mqtt函数中的loop循环函数,该函数主要用于对当前mqtt的连接状态进行检查,如果检测到连接断开,程序会自动运行连接函数,重新连接mqtt。该函数能够保证设备网络处于连接状态。

2.2.5 控制程序

这部分代码可实现ESP8266开发板的具体功能。前半段代码解析需由移动端发送Json数据。阿里云使用Topic进行设备之间的数据传输,而Topic中的数据为JSON格式,解析之后将数据存进WeChat_data,如果是数据是1,则GPIO2引脚置为低电平,使继电器打开,插板电路接通;如果数据是0,则GPIO2引脚置为高电平,继电器关闭,插板电路断开。

2.2.6 数据上传程序

此部分程序代码用于将ESP8266中的数据寄存于Topic中,通过Topic向移动端发送,由移动端接收温度与湿度数据。由于缺少温度与湿度的检测装置以及相关传感器,所以在程序中使用随机数替代。

3 结 语

运用物联网技术设计了智能插板,通过使用由上海乐鑫公司开发的WiFi8266模块,使得硬件电路能够连接WiFi,这无疑是物联网运行的基础,而代码功能的实现是硬件物联网功能实现的核心。

猜你喜欢

插板开发板标号
低位放顶煤液压支架插板失效原因分析与安装技术研究
综放工作面低位放顶煤液压支架安装插板技术研究
低位放顶煤液压支架插板与尾梁锁固方式设计
Microchip最新推出两款PIC32 Curiosity开发板
非连通图2D3,4∪G的优美标号
浅析单片机开发板的设计与制作
高真空插板阀工作状态诊断与监测方法研究
非连通图D3,4∪G的优美标号
非连通图(P1∨Pm)∪C4n∪P2的优美性
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板