0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Air780EP模塊 LuatOS開發(fā)-MQTT接入阿里云應用指南

合宙LuatOS ? 2024-07-24 13:51 ? 次閱讀

  • 本文簡單講述了利用LuatOS-Air進行二次開發(fā),采用一型一密、一機一密兩種方式認證方式連接阿里云。整體結(jié)構(gòu)如圖

wKgZomaglO6ATWkxAAAnEciTEcA879.png
  • 關聯(lián)文檔和使用工具:
  • LuatOS庫
  • 阿里云平臺

準備工作

  1. Air780EP_全IO開發(fā)板一套,包括天線SIM卡,USB
wKgaomad-MqALrfDAEuqzo4Snig631.png

PC電腦,串口工具

準備設備證書及產(chǎn)品證書 注意:下方證書信息僅為本教程使用,用戶需要使用自己的證書信息

--設備證書 { "ProductKey": "k1hipglLdjU", "DeviceName": "868488076506128", "DeviceSecret": "fef32adf6dad46c2c7cbf335d3a7b021" } --產(chǎn)品證書 { "ProductSecret": "8LQwOYSZMwp3DFBd", "ProductKey": "k1hipglLdjU" } --公共實例ID { "InstanceId":"iot-06z00ipoepm2g97" }

阿里云介紹

物聯(lián)網(wǎng)平臺提供安全可靠的設備連接通信能力,支持設備數(shù)據(jù)采集上云,規(guī)則引擎流轉(zhuǎn)數(shù)據(jù)和云端數(shù)據(jù)下發(fā)設備端。此外,也提供方便快捷的設備管理能力,支持物模型定義,數(shù)據(jù)結(jié)構(gòu)化存儲,和遠程調(diào)試、監(jiān)控、運維。阿里云物聯(lián)網(wǎng)平臺為設備提供安全可靠的連接通信能力,向下連接海量設備,支撐設備數(shù)據(jù)采集上云;向上提供云端API,服務端通過調(diào)用云端API將指令下發(fā)至設備端,實現(xiàn)遠程控制。物聯(lián)網(wǎng)平臺消息通信流程圖如下。

wKgaomaglSuAa_NnAADeMZLaRrk330.png

API說明

API接口功能描述
aLiYun.setup()配置阿里云物聯(lián)網(wǎng)套件的產(chǎn)品信息和設備信息
aLiYun.setRegion()設置地域region id
aLiYun.setConnectMode()設置連接方式
aLiYun.subscribe()訂閱主題
aLiYun.publish()發(fā)布一條消息

詳細的API介紹請參見aLiYun章節(jié)

實現(xiàn)流程

注冊接入服務器結(jié)果回調(diào)函數(shù)

在收到true時表示連接成功,本demo中去發(fā)布一條QOS為1的消息給阿里云。

設置地域

配置為在阿里云創(chuàng)建項目時所用地區(qū)。每個地域完全獨立。每個可用區(qū)完全隔離,但同一個地域內(nèi)的可用區(qū)之間使用低時延鏈路相連。地域和可用區(qū)之間的關系如下圖所示。

poYBAGLEW2-AdT4qAABCjTnPQ5E046.png

阿里云操作

產(chǎn)品操作

打開阿里云平臺找到物聯(lián)網(wǎng)平臺,開通業(yè)務后進入控制臺。

點開設備管理產(chǎn)品頁面,點擊新建產(chǎn)品。根據(jù)需求和圖示說明創(chuàng)建產(chǎn)品。

具體詳細介紹見阿里云頁面

wKgZomad-ROAbDglAAk3D7tfPr4720.png

設備操作

創(chuàng)建產(chǎn)品完成后就可以進入設備頁面添加設備,在對應產(chǎn)品頁面進入設備管理,按照提示添加設備

(在做正式產(chǎn)品時建議使用imei為devicename,方便后期維護)

阿里云設備創(chuàng)建

wKgZomad-SuAe5jDABy7wGu063o497.png

連接阿里云

LuatOS-Air方式連接概述

LuatOS-Air連接相比AT更為簡單,只需要簡單的配置即可連接,還可以靈活的對數(shù)據(jù)進行處理。需要從官網(wǎng)或者github下載aliyun的腳本包,或者使用luatoolsv2會自動下載腳本資源,在工具根目錄的\Luatools\resource\soc_script\v2024.06.25.16\demo\aliyun中腳本資源會隨官網(wǎng)同步更新,具體版本可能和本文不同,不過功能都是一致的。

文檔中用到的API接口見aLiYun API章節(jié)。

一機一密LuatOS-Air方式連接

一機一密需要提前按照文檔中阿里云操作章節(jié)事先建好產(chǎn)品并添加設備。

