伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

AirCloud 協議:物聯網設備數據上報實現與實操指南

青山老竹農 ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2026-03-25 12:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

物聯網設備開發過程中,便捷實現云端接入、保障數據穩定傳輸是兩大核心訴求。LuatOSAirCloud 物聯網云服務通信協議,可實現設備數據上報核心功能,還支持七類數據的定期或觸發式上報。本文將解析該協議相關內容,同時提供模組開源示例、核心代碼,以及配套的開發硬件與教程,為開發者實現設備快速上云與數據上報提供實操指引。

一、AirCloud數據上報功能

1.1、數據上報功能概述

數據上報是AirCloud的核心功能之一,允許設備將各種狀態數據、傳感器數據等信息定期或觸發式地傳輸到云端平臺,用于實現:

  • 設備狀態實時監控
  • 傳感器數據采集與分析
  • 設備運行歷史記錄
  • 基于數據的業務決策

1.2、支持的數據類型

AirCloud支持上報多種類型的數據,通過excloud擴展庫的excloud.FIELD_MEANINGS常量定義,主要包括以下幾大類:

  • 傳感器數據如:溫度、濕度、酸堿度、顆粒物濃度、環境溫度、電量計量等。
  • 定位與運動數據如:GNSS經緯度、行駛速度、GNSS衛星信噪比、搜索到的衛星總數、航向角、方向角、定位方式標識等。
  • 設備狀態數據如:電池電壓、4G信號強度、SIM卡ICCID、設備休眠模式、定時喚醒間隔等。
  • 設備參數數據如:設備物理高度/寬度、轉速、駐留小區、小區信息、元器件型號等。
  • 軟件與系統數據如:固件版本、系統錯誤信息、短信轉發、來電轉發等。
  • 通用數據如:時間戳、無意義數據等。
  • 控制與響應數據如:控制命令/回應、鑒權請求/回復等。

二、開源實例

針對各模組型號提供開源示例demo,并持續更新配套教程,開發者可以掌握AirCloud數據上報功能的使用方法。

以Air780EHV系列為例,可選用配套核心板或開發板實操驗證。
Air780EHV 是 Air780Exx 系列的 4G Cat.1 全網通模組,有 3.3V/1.8V 兩種 IO 電平版本,內置 ES8311 音頻芯片,支持 VoLTE高清通話、TTS 語音合成等語音功能,外設接口豐富且支持 485、CAN以太網等工業常用配置,支持低功耗,功耗最低3uA,僅支持 LuatOS 二次開發,適用于智能語音交互、工業物聯網等低功耗物聯網場景。
c1-1.png

核心代碼如下圖示,完整demo詳見源碼倉庫最新文件。

開發者可根據實際項目需求靈活配置連接參數,實現設備接入與數據上報。

本demo演示了excloud擴展庫的完整使用流程,包括:

  1. 設備連接與認證
  2. 數據上報與接收
  3. 運維日志管理
  4. 文件上傳功能
  5. 心跳保活機制
]]
-- 導入excloud庫
local excloud = require("excloud")
-- 注冊回調函數
function on_excloud_event(event, data)
log.info("用戶回調函數", event, json.encode(data))

if event == "connect_result" then
if data.success then
log.info("連接成功")
sys.publish("aircloud_connected")
else
log.info("連接失敗: " .. (data.error or "未知錯誤"))
end
elseif event == "auth_result" then
if data.success then
log.info("認證成功")
else
log.info("認證失敗: " .. data.message)
end
elseif event == "message" then
log.info("收到消息, 流水號: " .. data.header.sequence_num)

-- 處理服務器下發的消息
for _, tlv in ipairs(data.tlvs) do
log.info("TLV字段", "含義:", tlv.field, "類型:", tlv.type, "值:", tlv.value)

if tlv.field == excloud.FIELD_MEANINGS.CONTROL_COMMAND then
log.info("收到控制命令: " .. tostring(tlv.value))

