PHP Dashboard für HmIP Smartmeter
09.10.2024
Elektronik | Funk | Software
Der Technik-Blog
Anlässlich zum 5-jährigen Jubiläum von AEQ-WEB wurde die Aktion "Zeig dein Projekt" gestartet. Vom 8. November bis einschließlich 31. Dezember 2020 konnten alle Fans, Freunde und Leser ihr eigenes Projekt vorstellen. Innerhalb von wenigen Tagen wurden bereits einige großartige Projekte eingereicht. Zweck dieser Aktion war es, vor allem auch Anfängern zu zeigen, was aus diversen Bauteilen, Sensoren, Motoren und einem Mikrocontroller geschaffen werden kann. Einige Projekte davon fanden ihren Ursprung übrigens hier am Blog. Unter allen Einsendungen wurden insgesamt drei ESP32 Development Boards verlost. Die Vorstellung der Projekte sowie die Ziehung der Gewinner findet ihr in diesem YouTube-Video.
Wir bedanken uns bei allen Teilnehmern und wünschen weiterhin viel Erfolg mit den bestehenden und auch zukünftigen Projekten.
Manuel betreibt einen spannenden YouTube-Kanal, wo man sehr viele Videos zum Thema Funkempfang, LoRa und SDR findet. Eines seiner aktuellen Projekte ist die Fossa Grundstation, wo man mit einem TTGO LoRa Board Datenpakete von Satelliten empfangen und decodieren kann:
Fossa sind kleine Leo Cubesats , drei Stück an der Zahl. Diese senden eine Lora Barke aus. Einer befindet sich bereits im Orbit, leider kann Fossa 1 nicht mehr empfangen werden, weil seine Antenne sich nicht entfaltet hat. Fossa 1B und Fossa 2 sind bereits Startbereit. Fossa 2 hat eine Kamera an Board, wo in Zukunft Bilder zur Erde per GFSK gesendet werden sollen. Vorteilhaft, weil das TTGO v2 Board auch diese Signale empfangen und verarbeiten kann. Das verspricht einige schöne Bilder. Zur Zeit ist aber auch der Russische Norby Satellit zu empfangen. Dieser sendet auch eine Lora Barke aus. Ein Projekt für die Zukunft, das man aber schon vorbereiten kann. Auf meinem Youtube-Kanal gibt es zu diesem Projekt ein Video. Hier der Link: https://youtu.be/WRklD4zGTRQ
Liebe Grüße, Manuel Lausmann
Michael betreibt ein selbst entwickeltes Smarthome System. Als Steuerzentrale kommt ein Raspberry Pi zum Einsatz, der wiederum mit einem Portexpander sehr viele digitale Outputs schalten kann. Außerdem melden zahlreiche Sensoren aktuelle Raumtemperaturen an die Zentrale, welche dann grafisch ausgewertet werden können. Es handelt sich dabei um ein ständig wachsendes Projekt, welches in Zukunft noch um zahlreiche Sensoren und Steuerkomponenten erweitert wird.
Hallo,
das vorgestellte Projekt stellt meine Hausautomatisierungszentrale (So ein Wort ist wahrscheinlich nur im Deutschen möglich xD) inkl. Homematic, MCP23017 und MQTT-Broker. Alles realisiert mit einem Raspberry Pi 4 und openHAB 2.
Was ist für was zuständig:
Durch das angebotene Funkmodul ist es dem Raspberry möglich, als CCU3 zu fungieren. In unserem Haus steuern wir darüber die Wandthermostate und überwachen die Rauchmelder. Dieser Teil des Projektes war der einfachste und lässt uns komfortabel das Raumklima steuern. Historisiert und aufgearbeitet werden diese Daten durch influxDB als Datenbank und Grafana für ansprechende Grafen.
2. MCP23017
Der MCP23017 ist ein s. g. Portexpander, der vorhandenen GPIO Pins des Raspberrys vervielfacht. Das ist das Herzstück mit der meisten Arbeit in diesem Projekt, welches es uns ermöglicht, unsere Lichter via Relais zu steuern. Hierzu habe ich nach dem Test auf einem Breadboard eine eigene Platine entworfen - an alle Anfänger, der ich gefühlt auch bin, ich habe rein gar nichts mit Elektronik oder Programmierung zu tun und habe mir alles selber beigebracht - die auf der einen Seite Inputsignale durch Taster im Haus einfängt und auf der anderen Seite Outputsignale zum Schalten der Relais ausgibt. Bei den verbauten Relais handelt es sich um Stromstoßrelais, welche durch kurze 24V Signal schalten, was auch ohne den Raspberry funktioniert - Wir wollen da nicht im Dunkeln sitzen, wenn das System ausfällt;) -. Nun zu den Details der Inputs und Outputs:
Inputs: Wird ein Taster im Haus betätigt, wird das 24 V Signal über einen Widerstand an einen Optokoppler geleitet, welcher 3,3 V an den entsprechenden Input-Pin leitet. Über das entsprechende Addon in openHAB2 kann dann angezeigt werden, ob ein Licht oder eine Steckdose per Taster ein oder ausgeschaltet werden.
Outputs: Diese stellen das Gegenteil der Inputs dar. Hierbei wird durch Betätigen eines Schalters in der openHAB2 App ein Licht oder eine Steckdose geschaltet. Hier wird ein 3,3 V Signal an einen Optokoppler geleitet, welcher 24 V schaltet und dadurch dann das Relais.
3. MQTT
Dieser Teil hat mich zu diesem Blog geführt und beinhaltet noch einige zukünftige Projekte. Aktuell ist ein ESP32 als Infrarotfernbedienung für unser Wohnzimmer (Beamer, Leinwand und AV-Receiver) hier angebunden, welche auch selbst designed und eingebunden wurde. Aktuell kann ich dadurch per openHAB2 App die genannten Geräte steuern und benötige keine Fernbedienung mehr. Geplant ist an dieser Stelle eine MQTT-Fernbedienung mit den wichtigsten Funktionen, um nicht immer das Handy nutzen zu müssen, wenn man einen Film schaut. Aktuell in der Planung ist aber die große Lora-Wetterstation, welche auf unserem Dach platziert werden soll. Hier bin ich sehr gespannt.
4. InfluxDB und Grafana
Hier werden schon aktuell die Raumklimadaten aufgezeichnet (influxDB) und grafisch aufgearbeitet (Grafana). In Zukunft sollen sämtliche Wetterdaten ebenfalls aufgezeichnet werden.
Alles in allem ein noch lange nicht abgeschlossenes Projekt, welches durch weitere Spielzeuge erweitert werden kann :) Dank guter Dokumentation und den vielen Blogs wie dieser kann auch ein totaler Laie wie ich es bin, mit dem nötigen Interesse und Spaß an der Sache so einiges selber realisieren und jede Menge lernen.
Christian ist Imker und hat sich seinen eigenen Automaten für die Vermarktung gebaut. Befördert werden die Gläser über Gewindestangen. Der Motor samt Getriebe stammt aus einer Akkubohrmaschine. Als Controller kommt ein Arduino Mega zum Einsatz, der nach Münzeinwurf und Produktauswahl den jeweiligen Motor steuert. Sämtliche Vorgänge werden über Lichtschranken, kapazitiven Sensoren und Endschaltern überwacht.
Der Touch51 ist eine Kombination aus einem SILABS 51 µC mit TFT-Touchdisplay und einem UHF Transceiver. Andreas hat dieses Gerät seit 2018 entwickelt. Es dient in erster Linie dazu, seine Pager-Sammlung testen zu können und um mit Datenrufen experimentieren zu können. Mit einer maximalen einstellbaren Sendeleistung von 100 mW bedient dieses Gerät einen durchgehenden Frequenzbereich von 420 - 480 MHz.
Initialzündung:
Warum dieses Gerät: In erster Linie, um meine Pager- Sammlung testen zu können und mit Datenrufen zu experimentieren.
Der Touch51 ist ein Lo- Power Datentransceiver im 70cM UHF Bereich und mit zusätzlichen Schnittstellen für Erweiterungen - man weiß ja nie, wofür (I2C RS232 RS485). Meine Wahl des Transceivers fiel auf einen SI4463 von SILABS, den es ähnlich wie LoRa Module in abgeschirmter Modulbauweise gibt. Der Transceiver wird per SPI programmiert und ist als "XL4463" Modul (EBAY ect.) von 420- 520 MHz abstimmbar. Der Chip ließe sich theoretisch von 140 - 1050 MHz abstimmen, was jedoch eine unterschiedliche L-C Anpassung am HF Ein/Ausgang je nach Frequenzband erforderlich machen würde. Somit ist das XL4463 Modul lediglich ein Monoband- Transceiver (was meinen Anforderungen jedoch genügt)
Da ich schon einige Erfahrungen mit Microcontrollern (8051-er) und dem SI4463 gesammelt und auch Platinen dafür entwickelt hatte,
wollte ich etwas Neus schaffen. Diesmal in Handfunkgeräte- Größe und mit zeitgemäßer, komfortabler Bedienung.
Dem Touch51 spendete ich ein ILI9341- TFT mit einem kombiniertem kapazitivem Touch- Controller FT6236 (von Buydisplay.com). Ich glaube, wenn jemand mal mit einem kapazitiven Touchdisplay gearbeitet hat, möchte er nie den Rückschritt auf ein resistives Touchdisplay machen (so ging es mir jedenfalls). Neben dem Touch- Display wird als Eingabehilfe und "Funkgeräte Feeling" ein magnetischer Encoder vom Typ Alps (EMB11) verwendet. Der EMB11 arbeitet mit Hall- Sensoren statt mechanischen Kontakten und ist somit verschleißfrei. Kontaktprellen gibt es nicht und somit sind keine Entstör- Kondensatoren und Delay- Schleifen in der Software nötig.
Speicherfressende Daten wie Texte, Tabellen, BMP Bitmaps sind im SPI Flash abgelegt. Der uC Flash ist somit NUR mit reiner Rechenarbeit und Routinen gefüllt. Programmparameter und Memories sind im 64 K EEprom gespeichert. Ein RTC ist für Datenprotokollierung vorhanden. An Board befindet sich auch ein ESP8266 (ESP08-S Modul), der über den UART Multiplexer per AT- Befehlen ansprechbar ist. Jedoch sind noch keine WIFI Anwendungen realisiert bzw. geplant. Das Gerät lässt sich über den Push- Button am Encoder ein/ausschalten. Als Einschalt- Transistor wird ein Leistungs- FET verwendet, der über
einen Treiber- Transistor geschaltet wird. Dioden entkoppeln den uC Port (es wird nur ein port-Pin benötigt) und Push- Button, so dass keine Leckströme fließen. Die LCD LED Beleuchtung schaltet sich nach einer programmierbaren Zeit aus, schont somit den Akku etwas.
Die Hintergrundbeleuchtung wird durch berühren des Touchdisplay wieder aktiviert.
Die Helligkeit lässt sich variieren und abspeichern (PWM- Modulation mit R/C Tiefpass).
Über USB lässt sich die SD- Karte als MSD "Mass Storage Device" Wechseldatenträger bearbeiten.
Des Weiteren lässt sich über den SILABS USBXpress USB Treiber und eine eigene Programmier- Software der EEprom Inhalt am PC editieren.
Auch der SPI- Flash oder RAM- Inhalt kann für Debug- Zwecke ein- oder ausgelesen werden.
Die Programmierung des SI4463 Transceivers ist sehr umfangreich. Die Register des Chips können über eine eigene Maske für Tests editiert werden.
Dieses ist sehr hilfreich, wenn man mit Datenpaketen, CRC, Filter- Bandbreiten, Modulationsarten ect. experimentieren möchte.
Die Editier- Software ist in VB6 geschrieben und funktioniert auch unter WIN10/64 Bit (Oldie but Goldie ;-))
Technische Daten:
Frequenzbereich: 420 - 480 MHz
Sendeleistung: max. 100mW (programmierbar)
Empfindlichkeit: -130 dBm (je nach Modulationsart und Baudrate)
Modulationsart: OOK(ASK), FSK, GFSK, 4FSK
Betriebsspannung: 4V (LiPo- Akku)
Verwendete Bauteile:
C8051F340 uC von SILABS (USB on Board, 48 MHz Clock mittels 12 MHz TCXO und Multiplier)
FOX924 0,5ppm TCXO
MX25L3206 4 MB SPI Flash für Tabellen, Texte und LCD Bitmaps
23LC1024 128 KB SPI RAM
24C512 64 KB EEprom
PCF8563 RTC Echtzeituhr (Pufferung vom LiPo Akku)
MAX3232 RS232 Treiber
MAX485 RS485 Treiber
MC4051 (2x) als UART Multiplexer
LM4040-2,5 Referenzspannung
TDA7050 NF Verstärker
PT2257 I2C Volume- Controller
SI4463 Datentransceiver (XL4463 Modul)
ESP08-S ESP8266 (Antennenanschluss an ext. SMA Buchse)
ER-TFT032-3.1 ILI9341 24 Bit RGB TFT (320x240) mit Kapazitivem Touch- Controller FT6236
ALPS EMB11 Magnetischer Dreh- Encoder mit Push- Button
MCP73831 LiPo Lade- Controller
Programmierung / Software:
Ich habe seit den 80-er Jahren, der "Commodore Heimcomputer Zeit" viele 6502 und 8051-er Projekte (Alles in Assembler) programmiert. Funkdaten zu decodieren und encodieren sind zeitkritisch, Assembler ist für mich die erste Wahl.
Daher ist die Software für den Touch51 zu 100% in Assembler geschrieben (C liegt mir eh nicht so).
Bisherige Firmware- Features (Stand Dez. 2020):
1.) Spectrumanalyzer (Bandscope) mit Wasserfalldiagramm, einstellbare Span und Bandbreite.
(Planung: Aufzeichnen der Daten mit Zeitstempel, Frequenz und RSSI Feldstärke auf SD- Karte)
2.) POCSAG Encoder (Baudrate 512,1200,2400 und Datentyp Ton, Numerik, Alphanumerik sind einstellbar)
100 EEprom- Speicher jeweils für Frequenzen, RIC, Message
Aussendung eines Zeitsignals an Skyper- Pager (wie z.B. im DAPNET verwendet)
Freischalt- Rufe für DAPNET Skyper- Pager (gebuchte Rubriken / Programme)
3.) POCSAG- Decoder mit Scrolltext- Anzeige. Empfangene Daten können auf SD- Karte gespeichert werden.
Anzeige / Auswerten der empfangenen Daten mittels selbst geschriebenem VB Programm.
4.) Testsender mit einstellbarer Frequenz (20 Hz Schritte), Leistung, Modulations- Hub und Modulationssignal.
5.) DMR 4-FSK Datendecoder (Anzeige der Voice Burst Roh- Daten), Colour- Code sowie DMR ID
(Es empfiehlt sich, dem SI4463 einen TCXO statt des 26 MHz Quarzes zu spendieren, da DMR eine hohe Frequenzstabilität erfordert))
6.) Decodierung / Aussenden von Paging- Daten verschiedener Hersteller.
7.) Wav- Player, Wiedergabe als Mono- Signal, Sample- Rate 8000 - 48 KHz (von SD- Karte)
8.) Anzeige von BMP- Dateien
9.) Erste WIFI Tests mit dem ESP8266 (jedoch nur im AT- Modus)
10.) Exportieren / Importieren des EEProm- Inhalts von / auf SD- Karte
11.) SD- Karte wird per USB als Wechseldatenträger erkannt
12.) Firmware- Update über SD- Karte möglich (Eigener Bootloader) oder über C2-Debug Adapter Anschluss
13.) Programmieren des SPI- Flash über SD- Karte oder USB (Eigene VB- Programmiersoftware)
Bau- Beginn: 2018
Endgültige Fertigstellung (Software): Wohl niemals ;-)
Der Vorläufer war der "MMPager"
Baubeginn: 2016, 2018 in der 2. PCB Version
Der "MMPager" (Multi Mode Pager) hat die gleiche uC Performance, nur mit wesentlich kleineren Abmessungen (65x42mm) und SSD1306 OLED (Bild 1)
Das einbrenn- gefährdete OLED wird nach 20 Sekunden gedimmt (ca. 30% Helligkeit)
Das Aufwecken des OLEDS auf normale Helligkeit geschieht durch Tastendruck oder wenn ein Paging-Ruf empfangen wurde..
POCSAG De/Encoder, diverse Paging De/Encoder, SD karten Zugriff über USB.
Wav Recorder / Playback (Aufzeichnung der empfangenen Rohdaten vom SI4463 TXRX) auf SD-Karte
Bandscope ("Spectrumanalyzer") (Jedoch ist das Display mit 64x128 Pixel dafür äußerst knapp bemessen)
Ich hätte zwar noch ein anderes HF Projekt (UHF Funkmessplatz "DDS500" mit AD90851 DDS- Chip, Digitaler Direkt-DDS Modulation,
Leistung / Hubmesser, FFT - alles mit dem C8051F340), aber das würde den Rahmen hier sprengen.
Zur Frage: "Wie lange habe ich dafür gebraucht":
Ich muss lang ausholen - Eigentlich 25 Jahre denn:
Erste Paging- Signale habe ich mit einem Commodore PLUS4 decodieren und erzeugen können, da der PLUS4
einen eingebauten Maschinensprache- Monitor + Assemblerumgebung hatte.
Daten wurden über den User- Port ein/ausgegeben.
Assembler hat mich damals schon interessiert und ich habe Fachbücher von Data Becker gefressen (die habe ich immer noch).
Mein persönliches Highlight der 6502 uC Aera war der Selbstbau eines 70cM Amateurfunk- Transceivers mit einem 6502 EMUF.
Mit einem selbstgebauten optischen Drehencoder und 2-zeiligem LCD. HF Leistung, Frequenz, Rauschsperre und andere
Funktionen wurden über Soft- Keys und dem Drehencoder eingegeben, Daten wurden in einem RAM gespeichert, dessen
Dateninhalt mittels Goldcap- Kondensator am Leben gehalten wurde, wenn das Gerät länger als 3 Tage ausgeschaltet war, musste
alles neu programmiert werden - hoch lebe das heutige EEprom :-)
Später bin ich auf 8051-er Microcontroller umgestiegen (Wickenhäuser Entwicklungsboard mit dem 80C535)
In den 90-ern konnte ich die ersten POCSAG Signale decodieren, zunächst alles rudimentär und Spaghetticode, aber es funktionierte.
Danach war ich neugierig: Decodierung von FFSK Signalen des analogen Bündelfunks mit decodierter Anzeige des Kanals, der Frequenz,
des nächsten Hopping- Kanals und der ID-Nr. des Teilnehmers.
Danach machte ich mich an die Decodierung von RTTY, FEC, ARQ (Seefunk) auf Kurzwelle heran (Alles mit dem 80C535 Wickenhäuser Entwicklungsboard).
Es war eine ziemliche Frickelei und ein Herantasten an ideale Timing- Werte ect., mal eben auf Google Infos einholen war damals nicht möglich.
Umso erfreuter war ich, als ich die ersten decodierten Signale aufs 4-zeilige LCD bekam.
Der ATARI ST war meine erste Programmier- Umgebung.
Später kam eine MS DOS Entwicklungsumgebung (Auch von Wickenhäuser) Eigentlich ein Rückschritt, denn es gab keine Maus,
die der ST längst hatte.
Und wenn sie nicht gestorben wären, leben sie noch heute - Den 51-ern bin ich bis heute treu geblieben :-)
Vielleicht kann ich damit die kleine 8051 Fan Gemeinde zum Basteln ermutigen und animieren :-)
73 de DL1LAJ, Andreas
Aron hat sich ein digitales Schließsystem für sein Schließfach gebaut. Als Controller kommt ein Arduino Nano zum Einsatz, der den Motor für die Mechanik steuert. Als Schlüssel kommt eine NFC-Karte zum Einsatz, die der Arduino über das häufig verwendete RFID-RC522 Modul lesen kann.
Hi Alex,
das ist mein Projekt, ein Schließystem, welches ich in meinem Schließfach in der Schule einbauen werde. Ich habe hierfür einen Arduino Nano, ein L293D chip, ein Mikroswitch und ein RFID-RC522 Modul verwendet, zum Öffnen und Schließen ein Motor aus einem defekten CD Reader. Somit kann ich mein Schließfach mithilfe von einem Tag öffnen. Wenn man eine externe Stromquelle nehmen will, kann man diese auch an der Platine anschließen und mithilfe vom Schalter Ein/Aus-Schalten. Wenn man den Tag in die Nähe des Readers hebt, schließt die Türe sich auf, und man hat 4,5 Sekunden zeit, die Türe zu öffnen. Ansonsten schließt diese wieder von selber. Sobald man nach dem öffnen die Türe wieder schließt, wird somit der Mikroswitch gedrückt und nach 1,5 Sekunden wird die Türe verschlossen.
Liebe Grüße
Aron Stoll
Walter hat sich die vom Blog bekannte Arduino Wetterstation nachbaut und weiterentwickelt. Die Station sendet ihm auf einen Webserver minütlich via LTE die aktuellen Messwerte. Erfasst werden folgende Werte: Temperatur, Luftdruck, Windgeschwindigkeit und Luftfeuchtigkeit. Zusätzlich wurde noch eine drehbare Kamera installiert, die aktuelle Bilder von seinem Acker liefert.
Hallo,
ich bin Landwirt und habe deine Wetterstation im Sommer 2020 nachgebaut. Diese Station ist neben meinem Acker installiert und sendet minütlich über LTE die aktuellen Messwerte aus. Über Google Bilder bin ich auf deinen Blog gestoßen und habe die Station nach deiner sehr ausführlichen Anleitung ohne Probleme nachbauen können. Im Schaltschrank befindet sich der Arduino Uno mit Ethernet Shield, die Netzteile und ein LTE Modem. In der kleinen weißen Box befindet sich der LTE-Stick, da dieser im Metallgehäuse keinen Empfang hat. Zusätzlich habe ich noch eine drehbare Kamera installiert, wo ich die aktuelle Wetterlage beobachten kann. Was auf den Bildern noch nicht zu sehen ist, der weiß lackierte Messkopf. Dieser wurde noch nachträglich installiert. Die Station läuft seit 4 Monaten ohne Unterbrechungen. Was für mich als Landwirt noch sehr wichtig wäre, ist die Regenmenge zu messen. Vielleicht kannst du darüber mal einen Artikel oder ein Video machen.
Gruß aus Triol
Walter Draxl
AEQ-WEB © 2015-2024 All Right Reserved