Archiv der Kategorie: Software

MQTT- Kapazitiver Regensensor

Kapazitiver Regensensor MQTT
Kapazitiver Regensensor MQTT
Kapazitiver_Regensensor_MQTT.zip
2.6 MiB
28 Downloads
Details

Der Source Code für dieses Projekt kann in unserem Web Shop erworben werden.

Allgemeines:

Anfang 2021, wurde von uns eine IoT-Wetterstation für eine Projekt in Südtirol entwickelt. Ein Teil der Aufgabenstellung bestand darin, einen kapazitiv arbeitenden Regensensor zu integrieren.
Nach Abschluss der Entwicklung, blieben aus dem Prototyping noch einige der Sensor Platinen übrig, die wir anschließend über unseren Web-Shop angeboten haben.
Um dem interessierten Kunden das Funktionsprinzip näher zu bringen und eine Anleitung für den grundlegenden Aufbau eines kapazitiven Regensensors anzubieten, wurde der folgenden Artikel auf unserem Blog dazu veröffentlicht: Kapazitiver Regensensor.

Da die Kundenanfragen für diesen Sensor unerwartet groß waren, haben wir uns entschlossen ein kleine Auswerte Platine zu entwickeln, die mit einem ESP8266 (WEMOS D1 mini) ausgestattet ist und die Sensordaten per Webserver und MQTT zur Verfügung stellt.
Zusätzlich befindet sich auf der Auswerte Platine ein potentialfreier Relais Schaltkontakt, der es erlaubt bei einer Regenerkennung auch direkt einen externen Schaltvorgang auszulösen. Um z.B. eine Markise ein zu fahren.

Aufbau Hardware:

Das Regensensor Modul besteh aus drei Einzel Komponenten

  • Kapazitive Sensorplatine
    Die Funktionsweise der Sensorplatine wird bereits im Beitrag Kapazitiver Regensensor ausführlich beschrieben, weshalb wir hier nicht mehr näher darauf eingehen werden.
  • Auswerteeinheit
    Die Platine der Auswerteeinheit bildet das Gegenstück zur Sensorplatine. Die beiden Platinen besitzen dieselben Abmessungen, was bei der Befestigung z.B. in einem geeigneten Gehäuse wie einer Verteilerdose von großem Vorteil ist. Die Bohrlöcher für die Befestigung der Auswerteeinheit werden somit komplett von der aufgeklebten Sensorplatine überdeckt und bietet so einen perfekten Korrosionsschutz.
    Auf der Platine befindet sich ein DS18B20 Temperatursensor, der durch seine Position die Gehäuseinnentemperatur und gleichzeitig die Temperatur kurz unterhalb der Sensorplatine erfasst. Auf diese Weise kann in den Wintermonaten verhindert werden, dass sich Forst auf dem Sensor bilden kann, der am Ende zu Fehlmessungen führt. Die Firmware des Mikrokontrollers schaltet bei einem Regenereignis die Sensorheizung automatisch ein, um ein schnelleres Abtrocknen zu der Sensoroberfläche zu gewährleisten und somit auf das Ende eines Regenereignisses schnell reagieren zu können.
    Unterschreitet die vom Temperatursensor gemessene Temperatur 3 °C, wird die Sensor Heizung ebenfalls aktiviert um Frostbildung auf der Sensoroberfläche zu verhindern. Hierbei wird die Heizung im Zeitabstand von 15 Sekunden ein- und ausgeschaltet. So wird auf der einen Seite Energie gespart aber auch die Temperatur des Sensors begrenzt. Den wenn sich kein Kondensat auf der Sensoroberfläche befindet, was durch die Erwärmung verdampfen kann, kommt es auch nicht zu einer Abkühlung durch Verdunstung.
  • Die Spannungsversorgung der Sensorheizung wird über eine 500mA selbstrückstellende Sicherung geschützt. Der WMOS D1 mini besitzt eine eigene selbstrückstellende Sicherung. Die Spannungsversorgung erfolgt nicht über die Micro USB-Buchse, sondern über die zwei auf der Platine herausgeführten Lötpunkte *5V und GND. Nähere Informationen hierzu erhalten Sie in der Dokumentation, die sie oben im Beitrag kostenlos herunterladen können.

ACHTUNG:
Auf der Platine ist kein Verpolungsschutz vorhanden! Ein falscher Anschluss der Spannungsversorgung führt zu einer Zerstörung der elektronischen Bauteile.
Das Netzteil benötigt eine stabilisierte Ausgangsspannung von 5V= und  mindestens 1A  Ausgangs Strom, um die Auswerteeinheit und die Sensor Heizung sicher zu betreiben.

  • Auf der Platine der Auswerteeinheit befindet sich auch noch der hochgenaue Langzeit Timer 7555, der hier als 3V Variante bestückt ist und die Kapazitätsfrequenzumsetzung durchführt. Als letztes Bauteil ist nun noch das Read Relais zu nennen, dass einen potentialfreien Ausgangskontakt zur Verfügung stellt und bei einem Regenereignis ein externes Schaltsignal zur Verfügung stellt.
    Der ungenutzte Raum der Platine wurde mit einem 2,54mm Lochraster versehen, das noch genügend Raum für eigenen Erweiterungen und Ideen bietet.
  • WEMOS D1 mini pro
    Das verwendetet WEMOS D1 mini Board wird in einer an das Schaltungsdesigne der Auswerteeinheit modifizierten Variante ausgeliefert! (Nähere Informationen hierzu finden Sie in der Technischen Beschreibung)
    Es besitz 4 MB Flash, was ausreichend Platz für zukünftige Erweiterungen oder eigenen Ideeen bereithält. Das Modul wird mit der aktuellen Firmware ausgeliefert, kann aber jeder Zeit über ein Internetverbindung OTA auf die neueste Firmware Versionen upgedatet werden.
    Alle Anschlüsse des WEMOS sind nochmals separat auf dem Lochraster (Stiftleiste 2,54mm) herausgeführt.

Aufbau der Firmware:

