ESP8266例程解析④softAPToNet

代码分析

  1. 初始化分区

  2. 初始化串口(串口1 串口2都为57600) 初始化串口(串口1 串口2都为57600)

  3. 打印sdk版本

  4. 按键初始化(简短的单按钮初始化 长按 短按 按键驱动程序初始化 IO口初始化)
    4.1 按键回调函数(长按函数 短按函数 内含提示灯)
    4.2 长按函数为空
    4.3短按函数为
    4.3.1 WiFi准备(设置模式,ssid password 加密模式 信标间隔时槽 通道号(即通频带) 最大连接数 隐藏ssid 保存到flash)
    4.3.2 TCP准备端口8266(分配空间 设置类型为TCP协议 本地端口 注册连接成功回调函数(server_listen)和重新连接回调函数(server_recon))创建 TCP server,建立侦听 设置超时断开时间
    4.3.2 .1注册连接成功回调函数(server_listen)入口 用户tcp类型地址
    4.3.2 .1.1 回调函数 接收(用cJSON解析接收的包 判断包是否为空 创建对象 给对象传递数据 打印对象 1. 如果为空 创建对象 提示json错误 2.不为空 创建对象 继承WiFi ssid password state(为0(成功连接到指定的WiFi 检测是否有IP,有代表连接成功) 为1表示连接AP) 打印信息)AP和WiFi区别是IP地址
    4.3.2 .1.2发送(设置为station模式 发送信息) 断开
    4.3.2 .2重新连接回调函数(server_recon) 返回错误代码和类型

  5. 设置ESP8266 station 上电是否自动连接已记录的AP(路由),默认为自动连接

  6. 设置为无睡眠模式

  7. 定时器回调函数 检查WIFI状态,用IO口的灯变化显示出WiFi状态打印sdk版本 按键初始化定时器回调函数 检查WIFI状态,用IO口的灯变化显示出WiFi状态

代码

user_main.c
#include "driver/uart.h"  //串口0需要的头文件
#include "osapi.h"  //串口1需要的头文件
#include "user_interface.h" //WIFI连接需要的头文件
#include "espconn.h"//TCP连接需要的头文件
#include "mem.h" //系统操作需要的头文件
#include "gpio.h"  //端口控制需要的头文件
#include "cJSON.h"
#include "hal_key.h"

struct espconn user_tcp_espconn;
os_timer_t checkTimer_wifistate;

//按键定义
#define GPIO_KEY_NUM                            1
#define KEY_0_IO_MUX                            PERIPHS_IO_MUX_MTMS_U
#define KEY_0_IO_NUM                            14
#define KEY_0_IO_FUNC                           FUNC_GPIO14

LOCAL key_typedef_t * singleKey[GPIO_KEY_NUM]; 
LOCAL keys_typedef_t keys; 

bool isConnected = false;

void Check_WifiState(void)//检查WIFI状态
 {

	uint8 status = wifi_station_get_connect_status();//查询ESP8266 WIFI  station 接口连接AP的状态 

	if (status == STATION_GOT_IP)//检测是否连接AP并且返回信息
	 {
		GPIO_OUTPUT_SET(GPIO_ID_PIN(15), 0);  //设置IO口输出电平
		GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 1);
		wifi_set_opmode(0x01);   //WIFI模式为station
	} 
	else 
	{
		GPIO_OUTPUT_SET(GPIO_ID_PIN(12), 0); //GPIO15 低电平输出
		GPIO_OUTPUT_SET(GPIO_ID_PIN(15), 1); //GPIO15 低电平输出
	}
}

vo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值