伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Air780E模組LuatOS開發實戰 —— 手把手教你搞定數據打包解包

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-12-03 11:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文要說的是低功耗4G模組Air780E的LuatOS開發實戰,我將手把手教你搞定數據打包解包。

一、LuatOS string 庫pack和unpack接口

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

由于Lua中字符串幾乎可以用于存儲所有形式的數據,所以下面先系統介紹下Lua字符串的特點,方便習慣使用C語言編程的初學者系統的了解兩種語言在數據存儲方面的一些差異。

1.1 字節序的概念

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

大端也常被稱作叫“網絡序”因為 TCP、UDP 網絡數據傳輸和存儲都使用這種格式,而一些像 STM32ARM 單片機,則使用小端存儲格式;

1.2 Lua 中字符串存儲

Lua 中字符串可以存儲所有字節數據,包括“字符串中的可見和不可見字符”,這一點與 C 語言有很大區別;

wKgZPGdNvJuAXpOwAAWs3wSNnN0725.png

1.3 Lua 中字符串的序號

注:Lua 中字符串首字節從序號 1 開始,而不像 C 語言是從序號 0 開始;并且 Lua 字符串有正數序號也有負數序號,這一點也與 C 語言不同;

wKgZO2dNvKeAWo1EAASxrBq-K2A301.png

二、演示功能概述

本文使用 Air780E 核心板,運用 LuatOS string 庫 pack 和 unpack 接口對二進制數據進行打包和解包操作。

三、準備硬件環境

3.1 Air780E 開發板

wKgZO2dNvLOAPmOoAAMn5hxol-U495.png

