拒絕平庸,以程序員的名義定義新桌面!

經過近半年時間的角逐,騰訊雲IoT應用創新大賽日前完滿落下帷幕,大賽期間不少優秀的作品脫穎而出,獲得了評委和讀者們的認可和喜愛。本文是對其中一篇獲獎作品的摘錄,基於TencentOS tiny與騰訊雲物聯網開發平臺IoT Explorer,打造一款實現創意桌面的個性化物聯網小產品。

點擊視頻,查看詳細作品展示

一、作品簡介

現代人羣與各類電子終端的接觸時間越來越長,桌面作爲經常伴隨的環境,成爲了我們視線和注意力最集中的一角,說是一片個人的小天地也不爲過。

 

好的桌面環境會給我們帶來更好的感受,人們希望能夠讓自己的桌面充實一點,個性化一點,更加智能化一點,保持整潔光亮不枯燥。在此思想出發,本文作者基於TencentOS tiny與騰訊雲物聯網開發平臺IoT Explorer,打造了一款實現桌面個性化的物聯網作品,並且可以通過微信小程序去控制。

 

”Hello-IoT 創意桌面擺件”專注打造個性化桌面!

 

 

1. 爲什麼推出這款產品?

 

通過大賽提供的機會使用TencentOS tiny和騰訊雲物聯網開發平臺IoT Explorer,感受IoT帶來的便捷與創新,並且設計一個稍微實用而不失美觀的作品,讓大家都有機會去體驗。

 

桌面成了我們經常伴隨的環境,桌面環境也在潛移默化影響着我們,好的桌面環境會給我們帶來更好的感受。基於這些考慮,做出了這樣的作品。

 

2. 爲什麼需要聯網以及通過微信小程序控制?

 

(1)成本削減

 

通過聯網和利用微信小程序控制,可以去掉一部分硬件成本。屏幕使用的觸摸屏成本還是比較高的,通過使用裸屏幕顯示就可以把硬件上的電容觸摸屏方案省掉。能夠把硬件成本壓縮下去,作爲一個消費級電子產品才更具備競爭力。

 

(2)適應更多場景

 

通過微信小程序能夠實現更多的應用場景,隨着今後物聯網應用的推廣,以後可能會推出更多的應用功能。

 

(3)降低開發難度

 

微信小程序的界面開發比嵌入式平臺的界面開發相對來說容易很多,也更易於實現更多的功能和更友好的用戶交互界面。

 

(4) 融入騰訊雲生態

 

通過使用騰訊的TencentOS tiny和騰訊雲物聯網開發平臺IoT Explorer會有穩定的服務,同時有可能通過騰訊雲的其它產品平臺實現更多的功能,實現產品功能的多樣化。

二、技術原理展示

 

1. 設備端軟件層次結構

 

首先通過xFrame單片機軟件框架來實現硬件底層和系統抽象層來適配TencentOS tiny。這樣的話就可以在不修改或者最小修改上層應用代碼的前提下適應我們不同的單片機和硬件平臺,以及RTOS。

 

其次通過Platform平臺適配層,通過虛擬的方式將單片機應用放到Windows或者Linux上運行,我們這裏相當部分的應用開發便是放到Windows上進行虛擬開發的,在電腦上虛擬了LCD/觸摸/按鍵/SPI Flash/文件系統/24C02等。

 

下圖展示了"Hello-IoT 桌面擺件“的設備端軟件層次結構圖:

 

設備端單片機的軟件層次結構圖

 

2. TencentOS tiny的移植

 

GitHub上的TencentOS tiny項目下,開發者們貢獻了很多開發板的TencentOS tiny的移植例程,我使用的單片機是STM32F103VET6,所以我直接參考整點原子的工程進行了移植。

 

把HAL庫改成了標準庫,GUI需要的內存比較大,又把TencentOS tiny的堆棧大小由0x6000改成了0x1000,其它的保留不變,移植就完成了,TencentOS tiny的移植非常簡單便捷。

 

3. 用戶交互開發

 

這裏的用戶圖形界面比較多,所以使用了一個叫做LemonGUI的組件框架方便我們的用戶交互開發,下圖爲相關的GUI組件框架結構圖:

 

GUI組件框架圖

 

4. 對接騰訊雲物聯網開發平臺IoT Explorer

 

這裏設備通過ESP8266 AT指令連接網絡,間接通過路由器與騰訊雲物聯網開發平臺IoT Explorer實現對接,在GitHub上也都提供了很多的例程參考。

 

第一次使用物聯網雲平臺感覺並沒有想象中的那麼難,佷方便,能夠把時間和精力都放到產品應用開發上,減短開發週期及時推出產品。尤其是作爲小團隊,沒有專門的人去搭建和維護服務器,使用騰訊雲物聯網開發平臺IoT Explorer是一個很不錯的選擇。

 

5.微信小程序開發

 

因爲之前有安卓界面的開發經驗和有完善素材庫的支持,所以很快實現了微信小程序的開發。

 

