iOS development
一般iOS開發(fā)者做APP開發(fā)大部分時候都是通過Http(s)請求跟后臺服務(wù)器打交道,做一些信息展示和用戶交互。很少涉及到去跟外部硬件設(shè)備連接的開發(fā)。隨著近年來車聯(lián)網(wǎng)和物聯(lián)網(wǎng)的興起,智能家居和智能硬件的逐步火熱,越來越多的app被開發(fā)出來,用來跟硬件設(shè)備進行來連接,獲取硬件相關(guān)信息展示或者發(fā)送指令控制硬件來提供服務(wù)。故本文就針對iOS的app如何跟外部設(shè)備進行連接通信這個問題跟大家交流一下,如有不正確的地方懇請各位看官指正。本文原創(chuàng),歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明出處。
如上圖所示,我把iOS App連接外設(shè)的常用方式總結(jié)了一下,可以分為三大類:
iOS App連接外部硬件方式第一類是通過網(wǎng)絡(luò)端口
建立Socket使用TCP/IP協(xié)議族進行通信,天然支持多通道,想要幾個通道就建幾個socket就行了。它主要有三種方式,第一種方式是Wi-Fi連接,優(yōu)點是:簡單,不需要集成MFi芯片,只要對應(yīng)的硬件有無線網(wǎng)卡,然后手機和硬件連接到同一個局域網(wǎng)中就可以使用socket通過網(wǎng)絡(luò)協(xié)議通信了。缺點也很明顯:(1)無線連接信號容易受到干擾,不太穩(wěn)定,容易斷開;(2)如果硬件使用的場合沒有公共wifi,就需要手機自建熱點共享,硬件進行熱點接入,操作步驟較多,對用戶來說學(xué)習(xí)使用成本較高,并且熱點共享要求手機本身的數(shù)據(jù)移動網(wǎng)絡(luò)是穩(wěn)定的,在沒有移動數(shù)據(jù)網(wǎng)絡(luò)信號的地方,熱點無法建立。