深度实战:AirCloud与excloud扩展库集成下的核心功能应用解析!

随着边缘侧业务复杂度的提升,单一平台能力已难以满足多样化场景需求。AirCloud平台在设备管理、状态同步与远程控制方面表现优异,而excloud扩展库则通过模块化设计补足了功能延展的短板。二者集成后,形成了“基础+扩展”的技术合力。聚焦于AirCloud与excloud的集成架构与配置流程,结合多个典型应用场景,深入剖析其核心功能在实际项目中的实现方式与关键技术难点,助力团队高效完成能力落地。

本文将以Air780EPM开发板为例,分享AirCloud云平台配置及excloud扩展库的核心功能示例要点。

Air780EPM系列应用示例持续更新中,本示例演示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),如下图所示;没有账号的,可以先注册一个。


2.2 获取项目key

创建新项目或选择现有项目并获取项目key (auth_key),并将获取的项目key配置在代码中。


2.3 查看设备报文

然后使用同样的账号登录AirCloud云平台(iot.luatos.com),查看设备上报报文。


三、示例功能验证

根据实操教程搭建好硬件环境,使用Luatools给开发板烧录内核固件和demo脚本代码,运行并查看日志。

3.1 Luatools日志查看


下发运维日志指令:


3.2 云平台数据查看

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


3.3 远程控制测试

通过AirCloud云平台下发控制命令,观察设备响应。

控制命令下发界面:


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


今天的内容就分享到这里了~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1125927.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速上手iPerf:新手网络测试环境搭建详解!

快速上手iPerf的关键,在于高效搭建网络测试环境。这款工具的环境搭建流程简洁明了:先在服务端运行监听命令,再在客户端指定目标地址发起测试,即可获取网络带宽、延迟等数据。本文针对新手需求,详细拆解iPerf环境搭建的…

大规模语言模型在精准医疗方案生成中的应用

大规模语言模型在精准医疗方案生成中的应用 关键词:大规模语言模型、精准医疗方案、医疗数据处理、模型应用、医学知识推理 摘要:本文聚焦于大规模语言模型在精准医疗方案生成中的应用。首先介绍了研究的背景、目的、预期读者、文档结构及相关术语。详细阐述了大规模语言模型…

【更新至2024年】1996-2024年各省公路里程数据

【更新至2024年】1996-2024年各省公路里程数据 1、时间:1996-2024年 2、来源:国家统计局、统计年鉴 3、指标:公路里程(万公里) 4、范围:31省 5、指标解释:公路里程指报告期末公路的实际长度…

【更新至2024年】1996-2024年各省铁路营业里程数据

【更新至2024年】1996-2024年各省铁路营业里程数据 1、时间:1996-2024年 2、来源:国家统计局、统计年鉴 3、指标:铁路营业里程 4、范围:31省 5、指标解释:铁路营业里程又称营业长度,指投入客货运输正式…

【项目中的经验总结】

知识点一:多电源域下 Dummy Gate 的连接问题 1. 背景说明 在 MOS 管版图中,dummy gate 常用于满足工艺对栅极密度、对称性和边缘效应的要求。 Dummy gate 虽不参与功能,但仍具有栅氧层及栅-源 / 栅-漏寄生电容,不能视为“完全无效…

Node.js用readableLength轻松控流

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 Node.js流控新境界:利用readableLength实现高效背压管理目录Node.js流控新境界:利用readableLength实现高…

从C到汇编:参数传递的内存地址探秘

在编程的世界里,了解程序如何在内存中布局和操作是每个程序员的基本功。今天我们来深入探讨一个关于参数传递的经典问题:在C语言中,如何找到一个函数参数在内存中的确切地址。 背景介绍 假设我们有一个C语言函数caller,它调用另一个函数swap_add,并传递两个参数arg1和ar…

[特殊字符]_Web框架性能终极对决:谁才是真正的速度王者[20260107173025]

