<ul id="i4ug0"></ul>
  • <ul id="i4ug0"></ul>
    <ul id="i4ug0"></ul> <ul id="i4ug0"><sup id="i4ug0"></sup></ul><ul id="i4ug0"></ul>
  • 智宇物聯(lián) 專注于提供高穩(wěn)定、高速率的三網(wǎng)物聯(lián)網(wǎng)卡

    大興自己動手搭建物聯(lián)網(wǎng)模塊OTA升級平臺

    • 作者:智宇物聯(lián)
    • 發(fā)表時間:2022年10月16日
    • 來源:智宇物聯(lián)

    最近朋友在弄一個公廁所空氣質(zhì)量檢測項(xiàng)目,買了物聯(lián)網(wǎng)通訊芯片,采集空氣傳感器數(shù)據(jù)通過通訊芯片上傳到服務(wù)器,實(shí)現(xiàn)空氣質(zhì)量檢測分析以及清掃建議等功能。

    自己動手搭建物聯(lián)網(wǎng)模塊OTA升級平臺

    物聯(lián)網(wǎng)-萬物互聯(lián)

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

    OTA簡介

    OTA:Over The Air,空中下載的意思具體指遠(yuǎn)程無線方式,OTA 技術(shù)是一種遠(yuǎn)程無線固件升級技術(shù),通過部署云端OTA平臺為具有連網(wǎng)功能的設(shè)備提供固件升級服務(wù)。

    OTA升級流程

    自己動手搭建物聯(lián)網(wǎng)模塊OTA升級平臺

    簡單OTA升級流程

    上圖我們簡單描述了下OTA的升級流程,首先制作升級包(可以是增量升級包、全量升級包),然后上傳OTA平臺,終端請求升級(主動請求、或者服務(wù)器推送升級),主動請求升級則需要攜帶相關(guān)參數(shù)(如模塊唯一識別碼IMEI、終端當(dāng)前版本),OTA收到升級請求后可以根據(jù)IMEI等信息判斷請求是否合法,根據(jù)當(dāng)前版本號跟最新上傳的OTA升級版本比較是否需要升級,如果需要升級則可以返回OTA升級包(文件流、或者升級包地址),然后終端收到升級包再進(jìn)行下一步的處理。

    OTA私有平臺搭建

    OTA平臺可以是自建私有平臺、或者使用阿里等公有云OTA平臺,OTA平臺功能其實(shí)挺簡單,至少包括以下幾點(diǎn):
    1. 升級包管理,包括升級包上傳以及下載日志等。
    2. 項(xiàng)目管理,每個升級包對應(yīng)不同的項(xiàng)目硬件固件,防止不同項(xiàng)目固件升級包混淆。
    3. 對外升級暴露服務(wù),響應(yīng)請求升級請求。

    我們可以自己使用JAVA、.NET、PHP等語言自己實(shí)現(xiàn)一個簡單的OTA升級平臺,當(dāng)然為了方便省事,我們可以從github或者gitee下載開源的版本自己部署就可以了,比如gitee上的nutz-book-project看了下功能比較符合我們的要求,我們在gitee上下載nutz-book-project源碼編譯,使用maven打包后啟動java -jar 啟動打包的jar文件即可.

    自己動手搭建物聯(lián)網(wǎng)模塊OTA升級平臺

    開源OTA平臺

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

    連接wifi
    wifi.setmode(wifi.STATION)
    wifi.sta.config("wifi ssid","wifi password")
    print(wifi.sta.getip())
    --成功得到ip192.168.0.3
    
    讀取傳感器數(shù)據(jù)
    t=require("ds18b20")
    t.setup(9) --串口ID
    addrs=t.addrs()
    -- Total DS18B20 numbers, assume it is 2
    print(table.getn(addrs))
    print(t.read()) -- 讀取數(shù)據(jù)
    
    http通訊
    conn=net.createConnection(net.TCP, false) 
    conn:on("receive", function(conn, pl) print(pl) end)
    conn:connect(80,"ip")
    conn:send("發(fā)送數(shù)據(jù)")

    本文由IT點(diǎn)滴原創(chuàng),歡迎關(guān)注,帶你一起長知識!

    文章標(biāo)簽: 怎么查看自己物聯(lián)卡綁定 
    最新資訊
    最熱資訊
    主站蜘蛛池模板: 成人品视频观看在线| 亚洲欧洲国产成人精品| 成人中文字幕在线观看| 成人免费视频88| 午夜a级成人免费毛片| 久久久久亚洲av成人网人人软件 | 亚洲色成人WWW永久在线观看| 国产成人综合久久精品红| 国产成人精品久久亚洲高清不卡| 国产一级一级一级成人毛片| 无遮挡韩国成人羞羞漫画网站| 国产成人永久免费视频| 欧美成人猛男性色生活| 国产亚洲欧美成人久久片| 成人午夜高潮A∨猛片| 亚洲国产成人精品女人久久久| 无遮挡韩国成人羞羞漫画网站| 国产v片成人影院在线观看| 成人永久免费福利视频app| 久久久成人影院| 国产成人做受免费视频| 在线看欧美成人中文字幕视频| 欧美成人精品福利网站| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 成人无码A级毛片免费| 亚洲国产成人久久精品影视| 成人免费a级毛片无码网站入口| 色欲欲WWW成人网站| 亚洲国产成人久久一区www | 成人综合伊人五月婷久久| 久久99国产精品成人| 亚洲欧美日韩成人| 国产成人无码精品一区不卡| 成人18在线观看| 天天成人综合网| 中文国产成人精品久久一| 青青青国产成人久久111网站| 免费成人黄色大片| 免费一级成人毛片| 亚洲国产成人久久综合一区| 亚洲欧美成人一区二区在线电影|