91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

LuatOS:AirCloud 云協(xié)議——物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)上報(bào)實(shí)操詳解

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2026-03-19 18:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

物聯(lián)網(wǎng)設(shè)備開發(fā)中,便捷上云與穩(wěn)定數(shù)傳是核心需求,LuatOSAirCloud 物聯(lián)網(wǎng)云服務(wù)通信協(xié)議可實(shí)現(xiàn)數(shù)據(jù)上報(bào)核心功能,支持七類數(shù)據(jù)的定期 / 觸發(fā)式上報(bào)。本文將講解該協(xié)議相關(guān)內(nèi)容,同時(shí)提供模組開源示例、核心代碼及配套開發(fā)硬件與教程,助力開發(fā)者快速實(shí)現(xiàn)設(shè)備接入與數(shù)據(jù)上報(bào)。

一、AirCloud數(shù)據(jù)上報(bào)功能

1.1、數(shù)據(jù)上報(bào)功能概述

數(shù)據(jù)上報(bào)是AirCloud的核心功能之一,允許設(shè)備將各種狀態(tài)數(shù)據(jù)、傳感器數(shù)據(jù)等信息定期或觸發(fā)式地傳輸?shù)皆贫似脚_(tái),用于實(shí)現(xiàn):

  • 設(shè)備狀態(tài)實(shí)時(shí)監(jiān)控
  • 傳感器數(shù)據(jù)采集與分析
  • 設(shè)備運(yùn)行歷史記錄
  • 基于數(shù)據(jù)的業(yè)務(wù)決策

1.2、支持的數(shù)據(jù)類型

AirCloud支持上報(bào)多種類型的數(shù)據(jù),通過excloud擴(kuò)展庫的excloud.FIELD_MEANINGS常量定義,主要包括以下幾大類:

  • 傳感器數(shù)據(jù)如:溫度、濕度、酸堿度、顆粒物濃度、環(huán)境溫度、電量計(jì)量等。
  • 定位與運(yùn)動(dòng)數(shù)據(jù)如:GNSS經(jīng)緯度、行駛速度、GNSS衛(wèi)星信噪比、搜索到的衛(wèi)星總數(shù)、航向角、方向角、定位方式標(biāo)識(shí)等。
  • 設(shè)備狀態(tài)數(shù)據(jù)如:電池電壓、4G信號(hào)強(qiáng)度、SIM卡ICCID、設(shè)備休眠模式、定時(shí)喚醒間隔等。
  • 設(shè)備參數(shù)數(shù)據(jù)如:設(shè)備物理高度/寬度、轉(zhuǎn)速、駐留小區(qū)、小區(qū)信息、元器件型號(hào)等。
  • 軟件與系統(tǒng)數(shù)據(jù)如:固件版本、系統(tǒng)錯(cuò)誤信息、短信轉(zhuǎn)發(fā)、來電轉(zhuǎn)發(fā)等。
  • 通用數(shù)據(jù)如:時(shí)間戳、無意義數(shù)據(jù)等。
  • 控制與響應(yīng)數(shù)據(jù)如:控制命令/回應(yīng)、鑒權(quán)請(qǐng)求/回復(fù)等。

二、開源實(shí)例

針對(duì)各模組型號(hào)提供開源示例demo,并持續(xù)更新配套教程,開發(fā)者可以掌握AirCloud數(shù)據(jù)上報(bào)功能的使用方法。

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

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

開發(fā)者可根據(jù)實(shí)際項(xiàng)目需求靈活配置連接參數(shù),實(shí)現(xiàn)設(shè)備接入與數(shù)據(jù)上報(bào)。

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

  1. 設(shè)備連接與認(rèn)證
  2. 數(shù)據(jù)上報(bào)與接收
  3. 運(yùn)維日志管理
  4. 文件上傳功能
  5. 心跳保活機(jī)制
]]
-- 導(dǎo)入excloud庫
local excloud = require("excloud")
-- 注冊(cè)回調(diào)函數(shù)
function on_excloud_event(event, data)
log.info("用戶回調(diào)函數(shù)", 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 "未知錯(cuò)誤"))
end
elseif event == "auth_result" then
if data.success then
log.info("認(rèn)證成功")
else
log.info("認(rèn)證失敗: " .. data.message)
end
elseif event == "message" then
log.info("收到消息, 流水號(hào): " .. data.header.sequence_num)

-- 處理服務(wù)器下發(fā)的消息
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))

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

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

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

elseif event == "mtn_log_upload_progress" then
log.info("運(yùn)維日志上傳進(jìn)度",
"當(dāng)前文件:", data.current_file,
"總數(shù):", data.total_files,
"文件名:", data.file_name,
"狀態(tài):", data.status)

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

end

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

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

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

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

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

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

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

-- 主循環(huán):定期上報(bào)數(shù)據(jù)

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

