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