然后找到所使用的腳本版本進入demo目錄找到aliyun文件夾打開main.lua,根據(jù)下方圖示打開這三行的require(如果有被注釋掉,將注釋去掉),并將其他不相關的注釋掉。

wKgaomaglX6ARoF5AAJlJa_89ZQ294.png

接著打開testYjym.lua,根據(jù)后面的操作修改三元組信息(DeviceName、ProductKeyDeviceSecret)和InstanceId信息。

wKgZomaglYaACNnUAAQpYdjzrR0722.pngwKgZomaglYyAaPmbAAIN9E3Nebk817.png

首先將testYjym.lua中的三元組信息(DeviceName、ProductKeyDeviceSecret)修改為自己項目中的三元組信息。通過下方圖示可找到自己項目中的三元組信息。

wKgZomaglZWAIx9YAAJoLCnffKo458.pngwKgaomaglZ2AbjLmAAH6NrCZfCc810.pngwKgaomaglaSANbjUAAERIbTWGuE203.png

然后在實例詳情頁面,找到實例id并將其填寫到代碼中對應位置。

wKgZomaglauAX4rCAAKyrMNB99A862.pngwKgaomaglbSAS5HXAADzQUwnVSY106.png

最后將代碼保存,通過Luatools軟件將固件+腳本燒錄進設備后,便能連接上阿里云了。這是燒錄教程。

wKgaomaglb-AQDDcAADmpYml8EQ017.pngwKgZomaglceAGVzCAAJSU9ywnQI748.png

一型一密LuatOS-Air方式連接(公共實例)

除了需要添加產(chǎn)品和設備外還需要在阿里云平臺中打開對應產(chǎn)品的動態(tài)注冊開關

wKgaomagldCAB8ZKAAJmkEkqvIw400.png

先找到所使用的腳本版本進入demo目錄找到aliyun文件夾打開main.lua,根據(jù)下方圖示打開這兩行的require(如果有被注釋掉,將注釋去掉),并將其他不相關的注釋掉。

wKgaomagldmAahgFAAJp4sRQJpU232.png

接著打開testYxym.lua,根據(jù)后面的操作修改DeviceName、ProductKey、ProductSecretInstanceId信息。

wKgZomagleCAP7NPAASsqT16LX4947.png

其中DeviceName、ProductKeyInstanceId信息的位置在一機一密LuatOS-Air方式連接中已指出。下圖為ProductSecret信息的位置。

wKgZomagleiAZpQZAAMj6kjA_9Y365.pngwKgZomagle-ATZT9AAJ6ju7xkfw758.png

接著將DeviceNameProductKey、ProductSecretInstanceId信息填寫到testYxym.lua中對應位置。

wKgZomaglfmABupQAAFc16N9SqY956.png

最后將代碼保存,通過Luatools軟件將固件+腳本燒錄進設備后,便能連接上阿里云了。這是燒錄教程。 注意:第一次使用一型一密時,設備要處于未激活狀態(tài)。

wKgZomaglgCAYx5MAADlHFEOEkg353.png

發(fā)布與訂閱消息

發(fā)布消息

發(fā)布消息使用的是**aliyun.publish(topic,qos,payload,cbFnc,cbPara)**這個API。

傳入值類型釋義
stringUTF8編碼的主題
numberqos質(zhì)量等級,0/1,默認0
stringpayload 負載內(nèi)容,UTF8編碼
functioncbFnc 消息發(fā)布結(jié)果的回調(diào)函數(shù),回調(diào)函數(shù)的調(diào)用形式為:cbFnc(result,cbPara)。result為true表示發(fā)布成功,false或者nil表示訂閱失敗;cbPara為本接口中的第5個參數(shù)
paramcbPara 消息發(fā)布結(jié)果回調(diào)函數(shù)的回調(diào)參數(shù)
returnnil

demo里**publishTest()**這個函數(shù)演示了接口的操作。無需修改即可實現(xiàn)每20s向阿里云推送一條消息。

--發(fā)布一條QOS為1的消息 function publishTest() --注意:在此處自己去控制payload的內(nèi)容編碼,aLiYun庫中不會對payload的內(nèi)容做任何編碼轉(zhuǎn)換 -- aliyun.publish(topic,qos,payload,cbFnc,cbPara) log.info("aliyun", "上行數(shù)據(jù)") aliyun.publish("/"..aliyun.opts.ProductKey.."/"..aliyun.opts.DeviceName.."/user/update",1,"LUATOS_CESHI",publishTestCb,"publishTest_"..publishCnt) end

訂閱消息

訂閱使用的是aLiYun.subscribe(topic, qos)

