无GUI设备wifi连接
当今物联网设备开发过程中,存在一些小型设备(通过wifi连入互联网),无用户输入输出相关接口,那么,这些设备需要连接到网络,该怎么办。在此提供两种方法。
1.先将设备wifi芯片置于ap模式,提供给手机连接后,通过手机将wifi的用户名和密码传送给设备(ap配网模式)。
2.使用airkiss技术进行wifi的连接。
一.ap配网
AP(Access Point):
无线接入点,是一个无线网络的创建者,是网络的中心节点。一般家庭或办公室使用的无线路由器就是一个AP;
STA(Station):
任何一个接入无线AP的设备都可以称为一个站点,也就是平时接入路由器的设备,比如,手机,平板等;
SSID(Service Set Identifier):
每个无线AP都应该有一个标示用于用户识别,SSID 就是这个用于用户识别的的名字,也就是我们经常说到的 wifi 名;
BSSID:
每一个网络设备都有其用于识别的物理地址,称作 MAC 地址,一般情况下出厂会有一个默认值,可更改,也有其固定的命名格式,也是设备识别的标识符。BSSID 是针对设备说的,对于 STA 的设备来说,拿到 AP 接入点的 MAC 地址就是这个 BSSID;
ESSID:
是一个比较抽象的概念,它实际上就和 SSID 相同(本质也是一串字符),只是能如果有好几个无线路由器都叫这个名字,那么我们就相当于把这个 SSID 扩大了,所以这几个无线路由器共同的这个名字就叫ESSID;
一种wifi芯片可以存在两种配置模式,ap模式,station模式。
具体方法,先将设备初始化为ap模式,此wifi芯片产品作为一个无线接入点,就可以给手机等产品连接,这样就可以通过手机将要连接的ssid和password传送给小型物联网设备,之后,可以将获取到的ssid与password保存到flash之中,重启设备,初始化设备station模式,从flash中读取出ssid和password后进行配置网络连接即可。
注意:这里涉及到设备使用的芯片的wifi工作模式的配置(ap,station模式配置),请自行根据芯片手册研究,wifi的ssid与password的传输设计到网络也需要研究相关知识(socket通信,tcpip协议,udp协议)。
二.airkiss技术
AirKiss是微信硬件平台提供的一种WIFI设备快速入网配置技术,要使用微信客户端的方式配置设备入网,需要设备支持AirKiss技术。目前已经有越来越多的芯片和模块厂商,提供了支持AirKiss技术的方案。
比如,智能插座属于物联网智能控制类设备,它可用于家电(比如电灯、热水器等)的智能化开关控制。智能插座的特点是小型化且低功耗,显而易见,该设备并不适合于配置屏幕与键盘等输入外设。在这种情况下,AirKiss技术能完美解决其SSID与密码的传输、设置问题。
AirKiss技术对应用设备的硬件几乎没有额外的要求,配置时需要设备能够进入AirKiss模式。在本例中,智能插座在按下了配置按键之后,指示灯闪烁进入AirKiss模式,成为了AirKiss技术中信息的接收方。用户则可以使用微信手机客户端,成为AirKiss技术中的信息发送方,最终将ssid与password传送到智能插座,设备将其保存即可连接网络。、
注意:更多airkiss技术查看,https://iot.weixin.qq.com/wiki/document-7_1.html
此博客简单记录下无gui设备联网方法,不同芯片实现可以朝着这个方向研究实现。