else
-- 上報(bào)基礎(chǔ)狀態(tài)數(shù)據(jù)
local ok, err_msg = excloud.send({
{
field_meaning = excloud.FIELD_MEANINGS.SIGNAL_STRENGTH_4G,
data_type = excloud.DATA_TYPES.INTEGER,
value = 22  -- 信號(hào)強(qiáng)度
},
{
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("基礎(chǔ)數(shù)據(jù)上報(bào)成功")
else
log.error("基礎(chǔ)數(shù)據(jù)上報(bào)失敗:", err_msg)
end
end
end
end

以上便是 AirCloud 數(shù)據(jù)上報(bào)的相關(guān)使用方法與核心要點(diǎn),今天的分享就到這里啦!~

審核編輯 黃宇

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

    關(guān)注

    2947

    文章

    47914

    瀏覽量

    416224
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    159

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LuatOS:485 總線硬件設(shè)計(jì)要點(diǎn)與 exmodbus 庫開發(fā)實(shí)戰(zhàn)

    在工業(yè)聯(lián)網(wǎng)通信開發(fā)中,485 總線與 Modbus 協(xié)議的組合應(yīng)用十分常見。本文以合宙 Air780EHV 系列模組為實(shí)例,圍繞 LuatOS 開發(fā)環(huán)境,
    的頭像 發(fā)表于 03-19 17:57 ?26次閱讀
    <b class='flag-5'>LuatOS</b>:485 總線硬件設(shè)計(jì)要點(diǎn)與 exmodbus 庫開發(fā)實(shí)戰(zhàn)

    基于LuatOS的MQTT聯(lián)網(wǎng)通信全解

    在構(gòu)建物聯(lián)網(wǎng)終端設(shè)備時(shí),通信協(xié)議的選擇直接決定系統(tǒng)的穩(wěn)定性與擴(kuò)展性。LuatOS通過內(nèi)置MQTT客戶端支持,使開發(fā)者能以極少代碼實(shí)現(xiàn)設(shè)備
    的頭像 發(fā)表于 01-29 19:42 ?218次閱讀
    基于<b class='flag-5'>LuatOS</b>的MQTT<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>通信全解

    京東關(guān)鍵詞搜索接口獲取商品數(shù)據(jù)實(shí)指南

    京東關(guān)鍵詞搜索接口獲取商品數(shù)據(jù) 實(shí)指南 本指南聚焦 京東開放平臺(tái)合規(guī)接口 (item_search基礎(chǔ)版 / item_search_pro增強(qiáng)版),提供 從賬號(hào)準(zhǔn)備→接口調(diào)用→數(shù)據(jù)
    的頭像 發(fā)表于 01-07 13:56 ?311次閱讀

    4G工業(yè)網(wǎng)關(guān)實(shí)現(xiàn)PLC數(shù)據(jù)采集與HTTP協(xié)議上報(bào)

    HTTP(超文本傳輸協(xié)議)是互聯(lián)網(wǎng)最基礎(chǔ)的應(yīng)用層協(xié)議,在工業(yè)聯(lián)網(wǎng)(IIoT)中也被廣泛用于設(shè)備
    的頭像 發(fā)表于 12-23 10:22 ?336次閱讀
    4G工業(yè)網(wǎng)關(guān)實(shí)現(xiàn)PLC<b class='flag-5'>數(shù)據(jù)</b>采集與HTTP<b class='flag-5'>協(xié)議</b><b class='flag-5'>上報(bào)</b>

    快速掌握TCP/IP?LuatOS新手入門指南

    僅是互聯(lián)網(wǎng)的通信基石,更像是一套精妙絕倫的“世界語”,讓形態(tài)各異、遍布全球的設(shè)備能夠跨越硬件和軟件的差異,使用統(tǒng)一的規(guī)則進(jìn)行對(duì)話。 ? 相比傳統(tǒng)開發(fā)方式,LuatOS通過高效易用的API:將復(fù)雜的
    的頭像 發(fā)表于 10-15 17:27 ?708次閱讀
    快速掌握TCP/IP?<b class='flag-5'>LuatOS</b>新手入門指南

    學(xué)習(xí)聯(lián)網(wǎng)怎么入門?

    聯(lián)網(wǎng)的基本概念和技術(shù)是學(xué)習(xí)聯(lián)網(wǎng)的重要第一步。聯(lián)網(wǎng)是指互聯(lián)網(wǎng)上的物品相互連接,通過網(wǎng)絡(luò)實(shí)現(xiàn)信息
    發(fā)表于 10-14 10:34

    學(xué)習(xí)聯(lián)網(wǎng)可以做什么工作?

    健康、智能制造等領(lǐng)域。以下是一些常見的職業(yè)方向: 聯(lián)網(wǎng)工程師:從事物聯(lián)網(wǎng)系統(tǒng)的設(shè)計(jì)、開發(fā)、測(cè)試、維護(hù)和升級(jí)等工作,包括傳感器、無線通信、計(jì)算、大
    發(fā)表于 10-11 16:40

    LuatOS Air780EPM 開發(fā)板 HTTP 教程:原理講解與項(xiàng)目實(shí)!

    本篇教程將系統(tǒng)介紹 LuatOS Air780EPM 在 HTTP 通信中的應(yīng)用,從請(qǐng)求機(jī)制到響應(yīng)解析,配合完整代碼演示,讓你輕松實(shí)現(xiàn)設(shè)備端與云端的數(shù)據(jù)交互。 一、HTTP 概述 1.1
    的頭像 發(fā)表于 09-26 20:36 ?1068次閱讀
    <b class='flag-5'>LuatOS</b> Air780EPM 開發(fā)板 HTTP 教程:原理講解與項(xiàng)目<b class='flag-5'>實(shí)</b><b class='flag-5'>操</b>!

    不同品牌PLC如何接入平臺(tái)?御控多協(xié)議聯(lián)網(wǎng)網(wǎng)關(guān)一站式集成方案

    御控工業(yè)聯(lián)網(wǎng)網(wǎng)關(guān)提供強(qiáng)大協(xié)議轉(zhuǎn)換能力,免編程實(shí)現(xiàn)PLC數(shù)據(jù)采集、MQTT協(xié)議轉(zhuǎn)換與平臺(tái)(阿里
    的頭像 發(fā)表于 09-22 12:04 ?539次閱讀
    不同品牌PLC如何接入<b class='flag-5'>云</b>平臺(tái)?御控多<b class='flag-5'>協(xié)議</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>網(wǎng)關(guān)一站式集成方案

    數(shù)據(jù)中臺(tái)可以接入哪些聯(lián)網(wǎng)平臺(tái)

    數(shù)據(jù)中臺(tái)作為企業(yè)數(shù)字化轉(zhuǎn)型的核心樞紐,能夠通過標(biāo)準(zhǔn)化接口、協(xié)議適配及數(shù)據(jù)治理能力,接入多種類型的聯(lián)網(wǎng)
    的頭像 發(fā)表于 08-19 15:22 ?796次閱讀

    聯(lián)網(wǎng)平臺(tái)的作用有哪些?讓萬互聯(lián)

    聯(lián)網(wǎng)從概念走向規(guī)?;涞氐倪^程中,離不開聯(lián)網(wǎng)平臺(tái)對(duì)設(shè)備、
    的頭像 發(fā)表于 08-07 18:00 ?1065次閱讀

    低代碼聯(lián)網(wǎng)平臺(tái)功能解析:從設(shè)備接入到智能應(yīng)用

    設(shè)備數(shù)據(jù)與應(yīng)用的核心樞紐,其功能覆蓋了從設(shè)備接入到數(shù)據(jù)處理、應(yīng)用開發(fā)的全流程。以下是其主要功能的詳細(xì)說明: 一、設(shè)備接入與管理
    的頭像 發(fā)表于 07-31 15:23 ?1025次閱讀

    職業(yè)教育聯(lián)網(wǎng)實(shí)訓(xùn)平臺(tái):御控網(wǎng)關(guān)賦能產(chǎn)教融合新范式

    場(chǎng)景中多協(xié)議共存的復(fù)雜環(huán)境; l 實(shí)踐與產(chǎn)業(yè)脫節(jié):學(xué)生缺乏對(duì)邊緣計(jì)算、協(xié)議轉(zhuǎn)換等關(guān)鍵技術(shù)的實(shí)經(jīng)驗(yàn),難以適應(yīng)企業(yè)需求; l 教學(xué)評(píng)估低效:傳統(tǒng)實(shí)
    的頭像 發(fā)表于 06-26 15:18 ?639次閱讀

    聯(lián)網(wǎng)的應(yīng)用范圍有哪些?

    情況;網(wǎng)絡(luò)通信技術(shù)保障數(shù)據(jù)在不同設(shè)備、系統(tǒng)間穩(wěn)定傳輸,像 4G、5G 甚至未來的 6G 網(wǎng)絡(luò);大數(shù)據(jù)計(jì)算技術(shù)則對(duì)海量的感知數(shù)據(jù)進(jìn)行存儲(chǔ)、
    發(fā)表于 06-16 16:01

    聯(lián)網(wǎng)工程師為什么要學(xué)Linux?

    聯(lián)網(wǎng)工程師需要掌握Linux的主要原因可以從技術(shù)生態(tài)、開發(fā)需求、行業(yè)應(yīng)用及就業(yè)競(jìng)爭(zhēng)力四個(gè)角度來分析: 一、技術(shù)生態(tài)與行業(yè)適配性 1)嵌入式開發(fā)的主流平臺(tái) 聯(lián)網(wǎng)
    發(fā)表于 05-26 10:32