傳入值類型釋義
string主題內(nèi)容為UTF8編碼
paramqos為number類型(0/1,默認1)
returnnil

以下代碼為訂閱的操作,用戶可根據(jù)自己的項目需要訂閱主題。

--- 連接結(jié)果的處理函數(shù) -- @bool result,連接結(jié)果,true表示連接成功,false或者nil表示連接失敗 local function connectCbFnc(result) log.info("aliyun","連接結(jié)果", result) if result then sys.publish("aliyun_ready") log.info("aliyun", "連接成功") --訂閱主題 --根據(jù)自己的項目需要訂閱主題 -- aliyun.subscribe(topic,qos) -- aliyun.subscribe("/".. aliyun.opts.ProductKey.."/".. aliyun.opts.DeviceName.."/user/ceshi",1) --PUBLISH消息測試 publishTest() else log.warn("aliyun", "連接失敗") end end

OTA升級

  1. 建立項目并接入阿里云
  2. 制作差分升級文件包 生成差分包詳細步驟
  3. 阿里云平臺上傳差分包
wKgaomaglgyAdy6zAATW8tXxko8808.png
  1. 升級包驗證
wKgZomaglhOAJti6AALrMgOvIDY242.png
  1. 平臺查看升級結(jié)果
wKgaomaglhuAAEtvAAIWHOl_B-s097.pngwKgaomagliSAZ2K-AAGCrFTvvEc785.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 阿里云
    +關注

    關注

    3

    文章

    956

    瀏覽量

    43036
  • MQTT
    +關注

    關注

    5

    文章

    651

    瀏覽量

    22503
  • 合宙通信
    +關注

    關注

    0

    文章

    147

    瀏覽量

    1746
  • LuatOS
    +關注

    關注

    0

    文章

    76

    瀏覽量

    1939