Um das Regensensormodul in das lokale Netzwerk zu integrieren, wird Anfangs ein eigener AP geöffnet. Verbindet man sich mit diesem AP und öffnet man anschließend im Webbrowser die IP-Adresse 192.168.4.1 gelangt man in das Konfigurationsportal des Regensensor Moduls.
Hier können dann alle notwendigen Einstellungen für das lokale Netzwerk (SSID, Kennwort) und die die Verbindung zum MQTT-Broker (Server IP, Benutzername, Kennwort und Port) vorgenommen werden.
Konnte anschließend mit den eingegebenen Informationen eine Verbindung zum lokalen Netzwerk hergestellt werden, sind alle Daten und Konfigurationen des Sensors wie Einschaltschwellen, die Schalthysterese usw. neben dem MQTT-Broker auch über das integriertes Web-Interface erreichbar.

Die Kapazität des Sensors steht als Rohwert vom Sensor zur Verfügung. Für die Auswertung der Schaltschwelle, wird der kompensierte (kalibrierte) Sensorwert herangezogen.
Um nicht mit dem absoluten Kapazitätswert des Sensors arbeiten zu müssen, kann der Sensorwert bei Trockenheit selbst definiert werden. Hierfür wird eine Kalibrierung durchgeführt. So dass der Kompensierte Sensorwert dann bei Trockenwetter null hat.
Wandert der Wert um 10 pF in den negativen Bereich führt das Sensormodul einen automatischen Nullabgleich durch.

Ansicht im IO-Broker:

Die Ansicht zeigt alle verfügbaren Parameter des Sensormoduls. Die großgeschriebenen Parameter können über den Broker geschrieben werden.

Beschreibung der Notes

Note Name Beschreibung Lesen / Schreiben
INFO/Hostname Bezeichnung des Moduls Read
INFO/IPAdress Aktuelle IP-Adresse Read
INFO/Modul WLAN-Modul Read
INFO/RestartReason Beschreibung des letzten Neustart Ereignisses Read
INFO/Version Aktuelle Firmware Version Read
CALIBRATE Sensorkalibrierung (set true) Read / Write
CHECKUPDATE Neustes Firmware Update laden (set true) Read / Write
CalCapacity Kapazitäts- Kompensationswert Read
CompCapacity Relativer (kompensierter Kapazitätswert pF) Read
CurCapacity Aktuelle Sensor Kapazität (absolut Wert pF) Read
CurFrequency Aktuelle Sensorfrequenz (Hz) Read
HystCapacity Schalthysterese Kapazitätswert (pF) Read
Heating Status der Sensorheizung Read
Rain Status der Regenerkennung Read
TRSHCAPACITY Schaltschwelle für die Regenerkennung (pF) Read / Write
Temperature Ds18B20 Temperatursensor Wert (°C) Read
Uptime Zeit seit dem letzten Neustart Read
Vcc Prozessor Core Spannung Read

*Alle groß geschrieben Notes sind beschreibbar!

Einfaches Blockly Skript für den IO-Broker

In diesem Abschnitt soll Beispielhaft die Integration einer Markisen Ansteuerung mit einem Blockly Skript für den IO-Broker gezeigt werden.
Die Variable „Rain-Trigger“ ist eine User definierte boolesche Variable im Broker und dient hier als Trigger für das Umschalten zwischen den Zuständen der Regenerkennung und der Regenende Erkennung.

In diesem Skript wird bei einer Regenerkennung ein kurzer „Close“ Befehl an einen Shelly 2.5 Rollladenschalter gesendet, eine Bedienung durch den Nutzer bleibt somit jederzeit weiterhin möglich.

Shelly 2.5 Rollladenschalter bei Amazon

Ansicht im Webbrowser:

Analog zur Ansicht im Broker stehen alle Parameter auch im Webbrowser Interface zur Verfügung.

Montage Vorschlag:

Das Regensensor Modul sollte in einem Winkel von ca. 30° mountiert werden, damit der auftreffende Regen die Sensoroberfläche nur benetzt und abfließen kann.  Das Modul lässt sich leicht in eine Hensel Verteilerdose (ohne Klemmen) mit den Abmessungen 104 mm x 104 mm, vom Typ DK 0200 G / IP66 einbauen.

Abzweigdose DK 0200 G / IP66 bei Amazon

Hinweis:
Die oben genannte Abzweigdose besitzt keine Einführungen oder Würgenippel. Die Einführungsöffnungen sind mit einer Gummimembrane ausgestattet, die leicht durchstochen werden kann und das Kabel anschließend wieder Wasserdicht umschließt.

Im ersten Schritt werden die Befestigungslöcher für vier Distanzhülsen M3x8mm auf der Deckel Oberseite angezeichnet und mit einem 3,2mm Bohrer gebohrt.
Dann werden die Löcher mit einem Senker soweit angesenkt, dass die M3x4mm Senkkopfschrauben plan in den Senkungen verschwinden.

Anschließend wird mit einem Fräser oder einem Forstner Bohrer ein ca. 25 mm großes Loch für den Sensorstecker und den DS18B20 Sensor ausgemessen und gebohrt.

Nun werden die Distanzhülsen M3x6mm auf der Innenseite des Deckels befestigt und die Auswerteeinheit so montiert, dass die Buchsen Leiste und der Sensor im Sensorbohrloch platziert sind.

Danach kann der Sensor mit Silikon auf den Deckel aufgeklebt werden.

Achten sie beim Aufbringen des Sensors darauf, dass die Stiftleiste richtig in der zehn Poligen Buchsen Leiste steckt, so dass nach dem aufbringen der Sensorplatine auch alle vier Senkkopfschrauben verdeckt werden.

Versionsverlauf:

Intended:

  • – Keine weiteren Anfragen offen.

Released:

  • 16.07.2021: Alle HW Versionen, Firmware Version 01
    – Überarbeitung im Dialog Update, Reset und Restart im Webfrontend vorgenommen.
  • 03.07.2021: Alle HW Versionen, Firmware Version 02
    – Anzeige von Einheiten für den MQTT – Broker erweitert.
  • 04.06.2021: Alle HW Versionen, Firmware Version 01
    – In dieser Version wurde eine Fehlerbeseitigung im
    Webfrontend vorgenommen, es betrifft die Umschaltung
    der Wirkrichtung des potentialfreien Relais Ausgangs.

Dash Button Bestellsystem

Was ist ein Dash Button?

In diesem Projekt entsteht eine Batterie betriebener WLAN Dash Button in robuster Ausführung.
Die Elektronik soll in einem Gehäuse aus Metall untergebracht werden und eine Schutzart von IP64 erfüllen (Schutz gegen Spritzwasser und Staub).

