-
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
- 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显示屏,显示天气预报信息。
一、前言;
-
最近在我的技术群里看到蛮多人要求我出个开发板,好吧!那我抽个时间和群里的管理员出个开发板,带领大家去学习这个物联网黑马芯片
esp8266
的详细教程,当然是个人组织的,会方方面面介绍怎么入门,进阶,怎么学习网络协议栈,更好地开发自己的产品或者大学生比赛用到!当然了,最终还是会提到怎么接入阿里智能京东微联这些大平台! -
今天有幸整理下
esp8266
使用IIC总线驱动 0.96寸的OLED显示屏,在之前的原生乐鑫SDK高级使用之封装Post与Get请求云端,拿到“天气预报信息”,我提到可以拿到信息之后,可以显示在显示屏上面,现在我准备开源这个步骤和代码,至于怎么解析json
数据,大家可以去看看我另外一篇博客esp8266解析CJSON,之后显示加载出来就可以了!
二、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
- esp8266源代码学习汇总(持续更新,欢迎
star
):https://github.com/xuhongv/StudyInEsp8266 - esp32源代码学习汇总(持续更新,欢迎
star
):https://github.com/xuhongv/StudyInEsp32