Esp32 Oled Display

Articulo en desarrollo.

https://docs.micropython.org/en/latest/esp32/quickref.html
http://micropython.org/webrepl/

Codigo ap.py (arranca en modo punto de acceso y arranca la consola REPL via web )

print("ap.py"); 
import network; 
ap_if=network.WLAN(network.AP_IF); 
print(ap_if.ifconfig()); 
ap_if.active(True); 
import webrepl; 
webrepl.start();

crear el archivo ap.py desde la consola

f=open('ap.py','w')
f.write('print("ap.py"); ')
f.write('import network; ')
f.write('ap_if=network.WLAN(network.AP_IF); ')
f.write('print(ap_if.ifconfig()); ')
f.write('ap_if.active(True); ')
f.write('import webrepl; ')
f.write('webrepl.start(); ')
f.close()

Para mostrar el archivo desde la consola:

f=open('ap.py','r')
f.read()

Codigo sta.py (arranca en modo cliente(station) y arranca la consola REPL via web )

print("sta.py"); 
import network; 
sta_if=network.WLAN(network.STA_IF); 
sta_if.active(True); 
sta_if.scan(); 
sta_if.connect("Honor 6X","polkawifi"); 
import webrepl; 
webrepl.start();

crear el archivo sta.py desde la consola

f=open('sta.py','w')
f.write('print("ap.py"); ')
f.write('import network; ')
f.write('sta_if=network.WLAN(network.STA_IF); ')
f.write('sta_if.active(True); ')
f.write('sta_if.scan(); ')
f.write('sta_if.connect("Honor 6X","polkawifi"); ')
f.write('import webrepl; ')
f.write('webrepl.start(); ')
f.close()
machine.reset()
import sta

https://www.instructables.com/id/MicroPython-on-an-ESP32-Board-With-Integrated-SSD1/ https://github.com/adafruit/micropython-adafruit-ssd1306

wget https://raw.githubusercontent.com/adafruit/micropython-adafruit-ssd1306/master/ssd1306.py

compruebo bus i2c

#import machine
i2c = machine.I2C(scl=machine.Pin(4), sda=machine.Pin(5))
i2c.scan()

deveria ver: (en el terminal)

MicroPython v1.10 on 2019-01-25; ESP32 module with ESP32
Type "help()" for more information.
>>> i2c = machine.I2C(scl=machine.Pin(4), sda=machine.Pin(5))
>>> i2c.scan()
[60]
>>> 
Lo que quire decir que hay un dispositivo i2c en la direccion 60

compruebo pantalla oled

import machine
i2c = machine.I2C(scl=machine.Pin(4), sda=machine.Pin(5))
i2c.scan()
import ssd1306
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
oled.fill(0) 
oled.text('MicroPython Em50L', 0, 0)
oled.show()