# StudyInEsp8266 **Repository Path**: qsnail123/StudyInEsp8266 ## Basic Information - **Project Name**: StudyInEsp8266 - **Description**: 【深度开源】Wi-FI模块esp8266学习之旅(持续更新,欢迎 Star...) - **Primary Language**: Assembly - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2021-07-17 - **Last Updated**: 2025-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: ESP32 ## README

Banner

*************************************************** ## 《StudyIn8266》 小徐寄言: 《StudyIn8266》 的设计目的是用于帮助新手学习8266原生SDK的各种项目汇总,同时也有集成的项目,让开发者能在这基础代码的设计。不管是新项目的创建,或是已有项目的维护,均可使开发效率和项目质量得到大幅度提升。 CSDN博客博文:[http://blog.csdn.net/xh870189248/article/details/77985541](http://blog.csdn.net/xh870189248/article/details/77985541) ## 目录说明: |      **文件夹名字(代表一个工程)**   | 说明|文档说明链接| |-------|------|-----------| | 《**2_ButtonLight**》 | 一个按键点亮一个LED灯。|http://blog.csdn.net/xh870189248/article/details/78126689| | 《**3_TimerLED**》| 软件定时器实现0.5s闪烁一盏LED。 |http://blog.csdn.net/xh870189248/article/details/78155357| | 《**5_PWM_LED**》| PWM控制一盏LED的亮度变化。 |http://blog.csdn.net/xh870189248/article/details/78202224| | 《**6_PostAndGet**》|post和get请求天气预报信息封装例子。 |http://blog.csdn.net/xh870189248/article/details/78656563| | 《**7_SmartConfig**》|基于乐鑫的SDK的按键触发一键配网smartConfig模式上云端代码。 |http://blog.csdn.net/xh870189248/article/details/78677952| | 《**8_softAPToNet**》|基于乐鑫的SDK的按键触发softAP模式上云端代码。 |http://blog.csdn.net/xh870189248/article/details/78703905| | 《**9_TcpAndUdp**》|8266的TCP、UDP的客户端服务端代码工程。 |http://blog.csdn.net/xh870189248/article/details/78739311| | 《**10_ESP8266_MQTT_CSDN_1**》|【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。|http://blog.csdn.net/xh870189248/article/details/78761948| | 《**11_ESP8266_CSDN_MQTT_2**》|【小实战下篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。|http://blog.csdn.net/xh870189248/article/details/78777371| | 《**12_Esp8266-Alink_OneLED**》|接入阿里智能控制LED。|http://blog.csdn.net/xh870189248/article/details/78807018| | 《**13_ESP8266_smartConfi_MQTT**》|Mqtt协议+smartConfig控制一盏LED(基于2.1.0版本)|http://blog.csdn.net/xh870189248/article/details/79052347| | 《**14_ESP8266_smartConfig_Mqtt**》|Mqtt协议+smartConfig控制一盏LED(基于2.2.0版本)|http://blog.csdn.net/xh870189248/article/details/79052347| | 《**14_ESP8266_smartConfig_Mqtt**》|Mqtt协议+smartConfig控制一盏LED(基于2.2.0版本)|http://blog.csdn.net/xh870189248/article/details/79052347| | 《**15_ESP8266_Timer2**》|2018-1-17 (基于NONOS 2.2.0版本)硬件中断定时器控制闪烁一盏LED|http://blog.csdn.net/xh870189248/article/details/78155357| | 《**16_ESP8266_RTOS_SDK_V1.5.0**》|(基于FreeRtos 1.5.0版本)的 hello world 串口打印工程模板|http://blog.csdn.net/xh870189248/article/details/79103373| | 《**17_ESP8266_RedInfra1883**》|乐鑫8266的红外线遥控控制1883固件|http://blog.csdn.net/xh870189248/article/details/79486075| | 《**18_Esp8266_quickNet_5**》|乐鑫8266的自研的快速开关五次,开-关-开-关-开,之后灯光闪烁,进去配网模式|http://blog.csdn.net/xh870189248/article/details/79486075| | 《**19_Esp8266_ds18b20_dht11**》|乐鑫esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。|https://blog.csdn.net/xh870189248/article/details/80284827| | 《**20_SmartConfigInterface**》|使用C语言对`smartConfig`的二次封装。|https://blog.csdn.net/xh870189248/article/details/80375188| | 《**21_Esp8266_NOW**》|利用乐鑫的`snow`进行网关组网。|https://blog.csdn.net/xh870189248/article/details/80631739| | 《**Gizkit_soc_pet**》| 机智云Gokit2、3扩展板的soc方案宠物屋代码。 |...| | 《**GokitTimerLight**》| 基于机智云平台soc方案定时开启一个LED的源码。 |http://club.gizwits.com/thread-7787-1-1.html|   ************************************************************************************************** ### 小徐精华总结: ************************************************************************************************** #### 一 、 安信可的型号; Banner #### 二 、 烧录问题; >所有自己编译出来的工程,都是有四个文件要烧录的,其中2个是必须烧录的(防止初始化失败),这2个文件分别是 esp_init_data_default.bin 和blank.bin; >烧录地址根据您的8266型号区别,我们最平常用的是安信可8266-12系列的,这个是32Mbit,也就是4M flash ,所以他们的地址分别是 0x3FC000 和 0x3FE000 , 最后2个的烧录文件地址看编译之后结果而决定!也即是不一定是0x10000,有可能是0x2000 , 这个根据SDK的版本有关系。所以大家还是留心点! #### 三 、 8266其他好玩的项目收集汇总; - [x] 8266的5路PWM,允许占空比从0%到100%,步长为200ns。1kHz PWM是5000步,19kHz是256步(8位分辨率)。 https://github.com/StefanBruens/ESP8266_new_pwm #### 四 、 如何判断上次掉电重启的原因; >这个代码可以判断是否软件复位或者硬件复位,或者判断是否正常重启(包括看门狗复位、非法指针); ``` struct rst_info *rtc_info = system_get_rst_info(); printf( "reset reason: %x\n", rtc_info->reason); if (rtc_info->reason == REASON_WDT_RST || rtc_info->reason == REASON_EXCEPTION_RST || rtc_info->reason == REASON_SOFT_WDT_RST){ if (rtc_info->reason == REASON_EXCEPTION_RST) { GIZWITS_LOG("Fatal exception (%d):\n", rtc_info->exccause); } printf( "epc1=0x%08x, epc2=0x%08x, epc3=0x%08x, excvaddr=0x%08x, depc=0x%08x\n", rtc_info->epc1, rtc_info->epc2, rtc_info->epc3, rtc_info->excvaddr, rtc_info->depc); } ```