IoT-cursus/IoT-knopen/Achtergrond/DHZ IoT-knoop met ESP8266
< IoT-cursus | IoT-knopen | Achtergrond
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 | ||
breadboard | [7] | ||
breadboard-draden (of montagedraden) | [8] of |
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
- DHT22-data heeft een pull-up weerstand van 10kOhm nodig (naar Vcc)
- BMP280 CSB verbinden we met Vcc (3V3), om het I2C interface te selecteren (i.p.v. SPI)
- BMP280 SDO verbinden we met GND (0V), om het laagste I2C-adresbit te zetten (i2c adres: binair 1110110 = 0x76 = 118)
- de schakelaar(s) heeft een pull-down weerstand nodig (10kOhm)
- de LDR vormt samen met een weerstand van 10kOhm een spanningsdeler; hiermee zetten we de variabele weerstand van de LDR om in een variabele spanning, die we dan met de analoge input meten (A/D omzetting).
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 interface |
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: