玩转X-CTR100 l STM32F4 l ESP8266串口WIFI模块

我造轮子,你造车,创客一起造起来!更多塔克创新资讯【塔克社区 www.xtark.cn 】【塔克博客 www.cnblogs.com/xtark/ 】-

ESP8266是一款非常火的WIFI模块,性价比高,操作简单,通过AT指令实现复杂的WIFI通信,大大降低开发难度。
夸张点说,如果创客不知道这么模块,不能称之为创客!
本文介绍ESP8266模块的使用,X-CTR100控制器连接ESP8266模块实现无线WIFI网络连接功能。
原理
模块核心处理器 ESP8266 在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,主频支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/ BB/RF/PA/LNA,板载天线。支持标准的 IEEE802.11 b/g/n 协议,完整的 TCP/IP 协议栈。用户可以使用该模块为现有的设备添加联网功能,也可以构建独立的网络控制器。
ESP8266 是高性能无线 SOC,以最低成本提供最大实用性,为 WiFi 功能嵌入其他系统提供无限可能。
特点
802.11 b/g/n
内置Tensilica L106 超低功耗 32 位微型 MCU,主频支持 80 MHz 和160 MHz,支持 RTOS
内置10 bit高精度ADC
内置TCP/IP协议栈
内置TR 开关、balun、LNA、功率放大器和匹配网络
内置PLL、稳压器和电源管理组件,802.11b 模式下+20 dBm的输出功率
A-MPDU 、 A-MSDU 的聚合和 0.4 s的保护间隔
WiFi @ 2.4 GHz,支持 WPA/WPA2 安全模式
支持AT远程升级及云端OTA升级
支持 STA/AP/STA+AP 工作模式
支持 Smart Config 功能(包括 Android 和 iOS 设备)
HSPI 、UART、I2C、I2S、IR Remote Control、PWM、GPIO
深度睡眠保持电流为 10 uA,关断电流小于 5 uA
2 ms 之内唤醒、连接并传递数据包
待机状态消耗功率小于1.0 mW (DTIM3)
工作温度范围:-20℃- 85℃
功能说明
ESP8266可以使用官方提供的SDK作二次开发来使用,也可以直接利用官方出厂提供的固件直接AT指令配置模块使用。
SDK开饭方式较为专业,本文对常用的AT指令模式进行说明,模块波特率:115200(8位数据位,1位停止位)。
ATK_ESP8266模块支持STA/AP/STA+AP三种工作模式。
STA 模式:ESP8266模块通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。
AP 模式:默认模式ATK_ESP8266模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。
STA+AP 模式:两种模式的共存模式,即可以通过互联网控制可实现无缝切换,方便操作。
指令说明
AT指令主要包括3部分
基础AT指令

WIFI功能AT指令

TCP/IP工具箱AT指令

详细说明参考《ESP8266AT指令集》。
模块说明
本文选用模块为正点原子的ESP8266模块进行试验,模块及引脚如下


连接方式

调试
基于串口调试工具进行AT指令调试。
使用X-CTR100控制器的COM口USB转串口调试,请按如下图连接,RX接RX,TX接TX。
主要拔掉BOOT跳线帽,使程序不跑,避免处理器程序使用UART1干扰通信。

TCP透传模式
AT+CWMODE=1 "设置STA模式"
AT+CWJAP="XXX","XXXXXXXX" "加入路由器,与服务器在同一局域网下,或自行设定"
AT+CIPMUX=0 "设置单链接"
AT+CIPSTART="TCP","192.168.31.101",8080 "正常tcp连接测试"(IP和端口自行设定)
AT+CIPMODE=1 "设置透传模式"
AT+CIPSEND "发送数据"
注意每个指令后面需增加换行符。
测试结果如下:


退出透传请发送"+++",注意取消发送新行。

UDP透传模式
AT+CWMODE=1 "设置STA模式"
AT+CWJAP="XXX","XXXXXXXX" "加入路由器,与服务器在同一局域网下,或自行设定"
AT+CIPMUX=0 "设置单链接"
AT+CIPSTART="UDP","192.168.31.101",1000,2000,0 "UDP连接测试,1000位目标端口,2000为本机端口,可修改
AT+CIPMODE=1 "设置透传模式"
AT+CIPSEND "发送数据"
测试结果略。
开机透传模式
如果网络没有变换,每次上电都进行一次配置,比较麻烦,尤其是处理器使用,配置不方便。
ESP8266具有保存开机进入透传模式功能,指令如下。