-- 處理控制命令并發送響應
local response_ok, err_msg = excloud.send({
{
field_meaning = excloud.FIELD_MEANINGS.CONTROL_RESPONSE,
data_type = excloud.DATA_TYPES.UNICODE,
value = "命令執行成功"
}
}, false)

if not response_ok then
log.info("發送控制響應失敗: " .. err_msg)
end
end
end
elseif event == "disconnect" then
log.warn("與服務器斷開連接")
elseif event == "reconnect_failed" then
log.info("重連失敗,已嘗試 " .. data.count .. " 次")
elseif event == "send_result" then
if data.success then
log.info("發送成功,流水號: " .. data.sequence_num)
else
log.info("發送失敗: " .. data.error_msg)
end

elseif event == "mtn_log_upload_start" then
log.info("運維日志上傳開始", "文件數量:", data.file_count)

elseif event == "mtn_log_upload_progress" then
log.info("運維日志上傳進度",
"當前文件:", data.current_file,
"總數:", data.total_files,
"文件名:", data.file_name,
"狀態:", data.status)

elseif event == "mtn_log_upload_complete" then
log.info("運維日志上傳完成",
"成功:", data.success_count,
"失敗:", data.failed_count,
"總計:", data.total_files)
end

end

-- 注冊回調
excloud.on(on_excloud_event)
-- 主任務函數
function excloud_task_func()
-- 如果當前時間點設置的默認網卡還沒有連接成功,一直在這里循環等待
while not socket.adapter(socket.dft()) do
log.warn("excloud_task_func", "wait IP_READY", socket.dft())
-- 在此處阻塞等待默認網卡連接成功的消息"IP_READY"
-- 或者等待1秒超時退出阻塞等待狀態;
-- 注意:此處的1000毫秒超時不要修改的更長;
-- 因為當使用exnetif.set_priority_order配置多個網卡連接外網的優先級時,會隱式的修改默認使用的網卡
-- 當exnetif.set_priority_order的調用時序和此處的socket.adapter(socket.dft())判斷時序有可能不匹配
-- 此處的1秒,能夠保證,即使時序不匹配,也能1秒鐘退出阻塞狀態,再去判斷socket.adapter(socket.dft())
sys.waitUntil("IP_READY", 1000)
end
-- -- 配置excloud參數
local ok, err_msg = excloud.setup({
use_getip = true, -- 使用getip服務
device_type = 1,   -- 4G設備
-- auth_key = "Qqn2TH50319ELOuO0rhPgF5fOxNVNhNW",
transport = "udp",       -- 使用TCP傳輸
auto_reconnect = true,   -- 自動重連
reconnect_interval = 10, -- 重連間隔(秒)
max_reconnect = 5,       -- 最大重連次數
mtn_log_enabled = true,  -- 啟用運維日志
mtn_log_blocks = 1,      -- 日志文件塊數
mtn_log_write_way = excloud.MTN_LOG_ADD_WRITE  -- 追加寫入方式
})

--不使用getip服務,注意把use_getip設置為false
-- local ok, err_msg = excloud.setup({
--     use_getip = false,                             -- 不使用getip服務
--     device_type = 1,                               -- 設備類型: 4G
--     host = "112.125.89.8",                         -- 服務器地址
--     port = 32585,                                  -- 服務器端口
--     auth_key = "Qqn2TH50319ELOuO0rhPgF5fOxNVNhNW", -- 鑒權密鑰
--     transport = "tcp",                             -- 使用TCP傳輸
--     auto_reconnect = true,                         -- 自動重連
--     reconnect_interval = 10,                       -- 重連間隔(秒)
--     max_reconnect = 5,                             -- 最大重連次數
--     mtn_log_enabled = true                         -- 啟用運維日志
-- })