Ein Dash Button ist eine kleine Mikrocontroller gestützte Schaltung, die bei Anforderung mit einem lokalen WLAN Netzwerk eine Verbindung herstellen kann, um so Daten an einen beliebigen Server zu senden.

Um einen Dash Button in ein bestehendes WLAN Netzwerk zu integrieren, startet der Dash Button im AP-Modus, nach dem Verbinden z.B. mit einem Smartphone oder Laptop, wird automatisch ein Captive Portal auf dem Endgerät geöffnet.

Hier können anschließend folgende Credentials definiert werden:

  • SSID des lokalen WLAN Netzwerks
  • Passwort des lokalen WLAN Netzwerks
  • Hostname des Ziel-Servers
  • URL
  • Dash Token, ein ein-eindeutiger Schlüssel für die Aktion die der Dash Button auslösen soll

Aufbau der Hardware

Der Dash Button soll unabhängig von einer externen Energieversorgung arbeiten können. Das bedeutet, dass die Energieversorgung mit Batterien realisiert wird, die im Gehäuse untergebracht werden.

Prototyp Dash Button von oben
Prototyp Dash Button von unten
Prototyp eines DashButtons im Metallgehäuse, zum Testen der Feldstärke mit einer ext. Antenne.

Deep Sleep Modus

Softwaretechnisch wird hierfür die sogenannte Deepsleep Funktion des Mikrocontrollers verwendet. In diesem Modus hat die Schaltung eine Stromaufnahme <70uA, was eine lange Lebensdauer der Batterien im Standby garantiert.

Nach Herstellerangaben, liegt der Deepsleep Ruhestrom bei ca. 10uA. Gemessen wurde beim Dashbutton jedoch eine Ruhestromaufnahme von ca. 60 uA. Dies muss jedoch noch genauer untersucht werden, da hier eine Messfehlertoleranz des Multimeters anzunehmen ist.

Parameter Typische Stromaufnahme Einheit
Tx 802.11b, CCK 11Mbps, Pout=+17dBm 170 mA
Tx 802.11g, OFDM 54Mbps,, Pout=+15dBm 140 mA
Tx 802.11n, MCS7, Pout=+13dBm 120 mA
Rx 802.11b 1024 byte packet lenght, -80dBm 50 mA
Rx 802.11g 1024 byte packet lenght, -70dBm 56 mA
Rx 802.11n 1024 byte packet lenght, -65dBm 56 mA
Modem-Sleep 15 mA
Light-Sleep 0,5 mA
Power save mode DTIM 1 1,2 mA
Power save mode DTIM 3 0,9 mA
Deep-Sleep 10 uA
Power OFF 0.5 uA

Eine Standard ESP-07 enthält einen Flash RAM von 1M, für die Programmierung wird ein SPIFFS von 64 K voreingestellt.
Direkt auf dem Modul befinden sich zwei LED’s , die rote LED ist direkt mit der Versorgungsspannung verbunden. Diese LED verursacht auch im Deepsleep Modus einen schadhaften Ruhestrom von ca. 15 mA und muss deshalb entfernt werden.
Die blaue LED ist mit TxD verbunden und zeigt die Aktivität an diesem Pin an.

Änderung des Energieversorgungsskonzeptes

Bei den Tests mit verschiedenen Primärquellen hat sich gezeigt, das mit dem ersten Layoutentwurf immer nur ein relativ kleiner Teil der zu Verfügungstehenden Kapazitäten entnommen werden kann. Deshalb wird nun in einer überarabeitenen Hardware Revision ein StepUp Booster vom Typ   NCP1402SN33T1 eingesetzt.

Dieser Baustein hat eine sehr niedrige Anlaufspannung von ca. 0.8V. Werden zwei AA-Battereien in Reihe betrieben, kann jede Zelle bis zu einer Spannung von 0.4V entladen werden, was knapp 90% der Gesamtkapazität der Zellen entspricht.

Der Baustein hat einen sehr niedrige Standby Stromaufnahme von nur 10uA und er stellt am Ausgang einen konstante Spannung von 3.3V zur Verfügung.

Das Schaltungsdesigne wird auch dahingehend geändert, dass auf den Standbystrom des NCP1402SN33T1 und den Deep Sleep Modus des ESP6288 verzichtet werden kann, da die Summe der beiden Ruhestromaufnahmen dann doch einen beträchtlichen Anteil von ca. 70 uA aus mahen würden.

Zu Einsatz kommt ein Mos Fet Transistor, der gleich zwei Aufgaben erfüllt. Zum einen dient er dem Verpolungsschutz, wenn die Batteriene versehentlich falsch eingelegt wurden und schützt so die Schaltkreise vor der Zerstörung.
Und zum anderen, wird er als Schalter für die Sapannungsversorgung verwendet.

Mit dem Betätigen des Tasters wird der Mos Fet leitend und stellt die Versorgungsspannung des Schaltkreises zur Verfügung. Ms nach dem starten des ESP 8266 steuert dieser dann übereinen Ausgang den Mos Fet an und verhindert so das sie Versorungsspannung nach dem loslassen des Taster wieder abgeschaltet wird.

Sobald alle nötigen Programmaktionen abgearbeitet wurden, gibt der ESP 8266 den Schaltausgang des Mos Fet’s wieder frei und die Spannungsversorgung wird abgeschaltet.

Batterie Kapazität

Die Richtwerte für Alkalien Batterien schwanken lt. Herstellerangaben in folgenden Bereichen:

AAA 1000  - 1500  mAh
AA  2000  - 3000  mAh
D   12000 - 20000 mAh

Eine Duracell Plus soll lt. Herstellers Angaben bis zu 2.9 Ah haben, was einer Laufzeit im Deepsleep Modus von mehreren Jahren entspräche.

Für Batterietests bietet das Layout unter anderem auch die Möglichkeit den Dash Button mit einer Knopfzelle zu betreiben.
Es hat sich jedoch gezeigt, dass eine Standard LR2032 nicht in Frage kommt, da bei diesem Typ bei einer Pulsbelastung die Spannung kurzfristig auf 2,8V einbricht. Was deutlich außerhalb der Spezifizierten Parameter des ESP8266 liegen würde.

