小熊派物聯網開發板接入涂鴉 IoT 開發平臺實作植物環境監測
物聯網的概念其實十幾二十年前就已經有了,隨著人工智能,大資料,云計算這些科技的發展,越來越多的物聯網專案正式商用落地,比如,共享單車和共享汽車,全屋智能家居,等等,
時至今天,國內的物聯網生態可謂百花齊放,不乏一線大廠,比如華為騰訊小米;小米應該是布局物聯網生態比較早的公司,大部分人都認為小米是做手機的,但發展到今天,小米已經成為一個生態鏈平臺,
大概在2015年左右,有一家公司漸漸進入物聯網的生態圈,涂鴉智能,我最早接觸涂鴉大概是在2016的時候,記得當時有一個做植物燈具的廠家,想用手機控制家里的植物照明燈,并且實時監測家里的環境資料并記錄,
如果按照當時的技術水平和技術思維,大部分開發者都會想著自己搭建服務器,然后自己開發硬體,自己開發手機應用,這一整套下來,光是服務器的搭建和維護成本已經不低,
當時老板不知道在什么地方找到涂鴉,交到我手上的,是一款涂鴉開發板;我應該是當時比較早的嘗鮮開發者了,那時候的開發檔案雖然沒有現在完善,但參考檔案已經可以實作設備聯網,資料記錄,手機應用控制這些基本功能,
當時我記得采用的開發方式是,設備端使用涂鴉提供的MCU_SDK接入涂鴉云平臺,手機APP是采用涂鴉提供的SDK進行開發的,專案比較順利,進行了不到兩個月就進入了量產階段,直到今天產品仍然在量產,
用涂鴉方案開發完兩三個專案之后,我就跳槽了,轉到了其他技術方向,之后有三四年的時間就沒有使用過涂鴉方案了,
以上是我使用涂鴉物聯網方案的一段作業小經歷,

最近,偶然間在公眾號刷到涂鴉IoT的資訊,因為記得自己當時有注冊賬號,于是,登錄上去看看~
對比起幾年前,涂鴉確實發展了很多,平臺增加了人工智能和工業物聯網的相關內容,第三方云接入,完全自定義的手機界面,等等,
大概看了一下各種開發檔案后,忽然想起我手上剛剛好有一款小熊派物聯網開發板,于是就想嘗試一下,把小熊派接入涂鴉IoT平臺,然后自己設計一個簡單的UI界面,再次學習一下涂鴉IoT平臺的開發接入程序,
以前也寫過不少小熊派物聯網開發板相關的文章,小熊派官方是接入華為云的,我之前也已經把小熊派接入騰訊云并實作了MQTT通信,相關的文章可以查閱我的博客或公眾號,
現在,我嘗試把小熊派接入涂鴉IoT平臺,并實作以下簡單的功能:
(1)通過涂鴉提供的WiFi模塊,設備接入涂鴉IoT平臺,設備可以通過手機進行配網操作,
(2)設備通過配網指示燈提示配網程序,并可以通過按鍵解除配網,
(3)設備上報溫濕度傳感器和光照傳感器的資料資訊,云平臺進行資料記錄,曲線顯示,
(4)手機APP界面顯示資料資訊,可下發控制指令,控制電機和紫光燈,
(5)LCD界面顯示設備運行資訊,
以下是涂鴉IoT平臺的思維導圖及開發程序,

注冊開發者賬號
1、首先,根據涂鴉官方的指引,注冊一個開發者賬號,然后使用該賬號登錄涂鴉IoT開發平臺,即可進行物聯網產品開發,注冊頁面和登錄頁面如下圖所示,
賬號注冊鏈接:https://t.tuya.com/AY1D3R8xay

創建產品
2、涂鴉IoT平臺登錄成功后,即可進入平臺首頁,在平臺首頁可以查看到創建的產品總數,以及各種開發中的產品資訊,如下圖所示,

3、點擊創建產品按鈕,即可進入產品創建頁面,由于我們使用的是小熊派物聯網開發板,屬于涂鴉產品庫里面的非標準品類,因此,我們使用【找不到品類】功能,創建一款開發者自定義的產品,接入涂鴉IoT平臺,這樣的靈活性更高,如下圖所示,

4、根據產品的實際情況,填寫產品資訊,我使用的是小熊派物聯網開發板,實作了植物環境監測的功能,因此,我創建的產品資訊,如下圖所示,

5、產品創建成功后,IoT平臺會為該產品生成唯一的PID,由于我們是開發一款非標準產品,里面的功能節點都是自定義的,因此我們不添加任何涂鴉產品庫里面的功能節點,點擊【確定】,進入產品開發頁面,
定義產品功能
6、涂鴉的IoT平臺非常人性化,根據智能硬體的開發流程,設定好了開發引導,對于所有的智能硬體開發,基本都遵循了【功能定義】、【設備面板】、【硬體開發】、【產品配置】、【設備除錯】、【測驗服務】這個流程,如下圖所示,

7、對于開發一款智能硬體設備,需要先對其進行功能定義,對于需求模糊的產品,是沒有辦法進入產品開發階段的,因此,在進行硬體設備開發和手機APP開發之前,先定義產品的功能,對于我們將要開發的小熊植物監測設備,需要添加自定義功能,如下圖所示,

8、所有植物監測設備的自定義功能添加完成后,如下圖所示,至此,我們完成了在IoT平臺上確定一款智能硬體的具體功能,并且可以進行下一步的設備面板開發和設備硬體開發,

