随着网络技术的普及和智能终端技术的发展,智能终端和网络已逐渐成为人们生活不可分割的一部分。
用户可通过智能终端与云端设备(例如服务器)进行网络交互,获得各种各样的资讯和服务,这也使得智能终端与云端设备之间通过网络实现的交互活动越来越频繁。然而,由于各个智能终端所处的网络状态、软硬件结构等的差异,即使多个智能终端同时与同一云端设备交互,各个智能终端与同一云端设备实际的交互速率也可能有所不同。对于用户而言,必然是希望智能终端能够更快地与云端设备交互,因此,如何提升智能终端与云端设备的交互速率成为业内一直探讨和关注的热点问题。
在IoT时代,智能设备连接上云是基本功能。那么设备是如何连接上云的呢?
智能设备连接云简单来说可以分为两步,第一步连接Internet,第二步连接云。
连接Internet
设备连接Internet的方式有很多,网线、WiFi或者移动网络。考虑到WiFi在家庭的广泛应用,而且智能家居也是最容易有直观感觉的物联网应用,这里以智能家居WiFi环境为例说明设备如何连接Internet。
在产品研发阶段或者极客开发”玩具“,我们都可以直接指定设备需要连接的SSID和密码。但是在产品实际使用中,每个家庭的无线路由器的SSID和密码都不一样,设备如何去获取SSID和密码连接无线路由器呢?
对于有屏幕的设备来说,比如电视、手机可以让用户自己选择需要连接的SSID、输入密码进行连接,没有屏幕的设备就需要APP来帮忙了。在APP的帮助下,设备接入Internet的方法通常是这样的:
1、 设备启动,放出设备SSID。
2、 运行设备配套的APP(APP上通常保存有设备SSID和密码),APP连接到设备SSID接入设备,设置设备需要连接的无线路由器的SSID和密码。
3、 设备关掉自己放出的设备SSID,连接无线路由器的SSID,获取IP接入Internet。
通过上述三个步骤,设备就连接上家庭里的无线路由器,可以访问Internet了。
连接云平台
设备接入无线路由器之后就可以访问Internet了,接下来就是连接云平台了。连接云平台需要云平台的地址和ApiKey,这些信息目前看来也只有通过APP来设置了,如果有更好的办法,欢迎讨论。
对于云平台地址,直观来说,一般都会配置成域名,由设备通过域名解析获取IP地址。
1、 APP连接上设备,设置云平台地址和ApiKey(可以在连接Internet中的第二步设置)
2、设备通过解析云平台的域名获取IP地址
3、连接云平台,上传数据和接收命令。
4、APP连上云,对设备进行远程控制和管理。
总结
通过上面两个步骤,设备就可以连接上云平台,可以远程控制了。目前来看,只有物联网云平台方案提供商的产品完整包含了这两个步骤,如Ayla。其他像OneNet、Yeelink等云平台,只提供了连接云平台的方法,而且还不完整。
由于类似Ayla那样的云平台方案提供商都会有自己的一套解决方案,文章就不分析了。这里只分析下连接OneNet这样的云平台,设备需要哪些最基本的必须功能。
首先,设备得具备解析域名获取IP地址的功能,其次设备得具备解析和封装HTTP协议的功能。简单的说,如果设备想连接OneNet,那么设备就得同时具备浏览器和Web服务器的功能。
设备上传数据的时候相当于是一个浏览器,你可以想象为在浏览器中填好一些信息,然后点击提交按钮,数据就发送给了云平台。远程控制的时候,设备就相当于Web服务器,接收云平台发过来的命令,解析然后执行。