智能设备App开发实践——设备配置篇

达芬奇密码2018-07-16 13:46

前言

近年来智能设备发展迅速,摄像头、手表、手环等等,各色智能设备进入到人们的生活中。我们发现,通过自己的手机,就可以控制自己家里很多电器设备。那么智能设备的App和我们用的普通的其它App在设计时候考虑的东西有哪些不同呢?普通的App,只需要和服务器交互即可;而智能设备App,可不仅仅需要和服务器交互,还需要直接与智能设备通信。通过App将配置信息告诉智能设备,同步智能设备的数据信息等。本文,主要介绍智能设备添加的一些方式。

添加设备

拿到一款智能设备,第一步就是添加设备,即将设备连接网络或者是与手机配对。考虑到操作的简易性,基于无线应该是首选方式。当前可选的添加方式有:

  • 基于BLE(低功耗蓝牙)交互
    是低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz ISM射频频段。
  • 基于红外交互
    基本上红外线跟蓝牙同样都是无线传输,但是使用的频带不同。红外线的原理就是利用可视红光光谱之外的不可视光,就因为红外线也是光的一种,所以它也同样具有光的特性,它无法穿越不透光的物体。
  • NFC(近距离无线通讯技术)
    是一种短距离高频无线电技术,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。
  • ap模式交互
    参照路由器的ap模式,在硬件上植入软ap,这样手机不需要ssid和密码就可以连接上智能设备。然后利用手机连接软ap,配置设备需要连接路由的ssid和密码。最后智能设备就可以自行连接路由器了,也就实现了联网的功能。
  • SmartConfig模式
    简单来说,这是一种让你可以在没有和其他设备(支持SmartConfig技术)建立任何性质的通讯链路的情况下,配置该设备接入wifi网络。利用了UDP协议与智能硬件wifi模块中monitor模式, 手机端填写好ssid和密码之后,不断发送udp广播包,智能硬件通过接收这些udp传输的包内数据获取ssid和密码,然后自动连接上路由器。
  • 声波配置
    信息进过编码加密后,通过手机麦克风播放出。智能设备通过麦克风录音,解码获取信息,然后进行配置。 

以上几种方式,红外和NFC模式需要特制的手机,基本做不到市面机型的全覆盖,因此很少考虑。蓝牙交互,设备需要蓝牙模块,一般如果设备需要频繁与手机交换数据,可以选择此模式。如手表、手环之类的。很多联网的设备,我们大多使用Wi-Fi添加的模式即可。如我们之前开发的青果摄像机,最初,我们使用的是ap模式,基本也都能满足需求。但做不到一键配置,手机必须连上Wi-Fi,且在添加过程中还需要手动切wifi连接ap的操作,用户使用较为繁琐,不够友好。之后我们替换ap模式,采用了smartconfig模式,用户不再需要手动切换Wi-Fi,只需要保证手机是连接Wi-Fi即可。到这一步,基本实现了一键配置功能。但是考虑到有些用户在移动网络下添加设备的场景,最后我们在smartconfig模式的基础上,还引入了声波添加模式,真正实现了设备一键配置的目标。

写在最后

以上是作者总结的智能设备添加的几种方式,可能会有遗漏。其实没有一种万能的方式,根据实际场景,选择合适的方式。我们最终的目标是简化用户操作,实现一键配置设备。

本文来自网易实践者社区,经作者郑睿授权发布。