UDP指令示例如下。
AT+SAVETRANSLINK=1,"192.168.31.235",1000,"UDP",2000
例程
大多数电子制作应用场景是串口数据透传,本例程中ESP8266模块已完成开机UDP透传模式设置。
ESP8266连接X-CTR100控制器,无须任何配置,即可实现串口数据的无线网络通信。

硬件连接如下图,不同于调试时的连接,ESP8266的RX连接控制器的TX,TX连接控制器的RX。

下载陀螺仪加速度基础例程,传输效果如下,实现了串口数据的无线WIFI接收,后续功能调试非常方便。

参考
正点原子 ATK-ESP8266 WIFI用户手册_V1.0
玩转X-CTR100 l STM32F4 l ESP8266串口WIFI模块的更多相关文章
- ESP8266串口WiFi扩展板详解
产品简介 ESP8266串口WiFi扩展板是深圳四博智联科技有限公司开发的一款基于乐鑫ESP8266的超低功耗的UART-WiFi模块,兼容Arduino UNO.Mega等标准主板,可以方便地进行二 ...
- Arduino 基于 ESP8266 配置WIFI模块
Arduino 基于 ESP8266 配置WIFI模块 使用ESP8266作为服务器,使用浏览器访问该服务器,从而控制LED灯 选择 [文件]->[示例]->[ESP8266WIFI]-& ...
- 基于H7的串口WIFI模块ESP8266的TCP客户端例子和操作说明(AP兼STA模式)
说明: 1.如果不熟悉网络的话,等我这几天更新V7用户手册的ESP8266章节,如果熟悉的话,直接操作即可,这里将操作说明发出来. 2.串口WIFI是采用的AT指令操作,简单易用,指令手册在这个帖子里 ...
- 玩转X-CTR100 l STM32F4 l ADC 模拟数字转换
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 AD转换接 ...
- 玩转X-CTR100 l STM32F4 l MPU6050加速度陀螺仪传感器
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 板载加速度 ...
- 玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统 ...
- 玩转X-CTR100 l STM32F4 l 舵机控制
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器的舵机控制,X-CTR ...
- 玩转X-CTR100 l STM32F4 l DRV8825 A4988 步进电机控制
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器控制步进电机 ...
- 玩转X-CTR100 l STM32F4 l 基础例程printf、LED、蜂鸣器、拨码开关、位带操作
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器基础板载资源 ...
随机推荐
- Unity3D学习笔记(五):坐标系、向量、3D数学
Unity复习 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ...
- python 将16进制转为字节
数值为:0xFD >>> x="FD" >>> x.decode('hex') '\xfd'
- c 宏的定义
#include <stdio.h> #include <conio.h> #define VAL 40 #ifdef VAL #undef VAL #endif #defin ...
- python 字符串输出转义{}
>>> print ("{} 对应的位置是 {{0}}".format("runoob")) runoob 对应的位置是 {}
- python 打包成tar包
def make_targz(output_filename, source_dir): with tarfile.open(output_filename, "w:gz") as ...
- python 集合取最大最小值
#Create a set seta = , , , , , ]) #Find maximum value print(max(seta)) #Find minimum value print(min ...
- MongoDB(课时22 唯一索引)
3.6.1 唯一索引 唯一索引的主要目的是用在某一个字段上,使该字段的内容不重复. 范例:创建唯一索引 db.students.ensureIndex({"name" : 1}, ...
- angular惰性加载拓展剖析
最近把一个比较旧的业余项目重新升级了下,将主文件进行了剥离,增加了些惰性加载的配置,将过程中一些零散的知识点做个总结,同时尽量深入原理实现层面. 项目环境: 前端框架:angular2.0.0-bet ...
- yii 第一步
第一步:index.php // include Yii bootstrap filerequire_once(dirname(__FILE__).'/../../framework/yii.php' ...
- border可以这样给控件加边框
<Border.BorderBrush> <SolidColorBrush Color="Red" Opacity="0" / ...