ESP8266 + DHT11 + OLED0.96温湿度中文显示和MQTT(二)
本文接上文 ESP8266 + DHT11 + OLED0.96温湿度中文显示和MQTT 数据传输(一)
本章节主要接上节,增加OLED0.96 温湿度中文显示的代码逻辑,硬件参数,和接线,请看上文
增加代码步骤如下:
1)我们采用U8g2lib库,优点是代码量少,支持中文
我们在开头引用U8g2lib库 头文件
#include <U8g2lib.h>
#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
2)加入定义
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,SCL,SDA,U8X8_PIN_NONE);
3)在setup函数里增加以下代码:
u8g2.begin();u8g2.enableUTF8Print(); // enable UTF8 support for the Arduino print() function
4)在loop函数里增加以下代码:
u8g2.setFont(u8g2_font_wqy14_t_gb2312); //中文支持u8g2.setFontDirection(0);u8g2.firstPage();do {u8g2.setCursor(30, 15); //指定显示位置u8g2.print("智能温湿计"); //使用print来显示字符串u8g2.setCursor(0, 30); //指定显示位置u8g2.print(localIp); //使用print来显示字符串u8g2.setCursor(0, 45); //指定显示位置u8g2.print("当前温度:"); //使用print来显示字符串u8g2.print(temperature);u8g2.print("℃");u8g2.setCursor(0, 60); //指定显示位置u8g2.print("当前湿度:"); //使用print来显示字符串u8g2.print(humidity);u8g2.print("%");} while (u8g2.nextPage());
5) 编译,上传
6) 实际呈现
本节内容结束,我们将在下章节,增加MQTT 发送数据到服务器