项目介绍
什么是物联网平台
要搭建之前,一定要先搞明白一个概念,那就是什么是物联网平台。笔者作为一个准备入门的小白自然也是两眼一抹黑。在笔者大致查了些资料,实际上手使用一些物联网平台后,大致搞明白,物联网平台可以实现的功能有一下大致几点
终端设备接入
数据上报
数据持久化
终端设备管理
命令下发
搞明白了目标之后,我就在脑中考虑出了系统的雏形,大致分为以下几部分
MQTT协议
在web开发中,我们常见的是 HTTP/HTTPS 协议,这是一种短连接,即在请求和响应完成之后会关闭连接。这种连接有一个弊端,那就是只能由客户端主动联系服务端,而不能由服务端主动联系客户端。但是一定存在客户端与服务端需要长时间互相交换数据的场景。在早期,人们使用 轮询/长轮询 ,后来出现了webSocket协议,这是一种很接近MQTT的协议,一旦建立连接,双方就可以长时间进行双工通讯。后来就出现了在物联网领域应用极其广泛的MQTT协议,相比于WebSocket,MQTT更复杂,但更能更加强大。很多时候两种协议甚至可以混用。
MQTT采用 订阅/发布 的模式。MQTT的客户端既可以订阅消息,又可以发布消息,而MQTT的服务器 被称为broker,负责接受客户端发布的消息,并将其发送给订阅了该主题(topic)的客户端,从而实现客户端之间的交互。
关于MQTT的协议,可以访问 太极创客的官方网站了解更多,这里笔者不再赘述
零基础入门学用物联网 – MQTT基础篇 – 目录 – 太极创客 (taichi-maker.com)
项目实现
连接协议
本项目使用MQTT协议进行数据上传和下发,使用HTTP协议进行数据交互
Broker
关于MQTT服务器,我选用了 EMQX开源版
关于emqx的使用,官方文档写的很清楚,这里不再赘述。emqx提供了丰富的api,可以通过http请求实现一些列功能。
由于这里使用的是emqx开源版,所以服务器本事并不提供数据持久化等一系列高级功能。但是其中有些功能可以使用其他方法实现。
emqx官方文档: EMQX 文档
后端服务器
后端服务器这里使用的是 nodejs+express.js+mqtt.js
笔者写过的几个项目,后端使用的都是nodejs,因为nodejs简单易用,性能尚可,有非常丰富的第三方工具包,非常适合小型项目
也因为笔者不会用java写后台
作用
后端服务器在本项目中主要起到一下作用:
向web端以及小程序端提供api
通过MQTT协议订阅设备发布的收集到的信息,并将其持久化
通过MQTT协议向设备下发命令
实现不同的api功能,如命令下发
代理emqx提供的api,向web端以及微信小程序端提供统一的api
代码实现
备注
前文中,笔者介绍道,没有使用小程序端直接连接终端设备,是因为规范问题
其实这里还有一个原因,就是遇到了一些技术上的问题。就是微信小程序使用npm包的问题。
一开始笔者也想直接连接,毕竟简单方便,相较于http请求,在笔者看来,mqtt连接似乎更容易
一些,但是当笔者使用npm安装了mqtt.js工具包,并引用时报了错误。后来去网上搜搜查查,说
是要打开一个使用npm包的选项,这个选项在较新的微信开发者工具中已经取消了。在新版本
中,要打开 工具->构建npm 这个选项。
上述一些操作,在各大搜索引擎中都能搜到相关博客,这里笔者就不放链接了。
但是,在进行了一系列操作之后还是不行,后来又查资料发现,引用的包必须遵守微信小程序的
规范。后来又找到了一种方法,是直接把全部的代码放进单独的一个js文件中,然后在引用。在
一番操作之后连接成功了,但是最终笔者也没有采用这种方法
最后一种方法见:微信小程序mqtt实现 - 简书 (jianshu.com)
本项目中,为什么只进行了温湿度数据的收集,以及LED灯珠的控制
因为本项目笔者把它定性为,物联网平台,所以接入设备只是试验性质的,只要证明平台可用即可。
web端
作用
web端在本系统中承担的作用主要是:
数据可视化展示
未来可能会继续完善,加入接入终端设备管理功能
代码实现
因为本项目是带有实验性质的,所以很多方便笔者尽量采用了简化方法,而只保留的骨干,故本工程只有一个html文件及css文件,本章节只展示 index.html
本工简单引用了 vue以及echarts组件,旨在快速创建一个相对完善且美观的页面。
备注
web端作为数据可视化展示,是物联网平台不能缺少的一部分,但是目前也只完成了可视化展示,其他的数据管理功能,例如查询、更改、导出等都没有完成,后续可能会对其进行完善。
如果过于深入的介绍web端的技术实现,就有些偏离本文档的初衷了,故在此不过多赘述。
继8月11日、14日连续两次召开电力保供工作紧急视频会议后,8月15日,四川再次召开电力保供调度会。记者从会上获悉,预计全省最大用电负荷将
今年以来,四川积极扩大能源领域有效投资,前7月能源项目累计完成投资493亿元、同比增长4%。8月15日,省能源局相关负责人介绍,前7月煤炭类
8月15日,全省防汛减灾、森林草原防灭火工作电视电话会议召开,深刻汲取彭州8·13山洪灾害教训,分析研判当前形势,安排部署下一步重点工作
8月9日,攀枝花技师学院实习工厂里,焊花四溅,机器声此起彼伏。身穿工作服的教师周树春,在一间间操作室里进进出出,指导学生们焊接。过去
记者从省发改委获悉,上半年全省物流需求平稳增长,行业运行总体平稳。全省社会物流总额64096 2亿元,同比增长4 4%;全省物流业总收入为2270
在全球最大地下工程装备制造基地,掘进机生产计划已排到年底;千亿级工程机械产业园区边建设边生产,打造智能制造标杆……时已立秋,三湘大
上犹县水岩乡卫生院医生蔡昌才驱车前往金盆村为村民骆运招治病。以往,每月去医院就诊不仅路途远,还要排队。这几年有了家庭医生后,直接送
今年2月以来,省药监局深入开展药品安全专项整治行动,坚持问题导向,以严厉打击违法犯罪行为、全面排查风险隐患为手段,推进专项整治行动
没想到,现在直接在窗口就能办理,真是太方便了。蒋琼在九江市经营一家造型工作室,近期有意扩大生意规模,需要资金周转。她带齐资料来到九
记者从新余海关获悉,今年上半年,新余市外贸取得了较好成绩,全市外贸进出口总值184 3亿元,同比增长84 3%,高出全国平均水平74 9个百分点
作为南昌市第二季度集中开工的重大项目之一,南昌数谷产业园项目总投资100亿元,计划2024年5月完工交付使用,拟引进字节跳动、华为(南昌)工
淮南市向中国工程院院士、安徽理工大学校长袁亮颁发了第一张淮南市高层次人才优才卡。为深化我为人才办实事实践活动,落实高层次人才服务保
连日来,宿州市埇桥区不断细化各项工作举措,压实防汛各项责任,提升应急救援保障能力,筑牢防汛安全堤。目前,该区防汛物资已储备到位,全
近日,无为市自然资源和规划局、无为市福渡镇人民政府在无为润峰中海置业有限公司项目部现场举行交地即交证颁证仪式,标志该市交地即交证优
设施齐全的卫生食堂、水冲式的独立卫生间、楼道墙体粉刷一新的宿舍……走进安徽省全椒县武岗学校,已经运行满一年的农村特色寄宿制学校成果
安徽安庆市正式成立“老年助餐慈善基
记者日前从安庆市民政局获悉,该市慈善会近日设立老年助餐慈善基金,共同守护老年人舌尖上的幸福。该基金专项用于资助城乡社区老年食堂、社
安徽淮北积极落实2022年电网防汛度汛
近日,国网淮北供电公司工作人员来到110千伏中泰变电站开展防汛隐患排查。该公司积极落实2022年防汛度汛措施,提前细化应急预案,推进极端
安徽全椒县完善拓展人力信息资源助企
今年以来,全椒县不断完善拓展人力资源信息库、劳务对接信息库、企业用工需求信息库三库信息资源,已摸排400多家次企业缺工岗位信息1 2万个
宿州市埇桥区柔性引进博士推进乡村振
宿州市埇桥区实施博士汇工程,柔性引进29名博士担任副乡镇长或园区副主任,他们将为加快产业发展、推进乡村振兴强化智力支持。目前,博士专
安徽印发出台全面实施零基预算改革方
为进一步提高财政资源配置效率和资金使用效益,省政府印发《安徽省全面实施零基预算改革方案》,明确从编制2023年预算起,在全省范围内全面
5月份安徽居民消费价格同比上涨2.3%
近日,国家统计局安徽调查总队发布了我省5月份居民消费价格统计数据。统计显示,我省居民消费价格同比上涨2 3%,同比涨幅比上月回落0 4个百分
安徽多种方式引导群众防范非法集资风
合肥地铁1号线、3号线上滚动播放防范非法集资宣传视频,淮南市发布《致老年群众的一封信》……6月份是一年一度防范和处置非法集资宣传月,今
铁路部门持续加大长三角地区运力投放
记者从中国铁路上海局集团有限公司获悉,随着上海疫情防控形势持续向好,为进一步适应旅客出行需要,助力复工复产,铁路部门自6月10日起持续加
安徽六安持续精准施策全力促进工业发
六安市与蔚来汽车签署合作协议,共建智能电动汽车零部件配套产业园区。该园区一期计划2023年上半年投产,建成后将具备年产30万吨铝压铸产能,
安徽淮北全力维护外卖送餐员合法权益
为切实防范化解新业态领域重大风险隐患,强化外卖送餐员权益保障工作,淮北市市场监管局充分发挥职能作用,全力维护外卖送餐员合法权益。淮北
湖南涟源开展专项行动一对一为企业纾
位于涟源市的湖南三合美新材料科技有限公司,两条生产线满负荷运行,生产聚氨酯和岩棉复合板。因产品升级与产能扩充,急需新增两条生产线,
湖南蓝山县进村入户排查整治自建房安
老叔,这栋房屋墙体有开裂痕迹,要维修加固,安全重要!5月20日,蓝山县塔峰镇果木村,党员干部上门开展农村自建房安全隐患排查整治。连日来
一季度湖南万元产值综合能耗同比下降
近日,湖南省工业通信业节能监察中心发布一季度全省六大高耗能行业能源消耗统计监测报告。据该报告,一季度全省146家主要高耗能企业的万元
济南起步区一年来累计签约优质项目11
万里黄河第一隧济南黄河济泺路隧道建成通车,占地4000余亩的新能源乘用车零部件产业园加快施工……记者21日采访获悉,建设实施方案获批复一
山东发布通知启动传统民居保护利用试
省住房城乡建设厅、省财政厅近日联合印发《关于做好传统民居保护利用试点工作的通知》,在全省部署开展传统民居保护利用试点工作。此次试点