1、前言
一般 iOS 开发者做 App 开发大部分时候都是通过 Http(s) 请求跟后台服务器打交道,做一些信息展示和用户交互。很少涉及到去跟外部硬件设备连接的开发。随着近年来车联网和物联网的兴起,智能家居和智能硬件的逐步火热,越来越多的 App 被开发出来,用来跟硬件设备进行来连接,获取硬件相关信息展示或者发送指令控制硬件来提供服务。本文就针对 iOS 的 App 如何跟外部设备进行连接通信这个问题进行讲解。
如下图所示,iOS App 连接外设的常用方式可以分为三大类:
2、通过网络端口通信
建立 Socket 使用 TCP/IP 协议族进行通信,天然支持多通道,想要几个通道就建几个 socket 就行了。
关于如何使用 Socket 进行 TCP、UDP,推荐 github 上的开源项目 CocoaAsyncSocket。
通过网络端口通信主要有三种方式:Wi-Fi 连接、USB 热点共享连接、NCM 连接。
2.1 Wi-Fi 连接
优点是:简单,不需要集成 MFi 芯片,只要对应的硬件有无线网卡,然后手机和硬件连接到同一个局域网中就可以使用 socket 通过网络协议通信了。
- 缺