国产精品zjzjzj在线观看_欧美国产成人精品_国产欧美一区二区三区久久_欧美黑人性猛交

智宇物聯 專注于提供高穩定、高速率的三網物聯網卡

自己動手搭建物聯網模塊OTA升級平臺

  • 作者:智宇物聯
  • 發表時間:2022年10月16日
  • 來源:智宇物聯

最近朋友在弄一個公廁所空氣質量檢測項目,買了物聯網通訊芯片,采集空氣傳感器數據通過通訊芯片上傳到服務器,實現空氣質量檢測分析以及清掃建議等功能。

自己動手搭建物聯網模塊OTA升級平臺

物聯網-萬物互聯

由于項目比較匆忙,剛開始部署的物聯網采集模塊沒有實現自動升級的功能,后面需要升級固件非常不方便。所以考慮增加OTA遠程升級功能,特寫下本文記錄一下相關實現過程。

OTA簡介

OTA:Over The Air,空中下載的意思具體指遠程無線方式,OTA 技術是一種遠程無線固件升級技術,通過部署云端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升級平臺

開源OTA平臺

固件端增加升級功能
固件程序開機時增加升級檢測邏輯,增加下行升級指令的響應。朋友使用的模塊編程語言是C語言,然后他說到現在的開發板很方便了,可以使用lua腳本語言。網上一搜索發現蠻多, 支持lua的wifi模塊價格從10塊起步,支持lua編寫業務邏輯真是太方便了,準備買個開發板來玩玩,再弄個甲醛傳感器實時監控下家里的空氣質量。下面是開發板lua語言的部分功能示例代碼:

連接wifi
wifi.setmode(wifi.STATION)
wifi.sta.config("wifi ssid","wifi password")
print(wifi.sta.getip())
--成功得到ip192.168.0.3

讀取傳感器數據
t=require("ds18b20")
t.setup(9) --串口ID
addrs=t.addrs()
-- Total DS18B20 numbers, assume it is 2
print(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("發送數據")

本文由IT點滴原創,歡迎關注,帶你一起長知識!

主站蜘蛛池模板: 筠连县| 靖安县| 张家川| 祁连县| 沂南县| 惠州市| 兴山县| 登封市| 衡阳县| 横峰县| 华容县| 曲沃县| 阳东县| 曲周县| 景德镇市| 蛟河市| 克什克腾旗| 化德县| 阳原县| 轮台县| 杨浦区| 二手房| 邛崃市| 襄城县| 项城市| 游戏| 卓尼县| 佛坪县| 得荣县| 昭通市| 永善县| 磴口县| 包头市| 会昌县| 盱眙县| 南雄市| 巴林右旗| 罗源县| 宝清县| 梁平县| 揭阳市|