Hallo Freunde des Smart Homes,
Ich habe mich in den letzten Wochen wieder mit neuen technischen Herausforderungen gewagt.
Mich hat das LoRa System begeistert und fand die Idee sehr Interessant kleine Nachrichten und Statusmeldungen/Messwerte über bis zu mehreren Kilometern übertragen zu können. (Maximal ca. 5-8km)
Hintergrund war mein Motorrad. Ich habe leider nirgendwo in der Nähe eine Steckdose um den Akku zu laden. Somit habe ich kurzerhand ein Akkukoffer entwickelt um den Akku meines Motorrads zu laden. Nur wann ist diese voll? Da WLAN und Bluetooth auch zu weit weg sind (hinter dem Haus durch 3 Wände und oder über das Haus, kam ich auf LoRa. Tests erbrachten einiges an Potential und die Verbindung steht dabei sehr gut und stabil, dazu noch ein geringen Eigenverbrauch. Was will man da mehr?
Dann kam mir auch die Idee meinen Briefkasten einzubinden. Ich weiß, was interessiert das ob ein Brief kam oder nicht? Ich bin ehrlich. Corona hat mich dazu bewegt. Langeweile und Spaß am entwickeln haben mich dann doch dazu motiviert mich dem Briefkasten anzunehmen.
Da ich diese Community hier sehr mag, möchte ich euch entsprechende Entwicklungen und alles was man zu nachbauen benötigt einfach hier mit euch Teilen.
Falls jemand da auch noch Verbesserungen oder Bugs findet, gerne bescheid geben. Ich werde das dann aufbessern.
NodeRed, Arduino IDE und Löten sollte man hierfür können.
Ich hoffe diese How-To ist verständlich. Bei Unklarheiten helfe ich euch gerne weiter.
(Liste ist für Sende und Empfangseinheit)
2x ESP12-F
2x LoRa Modul RFM95
2x Elektrolyt Kondensator (ElKo) 100Mikrofarad, >10 Volt
2x ElKo 1Mikrofarad, >10 Volt
1x LiPo 3,7V 2500mAh
1x LiPo Lade und Entlademodul TP4056
2x 1N4001 Dioden
2x passendes Elektronikgehäuse (für Sender und Empfänger)
1x NPN Transistor
1x PNP Transistor
1x Reed Kontakt Öffner
1x Magnet mit Klebfläche
1x Programmierkabel USB zu TTL
klein Material wie Lötstift und Lötbuchsenleisten
Widerstände (falls man garkeine zu Hause hat, einfach ein Set kaufen 12er Reihe)
Lötklemmsockel
Lötkolben und Lötzinn
2x Platinen (Entwicklung Lochplatine oder Kupferplatine einseitig OHNE Fotolack z.B. EPCU 160X100)
Drucker
Bügeleisen
Overheadfolien
Die Hardware muss zunächst entsprechend den Plänen im .zip Ordner verlötet werden.
Hier kann man gut dieser Anleitung folgen, um eine Platine zu ätzen. (http://thomaspfeifer.net/platinen_aetzen.htm)
Falls du dir das ätzen einer Platine nicht zutraust kann man auch eine Lochlötplatine verwenden und diese nach dem Schaltplan verlöten. (auch im .zip Ordner)
Vor dem Ätzen die Platine mit der Schaltung austrennen und das Reststück (reine Kupferplatine) aufbewahren. Diese wird noch benötigt.
Angeschlossen wird dann an dem Jumper -J2 der Reed Sensor. Hier muss an beiden Seiten ein männliches Jumper Kabel angelötet werden. Am besten mit Schrumpfschlauch noch die blanken Stellen am Reedkontakt verschrumpfen.
Die Empfängerplatine ist ein wenig einfacher. Hier einfach alles auf die Platine anlöten.
Daneben am Antennenanschluss wird ein Draht mit 17cm angeschlossen. Viele sagen 8,5cm. Ich habe mit 17cm die beste Erfahrung gemacht.
Man kann auch cm weise die Antenne Einkürzen und dabei den Rssi Wert beobachten. Je Höher, desto besser. Der Wert liegt zischen -120 und 0. Demnach bedeutet -30 ein besseres Signal wie -50.
Für beide Platinen muss das Reststück der übrigen Kupferplatine mit einem Jumperkabel (weiblich) angelötet werden. Die Kupferflächen dann mit Isolierband umwickeln, so dass keine Kurzschlüsse im Gehäuse entstehen können. Diese Platine wirkt als Massepol für die Antenne. Somit soll die Sendeantenne besser ihre Dienste Leisten können. Diese Platine wird dann jeweils an -J3 (Sender) und -J6 (Empfänger) angeschlossen.
Die Scripte (.ino Dateien) auf die entsprechenden ESP12-F programmieren. Bitte vorher die Anpassungen durchführen.
ggf. Müssen in der Arduino Software noch entsprechende Bibliotheken nachinstalliert werden.
Anmerkung: Unter "LoRa.setSyncWord(0x1A);" kann das Passwort geändert werden. Hier bitte ein HEX Code angeben. "0x" muss hier stehen bleiben. Die zwei nachfolgenden Zeichen können dann verändert werden. Hier eine Hilfe: HEX Wandler. Hier unter Dezimal eine Zahl eingeben <= 255. Dann gibt die Seite den Wert in Hexadezimal aus. Diese könnt ihr dann hinter das 0x kopieren.
Angeschlossen wird das TTL Programmiergerät jeweils an -J1. Damit programmiert werden kann, bitte eine Jumper Brücke an -J3 gesteckt werden. Dann Reset auslösen, z.B. den Reedkontakt mit dem Magneten betätigen oder beim Receiver an den Kontakten -J5 eine Brücke kurz stecken. Dann funktioniert auch das Programmieren.
Nach dem ersten Programmieren können, wenn verfügbar, die ESP12F Chips mit WLAN über die Arduino Software programmier werden. Sind diese zu weit weg, Läuft das Script trotzdem. Außer für den Receiver. Hier ist eine WLAN Verbindung unabdinglich, da die Daten ja in unser SmartHome gelangen sollen. Bei der Programmierung über WLAN ist es leider nicht möglich, den Seriellen Monitor zu starten. Möchte man Debuggen, muss man dann das Programmierkabel anstöpseln. Die Brücke -J3 muss zum auslesen mit dem Monitor nicht gesteckt sein.
Für NodeRed muss ein MQTT Broker vorhanden sein, oder erstellt werden.
Wie man die Daten integrieren kann, habe ich auch im .zip Ordner bereitgestellt. Einfach den Flow Importieren und die Anpassungen durchführen.
Dann nurnoch alles mit Energie versorgen und dann sollten die Daten beim Auslösen des Magnets via LoRa übermittelt werden.
! Neueste Version für den Download, ist immer der letzte Eintrag !
Siehe weiter unten hier im Thread.