關於微信小程序如何通過騰訊雲物聯網開發平臺IoT Explorer控制我們的設備,GitHub上已經提供有微信小程序智慧燈的參考例程,所以我就借鑑例程進行了開發,最終實現了微信小程序對設備的操作。

 

微信小程序主界面的截圖

 

微信小程序按照原來預想的完整用戶業務對接實現,界面佈局參考了APP的樣式,這樣界面會好看一點,同時以後需要寫對應的安卓APP的話也會方便點,界面微信小程序的功能組織框架圖如下:

                         

 

6.設備硬件平臺

 

我們這裏使用的是一塊以STM32F103VET6爲主控的單片機硬件平臺,帶有ESP8266和JDY32藍牙串口模塊,以此實現聯網和輸出調試,W25Q128 Flash芯片作爲字庫和素材存儲,SD卡作爲文件系統和桌面電子相冊相片的存儲。

 

硬件PCB加上我們的LCD面板基本就可以實現最小功能了,然後搭配了一個塑料支架,可調仰俯角,方便實用。LCD面板使用ISP全視角面板,即使擺得很偏也能保持驚豔的觀看效果。

電路原理圖

 

PCB3D版圖

 

”Hello-IoT創意桌面擺件”前視圖

三、優化方向

 

1. 選用低成本硬件平臺

 

因爲相當部分人沒有製作硬件的經驗,所以藉助便宜的第三方硬件方案可能是更好的選擇。這裏選擇國產某TKM32F499,這個芯片帶有8MB的RAM和240MHz的主頻。官方硬件板卡成本價格相對來說很便宜。

 

(1)TencentOS tiny的移植

 

因爲這款MCU的是基於M4內核的,GitHub上也正好有正點原子F429開發板的TencentOS tiny移植例程。只要是內核一樣,直接複製粘貼文件就可以移植,所以移植TencentOS tiny到這個平臺是有可能的。

 

(2)板卡自帶ESP8266模塊

 

正好滿足了我們WiFi聯網到騰訊雲物聯網開發平臺IoT Explorer的需求,不過需要說明的是ESP8266的固件還是需要手動燒錄騰訊提供的固件,這個可以從GitHub上下載。

 

(3)240MHz的主頻和8MB內存

 

可以彌補當前STM32刷屏不流暢的缺點,實現更多的功能。

 

2. 通過APP訪問騰訊雲物聯網開發平臺IoT Explorer

 

由於微信小程序需要搭建服務器,不利於個人DIY,所以對設備的操作最好是使用手機APP直接訪問騰訊雲物聯網開發平臺IoT Explorer進行操作。這裏就需要把微信小程序的功能用JAVA實現到安卓APP上。騰訊雲物聯網開發平臺IoT Explorer很是完善,提供了JAVA的API接口,相信實現這麼一個APP並不會很難。

四、結語

 

騰訊雲物聯網開發平臺IoT Explorer和TencentOS tiny系統給開發者帶來的開發效率和開發便利性不是一點點的提升。作爲一個入門的產品工程師,我深知一個消費級產品對開發週期的敏感性,如果一個消費級產品沒有在最短時間內完成開發、調試、推廣,就很有可能讓競爭對手搶佔先機佔據市場份額。

 

作爲開發者應當使產品的開發週期在保證質量的前提下儘可能地短。那麼在物聯網產品的開發中怎麼才能即能保證質量的同時縮短開發週期呢?騰訊雲物聯網開發平臺IoT Explorer的出現無疑是一個很好的途徑與方式。

 

大多數嵌入式工程師往往在網絡後臺和前端都不是很擅長,騰訊雲物聯網開發平臺IoT Explorer不需要開發者實現前端與後臺只需要實現對應的接口就能網絡通信和前端用戶交互,於是用戶->設備端->網絡->服務器後臺->前端用戶交互->IoT設備端就很快捷地對接起來了。

 

舉一個例子,作者本人在本次比賽之前幾乎沒有接觸過任何網絡開發,也沒接觸過任何物聯網雲平臺,連最基本Linux下的socket通信demo和ESP8266 SDK開發都沒有接觸過,更不要說MTQQ之類的了,此前也就接觸過單片機串口通信,在物聯網行業連小白都算不上。

 

這一次比賽期間,正是基於騰訊雲物聯網開發平臺IoT Explorer,作者在一天之內就完成了ESP8266的開發環境部署與遠程控制開發,實現了基本的通信功能,所以騰訊雲物聯網開發平臺IoT Explorer在開發效率上佔據很大優勢。

 

我就是依賴GitHub上提供的參考文檔和騰訊雲物聯網開發平臺IoT Explorer的API文檔一點一點地把這個比賽作品搭建起來的。

 

另外,TencentOS tiny的多平臺支持非常全面,各個廠商的多個系列芯片還有官方板卡的例程工程應有盡有,尤其是STM32的支持連正點原子的開發板都適配了,給開發者帶來了極大的便利。

 

參考資料:

[1] 騰訊雲物聯網開發平臺IoT Explorer:

https://cloud.tencent.com/product/iotexplorer

[2] TencentOS tiny:

https://github.com/Tencent/TencentOS-tiny

 

點擊查看作品路演PPT~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章