91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

一、LuatOS string 庫pack和unpack接口

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

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

1.1 字節(jié)序的概念

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

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

1.2 Lua 中字符串存儲

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

wKgZPGdNvJuAXpOwAAWs3wSNnN0725.png

1.3 Lua 中字符串的序號

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

wKgZO2dNvKeAWo1EAASxrBq-K2A301.png

二、演示功能概述

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

三、準備硬件環(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ù)線!)

四、準備軟件環(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 實物連接圖

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

七、功能驗證

7.1 開機

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

wKgZPGdNvUmAJVhoAAlraMg0Cs8393.png

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

wKgZO2dNvVeAFEnoAAmY7gFn7tk451.png


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

wKgZPGdNvWGAZ9NeAAN5hVdcPhM782.png

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

wKgZO2dNvWyAVG_AAAKvmVwMkrQ946.png

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

wKgZPGdNvXeAFUIGAAKVP_95RTo693.png

wKgZO2dNvYGAStmvAAM-aDNwlHI292.png

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

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

wKgZPGdNvYuAL4RxAAKfKnbcRzI281.png

wKgZPGdNvZSAWsIbAAK9o8T9Qg4498.png

wKgZO2dNvaSAdRA_AAxuflmfTqo802.png

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

wKgZPGdNva6Aar3RAAIYrN2IBLY760.png

wKgZO2dNvbaAQqHUAAHYoq-YzHM671.png

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

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

wKgZO2dNvcGAMANFAAe1MGqtFnc625.png

八、總結(jié)

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

九、拓展說明

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

審核編輯 黃宇

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

    關(guān)注

    6

    文章

    1768

    瀏覽量

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

    關(guān)注

    0

    文章

    2

    瀏覽量

    1008
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    156

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

    【迅為RK3568開發(fā)板NPU實戰(zhàn)】別再閑置你的NPU!手把手教你玩轉(zhuǎn)RKNN-Toolkit2 的使用

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

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

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

    手把手教你 Air8000 模塊 CAN 接口開發(fā)與配置實戰(zhàn)全攻略

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

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

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

    LuatOS編程基礎(chǔ)教程:手把手帶你入門物聯(lián)網(wǎng)開發(fā)

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

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

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

    手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)

    在高并發(fā)網(wǎng)絡(luò)服務(wù)場景中,Linux內(nèi)核的默認網(wǎng)絡(luò)參數(shù)往往無法滿足需求,導(dǎo)致性能瓶頸、連接超時甚至服務(wù)崩潰。本文基于真實案例分析,從參數(shù)解讀、問題診斷到優(yōu)化實踐,手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù),支撐百萬級并發(fā)連接。
    的頭像 發(fā)表于 05-29 09:21 ?964次閱讀

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

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

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

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

    手把手教你!利用Air780EPM快速體驗LuatOS的入門

    在物聯(lián)網(wǎng)開發(fā)領(lǐng)域,選擇合適的硬件平臺與操作系統(tǒng)是項目成功的關(guān)鍵。本文將帶領(lǐng)你從零開始,通過詳細的步驟與示例代碼,掌握Air780EPM與LuatOS的入門開發(fā)流程,并深入探討其核心功能
    的頭像 發(fā)表于 03-25 16:38 ?701次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>!利用<b class='flag-5'>Air780</b>EPM快速體驗<b class='flag-5'>LuatOS</b>的入門

    《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》

    《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》是一本為普通人量身打造的AI開發(fā)指南。它不僅深入淺出地講解了Agent的概念和發(fā)展,還通過詳細的工具介紹和
    發(fā)表于 03-18 12:03

    手把手教你做星閃無人機—KaihongOS星閃無人機開發(fā)實戰(zhàn)》系列課程課件匯總

    —KaihongOS星閃無人機開發(fā)實戰(zhàn)》系列課程,該課程與《手把手教你做PC—KaihongOS筆記本電腦開發(fā)
    發(fā)表于 03-18 10:33

    手把手教你做PC-KaihongOS筆記本電腦開發(fā)實戰(zhàn)》課件匯總

    ”攜手“電子發(fā)燒友”聯(lián)合推出了 《KaihongOS手把手系列直播課程》,該系列課程以實際產(chǎn)品為案例,詳細講解每個產(chǎn)品的開發(fā)全流程。 此次首發(fā)內(nèi)容是《手把手教你做PC-Kaihong
    發(fā)表于 03-18 10:25

    手把手教你!4G模組Air780EPM——GPIO的設(shè)計說明

    ? 開發(fā)方式 :Air780EPM 僅支持 LuatOS 軟件開發(fā)方式,不支持 AT 指令開發(fā)方式。若使用 AT 指令
    的頭像 發(fā)表于 03-17 16:07 ?1117次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>!4G<b class='flag-5'>模組</b><b class='flag-5'>Air780</b>EPM——GPIO的設(shè)計說明