物聯(lián)網(wǎng)設(shè)備和單純的嵌入式設(shè)備最大的區(qū)別是否聯(lián)網(wǎng),如果能夠聯(lián)網(wǎng),就需要對(duì)設(shè)備端和云端進(jìn)行相應(yīng)的編程或者設(shè)置,讓它們之間進(jìn)行通信;如果不需要聯(lián)網(wǎng),那么燒錄軟件,讓設(shè)備自動(dòng)工作即可,不需要考慮網(wǎng)絡(luò)通信問題。
此外,有些場(chǎng)合需要提供移動(dòng)端APP,而且一旦有了APP加持,能夠讓你的項(xiàng)目顯得瞬間高大上。對(duì)于找工作的同學(xué)而言,能夠制作APP可以讓你找工作更加容易,對(duì)于小公司而言,能夠不依賴第三方提供物聯(lián)網(wǎng)APP,也能極大地節(jié)約研發(fā)成本。
本文就簡(jiǎn)單介紹當(dāng)前幾種物聯(lián)網(wǎng)控制APP模式,讓大家了解幾種不同的技術(shù)路線。
在線生成APP源代碼模式
在線生成APP源代碼的模式以“機(jī)智云”為代表,當(dāng)你的項(xiàng)目設(shè)置完成后(定義數(shù)據(jù)點(diǎn)是關(guān)鍵),可以在線生成代碼包,然后下載之后進(jìn)行編譯。
在機(jī)智云開發(fā)者中心可對(duì)項(xiàng)目的移動(dòng)端程序進(jìn)行設(shè)置。
可參考文章使用ESP8266模塊DIY一個(gè)熱水器控制器,使用機(jī)智云后臺(tái) (二)。
總結(jié)
優(yōu)點(diǎn):可以通過簡(jiǎn)單的步驟生成源代碼,后續(xù)還可以修改。
缺點(diǎn):開機(jī)畫面以及步驟是機(jī)智云統(tǒng)一風(fēng)格的,還需要登錄用戶,不能打開APP就是控制自己設(shè)備的界面。
在線APP開發(fā)方式
更方便的在線APP開發(fā)方式是使用機(jī)智云新版開發(fā)平臺(tái)(需提前定義數(shù)據(jù)點(diǎn)),在線自定義APP的功能頁(yè)面、展示信息,自己替換logo、根據(jù)模板來修改圖標(biāo)位置大小等,開發(fā)出自己的APP。
進(jìn)入到“人機(jī)交互”界面之后,就可配置APP的界面。
總結(jié)
優(yōu)點(diǎn):基本不用什么APP開發(fā)基礎(chǔ),也不用修改代碼,就能形成個(gè)性化APP。
第三方公版APP子設(shè)備模式
同樣以“ 機(jī)智云”為代表,這類APP 的特點(diǎn)是大廠提供“公版APP“,自己的設(shè)備可以通過申請(qǐng)加入到大廠的平臺(tái)中,作為一個(gè)子設(shè)備(APP界面中的一個(gè)特定的小圖標(biāo))運(yùn)行,點(diǎn)擊了這個(gè)小圖標(biāo)之后,就進(jìn)入了一個(gè)專屬的頁(yè)面。
總結(jié)
優(yōu)點(diǎn):只需要在機(jī)智云開發(fā)者平臺(tái)創(chuàng)建項(xiàng)目定義數(shù)據(jù)點(diǎn),聯(lián)系機(jī)智云申請(qǐng)綁定相關(guān)設(shè)備,即可直接使用。
APP殼嵌套網(wǎng)頁(yè)模式
APP殼嵌套網(wǎng)頁(yè)模式的開發(fā),核心是自己像開發(fā)網(wǎng)站一樣,做出來一個(gè)能夠控制自己物聯(lián)網(wǎng)設(shè)備的網(wǎng)頁(yè)或者網(wǎng)站,然后做一個(gè)APP的殼,打開APP之后,界面實(shí)際上是打開了自己網(wǎng)站的頁(yè)面。
再簡(jiǎn)單點(diǎn)來說,就像是做了一個(gè)瀏覽器APP,只不過這個(gè)瀏覽器是沒有地址輸入框的,打開就是自己的網(wǎng)站。
制作的方法有兩種,第一種是自己寫框架,第二種是通過第三方生成框架。
框架的核心是瀏覽器。自己寫框架,可以用Android Studio寫,調(diào)用內(nèi)置的webview組件,瀏覽指定的網(wǎng)址;第三方框架,很多是支持無代碼編程的,比如H5APK等等,搜索關(guān)鍵詞“安卓網(wǎng)頁(yè)封裝APP”,就可以將你的網(wǎng)頁(yè)打包成APP了。
總結(jié)
優(yōu)點(diǎn):如果是做了APP框架,那么理論上它就是一個(gè)瀏覽器,不用升級(jí)的。你的網(wǎng)站或者網(wǎng)頁(yè)更新了之后,再次打開它,就是最新的頁(yè)面。不用像安卓原生應(yīng)用一樣老是升級(jí)。
缺點(diǎn):要有域名、服務(wù)器(或者物聯(lián)網(wǎng)云平臺(tái))、還要經(jīng)過工信部和公安備案的過程,比較繁瑣。第三方封裝還需要收費(fèi)。
AndroidStudio原生APP模式
不管是那種APP,其設(shè)計(jì)目的都是讓物聯(lián)網(wǎng)設(shè)備可以在移動(dòng)端進(jìn)行控制,讓用戶用手機(jī)或者平板等移動(dòng)設(shè)備可以方便地進(jìn)行操作。
對(duì)于商業(yè)項(xiàng)目來說,一般要求APP定制化,客戶需要什么就定制成什么樣子。在這種情況下,最好還是要學(xué)會(huì)自己編寫APP才能實(shí)現(xiàn)客戶需求。
其實(shí)APP的核心是實(shí)現(xiàn)與云后臺(tái)的通信和設(shè)備控制。它難在通信能否實(shí)現(xiàn)。
通信的核心在哪里?在MQTT客戶端。它其實(shí)并不難。為什么不難?我們搞清楚它是怎么工作的,然后在APP源代碼里面實(shí)現(xiàn)它就行了。
機(jī)智云通訊模型
設(shè)備與云端的通訊分為了GService和M2M:GService采用http協(xié)議,負(fù)責(zé)設(shè)備注冊(cè)、注銷等;M2M采用MQTT協(xié)議,負(fù)責(zé)進(jìn)行實(shí)時(shí)性較強(qiáng)的數(shù)據(jù)操作。
這種雙中心的劃分非常棒,充分發(fā)揮了兩種協(xié)議的優(yōu)勢(shì),http的特點(diǎn)是簡(jiǎn)單,MQTT的訂閱通知特性又有非常棒的實(shí)時(shí)性。普通的云平臺(tái),就單獨(dú)使用http完成了注冊(cè)登錄、還做數(shù)據(jù)上報(bào),下行控制等功能。
開發(fā)指南:
http://docs.gizwits.com/zh-cn/quickstart/iOSAPPFrame.html
開發(fā)一款A(yù)PP:
https://club.gizwits.com/thread-8781-1-1.html
總結(jié)下來編寫APP并不難,通過本篇分析常見的APP開發(fā)模式,希望大家能夠?qū)ξ锫?lián)網(wǎng)APP開發(fā)有所了解,根據(jù)所開展的項(xiàng)目,合理選擇開發(fā)模式,在預(yù)算和時(shí)間可控范圍內(nèi),快速地開發(fā)出適合的APP。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2911文章
44824瀏覽量
375117
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論