# ESP8266 Arduino 笔记

By [Barbara Steele](https://paragraph.com/@barbara-steele) · 2022-10-22

---

个人职业生涯 走在互联网开发的边缘，不得不抽出时间鞭策自己学习新知识，未知的知识是 充满好奇的， 就好像一开始无线电灯成功的感觉，是那么充满信心和自豪；

     但，随着时间的推移和职业的技术成长，慢慢地，这份奋斗的心不再热心。或者，它正在慢慢地依赖着 “得过且过 ”、 ”啃老” 的生活，于是乎，您将会面临着 “裁员” !
    
     所以，不要用所谓的金钱论或人生论来绑架自己的职业，技术开发并不会来钱快，也不会因为你的出生地位、毕业学历背景而决定你的处境，我相信现时代的 “伯乐” 还是很多的，而 “千里马” 不常有 ，坚持一份执着，坚持一个博客，也许你可以被“伯乐” 所看到！
    
      下面分享下我的技术成长文章：
    

2018年年终总结：我是如何从嵌入式开发到服务器开发对接天猫精灵、小爱智能音箱服务器

2019个人年度总结：平凡的我，仍然在平淡的生活里打拼，寻找未来的曙光。

不忘初心，携手开源，一种趋势，一种进步。

从在大学学的电路板子设计到如今的服务器开发，我感觉的是一种无形的进步，更是因为这个一月三更博文的坚持自律行动， 让我受益良多，更多是技术的进步和人性的考虑！

诉我所言，您写的基本都是入门门槛的小白文章，并没有太多有价值的深度的内容。一堆小白围着您起哄“大神”、“大神”，还真以为自己上天了呢？

一、Android自定义View。 1.Android自定义View之ListView实现时间轴效果：我只是个送快递。 2.Android自定义View之widget桌面小控件: 我可以控件时间啦 3.Android自定义View之刮刮乐中奖: 我中大奖了 4.Android自定义View之雷达涟漪效果(附带demo) 5.Android自定义View之实现流行的底部菜单栏中间突起：高仿“咸鱼APP”的底部菜单。 6.Android自定义View之实现流行的新浪微博底部菜单：高仿“咸鱼APP”的底部菜单动画效果。 7.Android自定义View之popupwindow进阶封装：高仿ios “item动画弹出”效果的popupwindow。 8.Android自定义View之蓝牙搜索的涟漪雷达效果: 我在搜索呢，你在哪里呀？ 9.Android自定义View之七色环颜色采集器: 续我未完的大学梦 ！ 10.Android自定义View之仿米家APP双色灯控制UI：做一个智能家居产品的简单智能灯UI ！

二、Android与硬件通讯。 1.安卓通讯之《蓝牙与单片机通讯助手》①理清思路，准备工作。 2.安卓通讯之《蓝牙与单片机通讯助手》②扫描设备、连接设备和双向通讯。

三、Android框架的自我认知。 1.谷歌官网的Volley网络框架实战①–手机号码归属地查询。 2.谷歌官网的Volley网络框架实战②–ImageRequest、ImageLoader、NetworkImageView加载图片。 3.在Android手机集成使用MQTT协议 ，实现搞掂移动控制硬件端

四、Android第三方的使用。 1.安卓实战——第三方服务之Bmob后端云(一)集成工作。 2.安卓实战——第三方服务之Bmob后端云(二)对数据的增、删、查、改。 3.安卓开发——第三方的聚合数据API，QQ测吉凶案、身份证号码查询。 4.安卓本地轻量级数据库 greenDao3.2.2 详细教程①——集成环境，开辟难题 5.安卓本地轻量级数据库操作框架 greenDao3.2.2 详细教程附带——增、删、查、改。 6.安卓本地轻量级数据库操作框架 greenDao3.2.2 详细教程附带—— 一对多的操作。

五、Android菜鸟入门。 1.详细代码实现 Button的监听事件的Onclick的三种方法。 2.用 Case方法为每个 ListView 的Item设置监听器。

六、Java设计模式。 1.Java基础再回首之设计模式系列①-----StrategyPattern 策略者模式（案列教程，附带demo） 2.Java基础再回首之设计模式系列②-----Observer 观察者模式（案列教程，附带demo）

七、机智云专题。 1.物联网平台机智云Android开源框架入门之旅 （一）认识框架结构，导入PK、APP的id和secret。 2.物联网平台机智云Android开源框架入门之旅 （二）详细分析在设备列表的代码块，如何修改自定义的设备图片。 3.物联网平台机智云Android开源框架入门之旅（三）分析设备详情界面的中如何发送各种指令到云端：boolean、int、String类型。 4.物联网平台机智云Android开源框架入门之旅（四）分析怎么做好自己的指令是否成功发送到云端对应的逻辑处理 5.物联网平台机智云Android开源框架入门之旅（五）分析怎么样把云端设备的信息状态同步到手机显示。 6.物联网平台机智云Android开源框架入门之旅（六）如何修改设备的名字，并且添加描述信息。

八、AndroidStudio技巧。 1.Android调试新玩法——仅需几步，无需数据线，即可调试真机。

九、封装。

1.  Android封装之PopupWindow（一） (带demo)
    
2.  Android封装之PopupWindow进阶封装（二） (带demo)
    
3.  Android进阶封装之“史无前例"一个类实现兼容Android 6.0权限、适配Android7.0 拍照： 相机与相册上传图片就用我好啦！
    

十、开发经验分享笔记。

1.  Android本地服务器——TomCat服务器的搭建。
    

浅谈在windows系统下esp8266和esp32开发共存一个eclipse编译器，非安信可一体化环境，而是搭建自己的eclipes环境。 十一、安卓实战项目。

1.  实现一个《 从下位机到蓝牙模块通讯到Android客户端 》的完整物联网项目。
    

十二、物联网wifi顶级模块8266之再回顾。 1、 Esp8266之 搭建开发环境，开始一个“hellow world”串口打印。 2、 Esp8266之 利用GPIO开始使用按钮点亮你的“第一盏灯”。 3、 Esp8266之 利用 "软件定时器 " 定时0.5秒闪烁点亮一盏LED。 4 、Esp8266之 了解PWM，更为深入地用PWM控制一盏LED的亮度变化。 5 、Esp8266之 原生乐鑫SDK高级使用之封装Post与Get请求云端，拿到“天气预报信息”。 6 、Esp8266之 了解 SmartConfig与Airkiss一键配网，给8266配网上云端。无需把wifi名字密码写在固件里。 7 、Esp8266之 了解 softAP热点配网模式原理，仿“机智云”定义自己的热点配网模式协议。 8、 Esp8266之 你要找的8266作为UDP、TCP客户端或服务端的角色通讯，都在这了。 9、 Esp8266进阶之路： \[小实战上篇\]Windows系统搭建8266的本地Mqtt服务器，局域网点亮一盏LED灯。 10、 Esp8266进阶之路： \[小实战下篇\]Windows系统搭建8266的本地Mqtt服务器，局域网点亮一盏LED灯。 11、 Esp8266进阶之路： 8266接入阿里智能，点亮一盏LED灯，期待天猫精灵语音控制的不约而至！ 12、 Esp8266进阶之路： 图文并茂学习阿里云主机搭建8266MQTT服务器，实现移动网络远程控制一盏LED。 13、 Esp8266进阶之路： 动手做个8266毕设小案例，smartConfig + MQTT协议轻松实现远程控制一盏LED。 14、 Esp8266进阶之路： esp8266的 FreeRtos系统学习的正确姿势 ------ 环境搭建、烧录。 15、 Esp8266进阶之路： esp8266的 物联网又一股清流，8266接入阿里云平台非阿里智能的SDS服务，点亮一盏LED灯。 16、 Esp8266进阶之路： esp8266的 基于Nonos移植红外线H1838，实现红外遥控器配网，远程控制一盏灯。 17、 Esp8266进阶之路： esp8266自研的快速上电开关五次 (开-关为一次) ，无需按键触发则8266进去一键配网模式。 18、 Esp8266进阶之路： esp8266 基于NONOS 实现 OTA 远程升级，实现无线“ 热修复 ”升级固件程序。 19、 Esp8266进阶之路： esp8266驱动 ds18b20、dht11 温湿度传感器，采集温湿度传感器到服务器。 20、 Esp8266进阶之路： 深入学习esp8266的esp now模式，仿机智云做一个小网关，实现无需网络下轻松彼此连接通讯交互数据。 21、 Esp8266进阶之路： 浅谈 esp8266 如何在本地局域网网络情况下实现最大效率地和前端实现数据交互。 22、 Esp8266进阶之路： esp8266的工程如何添加第三方静态库文件以及如何自定义文件夹，聊聊那些makeFile的事。。 23、 Esp8266进阶之路： 再来一波 esp8266 基于 freeRtos系统连接自己私有的服务器实现OTA远程升级，接触下 lwip的基本知识。。 24、 Esp8266进阶之路： 渗透学习回顾下esp8266的外置spi芯片25q系列，熟悉8266代码块在其的分布，得心应手放置图片或其他资料。 25、 Esp8266进阶之路： 深聊下esp8266的串口 Uart 通讯中断编程，为您准备好了 NONOS 版本 和 RTOS 系统的串口驱动文件。 26、 Esp8266进阶之路： RTOS分析 MQTT 实现过程，实现移植 MQTT协议在 esp8266 rtos实时系统，可断线重连。 27、 Esp8266进阶之路： 跟紧脚步，用VisualStudio Code开发 esp8266 rtos SDK v3.0版本，全新的 idf 框架，节省内存模块化开发。 28、 Esp8266进阶之路： 教你轻松自如使用cJson在乐鑫 esp8266 如何解析一段json数据以及如何生成一段json数据。 29、 Esp8266进阶之路： 百万条消息免费之乐鑫esp8266使用TCP直连模式MQTT协议接入阿里云物联网平台，支持私家服务器对接支持阿里云规则引擎。 30、 Esp8266进阶之路： 乐鑫esp8266 SDK编程使用 IIC总线驱动 0.96寸的OLED显示屏，显示天气预报信息。 31、 Esp8266进阶之路： 当esp8266遇到 Html，该怎么内置网页控制设备，理清内置网页的实现过程，实现无需路由器手机也可以控制esp8266。 32、 Esp8266进阶之路： 细聊HmacMD5的加密方法带来的安全性，并实践在esp8266上，最大保障传输的过程的信息的安全性。 33、 Esp8266进阶之路： 如何优雅地像乐鑫原厂封装esp8266底层寄存器的逻辑思维，做成自己的静态库库文件，让第三方人使用？ 34、 Esp8266进阶之路： 乐鑫esp8266 NONOS SDK 3.0编程使用 SPI 驱动基于Max7219芯片的八位数码管，显示日期信息。 35、 Esp8266进阶之路： 乐鑫esp8266芯片借助机智云平台做一个商业化的七彩RGB灯泡可调整体方案项目，炫彩夺目高大尚。 36、 Esp8266之rtos3.0笔记： 认识esp8266 Rtos 3.0 sdk 工程结构，esp8266如何向esp-idf工程靠近的，如何自定义头文件编译？ 37、 Esp8266之rtos3.0笔记： 你要找的基本外设功能都在这里了，包括Gpio、Pwm 和 Uart 接口使用。 38、 Esp8266之rtos3.0笔记： 一篇文章带你搞掂存储技术 NVS 的认识和使用，如何利用NVS保存整型、字符串、数组以及结构体。 39、 Esp8266之rtos3.0笔记： 捋一捋微信公众号配网智能设备 esp8266 并绑定设备的过程，移植并成功实现在 esp8266 rtos3.1 。 40、 Esp8266之rtos3.0笔记： 基于乐鑫idf框架，研究出超稳定、掉线重连、解决内存泄露问题的Mqtt框架！支持esp8266和esp32！ 41、 Esp8266之rtos3.0笔记： esp8266-12模块基于rtos3.1版本ota功能远程空中升级固件，官网基础之上增加dns域名解析！ 42、 Esp8266之rtos3.0笔记： 我又来了，基于rtos3.0版本 SDK编程 SPI 驱动 ws2812b 七彩灯，代码全部开源奉献给你们！ 43、 Esp8266之rtos3.0笔记： esp8266-12模块基于rtos3.0版本扫描周围获取附近可用的 Wi-Fi 热点路由器信息，同样适合esp32。 44、 Esp8266之rtos3.0笔记： 整理分享那些我在项目中常用的esp8266 rtos3.0版本的常见驱动，Button按键长短按、PWM平滑调光等。 45、 Esp8266之rtos3.0笔记： 内置仅1M的Esp8285，如何攻破最棘手的OTA问题，大大节省资源成本开发产品。 46、 Esp8266之rtos3.0笔记： 详细分析Esp8266上电信息打印的数据，如何做到串口通讯上电不乱码打印。 47、 Esp8266之rtos3.0笔记： 无需外网，如何实现在本地局域网与控制端做数据交换的一些开发经验。 48、 Esp8266之rtos3.0笔记： 迟来的1024程序员祝福，开源分享一个驱动 ds18b20 获取温度的工程。 49、 Esp8266之rtos3.0笔记： aliyun sdk 直连接入阿里云物联网平台，实现天猫精灵找队友零配网功能和语音控制。 50、 Esp8266之rtos3.0笔记： esp产品量产方案初入门之 如何从外部读取 csv 文件的数据，比如从代码读取阿里云三元组。

十三、基于乐鑫ESP32 芯片模组 C SDK二次开发的技术全系列笔记目录 系列一：ESP32系列模组基础学习系列笔记

1、 爬坑学习新旅程，虚拟机搭建esp32开发环境，打印 “Hellow World”。 2、 巧用eclipes编辑器，官方教程在在Windows下搭建esp32开发环境，打印 “Hellow World”。 3、 认识基本esp32的GPIO接口，开始点亮您的第一盏 LED和中断回调实现按键功能 。 4、体会esp32的强大的定时器功能， 实现定时2s闪烁一盏LED灯。 5、接触实践esp32的pwm宽度脉冲功能， 实现呼吸效果闪烁一盏LED灯。 6、smartConfig和微信airKiss在esp32的实现，一键配网轻松快捷连接路由器。 7、利用GPIO中断做一个按键的短按和长按的回调事件，再也无须担心触发源。 8、esp32上实现本地 UDP 客户端和服务端角色，在局域网内实现通讯。 9、esp32上实现本地 TCP 客户端和服务端角色，可断线重连原路返回数据。 10、乐鑫esp32 SDK编程利用rmt驱动ws2812七彩灯，实现彩虹渐变效果。 11、入门 乐鑫esp-adf 音频框架开发，esp32造一个蓝牙耳机，实现切换歌曲，获取歌曲信息等功能。 12、开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程，分享一个airkiss配网小工具。 13、esp32 内置 dns 服务器，无需外网访问域名返回指定网页。 14、esp32 sdk编程实现门户强制认证，连接esp32热点之后，自动强制弹出指定的登录界面。 15、认识本地离线语音唤醒识别框架 esp-skainet ，实现较低成本的硬件语音本地识别控制。 16、学习本地语音唤醒离线识别框架 esp-skainet ，如何修改唤醒词? 如何自定义命令词？如何做意图动作？ 17、全网首发，乐鑫esp32 sdk直连京东微联·小京鱼 · IoT开放平台，实现叮咚音响语音智能控制。 18、入门京东微联·小京鱼的控制面板H5开发，读懂vue语法，做自己的控制页面。 19、重磅开源，如何在微信小程序上ble蓝牙配网esp32，blufi的那些事！ 20、一篇好文，开发过程中编译esp32固件太大，无法正常启动？教你如何自定义分区表partitions.csv。 21、 esp32蓝牙配网blufi的高度封装，集成简单、使用简单、容易上手，提高开发效率！ 22、讨论下程序员 “青春饭” 那些事，分享在esp32实现多种加密算法md5 |AES CBC-ECB| Sha1 | Sha256 等！ 23、安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架，小试牛刀如何实现在线文字转语音播放。 25、分享在 esp32 SDK实现冷暖光色温平滑调节的封装，轻松集成到您的项目去。 26、分享下如何在window下使用CMake编译，编译速度提高传统 make 编译一个档次，支持 ESP32 和 ESP32-C3。 27、windows10平台下自带的Linux安装 ESP8266/ESP32 环境，再无需额外安装虚拟机了。

系列二：ESP32-Camera 摄像头开发板系列笔记

1、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程，实现MQTT远程拍照传输到私有服务器。 2、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程，实现本地视频流监控。 3、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程，拍照图片通过有线串口传到上位机PC端。

系列三：ESP32-C3 模组系列笔记

1、【蓝牙Mesh笔记 ①】ESP32-C3 模组上实现天猫精灵蓝牙 BLE Mesh AliGenie 接入，无需WiFi 连接也可以实现天猫精灵语音控制。

系列四：ESP32-S3 模组系列笔记

1、安信可 ESP32-S3 模组上驱动摄像头 OV2640，实现远程拍照并 HTTP 传输到阿里云对象存储OSS，并显示在微信小程序上。。

十四、阿里巴巴嵌入式物联网开源系统Alios-Things之 esp8266学习笔记。 1、 Alios-Thins教程连载 ①如何搭建阿里开源系统Alios-Things环境，烧录到乐鑫esp8266，打印 HelloWorld 。（附带镜像） 2、 Alios-Thins教程连载 ②乐鑫esp8266如何在Alios-Things环境移植 gpio 驱动，点亮一盏LED 。 3、 Alios-Thins教程连载 ③图文并茂教你使用乐鑫esp8266轻松连接阿里飞燕平台，实现轻松对接天猫精灵 。

十五、微信小程序控制智能硬件笔记。 【微信小程序控制硬件第1篇 】 全网首发，借助 emq 消息服务器带你如何搭建微信小程序的mqtt服务器，轻松控制智能硬件！ 【微信小程序控制硬件第2篇 】 开始微信小程序之旅，导入小程序Mqtt客户端源码，实现简单的验证和通讯于服务器！ 【微信小程序控制硬件第3篇 】 从软件到硬件搭建一个微信小程序控制esp8266的项目，自定义通讯协议，为面试职位和比赛项目加分！ 【微信小程序控制硬件第4篇 】 深度剖析微信公众号配网 Airkiss 原理与过程，esp8266如何自定义回调参数给微信，实现绑定设备第一步！ 【微信小程序控制硬件第5篇 】理清接下来必须走的架构思想，学习下 JavaScript 的观察者模式，在微信小程序多页面同时接收到设备推送事件！ 【微信小程序控制硬件第6篇 】服务器如何集成七牛云存储SDK，把用户自定义设备图片存储在第三方服务器！ 【微信小程序控制硬件第7篇 】动起来做一个微信小程序Mqtt协议控制智能硬件的框架，为自己心里全栈工程师梦想浇水！！ 【微信小程序控制硬件第8篇 】微信小程序以 websocket 连接阿里云IOT物联网平台mqtt服务器，封装起来使用就是这么简单！ 【微信小程序控制硬件第9篇 】巧借阿里云物联网平台的免费连接，从微信小程序颜色采集控制 esp8266 输出七彩灯效果，中秋节来个直播如何？！ 【微信公众号配网到控制硬件 第10篇 】如何在微信公众号网页实现连接mqtt服务器教程！！

十六、php对接天猫精灵aligenie和小爱同学服务器笔记。 1、 php对接AliGenie天猫精灵服务器控制智能硬件esp8266① 在阿里云购买搭建私有云服务器，配置 SSL 证书 ，做好准备工作！ 2、 php对接AliGenie天猫精灵服务器控制智能硬件esp8266② 全面认识第三方授权机制 oauth2.0 协议，如何在 php 上搭建 oauth2.0服务端！ 3、 php对接AliGenie天猫精灵服务器控制智能硬件esp8266③渗入熟悉AliGenie 对接协议，揭开第三方云平台是如何让天猫精灵是发送消息到私有服务器的！

十七、泰凌微Ble Mesh模组 TB-02 模块开发板入门 1、小白也痴迷，如何在 Linux环境搭建编译烧录 安信可TB02，点亮一盏LED灯； 2、如何实现 微信小程序蓝牙蓝牙控制 Ble Mesh模组 安信可TB02，全部开源！

另外，不要把我的博客作为学习标准，我的只是笔记，难有疏忽之处，如果有，请指出来，也欢迎留言哈！

---

*Originally published on [Barbara Steele](https://paragraph.com/@barbara-steele/esp8266-arduino)*
