欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

如何搭建物联网平台(物联网OTA)

数码知识

陈钰婕优秀作者

原创内容 来源:小居数码网 时间:2024-08-12 12:56:01 阅读() 收藏:28 分享:50

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有813个文字,大小约为4KB,预计阅读时间3分钟。

最近朋友在弄一个公厕所空气质量检测项目,买了物联网通讯芯片,采集空气传感器数据通过通讯芯片上传到服务器,实现空气质量检测分析以及清扫建议等功能。

物联网OTA

物联网-万物互联

由于项目比较匆忙,刚开始部署的物联网采集模块没有实现自动升级的功能,后面需要升级固件非常不方便。所以考虑增加OTA远程升级功能,特写下本文记录一下相关实现过程。

OTA简介

OTA:Over The Air,空中下载的意思具体指远程无线方式,OTA 技术是一种远程无线固件升级技术,通过部署云端OTA平台为具有连网功能的设备提供固件升级服务。

OTA升级流程

简单OTA升级流程

上图我们简单描述了下OTA的升级流程,首先制作升级包(可以是增量升级包、全量升级包),然后上传OTA平台,终端请求升级(主动请求、或者服务器推送升级),主动请求升级则需要携带相关参数(如模块唯一识别码IMEI、终端当前版本),OTA收到升级请求后可以根据IMEI等信息判断请求是否合法,根据当前版本号跟最新上传的OTA升级版本比较是否需要升级,如果需要升级则可以返回OTA升级包(文件流、或者升级包地址),然后终端收到升级包再进行下一步的处理。

OTA私有平台搭建

OTA平台可以是自建私有平台、或者使用阿里等公有云OTA平台,OTA平台功能其实挺简单,至少包括以下几点:1. 升级包管理,包括升级包上传以及下载日志等。2. 项目管理,每个升级包对应不同的项目硬件固件,防止不同项目固件升级包混淆。3. 对外升级暴露服务,响应请求升级请求。

我们可以自己使用JAVA、.NET、PHP等语言自己实现一个简单的OTA升级平台,当然为了方便省事,我们可以从github或者gitee下载开源的版本自己部署就可以了,比如gitee上的nutz-book-project看了下功能比较符合我们的要求,我们在gitee上下载nutz-book-project源码编译,使用maven打包后启动java -jar 启动打包的jar文件即可.

开源OTA平台

固件端增加升级功能固件程序开机时增加升级检测逻辑,增加下行升级指令的响应。朋友使用的模块编程语言是C语言,然后他说到现在的开发板很方便了,可以使用lua脚本语言。网上一搜索发现蛮多, 支持lua的wifi模块价格从10块起步,支持lua编写业务逻辑真是太方便了,准备买个开发板来玩玩,再弄个甲醛传感器实时监控下家里的空气质量。下面是开发板lua语言的部分功能示例代码:

连接wifiwifi.setmode(wifi.STATION)wifi.sta.config("wifi ssid","wifi password")print(wifi.sta.getip())--成功得到ip192.168.0.3读取传感器数据t=require("ds18b20")t.setup(9) --串口IDaddrs=t.addrs()-- Total DS18B20 numbers, assume it is 2print(table.getn(addrs))print(t.read()) -- 读取数据http通讯conn=net.createConnection(net.TCP, false) conn:on("receive", function(conn, pl) print(pl) end)conn:connect(80,"ip")conn:send("发送数据")

上面就是小居数码小编今天给大家介绍的关于(物联网OTA)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

94%的朋友还想知道的:

(395)个朋友认为回复得到帮助。

部分文章信息来源于以及网友投稿,转载请说明出处。

本文标题:如何搭建物联网平台(物联网OTA):http://sjzlt.cn/shuma/154913.html

猜你喜欢