開發設備顯示面板
9、一個優秀的APP顯示界面是十分重要的,涂鴉IoT平臺為開發者提供了多種APP界面設計方式,如Studio面板,SDK開發面板,定制面板,自由配置面板,
Studio面板,是使用涂鴉提供的界面設計工具,使用拖曳的方式進行界面設計,所見即所得,
SDK開發面板,是使用涂鴉提供的SDK,進行手機APP界面開發,
定制面板,是向涂鴉提供面板設計需求并付費后,涂鴉進行界面開發,
自由配置面板,是用于專案除錯階段,功能完整但美觀度不足,

10、根據我們自己的實際情況,我選擇了使用Studio面板進行界面開發,進入Studio面板開發界面后,可以在頁面左側拖曳控制元件,然后在頁面右側設計各個控制元件的屬性,對于如何進行Studio面板開發,涂鴉也提供了一系列的檔案,如下圖所示,

11、界面設計完成后,即可進行發布,點擊右側的發布按鈕,按照發布流程進行操作,在發布之前,也可以使用預覽功能對界面進行預覽,沒問題后進行發布,發布后的界面也支持修改,如下圖所示,

至此,APP界面開發已經完成,發布成功后的界面會同步到手機APP端,在設備登錄IoT平臺成功后,即可用自己設計的界面操作設備,界面開發完成后,即可開始設備硬體開發,
開發設備硬體
12、涂鴉提供了三種方式接入IoT平臺,分別是Link SDK,MCU SDK,TuyaOS,我們這次開發是采用了MCU SDK的方式接入涂鴉云的,并且選用涂鴉提供的WR3 WiFi模塊作為聯網模塊,如下圖所示,

13、設定完成后,即可在頁面下載功能點除錯檔案,快速入門指南,MCU SDK,模組串口協議,涂鴉模組除錯助手,下載的這些檔案,可以幫助我們更好地進行硬體設備開發,如下圖所示,

14、接下來的作業,需要移植MCU_SDK到小熊派物聯網開發板,MCU_SDK是涂鴉IoT平臺根據產品的功能點,自動生成的一套設備代碼,這套代碼需要根據不同的芯片平臺進行移植,SDK的代碼檔案如下圖所示,
mcu_api檔案,提供一系列開發者主動呼叫的函式,比如記憶體操作,資料型別轉換,DP資料上報,復位wifi模組,或者wifi模組資訊,等等,
protocol檔案,開發者需要修改此檔案,實作功能點的資料處理,包括下發和上報功能,此檔案內有具體的移植提示,需要重點關注,
system檔案,主要是涂鴉平臺通信協議的決議,一般不需要修改,
wifi.h檔案,使用涂鴉sdk里面的函式時,需要包含此頭檔案,
15、把MCU_SDK里面的檔案,復制到工程代碼里面,并且添加到編譯器里,在編譯器里面設定好頭檔案相關的路徑,如下圖所示,

16、為了更好地進行各種任務調度,軟體工程里面添加了一個作業系統抽象層的調度器,并且創建了一些任務事件,關于這個調度器的具體原理及使用方式,可以參考以下文章,
開源 | 嵌入式物聯網專案開發 - 基于任務和事件的OSAL調度器_EmbedIoT Studio-CSDN博客
17、對于WiFi模組的各種任務事件處理,主要放在wifi_task.c檔案里面,在這個檔案里面,主要是對涂鴉wifi協議的初始化,并且創建一個持續的任務,不斷獲取wifi模塊的狀態資訊,以及不斷呼叫wifi_uart_service()函式處理WiFi模組的任務,
18、wifi_task.c檔案還提供了WiFi模組的復位操作,以及清除配網資訊操作,關鍵的原始碼如下圖所示,

19、當用戶在手機界面操作的時候,IoT平臺就會下發指令到設備端,設備端需要呼叫相應的函式進行處理,處理函式在protocol.c檔案里面,比如,當用戶點擊app上面的按鈕的時候,打開電機,則開發者需要把電機的驅動函式放到protocol.c相應的DP功能函式里面,如下圖所示, 
20、對于需要開發者上報的功能點資料,可以通過MCU SDK提供的功能點上報函式進行處理,在all_data_update()函式里面,有各個功能點的上報函式,這些函式開發者可以在適當的時候進行呼叫,如下圖所示,

21、大部分的功能邏輯都在user_task.c檔案里面進行處理,如周期地獲取傳感器資料,重繪LCD顯示屏,并且周期地把資料上傳到涂鴉IoT后臺,具體的代碼實作如下圖所示,

22、至此,硬體設備相關的開發已經進行得差不多,具體的原始碼工程我已經上傳到gitee,原始碼的下載鏈接如下所示,
bearpi_tuya_project: 小熊派接入涂鴉云平臺
設備除錯
23、界面和設備開發完成后,就可以進行設備除錯了,可以通過【智能生活】APP,對設備進行配網操作,配網成功后,就會在APP端看到我們自己設計的界面,可以通過這個界面看到設備上報的資訊,以及對設備進行控制,

24、除了使用APP進行設備除錯之外,也可以使用涂鴉IoT平臺上面的設備除錯界面,進行設備除錯,在頁面添加了設備的ID資訊后,就可以用APP掃描二維碼,進入設備除錯界面,這個設備除錯界面可以列印出除錯程序的資料,有利于開發者進行分析,

設備發布上線
25、設備開發完成后,就可以進行發布上線,在產品開發的主頁面右上角,可以點擊【發布產品】按鈕,根據界面提示進行操作,即可發布產品,如下圖所示,

26、設備的運行界面以及手機APP的運行界面,如下圖所示,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/381095.html
標籤:其他