-- 配置excloud參數,虛擬設備鏈接
-- local ok, err_msg = excloud.setup({
--     use_getip = true, --使用getip服務
--     device_type = 9,
--     auth_key = "Qqn2TH50319ELOuO0rhPgF5fOxNVNhNW",
--     virtual_phone_number = "15893470522",  -- 11位手機
--     virtual_serial_num = 1,                -- 序列號(0-999)
--     transport = "tcp", -- 由于mqtt鏈接需要使用imei,虛擬設備沒有,所以只能使用TCP傳輸
--     mtn_log_enabled = true
-- })

if not ok then
log.info("初始化失敗: " .. err_msg)
return
end
log.info("excloud初始化成功")

-- 開啟excloud服務
local ok, err_msg = excloud.open()
if not ok then
log.info("開啟excloud服務失敗: " .. err_msg)
return
end
log.info("excloud服務已開啟")
-- 啟動自動心跳,默認5分鐘一次的心跳
excloud.start_heartbeat()
log.info("自動心跳已啟動")

-- 啟動3分鐘一次的心跳,可配置自定義內容
-- excloud.start_heartbeat(180, {
--     { field_meaning = excloud.FIELD_MEANINGS.TIMESTAMP,
--     data_type = excloud.DATA_TYPES.INTEGER,
--     value = os.time() }
-- })

-- 停止自動心跳
--excloud.stop_heartbeat()
-- 記錄啟動日志
--excloud.mtn_log("system", "設備啟動完成", "version", "1.0.0")
-- 獲取并打印二維碼信息
local qrinfo = excloud.get_qrinfo()
if qrinfo and qrinfo.url then
log.info("二維碼URL:", qrinfo.url)
else
log.info("未獲取到二維碼信息")
end

-- 主循環:定期上報數據

while true do
-- 每30秒上報一次數據
sys.wait(30000)
-- 檢查連接狀態
local status = excloud.status()
if not status.is_connected then
log.warn("設備未連接,跳過數據上報")

else
-- 上報基礎狀態數據
local ok, err_msg = excloud.send({
{
field_meaning = excloud.FIELD_MEANINGS.SIGNAL_STRENGTH_4G,
data_type = excloud.DATA_TYPES.INTEGER,
value = 22  -- 信號強度
},
{
field_meaning = excloud.FIELD_MEANINGS.SIM_ICCID,
data_type = excloud.DATA_TYPES.ASCII,
value = "89860118801012345678"  -- SIM卡ICCID
},
{
field_meaning = excloud.FIELD_MEANINGS.TIMESTAMP,
data_type = excloud.DATA_TYPES.INTEGER,
value = os.time()
}
}, false)

if ok then
log.info("基礎數據上報成功")
else
log.error("基礎數據上報失敗:", err_msg)
end
end
end
end