Deshalb wurde für den Test eine Lithium Ionen Zelle z.B. Typ LIR 2032 (35mAh) verwendet. Da diese Typen auch bei einer Pulsbelastung in der für den ESP8266 definierten Spezifikation bleibt.
Der Nachteil dieser kleinen Bauform liegt jedoch in der kurzen Standbyzeit,  die bei rund 60 uA Ruhestromaufnahme gerade mal für ca. 25 Tage reicht.

Bei der Verwendung von zwei in Reihe geschalteten AA-Zink Kohle Batterien ist der Arbeitsspannungsbereich für den Betrieb eines ESP8266 sehr eingeschränkt. Bei neuen Batterien liegt die Spannung bei ca. 3,2 V. Nach einer Entladung von ca. 5% liegt die Spannung nur noch bei 3,0V. Somit erscheint der Einsatz solcher Batterietypen als wenig sinnvoll.

Eine weitere denkbare Option wäre der Verwendung von drei in Reihe geschalteten AA-Zellen, um das Spannungsniveau  in einen besseren Auslastungsbereich zu bekommen. Hier bei müsste dann jedoch wieder ein Spannungsregler eingesetzt werden, der zusätzliche Verluste mit sich bringt, was die Lebensdauer aber bei der verhältnismäßig geringen Einschaltzeit kaum einschränken dürfte.

Typische Kennlienie einer Duracell AA Batterie. (Quelle Duracell Datenblatt)

So wird nun im dritten Anlauf für dieses Projekt angenommen, dass entweder zwei paralell geschaltete LiFEPO4 AA Akkus zum Einsatz kommen oder drei AA-Zellen die in Reihe geschaltet werden. Oder die Dritte Option ein LIPO Akku mit einer Ausgangsspannung von 3.7V.

Die Platine erhält einen 3,3 V low drop Spannungsregler der Firma Mikrochip, vom Typ MIC5219-3.3BM5 LG33 3.3V –40°C to +125°C SOT-23-5.

Dieser Baustein besitzt einen Enable Eingang, der es erlaubt die komplette Schaltung abzuschalten ohne das ein merklicher Ruhestrom fließt.

Durch den Einsatz dieses Reglers kann ein ein Eingangsspannungsbereiche zwischen 3 – 5v abgedeckt werden. Darurch sind alle drei Varianten der oben beschriebenen Spannungsversorgungen möglich.

LiFEPO4 AA Akkus liefern eine Spannung von 3,4 V / 700 mA, was einer Batteriekapazität von 100% entspräche.
Durch eine Parallelschaltung von zwei LiFePO4 Akkus kann somit die Kapazität auf 1400 mAh erhöht werden.

Hierbei läge die Ausnützung der Batteriekapazität bei etwa 60% (800 mAh), im Vergleich zu drei Zink-Kohle Batteriene. Deren Entladeschlussspannung bei 1v liegt, was bei drei in reihe geschaltenenen Zellen ca. 3V entspricht  = minimale Eingangsspannung der EPS lt. Spec.

Es ergäbe sich rein rechnerisch eine Standbybetriebszeit von ca. 1,5 Jahren.

Ein großer Vorteil bei der Verwendung von LiFePO4 Zellen liegt darin, dass die Zellen wiederaufladbar sind und somit viele Male wieder verwendet werden können.
Ein gravierender Nachteil der Parallelschaltung von zwei Zellen liegt jedoch in einer Verpolung.
Wenn die Zellen von nicht fachkundigem Personal gewechselt werden sollen,  kann es durch die Parallelschaltung der beiden Zellen bei einem falschen Einlegen zu einem Kurzschluss kommen, der dann zur thermischen Zerstörung der Akkus und letztendlich des Dashbuttons führen würde.

Um eine lange Lebensdauer von Akkus zu gewährleisten, sind diese unbedingt vor einer Tiefentladung  zu schützen. Deshalb ist in der Firmware des DashButtons ein Schwellwert von 2,9 V programmiert, ab dem sich der Dash Button nicht mehr starten lässt. Die LED geht kurz an, blinkt für 1 Sekunde sehr schnell und geht dann sofort wieder aus!

Laut Herstellerangaben darf sich die Betriebsspannung eines ESP 8266 in einem Bereich von 3,0V – 3,6V bewegen (Typisch 3,3V).
Somit entspräche eine Batteriespannung von 3,0V gleich 0% Batteriekapazität, was einen sofortigen Batteriewechsel nötig machen würde!

Server Software

Die Server Software bietet die Möglichkeit, neben den Nutzinformation (Token) auch Informationen zur aktuellen Batteriespannung, Hard- und Software Version  und eine Statusinformation des DashButtons zu liefern.

Die Betriebsspannung wird mit dem Parameter &vbatt=x.xxx an den Server übergeben.
Er gibt die Batteriespannung in Volt an.

Beispielberechnung für die Batteriekapazität:

Bei Betrieb mit einer Li Fe PO4 Zelle , wird am Messeingang des Mikrocontrollers etwa eine  Betriebsspannung von 3,3V erreicht.
Was in diesem Fall einer prozentualen Batteriekapazität von 100 % entspräche.
Die minimale Betriebsspannung sollte 3,0V nicht unterschreiten, was somit die 0% der Batteriekapazität fest legt.

Im folgenden Beispiel wird angenommen, dass die Batterie noch eine Spannung von 3,15V (50%) liefert:

Y = Eingangsspannung 3,15V
Y0= 3,0 V
Y100= 3,3 V

X= Ergebnis in %
X0 = 0 %
X100 = 100%

X:= ((X100 – X0) * ( Y – Y0 )  /  (Y100 – Y0)) + X0;

        100 * 0.1
Y = ————-  + 0 = 50%
               0.2

Wird der Parameter nicht übergeben, wird der Wert im Server automatisch auf -1 gesetzt. Was soviel bedeutet, dass der Batteriestatus nicht ermittelt werden konnte bzw. nicht bekannt ist.

In der Server Software kann für jeden DashButton der verwendete Batterietyp ausgewählt werden. Somit kann die Berechnung der Batteriekapazität anhand einer hinterlegten Herstellerkennlinie erfolgen, was eine genauere Anzeige der tatsächlichen Kapazität ermöglicht.

Mit diesen Informationen kann in der Serverapplikation ein Mechanismus angestoßen werden, der den Admin rechtzeitig darüber informiert, wann ein Batteriewechsel erforderlich wird.

