聚豐項目 > 藍牙MESH智能LED調(diào)光
基于中科藍訊 AB32VG1開發(fā)板和涂鴉智能的藍牙MESH模塊BT3L模組組成的智能LED調(diào)光。 它可以實現(xiàn): 1、通過開發(fā)板上的按鍵長按進入藍牙模塊配網(wǎng); 2、手機APP進行配網(wǎng)后可以對LED進行開關和調(diào)光,以及場景設置和定時開關; 3、同時可以通過開發(fā)板上的按鍵對LED進行控制,短按可以開關LED、長按對LED進行調(diào)光操作,并且按鍵操作后LED變化狀態(tài)可以在手機AP上看到,后面可以搭配網(wǎng)關實現(xiàn)按鍵調(diào)節(jié)LED上傳至藍牙網(wǎng)關并且同步該組內(nèi)所有LED跟隨變化; 4、可以通過ADC檢測LED的工作狀態(tài),檢測LED工作不正常可以進行關斷操作并上傳至藍牙網(wǎng)關,手機APP可以查看;
h1654155920.2009
h1654155920.2009
團隊成員
周偉 軟件工程師
RT-Thread使用情況概述:
整個方案涉及的技術有:藍牙模塊選型,RT-Thread 程序。藍牙模塊使用涂鴉智能的藍牙MESH模塊,通過串口自定義開發(fā)搭配中科藍訊 AB32VG1開發(fā)板實現(xiàn),LED使用板子自帶的RGB燈,本來想弄個小功率的升壓調(diào)光的小功率LED,由于時間緊張就用板載的RGB燈來實現(xiàn)了。通過這個作品,讓我從無到有了解了RT-Thread ,第一次接觸RT-Thread 碰到許多問題,好在多一一解決了。
內(nèi)核部分:使用了線程、信號量、互斥量、定時器
設備驅(qū)動:
GPIO/PWM/ADC/UART/BLE 等
中科藍訊 AB32VG1開發(fā)板通過串口連接涂鴉的藍牙MESH模塊,通過按鍵和串口接收的數(shù)據(jù)調(diào)節(jié)PWM占空比去控制LED的亮度,ADC檢測通過跳線去模擬檢測LED工作狀態(tài);
這個作品里軟件模塊劃分的比較清晰,按鍵檢測、串口、LED驅(qū)動、ADC檢測和協(xié)議解析各個模塊均獨立為一個單獨文件,邏輯比較清晰。
軟件流程框圖:
軟件功能文件圖:
此作品功能是一個一個堆疊上去的,首先涂鴉模塊的串口協(xié)議官方有現(xiàn)成的,通過串口助手與藍牙模塊進行調(diào)試后再調(diào)試程序會省很多事,第一步是保證串口功能的正常,通過官方指導文件的幫助一步一步配置串口,串口功能調(diào)試成功后就移入藍牙模塊的協(xié)議解析,配置好串口接收和發(fā)送基本上就能正常和藍牙模塊通訊了。再就是配置PWM來驅(qū)動LED燈,按照官方文檔進行配置即可,主要是做好藍牙模塊接收數(shù)據(jù)和PWM占空比的函數(shù)接口轉(zhuǎn)換,弄好之后就能通過藍牙模塊控制LED的亮度了。按鍵調(diào)節(jié)和ADC檢測都按照PWM的配置方式一樣,做好和PWM占空比數(shù)據(jù)轉(zhuǎn)換就能全部實現(xiàn)了。
代碼地址:https://gitee.com/zhouwei00/rt.git
本作品作為智能家居控制還是挺不錯的,但由于時間緊張,而且手頭沒有藍牙網(wǎng)關,多個LED的聯(lián)動控制暫未實現(xiàn)。