版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章物联网数据采集技能目标能够使用NodeMCU和常见传感器组建一个简单的物联网环境。能够部署物联网数据采集所需要的软件开发环境。能够进行NodeMCU编程。本章任务学习本章,读者需要完成以下任务。任务2.1组建物联网环境。任务2.2部署软件开发环境。任务2.3NodeMCU编程。任务1组建物联网环境01【任务描述】了解传感器的定义、组成部分、种类及应用领域;掌握通过NodeMCU连接传感器,组建物联网环境的方法,使用NodeMCU和常见传感器组建一个简单的物联网环境。任务1组建物联网环境01【关键步骤】(1)认识传感器,了解传感器的定义、组成部分、种类及应用领域。(2)使用杜邦线连接NodeMCU、DHT11温湿度传感器和人体红外传感器的对应引脚,组建一个简单的物联网环境。传感器(Sensor)是一种能够检测物理量、化学量、生物量等各种信号的装置
,将这些信号转化为电信号或其他形式的信号并输出。传感器可以测量温度、湿度、压力、流量、位置、速度、加速度、重力、光强度、声音、磁场、化学成分等。传感器在现代化生产和科学研究中起着重要的作用,它能够实现实时监测和控制,可以提高生产效率和产品质量,保障人们的安全和健康。2.1.1
认识传感器本小节分别以DHT11温湿度传感器和人体红外传感器为例演示如何利用NodeMCU连接传感器,以组建一个简单的物联网环境,如图所示。2.1.1
NodeMCU连接传感器如图所示,DHT11温湿度传感器有3个引脚,其中“+”引脚代表电源正极,接入NodeMCU的3.3v引脚处,“out”引脚代表数据输出端口,在本示例中接入NodeMCU的D1引脚处,“-”代表传感器接地引脚,将其接入NodeMCU的GND引脚即可。任务2部署软件开发环境02【任务描述】在任务2.1中介绍了利用NodeMCU组建简单物联网环境的过程。本任务以Ubuntu系统为例,要求能够独立地安装和配置EMQXBroker和ArduinoIDE,如图所示任务2部署软件开发环境02【关键步骤】(1)安装和配置EMQXBroker。(2)安装和配置ArduinoIDE。2.2.1
EMQXBroker从Github选择、下载并安装与操作系统版本一致的二进制包。Github网址为/emqx/emqx/releases2.2.1
EMQXBroker启动EMQXBroker进入Web界面停止EMQXBroker2.2.2
安装配置ArduinoIDE在Arduino官网下载最新版安装包安装文件安装ArduinoIDE2.2.2
安装配置ArduinoIDE安装ArduinoIDE配置AdditionalboardsmanagerURLs打开ArduinoIDE,选择“File”→“Preferences”。在打开的对话框的“AdditionalboardsmanagerURLs”输入框中填写以下链接:/stable/package_esp8266com_index.json2.2.2
安装配置ArduinoIDE添加ESP8266相关开发板再次选中“Tools”→“Board:”ArduinoUno“”,选中“BOARDSMANAGER”开发板管理器,打开新的窗口。在开发板管理器上部的搜索栏输入“esp8266”,搜索相关开发板。点击“INSTALL”按钮安装,安装完成后将开发板切换到NodeMCU1.0(ESP-12EModule),就可以使用ArduinoIDE对NodeMCU进行代码开发及代码烧写操作了。2.2.2
安装配置ArduinoIDE准备工作完成后可以在“File”→“example”中找到ESP8266相关示例程序,打开Blink示例程序,使用USB线连接电脑和NodeMCU,点击ArduinoIDE中的上传按钮就可以将程序编译烧写到硬件中,测试ESP8266示例程序如图所示。任务3NodeMCU编程03【任务描述】能够对NodeMCU进行编程,以连接EMQXBroker;掌握读取DHT11温湿度传感器数据的方法和示例;掌握使用PubSubClient库向MQTT服务器的特定数据主题发布消息的方法及传感器数据发布示例,并能融会贯通。任务3NodeMCU编程03【关键步骤】(1)对NodeMCU编程,以连接EMQXBroker。(2)掌握读取DHT11温湿度传感器数据的方法和示例。(3)掌握传感器数据发布示例。2.3.1
连接EMQXBroker(1)连接NodeMCU与计算机。EMQXBroker本质上是一个以MQTT协议实现的代理服务器,对其进行连接需要使用硬件端MQTT库,这里选择PubSubClient库。NodeMCU已经集成了Wi-Fi芯片和协议栈,使用相关库可以实现设备的Wi-Fi接入。(2)在ArduinoIDE中安装PubSubClient库。在NodeMCU连接硬件后,介绍如何在ArduinoIDE中安装PubSubClient库。依次打开“Sketch”→“IncludeLibrary”,在打开的菜单栏中点击“LIBRARIEMANAGER”,打开包管理器。在顶部搜索栏中输入库名搜索安装即可2.3.1
连接EMQXBroker(3)编写代码,连接EMQXBroker2.3.1
连接EMQXBroker2.3.1
连接EMQXBroker2.3.1
连接EMQXBroker这里需要注意的是,填写的EMQXBroker代理
地址必须是通过Wi-Fi网络可访问的,可以在同一局域网下部署EMQXBroker(其部署过程已在2.2.1小节介绍过),也可以使用具有公网IP地址的云服务器进行搭建。2.3.1
连接EMQXBroker这里需要注意的是,填写的EMQXBroker代理
地址必须是通过Wi-Fi网络可访问的,可以在同一局域网下部署EMQXBroker(其部署过程已在2.2.1小节介绍过),也可以使用具有公网IP地址的云服务器进行搭建。2.3.2
读取传感器数据示例本小节以接入DHT11温湿度传感器为示例,DHT11只需要一根数据线将其接入NodeMCU的D1口即可,传感器正负极按照NodeMCU板载指示连接。(1)安装开源社区提供的DHT相关库。将传感器按照正确的方式连接到NodeMCU引脚上后,安装开源社区提供的DHT相关库,以读取DHT11温湿度传感器数据。具体而言,打开包管理窗口,搜索DHT,安装DHTsensorlibrary库。(2)编写读取DHT11温湿度传感器数据的代码。2.3.2
读取传感器数据示例以下给出读取DHT11温湿度传感器数据的示例代码。2.3.2
读取传感器数据示例以下给出读取DHT11温湿度传感器数据的示例代码。如图所示,运行程序后可以持续采集DHT11温湿度传感器的数据。2.3.3
发布传感器数据示例读取传感器数据后,使用PubSubClient库向MQTT服务器的特定数据主题发布消息即可实现传感器数据上传。(1)在ArduinoIDE中安装ArduinoJson。本小节使用了一个新的包ArduinoJson,该包用于将变量序列化为json字符串,并通过MQTT协议发送到网络中,具体安装方式同上一小节,此处不再赘述。(2)编写和测试代码。综合前两小节的内容可以通过以下代码实现传感器数据的上传操作:2.3.3
发布传感器数据示例2.3.3
发布传感器数据示例2.3.3
发布传感
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业中心保安工作优化方案计划
- 持续改进在生产计划中的应用
- 2024年度二手房产交易公积金贷款资金拨付合同2篇
- 一等奖《师说》课件:2024年教育的风向标
- 女方净身出户离婚协议书样书
- 构造地貌的形成-以庐山为例【知识精研】高中地理人教版(2019)选择性必修1+
- 2024年新人教版1年级数学上册课件 单元 第1课时 9加几
- 粗砂采购协议
- 夏日安全校园知识手册
- 物业协议书范文
- 二手车购买一批合同范本
- A10联盟2025届高三上学期11月段考 历史试卷 (含官方答案解析)
- 2024年巴西劳动市场变化与挑战
- 放射科专科护理模拟题含参考答案
- 家政培训讲师课件
- 定制酒签约合同模板
- 2024年大型科学仪器共享与服务合作协议
- 2023秋部编版四年级语文上册第2单元大单元教学设计
- 2024年国家公务员考试《行测》真题卷(副省级)答案及解析
- 全年病案室报告
- 小区停车位施工方案
评论
0/150
提交评论