IoT-cursus/IoT-knopen/Achtergrond/DHZ IoT-knoop met ESP8266

Uit Inf2019
Naar navigatie springen Naar zoeken springen

Bouw zelf je eigen IoT-knoop met een ESP8266

We bouwen een IoT-knoop met de volgende onderdelen:

Onderdeel functie datasheet e.d. shop
Wemos D1 Pro Microcontroller, WiFi Wemos page [1]
BMP280 Temperatuur- en luchtdrukmeter (barometer) Bosch BMP280 [2]
DHT22 Temperatuur- en luchtvochtigheidsmeter DHT22 [3]
LDR lichtmeting GL5537 [4]
pushbuttons [5]
weerstanden, 10 kOhm, 0.25W pull-down/pull-up weerstand

[6]

breadboard [7]
breadboard-draden (of montagedraden) [8] of

[9]

Je moet wel enkele onderdelen solderen, bijvoorbeeld de headers (pootjes) van de Wemos D1 en van de BMP280. Er zijn allerlei variaties mogelijk: je kunt een ander microcontroller-bordje gebruiken, of andere sensoren.

Schema

IoT knoop schema

  • DHT22-data heeft een pull-up weerstand van 10kOhm nodig (naar Vcc)
  • de schakelaar(s) heeft een pull-down weerstand nodig (10kOhm)
  • de LDR vormt samen met een weerstand van 10kOhm een spanningsdeler

Verbindingen

software (GPIO) Wemos D1-pin onderdeel-pin betekenis
GPIO4 - Pin(4) D2 BMP280-SDA I2C data
GPIO5 - Pin(5) D1 BMP280-SCL I2C clock
A0 - ADC(0) A0 LDR out LDR out
GPIO14 - Pin(14) D5 DHT22 data DHT22 data
GPIOx - Pin(x) D3 button 1 button 1
GPIOy - pin(y) D4 button 2 button 2
GPIOa - Pin(a) D6 LED 1 LED 1
GPIOb - Pin(b) D7 LED 2 LED 2
hardware only:
Vcc (3V) 3V3 BMP280-CSB select I2C (i.s.o. SPI)
GND (0V) GND BMP280-SD0 I2C lowest address bit (0)

Software (MicroPython)

De MicroPython software vind je op GitHub.

Een handige manier van werken voor de MicroPython/ESP8266-combinatie is de platte-teksteditor Atom met de Pymakr-plugin. Je kunt dan vanuit de editor de Python REPL van de ESP8266 bereiken, en losse Python-programma's daarop uitvoeren.


Software (Arduino)

Je kunt de ESP8266 ook met de Arduino IDE programmeren. Daarvoor moet je eerst de ESP8266 als processor toevoegen, zie: