资源简介
乐鑫ESP8266是一款目前实用的物联网WiFi开发模块,并且它支持用户自己刷固件修改内部指令,本程序从智能农场项目的开发中具体讲解esp8266的使用,让大家学习起来没有那麽吃力,并且本程序能直接拿拿到某些具体的项目中用。
代码片段和文件信息
/***
* ESP8266 驱动库
* 作者:zzh
* 依赖资源:
* 1. 串口1 ,波特率 115200 重映射为 printf 输出
* 2. 定时器4 1ms中断 用于接收数据断句 ,键盘扫描 Client 心跳维持
*/
#include “ESP8266.h“
uint8_t ESP8266_BUFF[256];
char CMD_buff[64];
//把wifi设备基础参数分配在常量区,以便掉电保存新设置
const char WIFI_SSID [32]= _WIFI_SSID;
const char WIFI_PSSW[32]= _WIFI_PSSW;
const uint8_t IP_S [ 4]= _IPAdrr;
const int PORT = _PORT;
uint8_t IP_LOCALHOST[ 4]={0000};
uint8_t IP_MAC [ 6]={0};
_F_u8 ESP8266NetMode=ESP8266_TCPService;//模块联网模式:c/s
uint8_t *pREC=ESP8266_BUFF; //定义通信内容的接收游标,ESP8266_BUFF是接收的内容
WIFI_Type WIFI_MSG; //定义wifi结构体的对象
const voidType DataAdrr[5]={
(voidType)WIFI_SSID
(voidType)WIFI_PSSW
(voidType)IP_S
(voidType)PORT
(voidType)IP_LOCALHOST
};
/***
*设置为热点
*/
void ESP8266_AP(uint8_t Step)
{
switch(Step)
{
case 0:
WIFI_MSG.ESP8266_init=ESP8266_AP;//保存地址
WIFI_MSG.Context=1;
WIFI_MSG.SSID=(char*)WIFI_SSID;//作为热点时,要自行定义wifi名和密码(热点参数)
WIFI_MSG.PSSW=(char*)WIFI_PSSW;
setCMD(“CWMODE=2“REC_OK);
break;
case 1://复位
setCMD(“RST“NREC_);//复位不收回响
delay_ms(1000);
WIFI_MSG.ESP8266_init(2); //递归执行
break;
case 2://连接 ------通过CWSAP控制热点参数
sprintf(CMD_buff“CWSAP=\“%s\“\“%s\“14“WIFI_SSIDWIFI_PSSW);//打印到串口
WIFI_MSG.Context=3;
setCMD(CMD_buffREC_OK);//发送指令
break;
case 3://获取IP:如果8266开热点服务,手机端连接需要输入ip
setCMD(“CIFSR“REC_IPv4);
break;
case 4://联网模式
ESP8266NetMode(0);
break;
}
}
/***
*设置为终端
*/
void ESP8266_STA(uint8_t Step)
{
switch(Step)
{
case 0:
WIFI_MSG.ESP8266_init=ESP8266_STA;//保存地址
WIFI_MSG.Context=1;
//目的是使初始化与其他任务同步进行,不需要在初始化里等待直至结束
setCMD(“CWMODE=1“REC_OK);//REC_OK()成功后调用WIFI_MSG.ESP8266_init(WIFI_MSG.Context);-->case 1
break;
case 1://复位
setCMD(“RST“NREC_);
delay_ms(1000);//复位不收回响
WIFI_MSG.ESP8266_init(2); //递归执行
break;
case 2://加入 WIFI 热点:WIFI_SSID,密码:WIFI_PSSW
WIFI_MSG.Context=3;
//将WIFI_SSIDWIFI_PSSW打印并存入buff数组,发送CWJAP加入热点
sprintf(CMD_buff“CWJAP=\“%s\“\“%s\““WIFI_SSIDWIFI_PSSW);
//delay_ms(2000);//复位不收回响
setCMD(CMD_buffREC_Connect);
break;
case 3://获取IP
setCMD(“CIFSR“REC_IPv4_);
break;
case 4://联网模式
ESP8266NetMode(0);
break;
}
}
void ESP8266_TCPService(uint8_t Step)
{
switch(Step)
{
case 0:
WIFI_MSG.Context=1;//先索引,再次进case 1
WIFI_MSG.ESP8266_init=ESP8266_TCPService;//保存地址
setCMD(“CIPMUX=1“REC_OK);//开启多连接
break;
case 1:
WIFI_MSG.Context=2;
sprintf(CMD_buff“CIPSERVER=1%d“PORT);
setCMD(CMD_buffREC_OK);//开启 SERVER 模式,设置端口为 8886
break;
case 2:
WIFI_MSG.deal=REC_CONN;
break;
}
}
void ESP8266_TCPClient(uint8_t Step){
switch(Step)
{
case 0:
WIFI_MSG.Context=1;//先索引,再次进来case 1
setCMD(“CIPMUX=0“REC_OK);//开启单连接
WIFI_MSG.ESP8266_init=ESP8266_TCPClient;//保存地址
break;
case 1://建立 TCP 连接到IP_S PORT
WIFI_MSG.Context=2;
//把四段ip地址写buff
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4072875 2019-02-25 08:25 ESP_8266\ATK-ESP8266 WIFI模块使用说明(探索者开发板)_AN1509B.pdf
文件 109142 2014-07-17 21:52 ESP_8266\esp_8266_AP\CORE\core_cm4.h
文件 22735 2014-07-17 21:52 ESP_8266\esp_8266_AP\CORE\core_cm4_simd.h
文件 17146 2014-07-17 21:52 ESP_8266\esp_8266_AP\CORE\core_cmFunc.h
文件 20513 2014-07-17 21:52 ESP_8266\esp_8266_AP\CORE\core_cmInstr.h
文件 29605 2014-08-02 00:12 ESP_8266\esp_8266_AP\CORE\startup_stm32f40_41xxx.s
文件 7467 2019-02-25 15:23 ESP_8266\esp_8266_AP\ESP8266\ESP266.c
文件 1732 2019-02-25 14:52 ESP_8266\esp_8266_AP\ESP8266\ESP8266.h
文件 1662 2019-02-18 20:58 ESP_8266\esp_8266_AP\ESP8266\TIM4.c
文件 193 2019-01-27 13:35 ESP_8266\esp_8266_AP\ESP8266\TIM4.h
文件 534987 2019-01-28 11:00 ESP_8266\esp_8266_AP\ESP8266配置1.4.pdf
文件 6924 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\misc.h
文件 32880 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_adc.h
文件 27318 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_can.h
文件 2416 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_crc.h
文件 14481 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_cryp.h
文件 14946 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_dac.h
文件 4296 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_dbgmcu.h
文件 12977 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_dcmi.h
文件 28882 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_dma.h
文件 19692 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_dma2d.h
文件 8012 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_exti.h
文件 24467 2014-08-04 22:05 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_flash.h
文件 3275 2014-08-04 22:05 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_flash_ramfunc.h
文件 44924 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_fmc.h
文件 27181 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_fsmc.h
文件 23548 2019-01-26 12:30 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_gpio.h
文件 10084 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_hash.h
文件 31939 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_i2c.h
文件 4323 2014-08-01 23:18 ESP_8266\esp_8266_AP\FWLIB\inc\stm32f4xx_iwdg.h
............此处省略349个文件信息
相关资源
- ESP8266_RTOS_SDK-3.0
- stm32中文开发手册
- 基于stm32的三级菜单
- STM32F1 GPS模块NEO-7M
- STM32-US-100超声波程序
- stm32智能搬运码垛小车
- 基于stm32的gps导航
- STM32与ZigBee串口通信LCD显示程序
- 基于stm32的烟雾传感的监测
- STM32L0系列数据手册中文版
- STM32F4小四轴代码
- 基于stm32F407的i2c双机通讯
- STM32脱机雕刻机源代码
- STM32中文参考手册_V10.pdf
- stm32门禁上位机代码
- stm32F407 SPI1/SPI2 DMA 方式读写 CH376S
- stm32的APDS9960颜色识别、舵机、电机
- STM32F407 W8782模块驱动代码
- 基于STM32的数字示波器设计原理图+p
- stm32智能安防系统
- oled7针+gy-30参考代码
- 数字示波器—普中STM32开发板
- STM32F427 ,429中文参考手册
- AD9850模块资料
- MPU6050倾角检测+中断唤醒带NB模块
- 使用vs1063在STM32F103平台上实现WAV录音
- stm32f107 lan8720
- STM32F10x_StdPeriph_Lib_V3.5.0 STM32F10x固件库
- STM32F103 uCOS-II移植源码
- 基于stm32f103 usb 的Win7系统触摸屏程序
评论
共有 条评论