ESP32 Innenraumsensor und -Steuerung: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Kat)
 
(23 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{SEITENTITEL:panStamp Innenraumsensor}}
{{Infobox Hardware
{{Infobox Hardware
|Bild=panStamp.jpg
|Bild=ESP32S_NodeMCU_top.jpg
|Bildbeschreibung=panStamp
|Bildbeschreibung=ESP32S Development Board
|HWProtocol=SWAP
|HWProtocol=WLAN
|HWType=Sensor
|HWType=Sensor
|HWCategory=HardwareMods
|HWCategory=HardwareMods
|HWComm=868MHz (433/915MHz)
|HWComm=2,4GHz
|HWChannels=
|HWChannels=
|HWVoltage=3.3V  
|HWVoltage=3.3V  
|HWPowerConsumption=
|HWPowerConsumption=1A-1.5A
|HWPoweredBy=Battery AA
|HWPoweredBy=wired 5VDC
|HWSize=48.5 x 100 mm
|HWSize=640 x 640 mm
|HWDeviceFHEM=[http://fhem.de/commandref.html#panStamp 34_panStamp.pm] [http://fhem.de/commandref.html#SWAP 34_SWAP.pm]
|HWDeviceFHEM=[http://fhem.de/commandref.html#MQTT 00_MQTT.pm] [http://fhem.de/commandref.html#MQTT_DEVICE 10_MQTT_DEVICE.pm]
|ModOwner=für diesen Sketch: [http://forum.fhem.de/index.php?action=profile;u=118 Tobias]
|ModOwner=für diesen Sketch: [http://forum.fhem.de/index.php?action=profile;u=118 Tobias]
|HWManufacturer=panStamp
|HWManufacturer=Expressif
}}
}}


{{Baustelle}}
{{Baustelle}}


[http://www.panstamp.com/home panStamps] sind [[Arduino]] Clones, die ein CC1101 Funkmodul beinhalten. Mit ihnen lassen sich Sensoren und Aktoren drahtlos an FHEM anbinden. Sie lassen sich genau wie Arduinos über die Arduino IDE oder mit dem ino Kommandozeilen Binary programmieren. Dieser bildet das Herzstück des Umweltsensors
''Der [https://de.wikipedia.org/wiki/ESP32 ESP32] ist ein Ultra-low-Power-32-Bit-Mikrocontroller der chinesischen Firma espressif und die Weriterentwicklung des ESP8266. Der 32-Bit-Prozessorkern vom Typ 240 MHz dual core Tensilica LX6 microcontroller mit 600 DMIPS arbeitet mit einem Systemtakt von 80–160 MHz, hat 520 KB SRAM als Befehlspeicher, in dem 16 Megabyte Flash-Speicher eingeblendet werden können, 34x GPIO´s, eine SPI-Schnittstelle für Flash-Speichererweiterungen (bis zu 128 MBit) sowie integriertes WLAN IEEE 802.11 b/g/n und Bluetooth LE. Der ESP32 ermöglicht den Aufbau von stromsparenden WLAN-Sensoren für Anwendungen im Bereich Internet der Dinge.''


Weiterführende Information zu panStamps und den grundlegenden Modulen um sie mit Fhem zu integrieren finden sich im zugehörigen [[panStamp|Wiki Artikel]].
Mit ihm lassen sich Sensoren und Aktoren drahtlos an FHEM anbinden. Sie lassen sich genau wie Arduinos über die Arduino IDE oder mit dem ino Kommandozeilen Binary programmieren. Dieser bildet das Herzstück des Sensors.
 
Weiterführende Information zum ESP8266 finden sich im zugehörigen [[ESP8266|Wiki Artikel]].


== Beschreibung ==
== Beschreibung ==
Dieser Innenraumsensor ist, wie der Name schon sagt, ein universeller Sensor - aber auch Aktor - für den Innenraum.  
Dieser Innenraumsensor ist, wie der Name schon sagt, ein universeller Sensor - aber auch Aktor - für den Innenraum.  
Der Sensor ist komplett modular aufgebaut. Je nach Bedürfnissen und anwendungsfall können die einzelnen Huckepackplatinen bestückt und aufgesteckt werden.
Der Sensor ist komplett modular aufgebaut. Je nach Bedürfnissen und Anwendungsfall können die Komponenten bestückt und aufgesteckt werden.
In der Grundkonfiguration ohne Huckepackplatinen ist neben dem ATMega und dem CC1101 Sendemodul nur der Luftgütesensor und der Temp-/Luftfeuchteseor auf dem Mainboard. Auch diese beiden Sensoren sind optional und müssen nicht zwingend bestückt werden.
In der Grundkonfiguration ohne Huckepackplatinen ist neben der NodeMCU nur der Luftgütesensor und der DS18B20 auf dem Mainboard. Auch diese beiden Sensoren sind optional und müssen nicht zwingend bestückt werden.
 
Über die PinHeader werden die anderen Komponenten verbunden. Das betrifft den BME280 (Luftdruck-, Temp- und Luftfeuchtesensor), Den TSL Lichtsensor und den PIR-Sensor.
 
Der Sensor muss mit stabilen +5VDC versorgt werden per Schraubklemme. Wird kein VOC-Sensor und kein Nextio Display verbaut, kann jede Spannung für die die NodeMCU spezifiziert ist angelegt werden.
 
Die Kommunikation zwischen dem Modul und FHEM erfolgt bidirektional per MQTT über WLAN. Ein MQTT Server >= MQTT-Version 3.1.1 ist erforderlich


Folgende Funktionen sind/werden dort implementiert
Folgende Funktionen sind/werden dort implementiert
* Innenraumüberwachung für Alarmanlagen bzgl: Bewegung, Lautstärke, starke Lichtschwankungen
* Innenraumüberwachung für Alarmanlagen bzgl: Bewegung, starke Lichtschwankungen
* Überwachung des Luftdrucks, Temperatur, Luftfeuchte
* Überwachung des Luftdrucks, Temperatur, Luftfeuchte
* Überwachung der Helligkeit
* Überwachung der Helligkeit
* Überwachung von CO2 Gehalt und allgemeine Luftgüte der Raumluft
* Überwachung der allgemeinen Luftgüte der Raumluft
* Anzeige aller Messwerte im Display  
* Anzeige aller Messwerte im Display  
* Menükonfiguration einer Audio Raumbeschallung (zb. Deckenlautsprecher, Sonos, etc)
* Steuerung einer Audio Raumbeschallung (zb. Deckenlautsprecher, Sonos, etc) in Kombination mit dem Fhem Modul 98_MediaList.pm
* Menü und Anzeige für Heizkörperthermostat
* Menü und Anzeige für Heizkörperthermostat
* Fenster-offen Meldungen
* Fenster-offen Meldungen
* allgemeine Warnmeldungen, push von FHEM
* allgemeine Warnmeldungen, push von FHEM


===technische Merkmale  ===
===technische Merkmale  ===
* ATMega 2560 (8Mhz)
* NodeMCU ESP32S Development Board NodeMCU
* CC1101 Funkmodul 868Mhz
* Anschluss für ein Nextion Display
* TFT Display 1,8" (ST7735R Adafruit 358)
* BME280 (Luftdruck-, Temp-, Luftfeuchtesensor)
* NVSram Speicherchip 1024kb
* BMP180 (Luftdrucksensor)
* PIR Modul (Bewegungsmelder)
* PIR Modul (Bewegungsmelder)
* Soundsensor
* CO2 Sensor (TGS4161)
* VOC Sensor (TGS2600) (Luftgütesensor)
* VOC Sensor (TGS2600) (Luftgütesensor)
* DHT22 (Temperatur/Luftfeuchtesensor)  
* TSL2580 Helligkeitssensor
* TSL2561 (Licht-/Helligkeitssensor)
 
* Rotary Encoder (Drehregler für Menünavigation im Display)
== Schaltplan und Bauteilliste ==
[[Datei:platzHalter.png<!--ESP32_Innenraumsensor_v3.1.0_Schaltplan.jpg-->|200px|thumb|right|Schaltplan]]
[[Datei:platzHalter.png<!--ESP32_Innenraumsensor_v3.1.0_Platine_Oben.jpg-->|200px|thumb|right|Platinenlayout Oberseite]]
[[Datei:platzHalter.png<!--ESP32_Innenraumsensor_v3.1.0_Platine_Unten.jpg-->|200px|thumb|right|Platinenlayout Unterseite]]
[[Datei:ESP32_Innenraumsensor_v3.1.0_Fertig.jpg|200px|thumb|right|fertiger Aufbau]]
 
Bauteilliste:
 
{| class="wikitable"
!  Bauteil
!  Bezeichnung
!  Shop
!  BauteilNr
!  ca. Preis € <br />(ohne Lieferkosten)
|-
|  C1,C3,C4,C5,C10
|  Keramikkondensator Typ:X7R 100nF
|  Reichelt
|  X7R-G0805 100N
|  Centteil
|-
|  D1,D2,D3
|  Low Current Leuchtdiode 3mm 2mA, Rot
|  Reichelt
|  LED 3MM 2MA RT
|  Centteil
|-
|  D1,D2,D3
|  Low Current Leuchtdiode 3mm 2mA, Gelb
|  Reichelt
|  LED 3MM 2MA GE
|  Centteil
|-
|  D1,D2,D3
|  Low Current Leuchtdiode 3mm 2mA, Grün
|  Reichelt
|  LED 3MM 2MA GN
|  Centteil
|-
|  J1
|  Stiftleiste 1x02 RM2,54
|  Reichelt
|  MPE 087-1-002
|  Centteil
|-
|  J1a
|  Jumper
|  Reichelt
|  JUMPER 2,54 SW
|  Centteil
|-
|  K1
|  Anreihklemme 2-polig, RM5,08
|  Reichelt
|  AKL 073-02
|  Centteil
|-
|  K5
|  Header TFT,PIR, Stiftleisten 2,54 mm, 2X08, gerade
|  Reichelt
|  MPE 087-2-016
|  Centteil
|-
|  R1,R9,R13
|  Widerstand SMD-0805 1K
|  Reichelt
|  SMD-0805 1,0K
|  Centteil
|-
|  R2,R4,R5,R7,R8,R19,R28,R29
|  Widerstand SMD-0805 10K
|  Reichelt
|  SMD-0805 10,0K
|  Centteil
|-
|  R3
|  Widerstand SMD-0805 68K
|  Reichelt
|  SMD-0805 68,0K
|  Centteil
|-
|  R6
|  Widerstand SMD-0805 100K
|  Reichelt
|  SMD-0805 100K
|  Centteil
|-
|  X1
|  ESP32S NodeMCU mit CP2102
| [[Datei:ESP32S_NodeMCU_top.jpg|50px|thumb]]
[[Datei:ESP32S_NodeMCU_bottom.jpg|50px|thumb]]
|  12-15
|-
|  BME280 BreakoutBoard (4Pin: SDA,SCL,GND,3V3)
|  Aliexpress
|  [https://www.aliexpress.com/item/3In1-BME280-GY-BME280-Digital-Sensor-SPI-I2C-Humidity-Temperature-and-Barometric-Pressure-Sensor-Module-1/32659765502.html Link]
|  3
|-
|  IC4
|  FIGARO Air Quality Gas Sensor(TGS2600)
|  Aliexpress
|
|  3-4
|-
|  Seeed Studio PIR Motion Sensor
|  Exp-Tech
|  [http://www.exp-tech.de/seeed-studio-pir-motion-sensor-large-lens-version EXP-R02-351]
|  5-6
|}


== Hardware==
==Links==
=== Bootloader flashen ===
* [https://github.com/tobiasfaust/ Alle Dateien im Git des Autors]
Anschließend muss man nun die Fuses korrekt setzen (8Mhz Internal, 3.3v):


avrdude -p m2560 -c stk500v2 -P /dev/ttyUSB0 -U lfuse:w:0xE2:m -U hfuse:w:0xD4:m


und final den Bootloader flashen
----
wget https://github.com/lthiery/Sentinel/blob/master/sketches/hardware/mega-pro-3.3V/bootloaders/MegaPro3.3V-8MHz-57600.hex
avrdude -p m2560 -c stk500v2 -P /dev/ttyUSB0 -U flash:w:MegaPro3.3V-8MHz-57600.hex


Jetzt kann man mit einem normalen USB-ParallelProgrammer testen ob der Chip ansprechbar ist:
avrdude -c arduino -b 57600 -P /dev/ttyUSB0 -p m2560 -v


und anschließend den Sketch drauf flashen:
;Quellen:
avrdude -c arduino -b 57600 -P /dev/ttyUSB3 -p m2560 -U flash:w:MeinSketch.hex
<references />


===Links===
* [https://www.diefaeuste.de/owncloud/index.php/s/OkS8nfXkAtkgQEM Alle Dateien in der Cloud des Autors]


[[Kategorie:panStamp]]
[[Kategorie:ESP8266]]
[[Kategorie:MQTT]]

Aktuelle Version vom 23. November 2018, 18:29 Uhr

ESP32 Innenraumsensor und -Steuerung
ESP32S Development Board
Allgemein
Protokoll WLAN
Typ Sensor
Kategorie HardwareMods
Technische Details
Kommunikation 2,4GHz
Kanäle
Betriebsspannung 3.3V
Leistungsaufnahme 1A-1.5A
Versorgung wired 5VDC
Abmessungen 640 x 640 mm
Sonstiges
Modulname 00_MQTT.pm 10_MQTT_DEVICE.pm
Ersteller für diesen Sketch: Tobias
Hersteller Expressif



Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


Der ESP32 ist ein Ultra-low-Power-32-Bit-Mikrocontroller der chinesischen Firma espressif und die Weriterentwicklung des ESP8266. Der 32-Bit-Prozessorkern vom Typ 240 MHz dual core Tensilica LX6 microcontroller mit 600 DMIPS arbeitet mit einem Systemtakt von 80–160 MHz, hat 520 KB SRAM als Befehlspeicher, in dem 16 Megabyte Flash-Speicher eingeblendet werden können, 34x GPIO´s, eine SPI-Schnittstelle für Flash-Speichererweiterungen (bis zu 128 MBit) sowie integriertes WLAN IEEE 802.11 b/g/n und Bluetooth LE. Der ESP32 ermöglicht den Aufbau von stromsparenden WLAN-Sensoren für Anwendungen im Bereich Internet der Dinge.

Mit ihm lassen sich Sensoren und Aktoren drahtlos an FHEM anbinden. Sie lassen sich genau wie Arduinos über die Arduino IDE oder mit dem ino Kommandozeilen Binary programmieren. Dieser bildet das Herzstück des Sensors.

Weiterführende Information zum ESP8266 finden sich im zugehörigen Wiki Artikel.

Beschreibung

Dieser Innenraumsensor ist, wie der Name schon sagt, ein universeller Sensor - aber auch Aktor - für den Innenraum. Der Sensor ist komplett modular aufgebaut. Je nach Bedürfnissen und Anwendungsfall können die Komponenten bestückt und aufgesteckt werden. In der Grundkonfiguration ohne Huckepackplatinen ist neben der NodeMCU nur der Luftgütesensor und der DS18B20 auf dem Mainboard. Auch diese beiden Sensoren sind optional und müssen nicht zwingend bestückt werden.

Über die PinHeader werden die anderen Komponenten verbunden. Das betrifft den BME280 (Luftdruck-, Temp- und Luftfeuchtesensor), Den TSL Lichtsensor und den PIR-Sensor.

Der Sensor muss mit stabilen +5VDC versorgt werden per Schraubklemme. Wird kein VOC-Sensor und kein Nextio Display verbaut, kann jede Spannung für die die NodeMCU spezifiziert ist angelegt werden.

Die Kommunikation zwischen dem Modul und FHEM erfolgt bidirektional per MQTT über WLAN. Ein MQTT Server >= MQTT-Version 3.1.1 ist erforderlich

Folgende Funktionen sind/werden dort implementiert

  • Innenraumüberwachung für Alarmanlagen bzgl: Bewegung, starke Lichtschwankungen
  • Überwachung des Luftdrucks, Temperatur, Luftfeuchte
  • Überwachung der Helligkeit
  • Überwachung der allgemeinen Luftgüte der Raumluft
  • Anzeige aller Messwerte im Display
  • Steuerung einer Audio Raumbeschallung (zb. Deckenlautsprecher, Sonos, etc) in Kombination mit dem Fhem Modul 98_MediaList.pm
  • Menü und Anzeige für Heizkörperthermostat
  • Fenster-offen Meldungen
  • allgemeine Warnmeldungen, push von FHEM


technische Merkmale

  • NodeMCU ESP32S Development Board NodeMCU
  • Anschluss für ein Nextion Display
  • BME280 (Luftdruck-, Temp-, Luftfeuchtesensor)
  • PIR Modul (Bewegungsmelder)
  • VOC Sensor (TGS2600) (Luftgütesensor)
  • TSL2580 Helligkeitssensor

Schaltplan und Bauteilliste

Schaltplan
Platinenlayout Oberseite
Platinenlayout Unterseite
fertiger Aufbau

Bauteilliste:

Bauteil Bezeichnung Shop BauteilNr ca. Preis €
(ohne Lieferkosten)
C1,C3,C4,C5,C10 Keramikkondensator Typ:X7R 100nF Reichelt X7R-G0805 100N Centteil
D1,D2,D3 Low Current Leuchtdiode 3mm 2mA, Rot Reichelt LED 3MM 2MA RT Centteil
D1,D2,D3 Low Current Leuchtdiode 3mm 2mA, Gelb Reichelt LED 3MM 2MA GE Centteil
D1,D2,D3 Low Current Leuchtdiode 3mm 2mA, Grün Reichelt LED 3MM 2MA GN Centteil
J1 Stiftleiste 1x02 RM2,54 Reichelt MPE 087-1-002 Centteil
J1a Jumper Reichelt JUMPER 2,54 SW Centteil
K1 Anreihklemme 2-polig, RM5,08 Reichelt AKL 073-02 Centteil
K5 Header TFT,PIR, Stiftleisten 2,54 mm, 2X08, gerade Reichelt MPE 087-2-016 Centteil
R1,R9,R13 Widerstand SMD-0805 1K Reichelt SMD-0805 1,0K Centteil
R2,R4,R5,R7,R8,R19,R28,R29 Widerstand SMD-0805 10K Reichelt SMD-0805 10,0K Centteil
R3 Widerstand SMD-0805 68K Reichelt SMD-0805 68,0K Centteil
R6 Widerstand SMD-0805 100K Reichelt SMD-0805 100K Centteil
X1 ESP32S NodeMCU mit CP2102
ESP32S NodeMCU top.jpg
ESP32S NodeMCU bottom.jpg
12-15
BME280 BreakoutBoard (4Pin: SDA,SCL,GND,3V3) Aliexpress Link 3
IC4 FIGARO Air Quality Gas Sensor(TGS2600) Aliexpress 3-4
Seeed Studio PIR Motion Sensor Exp-Tech EXP-R02-351 5-6

Links




Quellen