(注意:需要配套采購 4G 物聯網卡?。?/p>

3.2 TYPE-C 數據線

wKgZPGdNvMKAaHiwABXVR3Q417M048.png

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

四、準備軟件環境

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 開發板按鈕與指示燈圖示與說明

wKgZO2dNvNeANFoRAANgv9R2Lfo842.png

wKgZO2dNvOWALXrfAA9Fhmkft7k269.png

5.2 硬件安裝與連接

5.2.1 SIM 卡安裝

wKgZPGdNvO-ATacLAA4MVjG4lZk125.png

5.2.2 實物連接圖

wKgZPGdNvPyAY02WAAg_Kzqj0I4431.png

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

六、代碼示例介紹

6.1 完整程序清單

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

wKgZO2dNvQ6AOd4DAATcnedzMZo797.png

wKgZO2dNvR2ATG6RAASvv2jzu7M607.png

wKgZO2dNvSyAT_uuAAVc5_syJYc942.png

wKgZPGdNvTuAc9n_AANFXrzQ0uU740.png

七、功能驗證

7.1 開機

按下圖所示通過TYPE-C線將開發板與電腦連接無誤后,開發板電源指示紅燈常亮,網絡指示燈滅:

wKgZPGdNvUmAJVhoAAlraMg0Cs8393.png

此時按下開機鍵,約2秒后釋放,等待幾秒網絡指示綠燈常亮,即開機成功,如下圖:

wKgZO2dNvVeAFEnoAAmY7gFn7tk451.png


此時電腦設備管理器中會發現下圖所示幾個設備,即代表開機成功!

wKgZPGdNvWGAZ9NeAAN5hVdcPhM782.png

7.2 打開 Luatool 軟件工具并進入項目管理測試頁面

wKgZO2dNvWyAVG_AAAKvmVwMkrQ946.png

7.3 按序號步驟創建項目

wKgZPGdNvXeAFUIGAAKVP_95RTo693.png

wKgZO2dNvYGAStmvAAM-aDNwlHI292.png

7.4 按如下步驟進行程序燒錄

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

wKgZPGdNvYuAL4RxAAKfKnbcRzI281.png

wKgZPGdNvZSAWsIbAAK9o8T9Qg4498.png

wKgZO2dNvaSAdRA_AAxuflmfTqo802.png

7.5 觀察下載過程后確認燒錄結果

wKgZPGdNva6Aar3RAAIYrN2IBLY760.png

wKgZO2dNvbaAQqHUAAHYoq-YzHM671.png

7.6 關閉項目管理界面,回到調試頁面,觀察輸出

注:詳細日志輸出內容,在程序中有增強注釋說明,請詳細查看。

wKgZO2dNvcGAMANFAAe1MGqtFnc625.png

八、總結

至此,我們已使用 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這兩個方法即可。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模組
    +關注

    關注

    6

    文章

    1786

    瀏覽量

    32325
  • 數據打包
    +關注

    關注

    0

    文章

    2

    瀏覽量

    1008
  • LuatOS
    +關注

    關注

    0

    文章

    163

    瀏覽量

    2728
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LuatOS:485 總線硬件設計要點與 exmodbus 庫開發實戰

    在工業物聯網通信開發中,485 總線與 Modbus 協議的組合應用十分常見。本文以合宙 Air780EHV 系列模組為實例,圍繞 LuatOS
    的頭像 發表于 03-19 17:57 ?144次閱讀
    <b class='flag-5'>LuatOS</b>:485 總線硬件設計要點與 exmodbus 庫<b class='flag-5'>開發</b><b class='flag-5'>實戰</b>

    從0到1,10+年資深LabVIEW專家,手把手教你攻克機器視覺+深度學習(5000分鐘實戰課)

    “告別檢測系統能力缺陷!10+年LabVIEW視覺資深專家手把手教你:5000+分鐘高清教程(含工具、算法原理、實戰操作、項目優化全流程講解)”——從傳統視覺算法→深度學習建模→工業級部署"
    的頭像 發表于 12-02 08:07 ?653次閱讀
    從0到1,10+年資深LabVIEW專家,<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>攻克機器視覺+深度學習(5000分鐘<b class='flag-5'>實戰</b>課)

    【迅為RK3568開發板NPU實戰】別再閑置你的NPU!手把手教你玩轉RKNN-Toolkit2 的使用

    【迅為RK3568開發板NPU實戰】別再閑置你的NPU!手把手教你玩轉RKNN-Toolkit2 的使用
    的頭像 發表于 11-11 14:21 ?1330次閱讀
    【迅為RK3568<b class='flag-5'>開發</b>板NPU<b class='flag-5'>實戰</b>】別再閑置你的NPU!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>玩轉RKNN-Toolkit2 的使用

    【RK3568 NPU實戰】別再閑置你的NPU!手把手帶你用迅為資料跑通Android AI檢測Demo,附完整流程與效果

    【RK3568 NPU實戰】別再閑置你的NPU!手把手帶你用迅為資料跑通Android AI檢測Demo,附完整流程與效果
    的頭像 發表于 11-10 15:58 ?1170次閱讀
    【RK3568 NPU<b class='flag-5'>實戰</b>】別再閑置你的NPU!<b class='flag-5'>手把手</b>帶你用迅為資料跑通Android AI檢測Demo,附完整流程與效果

    手把手教你 Air8000 模塊 CAN 接口開發與配置實戰全攻略

    面對復雜多樣的嵌入式通信需求,Air8000 模塊的 CAN 接口開發尤為重要。本文以實戰為導向,詳細拆解 Air8000 模塊 CAN 接口的開發
    的頭像 發表于 10-29 14:04 ?464次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b> <b class='flag-5'>Air</b>8000 模塊 CAN 接口<b class='flag-5'>開發</b>與配置<b class='flag-5'>實戰</b>全攻略

    【精選直播】手把手教你做PC第十二課:WIFI 驅動框架適配

    手把手教你做PC》系列直播課再度開播!《KaihongOS筆記本電腦開發實戰第十二課:WIFI驅動框架適配》將于07月02日19:00開播↑掃碼入群,領課程講義資料包↑深開鴻資深工程
    的頭像 發表于 07-01 08:08 ?650次閱讀
    【精選直播】<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC第十二課:WIFI 驅動框架適配

    LuatOS編程基礎教程:手把手帶你入門物聯網開發!

    對于渴望進入物聯網開發領域的初學者來說,LuatOS是一個理想的起點。本教程將通過由淺入深的教學方式,從搭建開發環境、理解核心API到編寫簡單應用,逐步引導你掌握LuatOS編程的核心
    的頭像 發表于 06-11 13:03 ?820次閱讀
    <b class='flag-5'>LuatOS</b>編程基礎教程:<b class='flag-5'>手把手</b>帶你入門物聯網<b class='flag-5'>開發</b>!

    【精選直播】手把手教你做星閃無人機第十課:KaihongOS Lite系統專題

    手把手教你做星閃無人機》系列直播課再度開播!《KaihongOS星閃無人機開發實戰⑩:KaihongOSLite系統專題》↑掃碼入群,領課程講義資料包↑深開鴻資深工程師親臨直播間依托
    的頭像 發表于 06-10 08:06 ?576次閱讀
    【精選直播】<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無人機第十課:KaihongOS Lite系統專題

    手把手教你如何調優Linux網絡參數

    在高并發網絡服務場景中,Linux內核的默認網絡參數往往無法滿足需求,導致性能瓶頸、連接超時甚至服務崩潰。本文基于真實案例分析,從參數解讀、問題診斷到優化實踐,手把手教你如何調優Linux網絡參數,支撐百萬級并發連接。
    的頭像 發表于 05-29 09:21 ?1105次閱讀

    【精選直播】手把手教你做星閃無人機第九課:無線通信編程之 SLE 專題

    手把手教你做星閃無人機》系列直播課再度開播!《KaihongOS星閃無人機開發實戰⑨:無線通信編程之SLE專題》↑掃碼入群,領課程講義資料包↑深開鴻資深工程師親臨直播間依托筆電
    的頭像 發表于 05-27 08:05 ?542次閱讀
    【精選直播】<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無人機第九課:無線通信編程之 SLE 專題

    明晚七點!手把手教你做PC第九課:全功能TypeC驅動框架適配

    手把手教你做PC》系列直播課再度開播!《KaihongOS筆記本電腦開發實戰第九課:全功能TypeC驅動框架適配》將于5月21日19:00開播↑掃碼入群,領課程講義資料包↑深開鴻資深
    的頭像 發表于 05-20 08:07 ?642次閱讀
    明晚七點!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC第九課:全功能TypeC驅動框架適配

    正點原子Linux系列全新視頻教程來啦!手把手教你MP257開發板,讓您輕松入門!

    正點原子Linux系列全新視頻教程來啦!手把手教你MP257開發板,讓您輕松入門! 一、視頻觀看 正點原子手把手教你學STM32MP257
    發表于 05-16 10:42

    解鎖LuatOS-log庫:全棧工程師的日志管理實戰課!

    針對全棧開發者設計的實戰教程,本文聚焦LuatOS平臺log庫的高效使用,從基礎配置到高級調試策略,手把手教你搭建可擴展的日志系統,提升項目
    的頭像 發表于 05-12 15:23 ?1588次閱讀
    解鎖<b class='flag-5'>LuatOS</b>-log庫:全棧工程師的日志管理<b class='flag-5'>實戰</b>課!

    深度解析Air780EPM模組LuatOS下CAN總線通信的完整方案!

    本文聚焦Air780EPM的CAN通信能力,結合LuatOS實時操作系統,從底層驅動到應用層協議,詳細拆解如何實現工業級CAN總線數據傳輸,助力開發者快速落地項目。 最新資料詳見: h
    的頭像 發表于 05-06 14:22 ?951次閱讀
    深度解析<b class='flag-5'>Air780</b>EPM<b class='flag-5'>模組</b>:<b class='flag-5'>LuatOS</b>下CAN總線通信的完整方案!

    周三晚19:00,手把手教你做PC第七課:Audio 音頻驅動框架適配

    手把手教你做PC》系列直播課再度開播!《KaihongOS筆記本電腦開發實戰⑦:Audio音頻驅動框架適配》將于4月23日19:00開播↑掃碼入群,領課程講義資料包↑深開鴻資深工程師
    的頭像 發表于 04-22 08:05 ?636次閱讀
    周三晚19:00,<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC第七課:Audio 音頻驅動框架適配