作为一名拥有10年开发经验的全栈工程师,我经历过无数Web框架的兴衰更替。从早期的jQuery时代到现在的Rust高性能框架,我见证了Web开发技术的飞速发展。今天我要分享一个让我震惊的性能对比测试,这个测试结果彻底改变了我对Web框架性能的认知。…

深入探讨Clang-Tidy与Bazel的整合

在现代软件开发中,代码质量和可维护性是至关重要的。Clang-Tidy作为一个强大的静态分析工具,可以帮助开发者发现并修复代码中的潜在问题。然而,当Clang-Tidy与构建工具Bazel结合使用时,可能会遇到一些有趣的挑战。本文将通过一个实例,探讨如何正确配置和使用Clang-Tidy来分…

Python设计模式:享元模式详解

享元模式的核心思想享元模式(Flyweight Pattern)通过共享对象减少内存占用,适用于存在大量重复对象的场景。其核心是将对象的内在状态(可共享)与外在状态(不可共享)分离,通过共享内在…

[特殊字符]_安全性能平衡术:如何在保证安全的前提下提升性能[20260107173816]

作为一名经历过多次安全事件的工程师,我深知在Web应用开发中安全与性能的平衡是多么重要。最近,我参与了一个金融级应用的开发,这个项目让我重新思考了安全机制对性能的影响。今天我要分享的是如何在保证安全的前提下提升Web应用性能的经验。…

什么是M-LAG

文章目录为什么需要M-LAG如何实现M-LAG组网M-LAG是如何工作的如何应用M-LAG技术M-LAG(Multichassis Link Aggregation Group)提供一种跨设备链路聚合的技术。M-LAG通过将两台接入交换机以同一个状态和用户侧设备或服务器进行跨设备的链路聚合&#xff0c…

线性规划:库存切割问题

原文:towardsdatascience.com/linear-programming-the-stock-cutting-problem-dc6ba3bf3de1 本文深入探讨了线性规划如何解决一个称为“库存切割”的具体问题。在深入探讨本系列中的线性规划细节之前,我想提供一个具体的例子。本文将使用未在本文中定义的…

智体觉醒:中国人形机器人理论重构与范式跃迁

扫描下载文档详情页: https://www.didaidea.com/wenku/16317.html

数组寻址:深入理解指针与公式的差异

在编程中,特别是处理数组时,理解数组元素寻址的方式至关重要。本文将通过实例详细探讨一维和二维数组的寻址方法,并分析不同方法之间的差异和适用场景。 一维数组寻址 1. 使用指针的寻址 考虑以下代码示例: int arr[5] = {10, 20, 30, 40, 50

线性化注意力

原文:towardsdatascience.com/linearizing-attention-204d3b86cc1e?sourcecollection_archive---------3-----------------------#2024-12-26 打破二次方限制:softmax 注意力的现代替代方案 https://medium.com/shitanshu273?sourcepost_page---bylin…

线性规划优化:基础

原文:towardsdatascience.com/linear-programming-optimization-foundations-2f12770f66ca 线性规划是一种强大的优化技术,它被用于许多领域的决策改进。这是关于线性规划的多部分系列的第一部分,将涵盖与线性规划相关的重要主题。这篇文章将…

数据标准管理实践指南(2.0)

扫描下载文档详情页: https://www.didaidea.com/wenku/16315.html

优化数据点值的自动化方案

在数据分析和优化领域中,如何高效地处理和优化大量数据点是一个常见的挑战。尤其是当涉及到多属性数据点时,问题变得更加复杂。今天我们将探讨如何利用Python中的SciPy库来解决一个实际问题:如何自动化调整数据点的"新值"以满足一系列约束条件,同时最小化旧值与新…

LibGDX中的多边形绘制优化

在游戏开发中,绘制多边形是常见的任务之一。特别是当我们需要处理复杂的形状或大量的点时,性能和错误处理就显得尤为重要。本文将通过一个具体的实例,讨论如何在LibGDX中优化多边形的绘制,并避免常见的IndexOutOfBoundsException错误。 问题背景 当使用LibGDX的ShapeRend…