Das Layout bietet die Möglichkeit, verschieden Batterietypen in verschiedenen Leistungsklassen und Größen zu verwenden.

Externe Antenne

Um eine stabile Funkverbindung etablieren zu können, muss bei der Verwendung eines Metall- bzw. metallisierten Gehäuses eine externe Antenne verwendet werden!

Bei einem Standard ESP-07 Modulen ist bereits ein Anschluss für eine externe Antenne vorhanden. Wird der externe Antennenanschluss verwendet, muss die Verbindung zur internen (aufgelöteten) Antenne unterbrochen werden. Hierfür ist der Null Ohm Wiederstand neben dem Antennenanschluss zu entfernen.

Für die Verwendung einer externen Antenne muss der null Ohm Wiederstand (rotes Quadrat) entfernt werden. Wird das ESP07 Modul mit einer Batterie betrieben muss zusätzlich die Power LED (roter Kreis) entfernt werden, um ein unnötiges entladen der Batterie zu vermeiden.

 

Wurde die interne Antenne entfernt,ist zwingend darauf zu achten, dass das Modul nicht ohne eine angeschlossene externe Antenne betrieben wird. Da dies zur Zerstörung des ESP-Moduls führen kann.

Programmierung

Die Programmierung des Mikrocontrollers erfolgt über einen Programmieranschluss, der auf der Platine vorhanden ist.
Diese Schnittstelle ist notwendig, um erstmalig eine Firmware in den Mikrocontroller laden zu können.

Hierbei ist zu beachten, dass die Lötbrücke J1 die im Bild mit einem Stern gekennzeichnet ist, nicht geschlossen sein darf. Da im Auslieferungsstand der Pin GPIO16 auf low liegt und somit eine Dauer Reset anliegen würde.

Im Programm darf somit der GPIO16 nicht mit pinMode() konfiguriert werden.

Lötbrücke für ein optionales automatisches aktivieren des DashButton nach einer fest definierten Zeitspanne. Sie verbindet den Pin GPIO16 mit dem Eingang RESET.

Funktionsweise des Tasters und der LED

Das Layout bietet je nach Bestückung die Möglichkeit einen Taster und eine LED in SMD Technik oder aber auch bedrahteten Bauelemente zu verwenden. Somit ist es auch möglich andere Bedientasten z.B. mit Kabelanschlüssen ein zu löten.

Befindet sich das Modul im Deepsleep Modus, kann es durch einen Tastendruck aufgeweckt werden.

Je nachdem wie lange der Taster  gedrückt gehalten wir, werden unterschiedliche Funktionen aufgerufen:

  • Drücken bis eine Verbindung ausgebaut wurde  – Test Modus (Status 0).
  • Drücken über einen Zeitraum von 10 Sekunden – WIFI Setup (Status 1).
  • kurzes Drücken des Tasters – löst eine Bestellung aus (Status 2).

Anschließend versucht das Gerät eine Netzwerkverbindung zum lokalen AP zu etablieren, was durch ein langsames blinken der LED signalisiert wird.
Kann keine Verbindung hergestellt werden, beginnt die LED schnell zu blinken und man hat die Möglichkeit für 240 Sekunden eine Verbindung zu diesem Dash Button aufzubauen und die Konfiguration vor zu nehmen.
Erfolgt in dieser Zeit kein Login auf dem Dash Button, wird der Mikrocontroller wieder in den Deepsleep Modus versetzt, um die Batterie nicht unnötig zu strapazieren.

Ist der Verbindungsaufbau zum lokalen WLAN geglückt, wird die Nutzinformation (Dash Token) an den in den Credentials definierten Server verschickt.
Wurde der Empfang der Information vom Server bestätigt, leuchtet die Status LED für drei Sekunden kontinuierlich.
Wird der Empfangs nicht vom Server bestätigt, wird dies durch schnelles Blinken der LED für drei Sekunden angezeigt.
Anschließend wechselt der Mikrocontroller wider in den Deepsleep Modus.

Je nachdem welches Ereignis am Dashbutton ausgelöst wurde, wird eine entsprechende Statusinformation im Parameter &status=x dem HTTP Put Request übergeben. Wird der Parameter nicht mit übergeben, wird der Wert im Server automatisch auf -1 gesetzt, was soviel bedeutet das der Status nicht bekannt ist.

Server Applikation für den DashButton
DashButtonServer
DashButtonServer
DashButtonServer.zip
Version: V 1.0.0.0
7.9 MiB
446 Downloads
Details

Die Serverapplikation kann auch direkt mit dem Webbrowser getestet werden. Hierfür wird in die Adresszeile der folgende Aufruf eingegeben:

http://HOST
/URL?&token=ef98c8246ef0409da5fb3a27afa4ec61
&vbatt=3.12&hv=1.00&sv=1.03&status=1

  • Host:
    Ist die IP-Adresse des Servers z.B. 192.168.1.123
  • URL:
    Ist eine Pfadangabe (optional für den augenblicklichen Stand) soll später der Einordnung der Einträge dienen, z.B. für die Standorte.
  • token:
    Ist ein 32 stelliger ein eindeutiger Schlüssel des betreffenden Dash Buttons.
  • vbatt:
    Gibt die Batteriespannung in Volt an.
  • hv:
    Gibt die aktuelle Hardware Revision des DashButton an.
  • sv:
    Gibt die aktuelle Firmware Version des DashButton an.
  • status:
    Information über den Auslöser des Ereignisses.
    0 – Test (Button wurde kürzer als drei Sekunden gedrückt)
    1 – Settings (Die Einstellungen wurden aufgerufen, durch langes drücken des Tasters)
    2 – Order (Ein Bestellauftrag wurde abgesetzt)
    3 – n Für weitere Statusinformationen reserviert
Weitere Ideen:
  • Der Dash Token sollte im Prinzip ein 32 Byte Hashcode sein, der einen Prüfsumme oder einen CRC Check enthält, um die Authentizität des Tokens auf dem Server verifizieren zu können.
  • Es wäre denkbar, dass sich ein Dash Button der längere Zeit nicht betätigt wurde, automatisch aktiviert (z.B. alle 24h) und seinen Batteriestatus an den Server sendet.
    Der Parameter „status“ würde das Ereignis dann als Test identifizieren.
    Hierbei wäre zu bedenken, dass ein zyklisches Verbinden mit dem WLAN und das Senden dieser Statusinformationen die Batterielebensdauer zusätzlich verkürzen würde.

