首页 > 其他分享 >探秘Air780E低功耗模组LuatOS开发:洞悉数据打包解包(pack)!

探秘Air780E低功耗模组LuatOS开发:洞悉数据打包解包(pack)!

时间:2024-12-06 19:56:14浏览次数:3  
标签:string 低功耗 LuatOS 开发板 Lua 解包 字节 Air780E pack

本文我们要探秘的是Air780E低功耗模组LuatOS开发,洞悉其数据打包解包(pack)!

一、LuatOS string 库pack和unpack接口

LuatOS string库的pack和unpack是一个用于在Lua程序中进行二进制数据打包和解包操作的接口,支持多种数据类型和字节序格式,方便处理二进制协议和文件。

由于Lua中字符串几乎可以用于存储所有形式的数据,所以下面先系统介绍下Lua字符串的特点,方便习惯使用C语言编程的初学者系统的了解两种语言在数据存储方面的一些差异。

1.1 字节序的概念

字节序是指在计算机存储或传输多字节数据时,字节的排列顺序,通常分为大端序(big-endian,最高有效字节在前)和小端序(little-endian,最低有效字节在前)。

大端也常被称作叫“网络序”因为 TCP、UDP 网络数据传输和存储都使用这种格式,而一些像 STM32 等 ARM 单片机,则使用小端存储格式;

1.2 Lua 中字符串存储

Lua 中字符串可以存储所有字节数据,包括“字符串中的可见和不可见字符”,这一点与 C 语言有很大区别;

1.3 Lua 中字符串的序号

注:Lua 中字符串首字节从序号 1 开始,而不像 C 语言是从序号 0 开始;并且 Lua 字符串有正数序号也有负数序号,这一点也与 C 语言不同;

二、演示功能概述

本文使用 Air780E 核心板,运用 LuatOS string 库 pack 和 unpack 接口对二进制数据进行打包和解包操作。

三、准备硬件环境

3.1 Air780E 开发板

(注意:需要配套采购 4G 物联网卡!)

3.2 TYPE-C 数据线

(注意:必须是具备USB通信的数据线!)

四、准备软件环境

4.1 Luatools

Luatools日志打印与程序烧录软件下载:
https://docs.openluat.com/Luatools/

4.2 core 固件和源码脚本

注:core 固件,是基础环境,该固件由官方提供,用户不可修改;源码脚本,为应用程序,可由客户自行修改

五、软硬件资料

1、Air780E 开发板原理图
打开 Air780E 产品手册 ,访问页面中的 《EVB_Air780X_V1.6.zip》:
https://docs.openluat.com/air780e/product/

2、API 使用介绍说明

3、Air780E开发板使用说明
打开Air780E 产品手册 ,访问页面中的 《开发板Core_Air780E使用说明 V1.0.5.pdf》

5.1 开发板按钮与指示灯图示与说明

5.2 硬件安装与连接

5.2.1 SIM 卡安装

5.2.2 实物连接图

注:开发板与电脑通过 TYPE-C 线连接,用于通信与供电,所以必须使用具有 USB 通信功能的 TYPE-C 线才可以;

六、代码示例介绍

6.1 完整程序清单

注:完整复制后保存为 main.lua,可直接使用

七、功能验证

7.1 开机

按下图所示通过TYPE-C线将开发板与电脑连接无误后,开发板电源指示红灯常亮,网络指示灯灭:

此时按下开机键,约2秒后释放,等待几秒网络指示绿灯常亮,即开机成功,如下图:

此时电脑设备管理器中会发现下图所示几个设备,即代表开机成功!

7.2 打开 Luatool 软件工具并进入项目管理测试页面

7.3 按序号步骤创建项目

7.4 按如下步骤进行程序烧录

注:如果出现下图警告,请点“确认”(首次使用该软件一定要升级到最新版本)

7.5 观察下载过程后确认烧录结果

7.6 关闭项目管理界面,回到调试页面,观察输出

注:详细日志输出内容,在程序中有增强注释说明,请详细查看。

八、总结

至此,我们已使用 Air780E 开发板验证了 LuatOS string 库 pack 和 unpack 接口对二进制数据进行打包和解包的功能。

九、拓展说明

