参考和学习《ESP8266串口WIFI模块的基本使用》点击打开链接
ESP8266是一款超低功耗的UART-WiFi 透传模块,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。
把硬件联网之后,就再也不是“玩单机”了。配合服务器端的Socket网络编程,可以玩许多东西。所以我觉得WiFi模块是连接软件(网络编程)与硬件(单片机)的桥梁,把我所学的单片机和Web知识联系起来了。
模块引脚和连线:
实际接线:
打开sscon4.2测试版,然后将CH_PD引脚的3.3V电源断了重接进行复位,若串口打印乱码后看到“ready”,说明模块上电初始化正常。如下:
无法出现“ready”表示上电初始化成功。波特率调整为9600即可!如下:
关于免冷启动下载器
上图来自《AT指令集》
关于WiFi模式这里要说明一下:
sta模式下模块相当于客户端,像我们手机平板一样是要去连接路由器的;
AP模式下模块相当于路由器,是发射WiFi被别人连的。
sta模式连接WiFi演示
操作:
AP模式演示
连完WiFi那接下来就“开WiFi”吧!AP模式和手机开热点一样,只需设置WiFi名称和密码即可。
TCP/IP相关AT指令
透传模式下WiFi模块与服务器TCP网络通讯演示
利用调试工具“网络调试助手”(软件在资料包中)即可创建一个TCP服务器,实现服务端对指定端口监听TCP连接请求。见识了TCP透传的强大,只要再稍微学习一下socket网络编程,那么对于通过单片机串口收发数据实现的功能,现在都可以通过自己编写服务器上的TCP程序来实现。当第一次在命令行看到打印的串口数据、体验到网络互通的魅力时,就知道——“WiFi门锁”有戏了!
实现如下:
透传模式此处的表现为:进入透传模式后,sscom4.2串口调试助手退出向8266模块发送指令,发送的是给服务器的字符;退出透传模式后,发送的字符就是给8266模块的命令!
我们常说互联网互联网,那两个连接到互联网的设备该如何相互“交流”呢?TCP连接就是其中一种最常用的方式。TCP是面向连接的传输层协议,通信双方都要实现TCP协议,其中一方只需目标ip地址和端口号就能发起连接,连接一旦建立,就像在双方之间拉了一条管子,管子两端可进行全双工(双向同时收发)通信。
TCP是传输层协议,是在网络层IP协议的基础上封装而来。而这些封装的实现细节也是与我们无关,我们只需使用系统所提供的相关接口“拿来即用”,比如网络编程中的Socket。ESP8266模块中也实现了TCP/IP协议栈,模块作为客户端可轻松使用AT指令向服务端发起TCP连接。连接TCP服务器并开启透传模式后,模块串口收到的数据就会通过TCP连接透传到服务端,这样就完成了数据从硬件串口通过网络到程序进程的传输,实现软硬结合。
脑洞大些:
挖掘ESP8266串口WiFi模块在生活中的应用:比如共享单车的技术……
采用此技术实现对四轮驱动视觉识别机械臂抓取的应用!
WiFi控制无人机
WiFi控制无人自动驾驶平衡自行车
思考:如何将遥控器前后左右控制或者计算机键盘左右前后控制量通过WiFi控制四轮驱动机器人??
这不就是可以坐在电脑前遥控无人机技术嘛!!