(Ro)Bot Software – Internet of Things

8266d Class 1 – (5 March 2016)

What is this ESP8266 wifi chip?

Today we will play with its wifi functions from laptop PC.

Download PDF of Presentation  

Class 2 – (19 Mar 2016)

PC python script with ESP8266 (AT modem interpreter). The most basic working IoT website.

Python script and PDF    (upd 25/3)

Class 3 – (26 March – ie Easter)8266e

PC LUA script with ESP8266 (LUA interpreter). This time our primitive “web site” can also access some GPIO pins of the 8266.

Flashing (uploading) a new binary (“BIN”) firmware file takes merely a minute. I can reflash any ESP boards this week if you don’t wish to bother.

Class 4 – (9 Apr 2016)   

Learning how to work comfortably with Lua.
We “back-step” from the ready-to-run script file of Class 3, and learn to manually talk (in Lua) to the ESP8266.  A bit like we could manually talk “AT” instructions to the 8266 in Class 1, but more flexible. Besides controlling the wifi, we can now do input/output with the GPIO pins.

All class files

Class 5 – (23 Apr 2016)

A basic “LOGGER” station in Lua, with login to wifi AP, support for oled display, true timekeeping, event logging with timestamps, and simple access via web webioespbrowser. A core “platform” ready to add whatever input or output devices your own project needs.

All Files

Class 6 – (7 May 2016)

Logger platform now at version LG3.  Today, four alternative “project” files (project1.lua to project4.lua), using LG3:

  1. Simple 2 buttons, 2 leds, and logged report – same as last class
  2. WebIO-esp – control all GPIOs in/out  high/low froDSCN6595m browser (Remember webIOpi?)
  3. Scheduled/periodic logging of all GPIO inputs
  4. A demo of what display formats the oled is supporting

All Lua Files   and   PPT

Class 7 – (21 May 2016)

Note: You DO NEED to be flashed with the later lua BIN file (2016-04-10). It runs at 115200.

project5: sonar device displaying on oled
project6: sonar device used as stormwater sump water level sensor, controlling pump on/off
project7: accessing the “interpreter” from web browser (“telnet”)

Project Files (Most of the lg3 lua files are updated too)

Class 8 – (4 June 2016)

Weather station (pressure, temperature & humidity) with BMP180 & DHT22.

Files: Click

Class 9 – (18 June 2016)

16 more GPIO pins using MCP23017 expander. (Dig in your “bits” box. We used the MCP23017 chip last year.) We will build an expanded “plus” version of week5’s WebIO-esp.

Files: Click   Note this ZIP has

  • bin (and flashing script) belonging in your BIN folder,
  • today’s PPT,
  • “project9” lua files (3 of them),
  • and a couple of the LG3 files that have slight changes.

Class 10 – (9 July 2016)

Analog inputs. Single analog as supplied on ESP8266, and eight analog inputs using multiplexer.ldr320943614618_1

Files:   class10

Class 11 – (16 July 2016)esp8266-pins

Firing up the little ESP-01.

No LUA “project” file this class? – Plug in the OLED to sda/scl = D3/D4 (ie GPIO0/GPIO2), and try project 4, oled demo.

Files: class11


Class 12 – (30 July 2016)

Firewalls and accessing your ESP from “outside”.

Files: class12



Class 13 – (6 Aug 2016)

Putting the ESP8266 to sleep. Zero current (nearly) means great battery savings.

… and then waking up again, checking/logging data as desired, and going back to sleep until next time.

Files: class13

Class 14 – (20 Aug 2016)

Batteries for portable/remote power.   PDF file.

Class 15 – (27 Aug 2016)

Batteries for portable/remote power. Looking again at Deep Sleep to get battery usage very low.

“Project16” script


Class 16: – (Sat 3 Sept)

Storing your logged data out to the cloud instead. Simply setting up MQTT account, and accessing via MQTT client on any of:

  • smartphone APP
  • Google MQTTlens APP on PC
  • MQTTfx on PC

class16 files


Class 17: – (17 Sept 2016)

ESP as MQTT client.
Publishes LDR analog
Subscribes to:
Led1, Led2, testButn, OledMsg – and has a GPIO response for each.

Watching/controlling ESP8266 at PC (MQTTlens?)

class17 files


Class 18: – (Sat 24 Sept 2016)