RM新时代网站-首页

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

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

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

Air780E模組LuatOS開發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-12-03 11:17 ? 次閱讀

本文要說的是低功耗4G模組Air780E的LuatOS開發(fā)實(shí)戰(zhàn),我將手把手教你搞定數(shù)據(jù)打包解包。

一、LuatOS string 庫pack和unpack接口

LuatOS string庫的pack和unpack是一個用于在Lua程序中進(jìn)行二進(jìn)制數(shù)據(jù)打包和解包操作的接口,支持多種數(shù)據(jù)類型和字節(jié)序格式,方便處理二進(jìn)制協(xié)議和文件。

由于Lua中字符串幾乎可以用于存儲所有形式的數(shù)據(jù),所以下面先系統(tǒng)介紹下Lua字符串的特點(diǎn),方便習(xí)慣使用C語言編程的初學(xué)者系統(tǒng)的了解兩種語言在數(shù)據(jù)存儲方面的一些差異。

1.1 字節(jié)序的概念

字節(jié)序是指在計(jì)算機(jī)存儲或傳輸多字節(jié)數(shù)據(jù)時,字節(jié)的排列順序,通常分為大端序(big-endian,最高有效字節(jié)在前)和小端序(little-endian,最低有效字節(jié)在前)。

大端也常被稱作叫“網(wǎng)絡(luò)序”因?yàn)?TCP、UDP 網(wǎng)絡(luò)數(shù)據(jù)傳輸和存儲都使用這種格式,而一些像 STM32ARM 單片機(jī),則使用小端存儲格式;

1.2 Lua 中字符串存儲

Lua 中字符串可以存儲所有字節(jié)數(shù)據(jù),包括“字符串中的可見和不可見字符”,這一點(diǎn)與 C 語言有很大區(qū)別;

wKgZPGdNvJuAXpOwAAWs3wSNnN0725.png

1.3 Lua 中字符串的序號

注:Lua 中字符串首字節(jié)從序號 1 開始,而不像 C 語言是從序號 0 開始;并且 Lua 字符串有正數(shù)序號也有負(fù)數(shù)序號,這一點(diǎn)也與 C 語言不同;

wKgZO2dNvKeAWo1EAASxrBq-K2A301.png

二、演示功能概述

本文使用 Air780E 核心板,運(yùn)用 LuatOS string 庫 pack 和 unpack 接口對二進(jìn)制數(shù)據(jù)進(jìn)行打包和解包操作。

三、準(zhǔn)備硬件環(huán)境

3.1 Air780E 開發(fā)板

wKgZO2dNvLOAPmOoAAMn5hxol-U495.png

(注意:需要配套采購 4G 物聯(lián)網(wǎng)卡?。?/p>

3.2 TYPE-C 數(shù)據(jù)線

wKgZPGdNvMKAaHiwABXVR3Q417M048.png

(注意:必須是具備USB通信的數(shù)據(jù)線?。?/p>

四、準(zhǔn)備軟件環(huán)境

4.1 Luatools

Luatools日志打印與程序燒錄軟件下載
https://docs.openluat.com/Luatools/

4.2 core 固件和源碼腳本

注:core 固件,是基礎(chǔ)環(huán)境,該固件由官方提供,用戶不可修改;源碼腳本,為應(yīng)用程序,可由客戶自行修改

五、軟硬件資料

1、Air780E 開發(fā)板原理圖
打開 Air780E 產(chǎn)品手冊,訪問頁面中的 《EVB_Air780X_V1.6.zip》:
https://docs.openluat.com/air780e/product/

2、API 使用介紹說明

3、Air780E開發(fā)板使用說明
打開Air780E 產(chǎn)品手冊,訪問頁面中的 《開發(fā)板Core_Air780E使用說明 V1.0.5.pdf》

5.1 開發(fā)板按鈕與指示燈圖示與說明

wKgZO2dNvNeANFoRAANgv9R2Lfo842.png

wKgZO2dNvOWALXrfAA9Fhmkft7k269.png

5.2 硬件安裝與連接

5.2.1 SIM 卡安裝

wKgZPGdNvO-ATacLAA4MVjG4lZk125.png

5.2.2 實(shí)物連接圖

wKgZPGdNvPyAY02WAAg_Kzqj0I4431.png

注:開發(fā)板與電腦通過 TYPE-C 線連接,用于通信與供電,所以必須使用具有 USB 通信功能的 TYPE-C 線才可以;

六、代碼示例介紹

6.1 完整程序清單

注:完整復(fù)制后保存為 main.lua,可直接使用

wKgZO2dNvQ6AOd4DAATcnedzMZo797.png

wKgZO2dNvR2ATG6RAASvv2jzu7M607.png

wKgZO2dNvSyAT_uuAAVc5_syJYc942.png

wKgZPGdNvTuAc9n_AANFXrzQ0uU740.png

七、功能驗(yàn)證

7.1 開機(jī)

按下圖所示通過TYPE-C線將開發(fā)板與電腦連接無誤后,開發(fā)板電源指示紅燈常亮,網(wǎng)絡(luò)指示燈滅:

wKgZPGdNvUmAJVhoAAlraMg0Cs8393.png

此時按下開機(jī)鍵,約2秒后釋放,等待幾秒網(wǎng)絡(luò)指示綠燈常亮,即開機(jī)成功,如下圖:

wKgZO2dNvVeAFEnoAAmY7gFn7tk451.png


此時電腦設(shè)備管理器中會發(fā)現(xiàn)下圖所示幾個設(shè)備,即代表開機(jī)成功!

wKgZPGdNvWGAZ9NeAAN5hVdcPhM782.png

7.2 打開 Luatool 軟件工具并進(jìn)入項(xiàng)目管理測試頁面

wKgZO2dNvWyAVG_AAAKvmVwMkrQ946.png

7.3 按序號步驟創(chuàng)建項(xiàng)目

wKgZPGdNvXeAFUIGAAKVP_95RTo693.png

wKgZO2dNvYGAStmvAAM-aDNwlHI292.png

7.4 按如下步驟進(jìn)行程序燒錄

注:如果出現(xiàn)下圖警告,請點(diǎn)“確認(rèn)”(首次使用該軟件一定要升級到最新版本)

wKgZPGdNvYuAL4RxAAKfKnbcRzI281.png

wKgZPGdNvZSAWsIbAAK9o8T9Qg4498.png

wKgZO2dNvaSAdRA_AAxuflmfTqo802.png

7.5 觀察下載過程后確認(rèn)燒錄結(jié)果

wKgZPGdNva6Aar3RAAIYrN2IBLY760.png

wKgZO2dNvbaAQqHUAAHYoq-YzHM671.png

7.6 關(guān)閉項(xiàng)目管理界面,回到調(diào)試頁面,觀察輸出

注:詳細(xì)日志輸出內(nèi)容,在程序中有增強(qiáng)注釋說明,請?jiān)敿?xì)查看。

