RM新时代网站-首页

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

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

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

解析篇:Air780E低功耗模組LuatOS開發(fā)的數(shù)據(jù)打包解包(pack)!

青山老竹農(nóng) ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-12-05 09:04 ? 次閱讀

本文我們解析的是低功耗4G模組Air780E的LuatOS開發(fā)的數(shù)據(jù)打包解包,示例如下:

一、LuatOS string 庫(kù)pack和unpack接口

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

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

1.1 字節(jié)序的概念

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

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

1.2 Lua 中字符串存儲(chǔ)

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

wKgZO2dOfm6AUoAuAAYmY45zbAM650.png

1.3 Lua 中字符串的序號(hào)

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

wKgZPGdOfnmAaJv0AAUI7xRcCCA758.png

二、演示功能概述

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

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

3.1 Air780E 開發(fā)板

wKgZPGdOfoSAUeC1AANm1KKASlc236.png

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

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

wKgZO2dOfpGAd0ajABepqTA9lqw305.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)品手冊(cè),訪問頁(yè)面中的 《EVB_Air780X_V1.6.zip》:
https://docs.openluat.com/air780e/product/

2、API 使用介紹說明

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

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

wKgZPGdOfqSAJq_3AAOpxvLqt-I130.png

wKgZO2dOfrGAVoE8ABJvZxUalRw683.png

5.2 硬件安裝與連接

5.2.1 SIM 卡安裝

wKgZPGdOfr2AO02AAA-IbrTzyRg412.png

5.2.2 實(shí)物連接圖

wKgZPGdOfsyAXleKAAedVAB-b8A403.png

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

六、代碼示例介紹

6.1 完整程序清單

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

wKgZO2dOfuCAKHzoAAXXwF8wJ6k968.pngwKgZPGdOfvKAa28fAAWF-gi9pU4349.pngwKgZPGdOfwSAb0JGAAYEilzeixA353.pngwKgZPGdOfxSAGwTVAAIwbCuRqHg364.png

七、功能驗(yàn)證

7.1 開機(jī)

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

wKgZO2dOfySAHCa_AArvjnL6J48145.png

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

wKgZO2dOfzOAf5AxAAlnOJvCf54338.png


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

wKgZO2dOfz6AHNUJAAPA0oiHUCU646.png

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

wKgZO2dOf0mAfjB7AAL3RPGF0bA593.png

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

wKgZPGdOf1KATNsqAALGys_3Kx8649.png

wKgZPGdOf1-AE2kyAAN8h9EUgGs385.png

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

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

wKgZO2dOf2yAXW-_AALRkPuqR_Q029.png

wKgZO2dOf3aAFHG-AAL93NAPIRs097.png

wKgZO2dOf4WARcAKAAvC9gdDKSw466.png

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

wKgZO2dOf4-AJQphAAI_XoGo1YA820.png

wKgZO2dOf5mAIMZYAAH53hAKSpg328.png

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

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

wKgZO2dOf7GAIgRpAAhl8LDj4AQ142.png

八、總結(jié)

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

九、拓展說明

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

分享完畢。

審核編輯 黃宇

聲明:本文內(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)注

    2909

    文章

    44557

    瀏覽量

    372755
  • 低功耗
    +關(guān)注

    關(guān)注

    10

    文章

    2396

    瀏覽量

    103670
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    76

    瀏覽量

    1936
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    本文要說的是低功耗4G模組Air780ELuatOS開發(fā)實(shí)戰(zhàn),我將手把手教你搞定數(shù)據(jù)
    的頭像 發(fā)表于 12-03 11:17 ?148次閱讀
    <b class='flag-5'>Air780E</b><b class='flag-5'>模組</b><b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>實(shí)戰(zhàn) —— 手把手教你搞定<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>打包</b><b class='flag-5'>解包</b>

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

    本文我要說的是低功耗4G模組Air780ELuatOS開發(fā),關(guān)于位運(yùn)算(bit)示例,我將詳細(xì)解析
    的頭像 發(fā)表于 12-02 14:33 ?158次閱讀
    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)教程分享給大家。我會(huì)從加解密概述、演示功能概述
    的頭像 發(fā)表于 12-01 15:50 ?190次閱讀
    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)教程!

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

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

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

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

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

    今天學(xué)習(xí)一個(gè)新的示例,關(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>的新篇章!

    硬件設(shè)計(jì)很簡(jiǎn)單?低功耗4G模組Air780E—開機(jī)啟動(dòng)及外圍電路設(shè)計(jì)

    ?Air780E是合宙低功耗4G-Cat.1模組經(jīng)典型號(hào)之一,上期我們解答了大家關(guān)心的系列問題,并講解了[選型的注意要點(diǎn)] 有朋友問:能不能講些硬件設(shè)計(jì)相關(guān)的內(nèi)容? 模組的上電開機(jī),是
    的頭像 發(fā)表于 10-15 10:18 ?407次閱讀
    硬件設(shè)計(jì)很簡(jiǎn)單?<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b><b class='flag-5'>Air780E</b>—開機(jī)啟動(dòng)及外圍電路設(shè)計(jì)

    干貨低功耗4G模組Air780E的串口通信

    ? 今天我們來講解低功耗4G模組Air780E的串口通信的基本用法,小伙伴們,學(xué)起來吧!
    的頭像 發(fā)表于 10-05 14:38 ?544次閱讀
    干貨<b class='flag-5'>篇</b>:<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b><b class='flag-5'>Air780E</b>的串口通信

    RNDIS網(wǎng)卡應(yīng)用看這篇!合宙Air780EP低功耗4G模組AT開發(fā)示例

    ?Air780EP是合宙的低功耗4G模組之一,支持全系列的AT指令以及LuatOS腳本二次開發(fā)。 本文應(yīng)各位大佬邀請(qǐng),特別講解
    的頭像 發(fā)表于 09-30 06:59 ?553次閱讀
    RNDIS網(wǎng)卡應(yīng)用看這篇!合宙<b class='flag-5'>Air780</b>EP<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b>AT<b class='flag-5'>開發(fā)</b>示例

    硬件設(shè)計(jì)很簡(jiǎn)單?合宙低功耗4G模組Air780E—開機(jī)啟動(dòng)及外圍電路設(shè)計(jì)

    ?Air780E是合宙低功耗4G-Cat.1模組經(jīng)典型號(hào)之一,上期我們解答了大家關(guān)心的系列問題,并講解了[選型的注意要點(diǎn)] 有朋友問:能不能講些硬件設(shè)計(jì)相關(guān)的內(nèi)容? 模組的上電開機(jī),是
    的頭像 發(fā)表于 09-27 07:04 ?2136次閱讀
    硬件設(shè)計(jì)很簡(jiǎn)單?合宙<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b><b class='flag-5'>Air780E</b>—開機(jī)啟動(dòng)及外圍電路設(shè)計(jì)

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

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

    合宙低功耗4G模組Air780E——產(chǎn)品規(guī)格書

    合宙低功耗4G模組Air780E的規(guī)格信息速覽
    的頭像 發(fā)表于 09-02 18:04 ?976次閱讀
    合宙<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模組</b><b class='flag-5'>Air780E</b>——產(chǎn)品規(guī)格書
    RM新时代网站-首页