社群新朋友的烦恼:
设备怎么上云?自己从零构建太费事了…
快速上云,AirCloud帮你搞定!
—— AirCloud是LuatOS物联网设备云服务通信协议,旨在通过统一的协议规范、简化的API接口及配套的AirCloud云平台,帮助开发者快速实现设备数据采集、上报和云端管理。
excloud扩展库是AirCloud协议的实现,提供了完整的物联网设备云服务解决方案,并全面兼容所有基于LuatOS开发的产品。
主要功能包括:
设备连接管理:
支持TCP和MQTT协议,自动处理连接建立、认证和重连;数据上报:
灵活上报设备状态、传感器数据等各类信息;远程控制:
接收并响应云端的控制指令;文件上传:
支持图片等文件的上传功能;心跳保活:
自动维持设备与云端的连接状态;运维支持:
自动日志上传、故障诊断。
本文将以Air780EPM开发板为例,分享AirCloud云平台配置及excloud扩展库的核心功能示例要点。


Air780EPM系列应用示例持续更新中,本示例演示excloud扩展库的完整使用流程,包括:设备连接与认证、数据上报与接收、运维日志管理、文件上传功能、心跳保活机制。
最新示例源码:
https://gitee.com/openLuat/LuatOS/tree/master/module/Air780EPM/demo/aircloud实操教程详见:
https://docs.openluat.com/air780epm/luatos/app/common/aircloud/AirCloud协议:
https://docs.openluat.com/protocols/aircloud/API文档详见:
https://docs.openluat.com/osapi/ext/excloud/
一
示例核心代码解析
以下是excloud的几种典型场景,用户可根据实际需求选择配置方式,完整demo详见源码仓库最新文件。
1.1 回调函数注册与事件处理
1.2 使用GetIP服务连接(推荐)
负载均衡GetIP服务简介:
1)通信协议要求
协议需要兼容老设备,同时兼容负载均衡;
便于扩展到更多二进制数据的上传;
要包含鉴权,上传后要自动归入设备对应的数据里。
2)通信逻辑
负载均衡服务器,支持生成图片上传的url和额外参数;
设备通过调用getip接口,获取图片上传所需要的url和参数列表;
设备在指定条件下(定时/按键触发),使用上述参数执行上传;
设备平台收到数据后,需要展示到页面中。
1.3 使用PC模拟器配置
主要是修改"virtual_phone_number "和"virtual_serial_num "两个参数,以及netdrv_device.lua中的联网方式。
1.4 数据上报功能
1.5 心跳上报功能
1.6 运维日志功能
运维日志功能用作远程查看的设备日志,方便设备部署出去之后,还能远程做日常的诊断可以有效解决设备部署出去之后, 无法查看日志,不方便分析问题的痛点。
1)运维日志的实现方式
在日常运行中,专门开辟四个文件,用于存放代码输出的运维日志。在需要的时候,由Aircloud云平台打开网页,请求设备上传运维日志,然后查看和分析对应日志。
2)运维日志存储机制详解
文件结构:
存储空间管理:
默认大小:
每个文件占用1个block(通常4KB),4个文件共4个block(16KB)。
可配置:
通过(在setup中配置mtn_log_blocks)调整每个文件的大小。
覆盖机制:采用循环覆盖机制。
上报逻辑:
3)运维日志功能使用
在setup中配置mtn_log_enabled=true即可,然后在代码中使用excloud.mtn_log接口记录。
1.7 图片上传功能
二
云平台配置
2.1 登录合宙IoT平台
先登录合宙IoT平台(iot.openluat.com),如下图所示;没有账号的,可以先注册一个。

客户向合宙采购4G模块时,如果采购人员没有告知合宙这批模块放在iot.openluat.com上的哪个产品下,则合宙会以采购人的手机号为账号,默认密码888888,创建一个“合宙标准模块”的项目,此次采购的所有模块都会放在这个项目下。
如果你的账号下没有对应imei,可以联系合宙销售帮忙添加模块进对应项目下(如果非官方渠道购买,从哪里买的模块,就让销售方给你转移到你自己名下);如果不在自己账号下,也可以通过烧录专属固件的方法,把模块归属到指定的项目下,可以点击云平台帮助中心,查看详细说明。
2.2 获取项目key
创建新项目或选择现有项目并获取项目key (auth_key),并将获取的项目key配置在代码中。
2.3 查看设备报文
然后使用同样的账号登录AirCloud云平台(iot.luatos.com),查看设备上报报文。
三
示例功能验证
根据实操教程搭建好硬件环境,使用Luatools给开发板烧录内核固件和demo脚本代码,运行并查看日志。
3.1 Luatools日志查看

下发运维日志指令:

3.2 云平台数据查看
AirCloud云平台接收到的设备数据展示:

3.3 远程控制测试
通过AirCloud云平台下发控制命令,观察设备响应。
控制命令下发界面:

设备接收并响应控制命令的日志:


今天的内容就分享到这里了~如果您在物联网开发选型中有任何疑问,欢迎加技术交流群或联络产品负责人共同探讨。
更多最新开发资料,详见合宙资料中心:
—— docs.openluat.com



