無論你是剛接觸物聯網編程的新手,還是希望拓展技能的技術愛好者,本教程將為零基礎的讀者提供一條清晰的LuatOS學習路徑。從安裝開發工具到編寫第一個程序,我們將通過實例講解核心概念,助你快速實現從理論到實踐的跨越。
學習LuatOS的主要方法之一是“運行各個功能模塊的demo代碼”,本期特別分享——LuatOS編程起步相關內容。
注意:本文檔的讀者,默認都已經了解初步的Lua語法。
如果不懂Lua語法的話,可以參考下方鏈接:http://docs.openluat.com/air780epm/common/lua_lesson/
一、底層固件怎么啟動LuatOS腳本
1.1 腳本入口執行文件
簡單來說,底層固件首先就是要找到main.lua這個文件,然后啟動它。所有的其他功能,都需要在main.lua發起。
如下圖Air780EPM模組demo的Camera示例:

1.2 LuatOS啟動腳本的詳細流程
進一步詳細的說,LuatOS的底層固件啟動腳本的流程如下:
啟動底層core:系統上電或者復位后,底層固件(core)首先啟動,進行硬件初始化、內存分配、文件系統掛載等系統底層的基礎操作。
加載Lua虛擬機:底層固件加載Lua虛擬機,為執行 Lua腳本提供運行環境;
加載main.lua:自動查找并加載存儲在設備上的主腳本main.lua;
執行腳本代碼:按順序執行main.lua腳本中的代碼,通常包括任務創建(如 sys.taskInit)、功能初始化等。
進入任務調度:腳本最后通常調用sys.run(),進入事件循環和多任務調度,正式運行用戶邏輯。
1.3 怎么把固件和腳本燒錄到硬件:
使用官方LuatTools,將底層固件和用戶Lua腳本燒錄到合宙模組或者引擎硬件;上電后,底層固件自動完成上述啟動和腳本加載流程,無需手動干預。
Luatools下載及使用參見:https://docs.openluat.com/air780epm/common/Luatools/
二、main.lua需要包含哪些部分?
2.1 項目信息聲明
在main.lua的文件開頭,需要聲明項目名和版本號,便于管理和調試。后續的遠程升級,也需要用到項目名和版本號。
例如:

2.2 系統庫和必要模塊加載
在main.lua需要加載LuatOS的基礎庫和擴展庫(如zbuff、onewire等),用來實現具體的業務邏輯。
例如:

截止至當前發文,LuatOS已提供74個核心庫和55個擴展庫。
最新LuatOS庫函數開發手冊詳見:https://docs.openluat.com/osapi/
2.3 至少啟動一個任務
在main.lua里面,至少需要啟動一個任務,否則這個main就無所事事,是一個沒什么實際用處的主腳本了。
啟動一個任務的方法,分為2個步驟:
創建一個函數,把要做的事情,放在這個函數里面使用。這個函數必須是無限循環的,防止很快結束生命,不妨把這個函數命名為task1()。
調用sys.taskInit(task1),啟動這個函數,于是這個任務,就放在待運行的任務列表里面了。
2.4 初步理解sys.run()
sys.run() 是一個無限循環的函數。
main.lua的最后一行,只能是sys.run(),代表sys.run() 接管了LuatOS的所有的執行調度工作。
如下圖Air780EPM模組demo的LED示例:

sys.run()是LuatOS的運行中樞,后續會詳細介紹。
三、LuatOS腳本編程的核心要點
3.1 LuatOS實現的典型功能
LuatOS腳本是利用了Lua的語法,以及基于LuatOS核心庫和擴展庫提供的API,進行簡便的編程,實現如下功能:
1)實現和云端服務器通信;
2)采集外設的數據,控制外設設備;
3)實現人機交互,包括圖形交互和語音交互。
3.2 LuatOS的學習要點
要想寫好LuatOS的軟件,實現上述三個功能,除了逐漸掌握Lua的基本語法之外,還需要熟悉LuatOS的核心庫和擴展庫,這樣才能開發出優質的基于LuatOS的物聯網設備軟件。
學習的主要方法有如下幾個:
1)運行各個功能模塊的demo代碼;
2)閱讀docs.openluat.com的教程文檔;
3)遇到不懂問AI;
4)在QQ大群和微信大群進行技術交流。
3.3 一個典型的LuatOS實現
一個典型的LuatOS實現,包含main.lua入口文件和若干個功能模塊文件。
這里以Air780EPM開發板的蜂鳴器示例代碼為例,有兩個腳本文件以及一個管腳描述json文件。
- Air780EPM蜂鳴器應用示例 -

1)main.lua文件
作用是啟動一個任務,讓蜂鳴器響一秒鐘,再停頓一秒鐘,如此往復。

2)airbuzzer.lua
封裝了驅動蜂鳴器的功能實現。

3)pins_Air780EPM.json描述了本例使用到的管腳的功能,Air780EPM的26管腳,用作PWM4。

把上述幾個文件,連同Air780EPM最新的固件版本,用LuaTools建立一個工程,燒錄到Air780EPM開發板,就可以聽到蜂鳴器的播放聲音了。
在應用開發中,可根據實際需求靈活調整。
今天的內容就分享到這里了,歡迎感興趣的朋友加技術交流群一起探討。
審核編輯 黃宇
-
物聯網
+關注
關注
2945文章
47820瀏覽量
414932 -
LuatOS
+關注
關注
0文章
156瀏覽量
2695
發布評論請先 登錄
LuatOS中PWM實現LED亮度調節與呼吸燈的實戰教程
LuatOS AGPS 輔助定位開發實戰教程
無需硬件,LuatOS模擬器釋放開發無限可能
零基礎學習LuatOS編程:快速上手開發實戰教程!
評論