講講如何搭建一個物聯網方案

IoT是Internet Of Things的縮寫,也就是如今火熱的物聯網了,像小米華爲京東格力等等大廠都推出了自家的智能家居產品,都屬於物聯網的範疇。這裏不具體講代碼如何實現,講講對於我的開發者如何利用已有的開源資源搭建本身的物聯網方案,好比經過阿里雲平臺遠程控制家裏的門鎖、空調,或者複雜一點設計好聯動規則,當煙感傳感器上報的數據達到必定閾值時,發送指令開啓滅火設備。ios

首先介紹一下端側的操做系統,給一張aliosthings的產品架構圖:數據庫

                     

     

Alios操做系統在整個產品鏈中極爲重要,起到爲阿里海量數據平臺引流的做用。基於組件豐富的操做系統能夠極大的提升開發效率,我的開發者基本不用操心繫統層面的東西。小程序

從AliOSThings的產品架構來看,目前AliOS Things已經適配了主流的芯片和模組,提供了一個最精簡的RTOS內核,包括任務調度、內存管理、IPC通訊、異常處理等。基於RTOS內核,還提供了很是豐富的物聯網組件,包括低功耗框架、空中升級、KV存儲、安全防禦等。安全

既然是作物聯網解決方案,網絡鏈接方面確定要集成主流的物聯網協議,包括:MQTT、CoAP、NB-IOT等。同時官網也提供了已落地生產的應用案例,開發者能夠基於這些案例作擴展,快速完成本身的物聯網應用。網絡

 

下面說說如何動手開發。首先固然是淘寶一塊開發板,stm32l1系列的開發板,選配溫溼度傳感器和光照傳感器就行。由於須要上報數據給雲端,因此須要一個通訊模組,能夠選esp8266的WiFi模組。
架構

系統啓動流程框架

爲了讓alios跑起來,先講一下系統啓動流程:芯片上電以後,會作板級的初始化,而後進行內核的初始化;接着建立任務,編寫任務邏輯;最後啓動內核,開始任務調度。前面的內核初始化已經適配好了,咱們只須要編寫本身的任務程序就行。異步

物聯網物聯網,最重要的就是要聯網發送數據。上面的一套方案,具體的TCP/IP實如今WiFi模組中實現,業務功能跑在開發板的MCU上面,須要給雲平臺上報數據時,調用模組的AT指令包裝一下就行。socket

由於廠商衆多,各家的模組的AT指令集可能不同,alios設計了AT框架,主芯片只須要調用socket接口就能實現模組的異步收發。阿里雲

數據上報給雲

試想一下,好比你想控制家裏的燈,可是指令發送的一瞬間家裏的設備斷網了,怎麼辦?阿里雲平臺那邊基於MQTT的推送功能提供了設備影子方案(基本各個雲平臺都有這個功能),就是在數據庫保存設備的最新狀態,等待設備從新建連時再將指令發送下去。

手機端應用開發

對於物聯網應用來講,使用小程序是很是好的選擇,由於物聯網方案中每每會要求設備交互,好比一個沒有聯網的音箱若是要連WiFi,須要提供WiFi熱點、WiFi密碼等信息,但物聯網設備是沒有輸入的入口的,這個時候就須要APP有藍牙的能力。小程序依託於支付寶提供的接口,能夠很方便地調用手機的藍牙、WiFi、NFC等硬件能力,實現設備交互的場景。

設備接入雲端

最後一步就是將通訊設備接入雲平臺了。前面使用WiFi模組與平臺通訊,通常模組上都有IMEI號,以下圖,將IMEI號經過調用AT指令發送給雲平臺就能夠註冊設備了。

固然,要是想設計一套智能家居方案,通常配置一個網關接入比較方便,由網關管理家裏的各類設備。

相關文章
相關標籤/搜索