Mitsubishi Profibus Poe Konverter für konsistente Datenübertragung

ProfibusPoeKonverter
ProfibusPoeKonverter
ProfibusPoeKonverter.zip
Version: 1.43
2.2 MiB
532 Downloads
Details
ProfibusPoeKonverter Handbuch
ProfibusPoeKonverter Handbuch
ProfibusPoeKonverter.pdf
970.3 KiB
961 Downloads
Details

Allgemeines:

Wird für eine Mitsubishi SPS ein Profibus Projekt mit dem GX-Developer erstellt und werden die Optionen:

  • Slave-Spezifischer Transfer
  • Kopieranweisung
  • Nur Datenaustausch

benutzt, kann die Profibus Konfiguration auch ohne einen RESET an der SPS geändert oder erweitert werden.

Manchen Slaves verlangen Daten Konsistenz, die mit der automatisch generierten POE aus dem GX Developer und den darin enthaltenen Kopieranweisungen FROM_M und TO_M jedoch nicht sichergestellt werden können. Um dies sicher zu stellen müssen die FROM_M und TO_M Anweisungen durch sogenannte BMOV Anweisungen ersetzt werden.

Um dies schnell und vor allem fehlerfrei zu gewährleisten, wurde dieses Tool entwickelt. Neben dem Austauschen dieser Befehle, wir der Syntax und die Schreibweise der Kopfadresse, die bei BMOV Hexadezimal angegeben werden muss, angepasst.

ProfibusKonverterTool

 Kurzbeschreibung:

Erfordert an einem Profibusstrang mindestens ein Teilnehmer Datenkonsistenz, sollte die gesamte POE von FROM_M und TO_M Anweisungen auf BMOV Anweisungen umgestellt werden.

Es gibt zwei Möglichkeiten eine Konvertierung vor zu nehmen:

Im einfachsten Fall kann man aus der zu konvertierenden Profibus POE direkt die entsprechenden Netzwerke markieren und anschließend mit CTRL-C oder CTRL-X in die Zwischenablage kopieren bzw. ausschneiden.

Der Inhalt der Zwischenablage wird nun in die leere TextBox Quelldatei mit CTRL-V eingefügt. Um eine leere TextBox zu erhalten, wählen sie in der Menüleiste den Eintrag Datei und Neu aus. Nach dem einfügen der Zwichenablage kann mit der Konvertierung begonnen werden, wählen sie hierfür in der Menüleiste den Eintrag Bearbeiten und Konvertieren aus.

Das Ergebnis der Konvertierung wird in der Rechten TextBox dargestellt, überprüfen sie in der Statusbar am unteren Rand der Anwendung ob hierbei Fehler aufgetreten sind. In Fehlerfall wird ein Hinweis auf die Art des Fehlers und die Position angezeigt, der Cursor wird automatisch in der entsprechenden Zeile der linken TextBox platziert.

Wurde die Konvertierung erfolgreich abgeschlossen, kann der Inhalt der rechten TextBox markiert und in die Zwischenablage kopiert werden und anschließen wieder in die POE eingefügt werden.

Das aktive Fenster wird durch anklicken aktivier, dies wird durch eine andre Hintergrundfarbe dargestellt (üblicherweise mit der Farbe Weiß).

In der Toolbar der Applikation sind neben den üblichen Schaltern Datei Neu, Speichern und öffne, noch weitere vorhanden. Sie dienen zum kopieren und einfügen der Daten in der Zwischenablage. Die Besonderheit dieser Schalter, sie wirken immer im aktiven Fenster. wird der Taster kopieren betätigt, wird der gesamte Inhalt der aktiven TextBox zuerst markiert und dann in die Zwichenablage kopiert. So das mit einem Tastendruck die Daten aus der TextBox Zieldatei in die Zwischenablage übernommen werden können. Beim Einfügen über den Toolbutton wird der vorhandene Inhalt der aktiven TextBox gelöscht und durch den in der Zwischenablage ersetzt.

Die zweite Möglichkeit Daten in die Applikation zu laden, erfolgt über das Menü Datei öffnen. Hier können exportierte *.asc Dateien eingelesen und anschließend konvertieren werden. Die Vorgehensweise ist derselben wie bereits weiter oben beschrieben.

Mit dem Laden einer *.asc Datei werden die beiden Textboxen wie bei Datei neu erst einmal gelöscht, bevor die neuen Daten geladen werden.

Nach einer erfolgreichen Konvertierung können die erzeugten Zieldaten mit Datei speichern wieder als *.asc Datei gespeichert werden. Zum Speichern wird an den ursprünglichen Dateinamen ein _new.asc angehängt um eine Unterscheidung gewährleisten zu können.

 

Hochgenaue elektronische Start- Zielzeiterfassung für Sportveranstaltungen

StopWatch

StopWatch
StopWatch
StopWatch.zip
Version: V1.450
23.6 MiB
262 Downloads
Details
StopWatch Client Release Candidate
StopWatch Client Release Candidate
StopWatchClient_rc.zip
Version: 1.408
1.6 MiB
607 Downloads
Details
StopWatch Handbuch
StopWatch Handbuch
StopWatch.pdf
10.6 MiB
2315 Downloads
Details
StopWatch USB Modul Hardwarebeschreibung Revision 3.0
StopWatch USB Modul Hardwarebeschreibung Revision 3.0
StopWatch-USB-Modul-Hardwarebeschreibung-Revision-3.0.pdf
Version: Hardware Version 3
3.7 MiB
517 Downloads
Details

Ab Release V1.30 läuft die StopWatch Applikation nun auf folgenden Windows Plattformen.

  • Windows XP SP1
  • Windows Vista
  • Windows ME
  • Windows 7
  • Windows 8
  • Windows 10