wKgZO2dNvcGAMANFAAe1MGqtFnc625.png

八、總結(jié)

至此,我們已使用 Air780E 開發(fā)板驗(yàn)證了 LuatOS string 庫 pack 和 unpack 接口對二進(jìn)制數(shù)據(jù)進(jìn)行打包和解包的功能。

九、拓展說明

lua 5.3 之前,string 不支持這兩個接口,當(dāng)時我們移植了 pack 庫,使用方法和 string 庫的兩個接口原理一樣,函數(shù)入口參數(shù)順序有少許差別,具體可以參考 api(https://docs.openluat.com/air780e/luatos/api/core/pack/),當(dāng)前最新固件 string 已完全支持 pack 和 unpack 兩個接口,所以開發(fā)者可直接使用string這兩個方法即可。

審核編輯 黃宇

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

    關(guān)注

    6

    文章

    1487

    瀏覽量

    30359
  • 數(shù)據(jù)打包
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    896
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    76

    瀏覽量

    1936
收藏 人收藏

    評論

    相關(guān)推薦

    來來來,看這里:低功耗模組LuatOS開發(fā)的日志輸出!

    本文以低功耗4G模組Air780E為例,學(xué)會低功耗模組LuatOS開發(fā)的日志輸出,積累技術(shù)。
    的頭像 發(fā)表于 12-05 09:09 ?142次閱讀
    來來來,看這里:低功耗<b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>的日志輸出!

    4G模組Air780ELuatOS開發(fā)之位運(yùn)算(bit)示例

    本文我要說的是低功耗4G模組Air780ELuatOS開發(fā),關(guān)于位運(yùn)算(bit)示例,我將詳細(xì)解析分享給大家。
    的頭像 發(fā)表于 12-02 14:33 ?157次閱讀
    4G<b class='flag-5'>模組</b><b class='flag-5'>Air780E</b>的<b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>之位運(yùn)算(bit)示例

    4G模組Air780ELuatOS開發(fā):關(guān)于通用加解密函數(shù)(crypto)教程!

    本次我將講解低功耗4G模組Air780ELuatOS開發(fā),關(guān)于通用加解密函數(shù)(crypto)教程分享給大家。我會從加解密概述、演示功能概述、硬件準(zhǔn)備、軟件環(huán)境、API 說明等全面講述
    的頭像 發(fā)表于 12-01 15:50 ?189次閱讀
    4G<b class='flag-5'>模組</b><b class='flag-5'>Air780E</b>的<b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>:關(guān)于通用加解密函數(shù)(crypto)教程!

    關(guān)于4G模組LuatOS開發(fā):通用加解密函數(shù)(crypto)|全攻略

    本次我要說的攻略是關(guān)于4G模組LuatOS開發(fā)的通用加解密函數(shù),我以我常用的Air780E模組為例子供大家參考。
    的頭像 發(fā)表于 11-30 09:52 ?234次閱讀
    關(guān)于4G<b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>:通用加解密函數(shù)(crypto)|全攻略

    低功耗模組Air780E的AT指令:FTP示例!

    本文說的是關(guān)于4G模組AT指令的FTP示例,以Air780E為例,希望大家有所收獲。
    的頭像 發(fā)表于 11-30 09:40 ?179次閱讀
    低功耗<b class='flag-5'>模組</b><b class='flag-5'>Air780E</b>的AT指令:FTP示例!

    解析Air780E模組LuatOS開發(fā)的隨機(jī)數(shù)(random) 示例篇

    本文主要解析的是低功耗4G模組Air780ELuatOS開發(fā)隨機(jī)數(shù)(random)實(shí)例,我以整理成文分享給大家。
    的頭像 發(fā)表于 11-29 20:23 ?113次閱讀
    解析<b class='flag-5'>Air780E</b><b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>的隨機(jī)數(shù)(random) 示例篇

    Air780E模組LuatOS開發(fā)的位運(yùn)算(bit)教程篇!

    本次我們要學(xué)習(xí)的是4G模組Air780ELuatOS開發(fā),關(guān)于位運(yùn)算(bit)教程分享給大家。
    的頭像 發(fā)表于 11-26 11:58 ?132次閱讀
    <b class='flag-5'>Air780E</b><b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>的位運(yùn)算(bit)教程篇!

    Air780E模組的ADC之旅 LuatOS開發(fā)實(shí)例

    今天學(xué)習(xí)一個新的示例,關(guān)于Air780E模組LuatOS開發(fā)的ADC應(yīng)用實(shí)例,希望大家有所收獲。
    的頭像 發(fā)表于 11-11 09:33 ?193次閱讀
    <b class='flag-5'>Air780E</b><b class='flag-5'>模組</b>的ADC之旅  <b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>實(shí)例

    LuatOS與ADC:Air780E模組開發(fā)的新篇章!

    今天我們學(xué)習(xí)的是Air780E模組LuatOS開發(fā)之ADC應(yīng)用,希望能幫助到大家。
    的頭像 發(fā)表于 11-07 14:12 ?247次閱讀
    <b class='flag-5'>LuatOS</b>與ADC:<b class='flag-5'>Air780E</b><b class='flag-5'>模組</b><b class='flag-5'>開發(fā)</b>的新篇章!

    Air780E模組AT指令下的MQTT應(yīng)用:技術(shù)指南

    今天我要講的是Air780E模組AT指令下的MQTT應(yīng)用,希望對大家有所幫助。
    的頭像 發(fā)表于 11-07 14:02 ?327次閱讀
    <b class='flag-5'>Air780E</b><b class='flag-5'>模組</b>AT指令下的MQTT應(yīng)用:技術(shù)指南

    如何使用Air780E開發(fā)板?看這篇就夠了!

    ? 一、綜述 CORE-AIR780E 開發(fā)板是合宙通信推出的基于 Air780E 模組開發(fā)的,包含電源,SIM 卡,USB,天線,音頻等
    的頭像 發(fā)表于 10-23 17:07 ?385次閱讀
    如何使用<b class='flag-5'>Air780E</b><b class='flag-5'>開發(fā)</b>板?看這篇就夠了!

    關(guān)于Air780E:與服務(wù)器的加密通信操作方法

    ?今天我們來學(xué)習(xí)合宙低功耗4G模組Air780E快速入門之跟服務(wù)器之間的加密通信,伙伴們,一起學(xué)起來! 一、 編寫腳本 1.1 準(zhǔn)備資料 Air780E開發(fā)板購買
    的頭像 發(fā)表于 10-12 07:31 ?264次閱讀
    關(guān)于<b class='flag-5'>Air780E</b>:與服務(wù)器的加密通信操作方法

    合宙4G模組Air780E開發(fā)板使用手冊

    合宙開發(fā)Air780E使用說明
    的頭像 發(fā)表于 09-09 18:22 ?689次閱讀
    合宙4G<b class='flag-5'>模組</b><b class='flag-5'>Air780E</b><b class='flag-5'>開發(fā)</b>板使用手冊

    合宙Air780E硬件設(shè)計(jì)手冊02

    合宙低功耗4G模組Air780E硬件設(shè)計(jì)介紹
    的頭像 發(fā)表于 09-06 12:02 ?467次閱讀
    合宙<b class='flag-5'>Air780E</b>硬件設(shè)計(jì)手冊02

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機(jī)問題如何分析

    Air780E/Air780EP/Air780EQ/Air201模塊遇到死機(jī)問題如何分析簡介本文檔適用于合宙Air780E、
    的頭像 發(fā)表于 07-19 15:37 ?646次閱讀
    <b class='flag-5'>Air780E</b>/<b class='flag-5'>Air780</b>EP/<b class='flag-5'>Air780</b>EQ/<b class='flag-5'>Air</b>201模塊遇到死機(jī)問題如何分析
    RM新时代网站-首页