智能家居核心 —— wifi模块

引言:随着21世纪信息革命的不断深刻,智能手机的普及度也愈来愈高,人类开始思考如何用手机或是电脑控制物品,这也促进了近些年来物联网领域的蓬勃发展。本文以ESP8266EX这一型号的wifi模块为例,初步介绍其在物联网中所起的做用以及模块使用方法。编程

 

模块介绍服务器

综述:ESP8266EX是由乐鑫公司推出的一款售价仅10元左右的wifi模块,虽然价格低廉,但其内置超低功耗 Tensilica L106 32 位 RISC 处理器,CPU 时钟速度最高可达 160 MHz,支持实时操做系统 (RTOS) 和 Wi-Fi 协议栈,可将高达 80% 的处理能力留给应用编程和开发。能够说这一wifi模块是一个小型的单片机,具备8个引脚,并可外接设备实现更多功能。网络

具体资料参见乐鑫官网:tcp

https://www.espressif.com/zh-hans/products/hardware/esp8266ex/overview函数

esp8266外观及管脚分布图spa

 

ESP8266模块有三种工做方式,分别是AP模式,Station模式以及soft-AP模式。工做在AP模式下wifi模块发出的wifi信号可被其余设备(手机、PC等)搜索到并链接上,简单点说AP模式下的该wifi模块就是一个路由器,只不过还缺乏上网功能。Station模式即ESP8266模块是终端,可链接室内路由、手机热点或者AP热点,也能够经过路由接入互联网,从而手机或电脑经过互联网实现对设备的远程控制。而soft-AP模式就是前两个模式的结合。操作系统

 

具体实例.net

该实例是利用该wifi模块创建网络通讯的客户端,以PC做为服务器端来实现通讯的。在开始介绍这一实例以前,先介绍一下对于该模块进行编程必不可少的SDK(即不少已经写好的、方便开发者选择调用的代码块)。该SDK可从下面网址下载获得:https://www.espressif.com/zh-hans/support/download/sdks-demos调试

 

实例原理blog

要实现网络通讯,就必须有一个客户端和一个服务器端,并将两端创建链接。咱们将esp8266配置为客户端的步骤以下:

① 先将ESP8266设置工做于soft-AP模式,此条语句wifi_set_opmode(0x03);便可完成配置

② 再根据SDK中提供的espconn.h头文件及协议配置链接参数,此步骤能够参照例程,不用去关心协议具体是什么。

③ 创建关于网络通讯的函数及回调函数。

链接成功的回调函数、链接失败重连的回调函数、接收数据成功的回调函数、发送数据成功的回调函数、断开链接的回调函数,重点在于咱们能够在回调函数中写代码以实现咱们所需的功能,例如

void ICACHE_FLASH_ATTR user_tcp_recon_cb(void *arg,sint8 err){//重连回调函数

    os_printf("链接错误,错误代码为%d\r\n",err);//打印出链接错误代码

}

④ 接收数据的回调函数,或者发送数据成功的回调函数中,执行断开链接操做时,建议适当延时必定时间,确保底层函数执行结束。

 

通过这几个步骤便可完成对esp8266客户端的配置,PC上可下载网络调试助手来查看程序结果,若是想了解具体代码,可参见如下文档:

https://blog.csdn.net/qq_28877125/article/details/62898895

 

对于esp8266编程及应用实例文档在网上还有不少,好比利用wifi模块实现对led灯亮暗的控制,对家庭插座的控制等。若对物联网方面感兴趣的同窗能够上某宝买个模块下来研究并实现本身想实现的功能。

 

最后的一点小建议

对于该模块的编程,仍是须要多看并理解网上别人写的代码,这样才能避免本身编程序时出现没必要要的麻烦~

最后附上另外几个教程的网址:

http://www.javashuo.com/article/p-cyaqkgor-a.html

https://blog.csdn.net/d521000121/article/details/68486764

https://www.jianshu.com/p/a781855b4f1f