Das kann die StopWach Software:

  • Hochgenaue elektronische Zeiterfassung für Sportveranstaltungen mit dem USB StopWatch Hardwareinterface.
  • PC-Zeitbasis basierende elektronische Zeiterfassung für Sportveranstaltungen über einen USB RS232 Adapter oder dem USB Initiator Interface.
  • Kontakt und Lichtschranken Testfunktionen
  • PC-Zeitbasis basierende manuelle Zeiterfassung für Sportveranstaltungen.
  • Optionaler USB DMX Adapter für die Ansteuerung einer DMX Ampel.
  • Anzeige einer virtuellen Ampel auf dem Infoscreen.
  • Komfortable Erfassung von Teilnehmerdaten mittels Wortergänzung und Erfassung über mehere PC (Datenimport/Export)
  • Benutzerverwaltung der Anwendung mit den entsprechenden Benutzerrechten sowie Verwaltung der einzelnen Teilnehmerdaten mittels USB RFID Modul und RFID Tags.
  • Ergebnisauswertung nach Klassen Fahrzeugen usw. in Listenform, Drucken von Ergebnislisten mit deteiliertem Rennverlauf und Kostenberechnung.
  • Importfunktion im *.csv Format.
  • Exportfunktion *.csv, *.txt und *.html
  • Direkte Veröffentlichung von Ergebnislisten mittels WLAN an alle Teilnehmer der Veranstaltung oder direkt auf dem eigenen Webspace.
  • Druckerei für die Erstellung von Startnummern auch mit Barcode.
  • Automatisierte Urkundendruckerei.
  • Ausführliche .chm basierende Hilfe, Tooltipp Anzeige bei den Eingabefeldern. Wichtige Informationen über die nötige Windows Einstellungen zum Anzeige einer .chm bassierenden Hilfe.
  • Protokollierung der Programmaktivitäten.
  • Automatische Benachrichtigung über eine neuere Programmversion.
  • Laufende Zeitanzeige mit Teilnehmerdaten und virtueller Ampel.
  • Kennwortsystem Anmeldung auch über RFID Tags möglich.
  • Teilnehmerdatesätze Erfassung und Aufruf auch über RFID Tags möglich.
  • Startgeld und Budgetverwaltung.
  • Vorbereiten von Starterlisten für einzelne Rennläufe (Batchbetrieb).
  • Umschaltung der Sprachversion (Deutsch / Englisch).
  • Anzeige eines Infoscreen auf einem zweiten Monitor mit den aktuellen Teilnehmerdaten, einem Foto und der aktuellen Zeit.
  • uvm.

Screenshots aus der StopWatch Anwendung

Für die Zeitnahme steht ein eigener übersichtlich gegliederter Dialog zur Verfügung.

Dialog zuer Erfassung der Persönlichen Daten
Dialog zuer Erfassung der Persönlichen Daten
Dialog mit den Rennergebnissen
Dialog mit den Rennergebnissen

 

Mit der integrierten Druckerei können Sie ihre eigenen Vorlagen kreieren und anschließend z.B automatisiert die Startnummern oder Urkunden für die Teilnehmer des Rennens erstellen.

Integrierte Druckerei
Integrierte Druckerei
Urkunden für Teilnehmer automatisiert erstellen
Urkunden für Teilnehmer automatisiert erstellen

Wenn Sie gerne Ergebnislisten Drucken oder in verschieden Formaten exportieren möchten gibt es im Programm viel verschiedene Möglichkeiten das schnell und einfach zu erstellen. Durch vorgefertigte Filter Funktionen können schnell verschiedene Ausgaben erstellt werden.

 

Schnelle erstellung von Ergebnislisten
Schnelle Erstellung von Ergebnislisten

Zusätzlich verfügt die Software über die Möglichkeit Ergebnislisten direkt auf ihrer Hompage zu publizieren oder diese noch am Veranstaltungsort den Teilnehmern auf ihrem eigenen Smartphone oder Tablett zu präsentieren.

Ansicht der Rennergebnisse im Webbrowser / Smartphone

Roadmap Release Candidate V1.44

Geplant

  • Keine erweiterungen in der Planung.

In Arbeit

