OLEDDisplay

From Let's Control It
Jump to: navigation, search

Introduction

The ESP8266 module can be used to control an I2C OLED SSD1306 Display. Mainly to display sensor values locally.

OLED.png

We currently only support text messages, 8 lines of 16 characters.

Hardware

As you can see, connections are easy with this display. The board has only 4 wires:

OLED2.png

Connect the OLED Display to the I2C interface. This display works with 3V3 and can be connected directly to the ESP module.

Connections

 LCD 	 	ESP-01
 GND 	 	GND
 VCC    	VCC
 SDA		GPIO 0
 SCL		GPIO 2

Some displays feature a Reset or RST pin. At start-up those displays may show noisy pixels. Resetting the display and thereafter the ESP will help. NodeMCU for instance, provides a RST pin. Connecting this pin to the RST pin of the OLED is a good way to synchronize operation.

Software

Custom sketch

ESP Easy

Use the device tab on the ESP Easy webinterface and create a new task by editing one of the available tasks. Select "Display - OLED 1306" from the dropdown box.

Enter template texts into lines 1 to 8. Plain text will be shown on the display exactly as entered. If you want to show a value, enclose <task name> and <value name> between brackets, separated by a hashtag.

So if you have a dallas sensor running, with taskname "Dallas", to get the temperature value, use this:

 [Dallas#Temperature]

With release 057, some features were added. If you put %sysname% or %ip% or %systime% on a line in the table, the display will show either the name you gave the ESP module, its IP address or its time. The latter only when NTP is being deployed.


Check this sample on how to get it done:

EasyConfigOLED.png


(The IDX field will be stuffed with '1', because it's needs a value. But nothing will be send with this device)

HTTP control command

You can also control the LCD Display by remote http commands send from your Home Automation Controller or any other device that can send http get requests.

Command format:

http://<ESP IP address>/control?cmd=oled,<row>,<col>,<text>

It is also possible to switch on or off the OLED or to clear the display. During the off state, the content will be updated according to the latest values or states.

http://<ESP IP address>/control?cmd=oledcmd,on

http://<ESP IP address>/control?cmd=oledcmd,off

http://<ESP IP address>/control?cmd=oledcmd,clear