收藏 人收藏

    評論

    相關推薦

    合宙Air780EP模塊Lua開發(fā)阿里應用指南

    合宙Air780EP模塊Lua開發(fā)阿里超詳細教學!看完包學會!
    的頭像 發(fā)表于 08-08 09:00 ?963次閱讀
    合宙<b class='flag-5'>Air780EP</b><b class='flag-5'>模塊</b>Lua<b class='flag-5'>開發(fā)</b><b class='flag-5'>阿里</b><b class='flag-5'>云</b>應用<b class='flag-5'>指南</b>

    MQTT應用看這篇!合宙Air780EP_LuatOS_MQTT應用指南

    Air780EP 是合宙的低功耗4G模組之一,支持LuatOS的腳本二次開發(fā),即使是不太懂技術(shù)的老板,也能輕松使用 Air780EP開發(fā)產(chǎn)品
    的頭像 發(fā)表于 08-08 17:13 ?1938次閱讀
    <b class='flag-5'>MQTT</b>應用看這篇!合宙<b class='flag-5'>Air780EP_LuatOS_MQTT</b>應用<b class='flag-5'>指南</b>

    合宙Air780EP模塊——AT指令MQTT接入OneNET開發(fā)指南

    物聯(lián)網(wǎng)設備要互動,Air780EP模塊是橋梁。用AT指令告訴MQTT:“幫我把話帶給OneNET吧!”MQTT就忙著打包數(shù)據(jù),像寄信一樣傳給OneNET。OneNET收到后,處理、存著
    的頭像 發(fā)表于 08-19 16:40 ?2226次閱讀
    合宙<b class='flag-5'>Air780EP</b><b class='flag-5'>模塊</b>——AT指令<b class='flag-5'>MQTT</b><b class='flag-5'>接入</b>OneNET<b class='flag-5'>開發(fā)指南</b>

    AT指令速通FTP:合宙Air780EP模塊超詳細教程

    合宙Air780EP低功耗4G模組AT開發(fā)接入FTP超詳細示例!
    的頭像 發(fā)表于 08-20 17:40 ?2539次閱讀
    AT指令速通FTP:合宙<b class='flag-5'>Air780EP</b><b class='flag-5'>模塊</b>超詳細教程

    超實用!阿里應用——Air780EP低功耗4G模組AT開發(fā)示例

    特別推出基于Air780EP模組AT開發(fā)阿里應用指南。 **一、相關準備工作 ** 1.1 硬件準備 合宙
    的頭像 發(fā)表于 10-08 09:55 ?1351次閱讀
    超實用!<b class='flag-5'>阿里</b><b class='flag-5'>云</b>應用——<b class='flag-5'>Air780EP</b>低功耗4G模組AT<b class='flag-5'>開發(fā)</b>示例

    Air780EP低功耗4G模組AT開發(fā)示例:阿里應用篇

    推出基于Air780EP模組AT開發(fā)阿里應用指南。 一、相關準備工作 1.1 硬件準備 合宙Air7
    的頭像 發(fā)表于 10-14 14:22 ?953次閱讀
    <b class='flag-5'>Air780EP</b>低功耗4G模組AT<b class='flag-5'>開發(fā)</b>示例:<b class='flag-5'>阿里</b><b class='flag-5'>云</b>應用篇

    合宙 | Air780EP首版LuatOS固件發(fā)布,新品模組內(nèi)測搶先體驗

    07日,合宙Air780EP首版LuatOS固件發(fā)布。 軟件支持已就緒,開發(fā)板還會遠嗎? 合宙Air780EP首版LuatOS固件發(fā)布
    的頭像 發(fā)表于 12-11 12:20 ?2811次閱讀
    合宙 | <b class='flag-5'>Air780EP</b>首版<b class='flag-5'>LuatOS</b>固件發(fā)布,新品模組內(nèi)測搶先體驗

    Air780EP模塊AT開發(fā)FOTA遠程升級指南

    Air780EP模塊AT開發(fā)FOTA遠程升級指南簡介AT版本的遠程升級主要是對AT固件進行升級,實際方式為通過合宙官方IOT平臺升級或者使用自己搭建的服務器進行升級服務。關聯(lián)文檔和使用
    的頭像 發(fā)表于 07-19 15:16 ?798次閱讀
    <b class='flag-5'>Air780EP</b><b class='flag-5'>模塊</b>AT<b class='flag-5'>開發(fā)</b>FOTA遠程升級<b class='flag-5'>指南</b>

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機問題如何分析簡介本文檔適用于合宙
    的頭像 發(fā)表于 07-19 15:37 ?668次閱讀
    <b class='flag-5'>Air780</b>E/<b class='flag-5'>Air780EP</b>/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201<b class='flag-5'>模塊</b>遇到死機問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到內(nèi)存死機如何分析簡介本文檔適用于合宙
    的頭像 發(fā)表于 07-19 16:07 ?530次閱讀
    <b class='flag-5'>Air780</b>E/<b class='flag-5'>Air780EP</b>/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201<b class='flag-5'>模塊</b>遇到內(nèi)存死機如何分析

    Air780EP模塊AT開發(fā)-HTTP應用指南

    Air780EP模塊AT開發(fā)-HTTP應用指南
    的頭像 發(fā)表于 07-22 14:38 ?641次閱讀
    <b class='flag-5'>Air780EP</b><b class='flag-5'>模塊</b>AT<b class='flag-5'>開發(fā)</b>-HTTP應用<b class='flag-5'>指南</b>

    Air780EP模塊 AT開發(fā)-MQTT接入OneNET移動物聯(lián)網(wǎng)平臺應用指南

    應用概述??使用AT方式通過MQTT協(xié)議連接onenetstudio。官網(wǎng)地址:https://open.iot.10086.cn/材料準備Air780EP(V)開發(fā)板一套,包括天線SIM卡,USB
    的頭像 發(fā)表于 07-24 14:24 ?890次閱讀
    <b class='flag-5'>Air780EP</b><b class='flag-5'>模塊</b> AT<b class='flag-5'>開發(fā)</b>-<b class='flag-5'>MQTT</b><b class='flag-5'>接入</b>OneNET移動物聯(lián)網(wǎng)平臺應用<b class='flag-5'>指南</b>

    Air780EP模塊FTP應用AT開發(fā)詳解

    基于合宙Air780EP使用AT指令接入FTP的超詳細教程!
    的頭像 發(fā)表于 08-21 11:16 ?553次閱讀
    <b class='flag-5'>Air780EP</b><b class='flag-5'>模塊</b>FTP應用AT<b class='flag-5'>開發(fā)</b>詳解

    合宙LuatOS開發(fā)板Core_Air780EP使用說明

    Core-Air780EP 開發(fā)板是合宙通信推出的基于 Air780EP 模組所開發(fā)的,包含電源,SIM卡,USB,天線,音頻等必要功能的最小硬件系統(tǒng)。以方便用戶在設計前期對
    的頭像 發(fā)表于 09-03 17:38 ?564次閱讀
    合宙<b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>板Core_<b class='flag-5'>Air780EP</b>使用說明

    MQTT應用:Air780EP低功耗4G模組AT開發(fā)

    本文應各位大佬邀請,詳細講解Air780EP模組MQTT應用的多個AT命令。
    的頭像 發(fā)表于 10-25 17:27 ?335次閱讀
    <b class='flag-5'>MQTT</b>應用:<b class='flag-5'>Air780EP</b>低功耗4G模組AT<b class='flag-5'>開發(fā)</b>