眾所周知alarm鬧鐘是電子產(chǎn)品中常用來作為設(shè)備軟件定時開關(guān)機的一項基本功能,本文介紹如何用Air724開發(fā)板,進行鬧鐘功能演示。
一、演示功能概述
本教程教你如何用Air724開發(fā)板,進行鬧鐘的功能演示。
二、準(zhǔn)備硬件環(huán)境
2.1 開發(fā)板準(zhǔn)備
使用 EVB_Air724 開發(fā)板,如下圖所示:
此開發(fā)板的詳細使用說明參考:
https://docs.openluat.com/air724ug/product/
Air724UG 產(chǎn)品手冊中的《EVB_Air724UG_AXX 開發(fā)板使用說明》,寫這篇文章時最新版本的使用說明為:《EVB_Air724UG_A14 開發(fā)板使用說明》;開發(fā)板使用過程中遇到任何問題,可以直接參考這份使用說明文檔。
api文檔:
https://doc.openluat.com/wiki/21?wiki_page_id=2068
2.2 數(shù)據(jù)通信線
USB 數(shù)據(jù)線一根(micro USB)。
2.3 PC 電腦
WIN7以及以上版本的WINDOWS系統(tǒng)。
2.4 SIM 卡
中國大陸環(huán)境下,可以上網(wǎng)的 SIM 卡。一般來說,使用移動,電信,聯(lián)通的物聯(lián)網(wǎng)卡或者手機卡都行。
2.5 組裝硬件環(huán)境
USB 數(shù)據(jù)線插入 USB 口,另一端與電腦相連,撥碼開關(guān)全部撥到 ON,串口切換開關(guān)選擇 UART1,USB 供電的 4V 對應(yīng)開關(guān)撥至 ON 檔,SIM 卡放到 SIM 卡槽中鎖緊,如下圖所示。
三、準(zhǔn)備軟件環(huán)境
3.1 下載調(diào)試工具
使用說明參考:
Luatools 下載和詳細使用:
https://docs.openluat.com/Luatools/
3.2 源碼及固件
3.2.1 底層 core 下載
下載底層固件,并解壓
鏈接:
https://docs.openluat.com/air724ug/luatos/firmware/
如下圖所示,紅框的是我們要使用到的。
3.2.2 本教程使用的 demo 見附件:
https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/alarm
3.3 下載固件和腳本到開發(fā)板中
打開 Luatools,開發(fā)板上電開機,如開機成功 Luatools 會打印如下信息。
點擊項目管理測試選項。
進入管理界面,如下圖所示。
點擊選擇文件,選擇底層固件,我的文件放在 D:luatOSAir724 路徑中
點擊增加腳本或資源文件,選擇 之前下載的程序源碼,如下圖所示。
點擊下載底層和腳本,下載完成如下圖所示。
四、代碼示例介紹
4.1 API 說明
--注冊鬧鐘模塊
rtos.init_module(rtos.MOD_ALARM)
--注冊鬧鐘消息的處理函數(shù)(如果是開機鬧鐘,鬧鐘事件到來時會調(diào)用 alarmsg)
rtos.on(rtos.MSG_ALARM,alarMsg)
模塊進行 lua 開發(fā)的 lua 虛擬機架設(shè)在 RTOS 操作系統(tǒng)之上,所以在設(shè)置完系統(tǒng)時間,鬧鐘開關(guān)機時間之后,需要將鬧鐘消息進行注冊,才能對操作系統(tǒng)進行開關(guān)機啟動操作
--設(shè)定鬧鈴
rtos.set_alarm(1,onTimet.year,onTimet.month,onTimet.day,onTimet.hour,onTimet.min,onTimet.sec)
set_alarm 接口參數(shù)中的第一個參數(shù) 1 表示開啟鬧鐘,0 表示關(guān)閉鬧鐘
鬧鐘關(guān)機之后,模塊將進入超低功耗模式,此時停止解析應(yīng)用層的代碼,大部分協(xié)議棧也將停止,所以鬧鐘開機需軟件主動重啟一次
4.2 testAlarm.lua 代碼
首先通過 misc.setClock()接口函數(shù)手動設(shè)置當(dāng)前系統(tǒng)時間,該函數(shù)可傳入 table 類型的變量,依次包含年、月、日、時、分、秒等 6 個參數(shù),設(shè)置后,系統(tǒng)時間即更新生效;通過 rtos.set_alarm()接口函數(shù)設(shè)置鬧鐘關(guān)機后再次開機的時間間隔,在這里修改為 60,即模塊關(guān)機 60S 后再次開機:
4.3 main.lua 代碼
本代碼為主程序腳本,系統(tǒng)啟動后首先會對 4G 網(wǎng)絡(luò)進行配置,等待網(wǎng)絡(luò)連接成功,然后加載測試模塊。
五、開機調(diào)試
5.1 開發(fā)板開機
連接好硬件并下載固件后,啟動 Luatools 軟件,系統(tǒng)運行信息將顯示在界面中。紅框中為開發(fā)板連接到 PC 機后正常打印的信息,如下圖所示。
5.2 功能調(diào)試
5.2.1 設(shè)置鬧鐘
通過misc.setClock()接口函數(shù)手動設(shè)置當(dāng)前系統(tǒng)時間,然后通過rtos.set_alarm()接口函數(shù)設(shè)置鬧鐘關(guān)機后再次開機的時間間隔,在這里修改為60,即模塊關(guān)機開始60S后再次開機`。
5.2.2 鬧鐘時間到打印輸出
六、常見問題
6.1 為什么燒錄完 demo 之后,用戶反映不能進行鬧鐘關(guān)機?
答:demo 中已經(jīng)將鬧鐘關(guān)機的函數(shù)屏蔽掉,需要用戶釋放時才能進行鬧鐘關(guān)機。
6.2 為什么燒錄完 demo 之后,用開發(fā)板測試時發(fā)現(xiàn)代碼中設(shè)定的時間跟我們看到的網(wǎng)絡(luò)時間不一樣,甚至比當(dāng)前的時間早,但是還是會安裝設(shè)定的時間間隔開機?
答:demo 中設(shè)定的時間為手動設(shè)置,并沒有與網(wǎng)絡(luò)時間同步,模塊是以手動設(shè)定的時間為基礎(chǔ)計時運行。
分享完畢。
審核編輯 黃宇
-
4G
+關(guān)注
關(guān)注
15文章
5559瀏覽量
120502 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2922文章
45675瀏覽量
385491 -
模組
+關(guān)注
關(guān)注
6文章
1593瀏覽量
31033
發(fā)布評論請先 登錄
相關(guān)推薦
評論