lua 5.3 之前,string 不支持这两个接口,当时我们移植了 pack 库,使用方法和 string 库的两个接口原理一样,函数入口参数顺序有少许差别,具体可以参考 api(https://docs.openluat.com/air780e/luatos/api/core/pack/),当前最新固件 string 已完全支持 pack 和 unpack 两个接口,所以开发者可直接使用string这两个方法即可。

标签:string,低功耗,LuatOS,开发板,Lua,解包,字节,Air780E,pack
From: https://www.cnblogs.com/luatos/p/18583823

相关文章

  • 零基础学习Air724UG低功耗模组软件的FTP示例 | 演示篇
    一文讲清Air724UG低功耗模组软件的FTP示例,分步演示,就算零基础也一眼懂!一、简介FTP(FileTransferProtocol,文件传输协议)是TCP/IP协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过......
  • HS6621Cx/OM6621Px国产低功耗蓝牙芯片支持Find My寻物
    什么是“FindMy“?“FindMy”是苹果公司于19年前推出的针对失物追踪,FindMyiPhone(查找我的iPhone)和FindMyFriends(查找朋友)的结合体应用。为第三方配件制造商设计的FindMy网络配件计划,允许设备制造商将FindMyright集成到他们的产品中。该应用基于低功耗蓝牙技术,利用苹......
  • HS6621Cx 一款低功耗蓝牙SoC芯片应用于键盘、鼠标和遥控器消费
    HS6621Cx是一款功耗优化的真正片上系统(SOC)解决方案,适用于低功耗蓝牙和专有2.4GHz应用。它集成了高性能、低功耗射频收发器,具有蓝牙基带和丰富的外设IO扩展。HS6621Cx还集成了电源管理功能,可提供高效的电源管理。它面向2.4GHz蓝牙低功耗系统、专有2.4GHz系统、人机接口设备(键盘......
  • SI3262_国产低功耗MCU+NFC+15触键三合一柜锁方案SoC芯片
     SI3262简介Si3262是高度集成ACD低功耗MCU+NFC+15通道防水触摸按键的SoC芯片。其MCU模块具有低功耗、LowPinCount、宽电压工作范围,集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC、TSC等丰富的外设。内核采用RISC-VRV32IMAC(2.6CoreMark/MHz)......
  • PHY6235—蓝牙低功耗和专有2.4G应用的系统级芯片(SoC)
    PHY6235是一款用于蓝牙低功耗和专有2.4G应用的系统级芯片(SoC)。它采用高性能、低功耗的32位RISC-VMCU,配备8KB保持型SRAM、80KBROM以及超低功耗的高性能多模式无线电。此外,PHY6235支持带有安全功能的BLE(蓝牙低功耗)应用。串行外设IO和集成的应用IP使客户产品能够以最低的物料清单(BO......
  • PHY6236—蓝牙低功耗 (BLE)/私有 2.4GHz 系统芯片
    PHY6236是一款用于低功耗蓝牙和专有2.4G应用的片上系统(SoC)。它具有高性能低功耗32位RISC-VMCU,具有8KB保留SRAM、80KBROM、8KBOTP和超低功耗、高性能、多模式无线电。此外,PHY6236还可以支持具有安全性和应用的BLE。串行外设IO和集成应用IP使客户能够以最低的......
  • 详解篇 | Air724UG低功耗模组LuatOS开发的HTTP手册!
    本次我们来学习的是低功耗4G模组Air724UG的LuatOS开发HTTP手册,我将详细解析分享给大家。一、HTTP概述此部分内容只是简单的对HTTP作一个介绍,更详细的说明或协议文档,请查阅相关网站或文档。1.1HTTP请求方法HTTP/1.1协议中共定义了八种方法来以不同方式操作指定的资源。a.G......
  • 深度剖析 | 低功耗模组Air724UG的软件实例:KEYPAD教程!
    本次我要要深度剖析的是低功耗4G模组Air724UG的软件实例,关于KEYPAD的教程,赶紧来学吧。一、简介在电路设计中,通常需要较多的外部输入,如果每个按键都单独去占用一个IO接口,就会非常浪费资源,为了减少I/O口的占用,通常将按键排列成矩阵形式,即矩阵键盘。特性:KEYIN0扫描键盘输入......
  • 精讲Air780E低功耗模组AT指令的FTP指南!
    本文要讲的是低功耗4G模组AT指令的FTP指南,我以常用的Air780E模组为例,供大家参考。一、FTP协议简介FTP(FileTransferProtocol,文件传输协议)是TCP/IP协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以......
  • Air780E低功耗模组的LuatOS开发:位运算(bit)示例教程!
    本文讲述的是低功耗4G模组Air780E的LuatOS开发,关于位运算(bit)的示例教程,希望大家有所收获。一、位运算概述位运算是一种在计算机系统中对二进制数位进行操作的运算。由于计算机内部数据的存储和处理都是以二进制形式进行的,位运算能够直接对整数的二进制位进行高效操作。位运算包......