手机访问智能硬件的三种基本模式:B/S模式、C/S模式、云模式。
mingdu.zheng at gmail dot com
B/S模式
B/S模式要求智能硬件提供WiFi通信模块的同时还具备Web服务器功能,手机通过浏览器访问智能硬件Web服务器上的HTML5页面就可以实现与智能硬件的交互。
B/S模式的优势:
- 使用浏览器作为客户端,手机自带浏览器,因此不需要安装客户端软件。
- 一次开发就可以支持不同类型的手机,Android,iPhone,Windows Phone。
- 除了手机,还可以使用平板电脑、智能电视,以及传统的笔记本电脑和台式机。
B/S模式的劣势:
- 需要比较强劲的可以支持Web服务器功能的WiFi模块,例如VoCore。
- 远程访问需要配置路由器进行端口映射。
B/S模式总结:
开发成本比较低,一次开发任意终端访问。硬件成本相对较高。适合对开发成本比较敏感,而对硬件成本不太敏感的项目。
C/S模式
C/S模式要求智能硬件提供WiFi或蓝牙通信模块,例如WiFi转串口模块、蓝牙转串口模块,手机App通过WiFi或蓝牙通信与智能硬件进行交互。
C/S模式的优势:
- 智能硬件端的通信模块比较简单,成本低廉。
C/S模式的劣势:
- 需要开发手机App,不同类型的手机需要不同的App,即使采用HTML5技术,仍然需要不同手机平台的运行时环境。
- 如果使用蓝牙,可能不被iPhone支持。
- 不能通过传统的笔记本电脑和台式机访问,如果有需求,那还得重新开发桌面版应用。
- WiFi远程访问需要配置路由器进行端口映射。
- 蓝牙不能远程访问。
C/S模式总结:
硬件成本相对较低,开发成本比较高,需要为不同的终端开发和发布App。适合对硬件成本比较敏感,但对开发成本不太敏感或者只需要支持少数几种终端(比如只需要支持Android手机)的项目。
云模式
云模式要求智能硬件提供有线或无线通信模块,通信模块必须能够接入互联网,智能硬件向云端服务器汇报数据和状态,手机通过App或HTML5页面访问云端服务器获取智能硬件的数据和状态。
云模式的优势:
- 可以远程访问。
- 可支持大量智能硬件接入。
- 可以借用云服务商提供的App框架简化App开发
云模式的劣势:
- 需要租用云服务,目前部分云服务提供免费公测。
- 接入互联网需要支付通信费用。
云模式总结:
需要支付云服务费和通信费,开发成本依赖于云服务商所提供的App框架,通信模块有多种选择,成本高低不等。适合需要远程访问或者大量节点的项目。
混合模式
可以通过支持多种模式达到平衡各种模式优缺点的目的。例如结合B/S模式和云模式,智能硬件具备Web服务器以及推送数据入云的能力,当智能硬件不具备接入互联网的条件时,手机通过B/S模式访问智能硬件。当智能硬件接入互联网且在外地的情况下,手机通过云模式访问智能硬件。