<p>本文介绍了手机访问智能硬件的三种基本模式:B/S模式、C/S模式、云模式。</p>
<p><strong>B/S模式</strong></p>
<p>B/S模式要求智能硬件提供WiFi通信模块的同时还具备Web服务器功能,手机通过浏览器访问智能硬件Web服务器上的HTML5页面就可以实现与智能硬件的交互。</p>
<p><img alt="B/S模式" data-entity-type="file" data-entity-uuid="a190d2fe-346e-46af-ba6d-55fe80301f37" src="/sites/default/files/inline-images/BS%E6%A8%A1%E5%BC%8F_0.JPG" /></p>
<p id="bs模式的优势"><strong>B/S模式的优势:</strong></p>
<ul>
<li>使用浏览器作为客户端,手机自带浏览器,因此不需要安装客户端软件。</li>
<li>一次开发就可以支持不同类型的手机,Android,iPhone,Windows Phone。</li>
<li>除了手机,还可以使用平板电脑、智能电视,以及传统的笔记本电脑和台式机。</li>
</ul>
<p id="bs模式的劣势"><a name="t2"></a><strong>B/S模式的劣势:</strong></p>
<ul>
<li>需要比较强劲的可以支持Web服务器功能的WiFi模块,例如VoCore。</li>
<li>远程访问需要配置路由器进行端口映射。</li>
</ul>
<p id="bs模式总结"><a name="t3"></a><strong>B/S模式总结:</strong></p>
<p>开发成本比较低,一次开发任意终端访问。硬件成本相对较高。适合对开发成本比较敏感,而对硬件成本不太敏感的项目。</p>
<p id="cs模式"><a name="t4"></a><strong>C/S模式</strong></p>
<p>C/S模式要求智能硬件提供WiFi或蓝牙通信模块,例如WiFi转串口模块、蓝牙转串口模块,手机App通过WiFi或蓝牙通信与智能硬件进行交互。</p>
<p><img alt="C/S模式" data-entity-type="file" data-entity-uuid="d7e8d216-15ad-4ace-bdcb-ae1e1722de94" src="/sites/default/files/inline-images/cs%E6%A8%A1%E5%BC%8F.JPG" /></p>
<p><img alt="cs链接" data-entity-type="file" data-entity-uuid="fa324eeb-23fd-4924-a575-9b2a78fa1bc1" src="/sites/default/files/inline-images/cs%E9%93%BE%E6%8E%A5.JPG" /></p>
<p id="cs模式的优势"><strong>C/S模式的优势:</strong></p>
<ul>
<li>智能硬件端的通信模块比较简单,成本低廉。</li>
</ul>
<p id="cs模式的劣势"><a name="t6"></a><strong>C/S模式的劣势:</strong></p>
<ul>
<li>需要开发手机App,不同类型的手机需要不同的App,即使采用HTML5技术,仍然需要不同手机平台的运行时环境。</li>
<li>如果使用蓝牙,可能不被iPhone支持。</li>
<li>不能通过传统的笔记本电脑和台式机访问,如果有需求,那还得重新开发桌面版应用。</li>
<li>WiFi远程访问需要配置路由器进行端口映射。</li>
<li>蓝牙不能远程访问。</li>
</ul>
<p id="cs模式总结"><a name="t7"></a><strong>C/S模式总结:</strong></p>
<p>硬件成本相对较低,开发成本比较高,需要为不同的终端开发和发布App。适合对硬件成本比较敏感,但对开发成本不太敏感或者只需要支持少数几种终端(比如只需要支持Android手机)的项目。</p>
<p id="云模式"><a name="t8"></a><strong>云模式</strong></p>
<p>云模式要求智能硬件提供有线或无线通信模块,通信模块必须能够接入互联网,智能硬件向云端服务器汇报数据和状态,手机通过App或HTML5页面访问云端服务器获取智能硬件的数据和状态。</p>
<p><img alt="云模式" data-entity-type="file" data-entity-uuid="a6d146d5-d112-44ca-bb95-94ce352f9808" src="/sites/default/files/inline-images/%E4%BA%91%E6%A8%A1%E5%BC%8F.JPG" /></p>
<p id="云模式的优势"><strong>云模式的优势:</strong></p>
<ul>
<li>可以远程访问。</li>
<li>可支持大量智能硬件接入。</li>
<li>可以借用云服务商提供的App框架简化App开发</li>
</ul>
<p id="云模式的劣势"><a name="t10"></a><strong>云模式的劣势:</strong></p>
<ul>
<li>需要租用云服务,目前部分云服务提供免费公测。</li>
<li>接入互联网需要支付通信费用。</li>
</ul>
<p id="云模式总结"><a name="t11"></a><strong>云模式总结:</strong></p>
<p>需要支付云服务费和通信费,开发成本依赖于云服务商所提供的App框架,通信模块有多种选择,成本高低不等。适合需要远程访问或者大量节点的项目。</p>
<p id="混合模式"><a name="t12"></a><strong>混合模式</strong></p>
<p>可以通过支持多种模式达到平衡各种模式优缺点的目的。例如结合B/S模式和云模式,智能硬件具备Web服务器以及推送数据入云的能力,当智能硬件不具备接入互联网的条件时,手机通过B/S模式访问智能硬件。当智能硬件接入互联网且在外地的情况下,手机通过云模式访问智能硬件。</p>
<p>文章转载自:<a href="http://blog.csdn.net/zoomdy" id="uid" target="_blank">半斗米</a>的博客</p>