*
本系列博客学习由非官方人员 半颗心脏 <http://blog.csdn.net/xh870189248>
潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

* 1、 Esp8266之 搭建开发环境,开始一个“hellow world”串口打印。
<http://blog.csdn.net/xh870189248/article/details/77985541>
* 2、 Esp8266之 利用GPIO开始使用按钮点亮你的“第一盏灯”。
<http://blog.csdn.net/xh870189248/article/details/78126689>
* 3、 Esp8266之 利用 "软件定时器 " 定时0.5秒闪烁点亮一盏LED。
<http://blog.csdn.net/xh870189248/article/details/78155357>
* 4 、Esp8266之 了解PWM,更为深入地用PWM控制一盏LED的亮度变化。
<http://blog.csdn.net/xh870189248/article/details/78202224>
* 5 、Esp8266之 原生乐鑫SDK高级使用之封装Post与Get请求云端,拿到“天气预报信息”。
<http://blog.csdn.net/xh870189248/article/details/78656563>
* 6 、Esp8266之 了解 SmartConfig与Airkiss一键配网,给8266配网上云端。无需把wifi名字密码写在固件里。
<http://blog.csdn.net/xh870189248/article/details/78677952>
* 7 、Esp8266之 了解 softAP热点配网模式原理,仿“机智云”定义自己的热点配网模式协议。
<http://blog.csdn.net/xh870189248/article/details/78703905>
* 8、 Esp8266之 你要找的8266作为UDP、TCP客户端或服务端的角色通讯,都在这了。
<http://blog.csdn.net/xh870189248/article/details/78739311>
* 9、 Esp8266进阶之路第一篇: [小实战上篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
<http://blog.csdn.net/xh870189248/article/details/78761948>
* 10、 Esp8266进阶之路第二篇: [小实战下篇]Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。
<http://blog.csdn.net/xh870189248/article/details/78777371>
* 11、 Esp8266进阶之路第三篇: 8266接入阿里智能,点亮一盏LED灯,期待天猫精灵语音控制的不约而至!
<http://blog.csdn.net/xh870189248/article/details/78807018>
*
12、 Esp8266进阶之路第四篇: 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制一盏LED。
<http://blog.csdn.net/xh870189248/article/details/78867173>

*
13、 Esp8266进阶之路第五篇: 动手做个8266毕设小案例,smartConfig + MQTT协议轻松实现远程控制一盏LED。
<http://blog.csdn.net/xh870189248/article/details/79052347>

*
14、 Esp8266进阶之路第六篇: esp8266的 FreeRtos系统学习的正确姿势 ------ 环境搭建、烧录。
<http://blog.csdn.net/xh870189248/article/details/79103373>

*
15、 Esp8266进阶之路第七篇: esp8266的 物联网又一股清流,8266接入阿里云平台非阿里智能的SDS服务,点亮一盏LED灯。
<http://blog.csdn.net/xh870189248/article/details/79197459>

*
16、 Esp8266进阶之路第八篇: esp8266的 基于Nonos移植红外线H1838,实现红外遥控器配网,远程控制一盏灯。
<http://blog.csdn.net/xh870189248/article/details/79486075>

*
17、 Esp8266进阶之路第九篇: esp8266自研的快速上电开关五次 (开-关为一次) ,无需按键触发则8266进去一键配网模式。
<https://blog.csdn.net/xh870189248/article/details/80027961>

*
18、 Esp8266进阶之路第十篇: esp8266 基于NONOS 实现 OTA 远程升级,实现无线“ 热修复 ”升级固件程序。
<https://blog.csdn.net/xh870189248/article/details/80095139>

*
19、 Esp8266进阶之路第十一篇【外设篇】: esp8266驱动 ds18b20、dht11 温湿度传感器,采集温湿度传感器到服务器。
<https://blog.csdn.net/xh870189248/article/details/80284827>

*
20、 Esp8266进阶之路第十一篇【高级篇】: 深入学习esp8266的esp now模式,仿机智云做一个小网关,实现无需网络下轻松彼此连接通讯交互数据。
<https://blog.csdn.net/xh870189248/article/details/80631739>

*
21、 Esp8266进阶之路第十二篇【高级篇】: 浅谈 esp8266 如何在本地局域网网络情况下实现最大效率地和前端实现数据交互。
<https://blog.csdn.net/xh870189248/article/details/80859347>

*
22、 Esp8266进阶之路第十三篇【混杂篇】: esp8266的工程如何添加第三方静态库文件以及如何自定义文件夹,聊聊那些makeFile的事。。
<https://blog.csdn.net/xh870189248/article/details/80909216>

*
23、 Esp8266进阶之路第十四篇【高级篇】: 再来一波 esp8266 基于 freeRtos系统连接自己私有的服务器实现OTA远程升级,接触下
lwip的基本知识。。 <https://blog.csdn.net/xh870189248/article/details/80924538>

*
24、 Esp8266进阶之路第十五篇【高级篇】:
渗透学习回顾下esp8266的外置spi芯片25q系列,熟悉8266代码块在其的分布,得心应手放置图片或其他资料。
<https://blog.csdn.net/xh870189248/article/details/81017735>

*
25、 Esp8266进阶之路第十六篇【高级篇】: 深聊下esp8266的串口 Uart 通讯中断编程,为您准备好了 NONOS 版本 和 RTOS
系统的串口驱动文件。 <https://blog.csdn.net/xh870189248/article/details/81017735>

*
26、 Esp8266进阶之路第十七篇【高级篇】: RTOS分析 MQTT 实现过程,实现移植 MQTT协议在 esp8266 rtos实时系统,可断线重连。
<https://blog.csdn.net/xh870189248/article/details/81181707>

*
27、 Esp8266进阶之路第十八篇【高级篇】: 跟紧脚步,用VisualStudio Code开发 esp8266 rtos SDK
v3.0版本,全新的 idf 框架,节省内存模块化开发。
<https://blog.csdn.net/xh870189248/article/details/81382279>

*
28、 Esp8266进阶之路第十九篇【高级篇】: 高级篇】教你轻松自如使用cJson在乐鑫 esp8266
如何解析一段json数据以及如何生成一段json数据。
<https://blog.csdn.net/xh870189248/article/details/83149619>

*
29、 Esp8266进阶之路第二十篇【高级篇】:
百万条消息免费之乐鑫esp8266使用TCP直连模式MQTT协议接入阿里云物联网平台,支持私家服务器对接,支持阿里云规则引擎。
<https://blog.csdn.net/xh870189248/article/details/83149619>

*
30、 Esp8266进阶之路第二十一篇【外设篇】: 乐鑫esp8266 SDK编程使用 IIC总线驱动 0.96寸的OLED显示屏,显示天气预报信息。
<https://blog.csdn.net/xh870189248/article/details/83443614>

<>
文章目录

* @[toc] <https://blog.csdn.net/xh870189248/article/details/83443614#toc_37>
* 一、前言; <https://blog.csdn.net/xh870189248/article/details/83443614#_39>
* 二、`esp8266`的`iic`接口?
<https://blog.csdn.net/xh870189248/article/details/83443614#esp8266iic_50>
* 三、如何显示中文文字在显示屏?
<https://blog.csdn.net/xh870189248/article/details/83443614#_63>
* 四、修改工程 <https://blog.csdn.net/xh870189248/article/details/83443614#_88>
* 五、一些必要的函数说明!
<https://blog.csdn.net/xh870189248/article/details/83443614#_134>

<>一、前言;



*
   最近在我的技术群里看到蛮多人要求我出个开发板,好吧!那我抽个时间和群里的管理员出个开发板,带领大家去学习这个物联网黑马芯片esp8266
的详细教程,当然是个人组织的,会方方面面介绍怎么入门,进阶,怎么学习网络协议栈,更好地开发自己的产品或者大学生比赛用到!当然了,最终还是会提到怎么接入阿里智能京东微联这些大平台!

*
    今天有幸整理下esp8266 使用IIC总线驱动 0.96寸的OLED显示屏,在之前的
原生乐鑫SDK高级使用之封装Post与Get请求云端,拿到“天气预报信息”
<http://blog.csdn.net/xh870189248/article/details/78656563>
,我提到可以拿到信息之后,可以显示在显示屏上面,现在我准备开源这个步骤和代码,至于怎么解析json数据,大家可以去看看我另外一篇博客esp8266解析CJSON
<https://blog.csdn.net/xh870189248/article/details/82459279>,之后显示加载出来就可以了!

<>二、esp8266的iic接口?

*     esp8266没有硬件iic接口,都是软件模拟出来的!而且ESP8266 ⽬目前提供作为 I2C 主设备的接⼝口,可以对其他 I2C
从设备(例如⼤大多数数字传感器)进⾏行控制与读写。
总的来说,官方对此有说明如下:

* 同时,芯⽚片内部提供上拉电阻,以节省外部的上拉电阻。
* ESP8266 作为 I2C 主机的 SDA 与 SCL 线波形由 GPIO 模拟产⽣生,在 SCL 的上升沿之后 SDA
取数。SCL⾼高低电平各保持 5us,因此 I2C 时钟频率约为 100KHz。
* 每个 GPIO 管脚内部都可以配置为开漏模式(open-drain),从⽽而可以灵活的将 GPIO ⼝口⽤用作 I2C data 或 clock 功能。
<>三、如何显示中文文字在显示屏?

* 第一步:这个步骤相信大家都清楚,首先要取模,我这里先从Windows系统新建一个.bmp格式的图片,注意文件像素大小是128*64,因为我们的oled
像素就是这个!


* 第二步:打开取模软件小工具,我这里使用的是PCtoLCD2002,打开一个文件,选择我们上面的.bmp文件。如图:


* 第三步:注意保存的取模数据的格式,选项如下:


* 第四步:在软件下面有个生成字模,然后我们保存为.txt文档,后面代码工程会用到!
<>四、修改工程

* 我分享的工程代码是弄好了字模数组的,大家只要修改下即可,在bmp.h头文件下面的BMP[]数组,您只需要替换为您的字模即可!注意数组格式!!
* 下面贴下部分代码: void user_init(void) { i2c_master_gpio_init(); OLED_Init();
//oled初始化 OLED_ShowStr(0, 3, "System Start", 2); //显示System Start // 显示延时10秒
os_delay_us(60000); os_delay_us(60000); os_delay_us(60000); os_delay_us(60000);
os_delay_us(60000); os_delay_us(60000); os_delay_us(60000); os_delay_us(60000);
os_delay_us(60000); os_delay_us(60000); // 清屏 OLED_CLS(); //
显示位图,自左上角0,0,位置分辨率点起,至第128个分辨率点、第8行的右下角,显示图片“esp8266 天气预报”的位图数据 OLED_DrawBMP(0,
0, 128, 8, BMP); }
* 因为是软件模拟出来的,所以,可以任意修改为你想要的gpio口,我都为您宏定义好了!您只需要在i2c_master.h
头文件重新修改即可!注意下管脚对应的寄存器哈!下面是我自己的定义! #define I2C_MASTER_SDA_MUX
PERIPHS_IO_MUX_GPIO4_U #define I2C_MASTER_SCL_MUX PERIPHS_IO_MUX_GPIO5_U
#define I2C_MASTER_SDA_GPIO 4 #define I2C_MASTER_SCL_GPIO 5 #define
I2C_MASTER_SDA_FUNC FUNC_GPIO4 #define I2C_MASTER_SCL_FUNC FUNC_GPIO5
<>五、一些必要的函数说明!





* 本硬件代码下载:https://download.csdn.net/download/xh870189248/10747425
<https://download.csdn.net/download/xh870189248/10747425>
* esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
<https://github.com/xuhongv/StudyInEsp8266>
* esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
<https://github.com/xuhongv/StudyInEsp32>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信