|
最近月余一直在折騰機(jī)智云的事,直到今天才算是將自己的單片機(jī)系統(tǒng)接入了機(jī)智云平臺(tái),有了一種“物聯(lián)天下”的自豪感;感覺家里像個(gè)電信局了。“機(jī)智云”是一個(gè)面向開發(fā)者的免費(fèi)開放的互聯(lián)網(wǎng)服務(wù)平臺(tái),通過這個(gè)服務(wù)器將以單片機(jī)為主的智能硬件與智能手機(jī)聯(lián)系起來,實(shí)現(xiàn)三者之間的通信,這就是所謂的“物聯(lián)網(wǎng)”技術(shù)(IOT)。說到物聯(lián)網(wǎng)就不得不說WIFI硬件:市場上以安信可ESP8266系列WiFi模塊為主,當(dāng)然還有其他類型芯片;這些模塊既可以用AT指令也可以用開源的SDK編程。編譯軟件一般是eclipse,這時(shí)就可以將ESP8266系列WiFi模塊當(dāng)成普通單片機(jī)開發(fā)了。
雖然說機(jī)智云為開發(fā)者準(zhǔn)備好了智能硬件的工程模板和手機(jī)APP模板,省去了開發(fā)者對單片機(jī)和以太網(wǎng)的大量復(fù)雜通信協(xié)議設(shè)計(jì),但是畢竟涉及到的知識(shí)面很廣,比如單片機(jī)編程,互聯(lián)網(wǎng),智能手機(jī)APP開發(fā)。這三樣?xùn)|西樣樣不是省油的燈,夠一個(gè)人學(xué)習(xí)一輩子的了;好在機(jī)智云都提供了相應(yīng)的工程模板。在我看來機(jī)智云提供的單片機(jī)工程模板是比較復(fù)雜的,沒有相當(dāng)?shù)腃語言編程基礎(chǔ)可以說是很難理解和做到“為我所用”的,而且還需要登錄機(jī)智云網(wǎng)站下載相應(yīng)的通信協(xié)議文檔與工程模板源碼對應(yīng)分析才能有眉目。
關(guān)于互聯(lián)網(wǎng)的一些重要概念這里說說:TCP/IP協(xié)議(面向網(wǎng)絡(luò)傳輸層的通信協(xié)議,解決數(shù)據(jù)如何傳輸?shù)膯栴}),UDP協(xié)議,DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議,IP地址動(dòng)態(tài)分配),HTTP協(xié)議(面向應(yīng)用層的文本傳輸協(xié)議,解決數(shù)據(jù)怎么用的問題) ;TCP服務(wù)端(sever)和客戶端(client),就如同打電話一樣需要一個(gè)主叫和被叫一樣,端口號(hào)就如同電話的分機(jī)。TCP或者UDP通信必須有TCP服務(wù)端(sever)和客戶端(client)這二者,作為TCP服務(wù)端(sever)時(shí)無需配置IP地址和端口號(hào),但是作為客戶端(client)時(shí)就必須知道通信對方的IP地址和端口號(hào)。ARP地址解析協(xié)議,URL(統(tǒng)一資源地址,針對服務(wù)器而言)等等這些概念必須學(xué)習(xí)了解。
本人用的是西蘭花F1開發(fā)板+安信可ESP8266-07模塊,先將機(jī)智云提供的GAgent固件下載到ESP8266-07模塊;GAgent是運(yùn)行在各種通訊模組上的一款應(yīng)用程序,可以提供上層應(yīng)用(手機(jī)APP等控制端、云端)到產(chǎn)品設(shè)備的雙向數(shù)據(jù)通訊,此外,還提供對設(shè)備的配置入網(wǎng)、發(fā)現(xiàn)綁定、程序升級(jí)等功能。產(chǎn)品開發(fā)者使用GAgent后,只需要關(guān)心產(chǎn)品的業(yè)務(wù)邏輯開發(fā),不用關(guān)心數(shù)據(jù)的通訊功能開發(fā),大大降低了開發(fā)的難度。該固件遵循以下協(xié)議《機(jī)智云平臺(tái)標(biāo)準(zhǔn)接入?yún)f(xié)議之MCU與WiFi模組通訊》、《機(jī)智云平臺(tái)標(biāo)準(zhǔn)接入?yún)f(xié)議之設(shè)備與云端通訊》、《機(jī)智云平臺(tái)標(biāo)準(zhǔn)接入?yún)f(xié)議之App與設(shè)備通訊》。據(jù)我所知GAgent固件沒有開源。GAgent固件下載到ESP8266-07模塊之后就是更改機(jī)智云提供的單片機(jī)工程模板,實(shí)現(xiàn)自己所要的功能,編譯通過之后下載到單片機(jī)。注意,在APP與F1匹配配置好之后,每次更新單片機(jī)程序,手機(jī)APP都需要重新綁定一次硬件!經(jīng)本人測試智能硬件和手機(jī)在局域網(wǎng)WIFI環(huán)境下可以實(shí)現(xiàn)WIFI之間的通信。如果關(guān)閉家里的WIFI手機(jī)與智能硬件之間就不能實(shí)現(xiàn)WIFI“點(diǎn)對點(diǎn)”的通信了(這是個(gè)小小的缺憾)。手機(jī)在沒有WIFI的環(huán)境下,手機(jī)可以通過流量與智能硬件通信(必須置于廣域網(wǎng)環(huán)境下)。 接入機(jī)智云關(guān)鍵的是要分析搞懂F1工程模板的源代碼,理解互聯(lián)網(wǎng)通信基礎(chǔ)知識(shí)。
在此基礎(chǔ)上,要做的事情還很多很多;比如將通信協(xié)議嵌入自己的工程中,加入uc/os-ii操作系統(tǒng)和FAT32文件系統(tǒng),emwin;讓智能硬件更加智能;E4A的開發(fā)也需要大量的時(shí)間和精力。還有WIFI模塊的SDK開發(fā),等等......
有點(diǎn)亂!
////////////////-----GKXW----4月15日00:20:28--///////////////////////////////////////////////////
|
評(píng)分
-
查看全部評(píng)分
|