智能家居核心 —— wifi模块

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

 

模块介绍

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

具体资料参见乐鑫官网:

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

esp8266外观及管脚分布图

 智能家居核心 —— wifi模块_第1张图片

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

 

具体实例

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

 

实例原理

要实现网络通信,就必须有一个客户端和一个服务器端,并将两端建立连接。我们将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灯亮暗的控制,对家庭插座的控制等。若对物联网方面感兴趣的同学可以上某宝买个模块下来研究并实现自己想实现的功能。

 

最后的一点小建议

对于该模块的编程,还是需要多看并理解网上别人写的代码,这样才能避免自己编程序时出现不必要的麻烦~

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

https://blog.csdn.net/it_boy__/article/details/71975797

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

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


你可能感兴趣的:(未分类)