Erledigt

  • 15.08.2019 1.450
    Verbesserung im DMX Eingabedialog.
  • 21.08.2018 1.431
    Fehlerbeseitigung beim laden des Kennwortsystems und im Erfassendialog.
  • 09.06.2018 1.43
    Fehlerbeseitigung im Erfassen Dialog der in Verbindung mit dem USB-StopWatch Modul auftrat.
  • 09.06.2016 1.42
    Programm um eine weitere Zeiterfassungf für Rundenrennen mit Einzelrundenzeitmessung erweitert.
    Bestzeitenauswertung für EinzelrundenZeitnahme nach Runden in der Ergebnisliste erweitert.
  • 09.06.2016 1.41
    Programm um eine weitere Auswerteliste für Rundenrennen erweitert.
    Urkunden angepasst.
    Bestzeitenauswertung nach Runden in der Ergebnisliste erweitert.
    Mittelwertanzeige in der Ergebnisliste für Rundenerfassung erweitert.
    -Zeitanzeigefenster für den Sammelstart und Runden Zählungen erweitern, Tabelarischeansicht der Zeiten und laufenden Runden.
  • 02.04.2016 1.403rc
    Optimierung der RFID Routienen, Erweiterung um lokalen GPS Empfänger, GPS Daten für jeden Zeitdatensatz .GEO Datenerfassung der Rennen per GPS Empfänger Modul. Anpassung der EX- und Importfunktionen.
    Anpassung der Listenansichten und der Webserveransichten.
    Umbau und Erweiterung des Erfassendialogs, DMX und virtuelle Ampel in die Einstellungen übernommen.
    Anpassen der internen Datenstruckturen.
    Erweiterung und Überarbeitung der DMX Ansteuern. Neue Funktionen Savety Car und RFID Erfassungssignalisierung.
    Optimierung der RFID Leserroutienen.
    Erweiterung der Benutzerrechte.
    Erweiterung um neue Zeitnahmemethoden für Rundenrennen mit Sammelstart.
    Erweiterung der Listen aund Auswertungen um Rundenrennen.
    Erweiterung um einen Auswahldialog für die Art und das beenden der Zeitnahme bei Rundenrennen.
  • 17.01.2016 1.402rc
    Zeitmessung von Einzelrunden mit Rundenzählung durch RFID.
    Integration von Geo(GPS)daten  für die erfassten Einzelzeiten.
    Optimierung der RFID Tag Erfassung .
    Integration eines neuen RFID Readers der Firma TowiToko.
  • 10.01.2016 1.40rc
    Erweiterung um eine Auswahl der Zeitmessung:
    – Start- Ziel Zeitmessungen
    – Zeitmessung mit Sammelstart,
    – Zeiterfassung der einzelnen Teilnehmerzeiten über eine RFID Erfassung.
    Erweiterung der Webserveransicht und der Listen um die Rundenanzahl.
  • 12.12.2015 1.36rc
    Aktualisierung der Hilfe.
    Fehlerbehebung im Quick Serarch Eingabefeld.
    Fehlerbehebung beim dynamischen Einbinder von Font Dateien in Windowssysteme ab Windows 8+.
  • 10.12.2015 1.35 Released
    Option für die Invertierung der Initiatoreingänge des USB RS232 Adapters. Nächsten Teilnehmer suchen während einer laufenden Zeitmessung.
  • 29.10.2015 1.35rc
    Automatischer FTP Upload der Wertungslisten auf einen externen Server. Der einzel Datei upload wurde dafür aus dem Programm entfernt.
  • 07.10.2015 1.35rc
    Der Erfassen Dialog wurde verkleinert, damit er auch bei einer Auflösung 768×1024 komplett auf den Bildschirm passt.
    Bei den Renndaten kann mit den entsprechenden Benutzerrechten nun eine Eingabe von manuell erfassten Zeiten erfolgen.
    Desweitern werden die ausgewählten Listen im WebServer nun bei gestarteten WebServer in das Applikationsverzeichnis unter WEB gespeichert. Damit stehen diese zur weiteren Verwendung des Veranstalters bereit.
  • 01.10.15 1.34 Release
    Verbesserung beim Sortieren der Mastertabelle, die Sortierung wird nun direkt in der Datenbank und nicht mehr in der Tabelle vorgenommen, somit bleibt die Sortierung auch nach dem Einfügen eines neuen Datensatzes erhalten.
    Erweiterung des Erfassen Dialogs um einen Suchfunktion des nächsten Starters bereits während einer Laufenden Zeiterfassung.
  • 24.09.15 1.34rc
    Erweiterung der Funktion beim USB RS232 Adapter um eine Direktstartoption mit dem Startinitiator.
    Erweiterung um eine automatische TagID Vergabe, bei manueller Teilnehmer Erfassung.
  • 02.07.15 1.33rc
    Im Dialog StopWatch werden nun die Felder die geändert aber noch nicht übertragen wurden rot hinterlegt, bis die Übertragung zum StopWatch Modul stattgefunden hat.
  • 22.06.15 1.32rc
    Ampel Ansteuerung über DMX integriert. Funktion für die virtuelle Ampel sowie das StopWatch Modul erweitert.
  • 02.06.15
    Direkter Startnummernausdruck über das Popup in der Listenansicht.
    Erweiterung der Filterfunktion um die Kriterien Einträge mit negativem Budget und Einträge ohne Startnummer.
  • 28.05.15
    Automatische Startnummernvergabe verbessert.
    Manuelles Eingabefeld von der TagID entkoppelt und als Startnummernfeld umfunktioniert. Teilnehmer Erfassung manuell über die Startnummer und elektronisch über die TagID. (Notwendig wegen der Einführung der Teilnehmererfassung auf externen Terminal PC’s)
    Funktion der Startnummernvergabe im Eingabefeld der Manuellen Erfassung verbessert.
    Fehler bei der Teilnehmererfassung über den Comport beseitigt.
  • 01.05.15
    Zusatzprogramm zur Teilnehmererfassung auf externen Terminal PC’s . Anbindung über einen  TCP-IP an den StopWatch Server.
  • 01.05.15
    Abstand zwischen den in der Kopfzeile Enthaltenen Texten eingefügt.
  • 12.04.15
    Umbau der internen Applikationsstruktur sowie eine Erweiterung um ein Zusatztoll, dass dem Endanwender die Möglichkeit zur Verfügung stellt, die Anwendung um beliebige Sprachversionen zu erweitern. Migration der Anwendung auf eine Windows Versions unabhängige und konforme Datei- und Verzeichnis Struktur. Somit ist die StopWatch Applikation auf allen erhältlichen Windows ab Windows XP lauffähig.
    Optimierung des Installers, ein besonderes Augenmerk liegt hierbei auf einer vollständigen Deinstallation aller angelegten Dateien und Verzeichnisse.
  • 09.10.2014
    Webserver Integration, Wertungslisten Infoscreen. Teilnehmer Fotoanzeige im Teilnehmerdatensatz und dem Zeitnahmefenster. Manuelle Änderung der Zeitdatensätze mit den entsprechenden Benutzerrechten.
  • 15.09.2014
    Logfile Erstellung Default auf “Immer in dasselbe Logfile Schreiben.
  • 16.09.2014
    Foto in den Benutzerdatensatz und in die Zeitanzeige einbinden und mit dem StopWacht File abspeichern.
  • 17.09.2014
    Flexible Größenänderung des Teilnehmerfotos durch ziehen mit der Maus. Laden von Bildern als JPG und als Bitmap ermöglichen Werbebanner Dillinger-Engineering Standartmäßig im Ressource File speichern und anzeigen. Ausblenden des Wertungsdaten Dialoges ermöglichen, stattdessen Eintragung direkt in die Renndatenanzeige mit den entsprechenden Benutzerrechten möglich.
  • 18.09.2014
    Ausblenden des Wertungsdaten Dialoges ermöglichen, stattdessen Eintragung direkt in die Renndatenanzeige mit den entsprechenden Benutzerrechten möglich.
  • 19.09.2014
    Daten Struktur um TZeiten um einen Integer und einen String[12] für die Aufnahme der Änderungsinformation, Eintrag geändert sowie die alte Zeit Information vor der Änderung. Neue Datenbank Version V3.
  • 20.09.2014
    Fehlerbeseitigung: Beim öffnen der Font Dialoges im Erfassen Dialog und in der Zeitanzeige wurde nach dem Verlassen des Dialoges das Entsprechende Element mit Move deklariert und mit der Mausbewegung verschoben. Erweiterung der Zugriffsrechte um den Punkt ändern der Zeitdatensätze. Die Zeitdaten im Erfassen Fenster sind mit entsprechenden Benutzerrechten nun direkt änderbar.
  • 24.09.2014
    Integration eines Webservers für einen direkten Aufruf von Ergebnislisten z.B. direkt auf das Smartphone. Die Anbindung kann über einen WLAN Router mit DHCP Freigabe erfolgen.