以上便是 AirCloud 數據上報的相關使用方法與核心要點,今天就分享到這里了!

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2948

    文章

    48028

    瀏覽量

    417504
  • LuatOS
    +關注

    關注

    0

    文章

    165

    瀏覽量

    2735
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    OneNET Studio云平臺STM32聯網開發(1)- MQTT協議設備接入數據上報測試

    OneNET Studio云平臺STM32聯網開發(1)- MQTT協議設備接入數據上報測試
    的頭像 發表于 09-25 01:01 ?3597次閱讀
    OneNET Studio云平臺STM32<b class='flag-5'>物</b><b class='flag-5'>聯網</b>開發(1)- MQTT<b class='flag-5'>協議</b><b class='flag-5'>設備</b>接入<b class='flag-5'>數據</b><b class='flag-5'>上報</b>測試

    聯網設備開發套件

    我向大家推薦一款聯網設備開發套件(UHF DK),該產品是我司和行業知名公司奧地利微電子聯合開發的一款高性價比開發套件,適合于高校聯網
    發表于 05-31 09:44

    SKYLAB:超好用的聯網WiFi模塊使用指南

    是基于Uart接口的符合wifi無線網絡標準的嵌入式模塊,內置無線網絡協議IEEE802.11協議棧以及TCP/IP協議棧,能夠實現用戶串口或TTL電平
    發表于 09-05 18:03

    另一個角度看聯網協議

    的社交媒體工具實現互聯。與互聯網相比,在聯網中,智能電子設備之間通過互聯網
    發表于 10-12 10:09

    基于鴻蒙Hi3861V100 MQTT協議 對接阿里云聯網平臺

    更新啦!!!!!!!!!!基于鴻蒙HarmonyOS Hi3861V100 開發板通過MQTT協議 對接阿里云IOT聯網平臺同時支持APP端、IOT網頁端、設備端 三端
    發表于 01-25 08:31

    聯網訓平臺5個部分組成

    聯網訓平臺5個部分組成,聯網綜合訓平臺產品型號和技術規格產品特點:1)
    發表于 07-12 06:27

    工業聯網網關是什么?工業聯網網關有什么作用?

    協議解析能力。聯網網關能夠采集各種PLC、儀器儀表等設備的相應數據并支持MODBUS讀寫,支持4G、5G、WIFI、有線以太網、光纖、L
    發表于 01-21 19:00

    聯網數據采集如何實現

    聯網數據收集在許多行業都是非常重要的,因為它可以實時監測和管理遠程系統。隨著工業聯網的發展,工業設備
    發表于 09-07 19:14

    聯網的基石-MQTT協議初識

    1、聯網的基石-mqtt協議初識隨著 5G 時代的來臨,萬互聯的偉大構想正在成為現實。聯網
    發表于 09-08 16:03

    【解決方案】設備如何上報數據到ZWS云平臺?

    聯網中,監測設備數據已是一個基礎必備功能,可那些不同種類的設備究竟是如何
    的頭像 發表于 03-18 10:12 ?1237次閱讀
    【解決方案】<b class='flag-5'>設備</b>如何<b class='flag-5'>上報數據</b>到ZWS云平臺?

    【解決方案】設備如何上報數據到ZWS云平臺?

    聯網中,監測設備數據已是一個基礎必備功能,可那些不同種類的設備究竟是如何
    的頭像 發表于 07-19 11:55 ?1071次閱讀
    【解決方案】<b class='flag-5'>設備</b>如何<b class='flag-5'>上報數據</b>到ZWS云平臺?

    ZWS云平臺應用(4)-設備數據上報

    智能設備連接到聯網,會產生大量的數據,可以說:聯網最大的價值,其實是
    的頭像 發表于 04-12 08:25 ?1493次閱讀
    ZWS云平臺應用(4)-<b class='flag-5'>設備</b><b class='flag-5'>數據</b><b class='flag-5'>上報</b>

    4G工業網關實現PLC數據采集與HTTP協議上報

    HTTP(超文本傳輸協議)是互聯網最基礎的應用層協議,在工業聯網(IIoT)中也被廣泛用于設備
    的頭像 發表于 12-23 10:22 ?410次閱讀
    4G工業網關<b class='flag-5'>實現</b>PLC<b class='flag-5'>數據</b>采集與HTTP<b class='flag-5'>協議</b><b class='flag-5'>上報</b>

    京東關鍵詞搜索接口獲取商品數據指南

    京東關鍵詞搜索接口獲取商品數據 指南指南聚焦 京東開放平臺合規接口 (item_search基礎版 / item_search_pr
    的頭像 發表于 01-07 13:56 ?384次閱讀

    LuatOS:AirCloud協議——聯網設備數據上報詳解

    聯網設備開發中,便捷上云與穩定數傳是核心需求,LuatOS 的 AirCloud 聯網云服務
    的頭像 發表于 03-19 18:23 ?120次閱讀
    LuatOS:<b class='flag-5'>AirCloud</b> 云<b class='flag-5'>協議</b>——<b class='flag-5'>物</b><b class='flag-5'>聯網</b><b class='flag-5'>設備</b><b class='flag-5'>數據</b><b class='flag-5'>上報</b><b class='flag-5'>實</b><b class='flag-5'>操</b>詳解