{"id":984,"date":"2020-08-28T11:07:00","date_gmt":"2020-08-28T11:07:00","guid":{"rendered":"https:\/\/open-boat-projects.org\/?page_id=984"},"modified":"2023-03-01T09:28:11","modified_gmt":"2023-03-01T09:28:11","slug":"diy-ultraschall-fuellstandsmessung","status":"publish","type":"page","link":"https:\/\/open-boat-projects.org\/en\/diy-ultraschall-fuellstandsmessung\/","title":{"rendered":"DIY ultrasonic level measurement"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-989\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor_2.png\" alt=\"\" width=\"600\" height=\"496\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor_2.png 859w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor_2-300x248.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor_2-768x635.png 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Abb.: Ultraschall F\u00fcllstandsmessung<\/p>\n<p>Die Idee des F\u00fcllstandsensors ist im Segeln-Forum durch mehrere Segler entstanden. Andreas hat eine Prototypen aufgebaut und an verschiedenen Objekten getestet. Durch Verwendung k\u00e4uflicher Fertigmodule ist ein einfacher Nachbau gegeben. Der Ultraschall-Sensor erfasst Fl\u00fcssigkeitsst\u00e4nde in einem Tank und sendet NMEA0183-Telegramme per WLAN an das Bordnetzwerk. Diese k\u00f6nnen dann z.B. in AVnav oder OpenCPN visualisiert werden. Aufgrund der Eigenschaften des Sensors muss kein Loch in den Tank gebohrt werden, daher bietet sich dieser Sensor als Nachr\u00fcstl\u00f6sung bei bestehenden Tanks ohne F\u00fcllstandsanzeige an. Durch die WLAN-Anbindung m\u00fcssen keine weiteren Datenkabel verlegt werde. Eine 12V Versorgung in der N\u00e4he des Tanks, an die der Mikrocontroller angeschlossen werden kann, ist ausreichend. Das Modul Wemos D1 mini\u00a0 ist ein Mikrocontroller auf Basis des ESP 8266 mit eingebautem WLAN-Modul. An dem Mikrocontroller wird der Ultraschallsensor\u00a0 \u00fcber eine serielle Schnittstelle angeschlossen. Der Ultraschallsensor wird au\u00dfen an den Tankboden angeklebt. Damit kann dann der Fl\u00fcssigkeitsspiegel im Tank erfasst werden.<\/p>\n<p><strong>Achtung:<\/strong> Der Sensor muss am Tankboden angebracht werden und einen Kontakt zur Fl\u00fcssigkeit haben.\u00a0 Dadurch wird der Schall in die Fl\u00fcssigkeit \u00fcbertragen. Er muss also von unten nach oben \u201epingen\u201c um den Fl\u00fcssigkeitsspiegel zu erfassen. Von oben nach unten \u201epingen\u201c \u00fcber den Luftweg funktioniert nicht. Es hat sich herausgestellt, dass ein andr\u00fccken des Ultraschallsensors an den Tank nicht ausreicht, um den Schall in die Fl\u00fcssigkeit zu \u00fcbertragen. Man ben\u00f6tigt Kontaktgel oder klebt den Sensor am Tankboden an. Zu Testzwecken kann als Ersatz f\u00fcr Kontaktgel Handcreme oder Fett verwendet werden.<\/p>\n<h3>Kenndaten der Ultraschall F\u00fcllstandmessung<\/h3>\n<ul>\n<li>Versorgungsspannung 7&#8230;24V DC<\/li>\n<li>Stromverbrauch ca. 40 mA bei 12V<\/li>\n<li>Messbereich 50&#8230;2000 mm Fl\u00fcssigkeitss\u00e4ule<\/li>\n<li>Messung alle 2 s<\/li>\n<li>Daten\u00fcbertragung WiFi 2.4GHz, 802.11bgn<\/li>\n<li>UDP, Port 8888, Broadcast<\/li>\n<li>Datenformat: NMEA0183, XDR<\/li>\n<li>Konfiguration: Webseite bei Erststart<\/li>\n<\/ul>\n<h1>Ultraschallsensor DS1603L<\/h1>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-985\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/DS1603L_3-300x300.jpeg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/DS1603L_3-300x300.jpeg 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/DS1603L_3-150x150.jpeg 150w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/DS1603L_3-768x768.jpeg 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/DS1603L_3.jpeg 1001w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Abb.: DS1603L Ultraschall F\u00fcllstandsensor mit serieller Datenausgabe<\/p>\n<p>Den Ultraschallsensor DS1603 gibt es in verschiedenen Ausf\u00fchrungen. Wir verwenden die Version mit einem seriellen RS232 Ausgang, die mit einem L am Ende gekennzeichnet ist. Es gibt aber auch andere Sensoren (DS1603DA-3R) mit einer RS485-Schnittstelle und Modbus als \u00dcbertragungsprotokoll. Der Sensor DS1603L der auch zum DA1603DA-3U kompatibel ist, hat laut <a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2023\/03\/DS1603-V2.0-Datasheet.pdf\" target=\"_blank\" rel=\"noopener\">Datenblatt<\/a> folgende Eigenschaften:<\/p>\n<h3><strong>Kenndaten<\/strong><\/h3>\n<ul>\n<li>Betriebsspannung: 3.3-12V DC<\/li>\n<li>Stromverbrauch: &lt; 35 mA<\/li>\n<li>Blinder Bereich: &lt;= 50 mm<\/li>\n<li>Messbereich: 50&#8230;2000 mm<\/li>\n<li>Ausgang: UART RS232 seriell 9600 8N1 (nur TX)<\/li>\n<li>Aufl\u00f6sung: 1 mm<\/li>\n<li>Antwortzeit mit Fl\u00fcssigkeit: 2s<\/li>\n<li>Antwortzeit ohne Fl\u00fcssigkeit: 10s<\/li>\n<li>Messgenauigkeit: \u00b1 (3 + H x 0.5 %) mm<\/li>\n<li>nicht wasserdicht<\/li>\n<li>ESD-Festigkeit: \u00b1 4\/\u00b1 8 kV.<\/li>\n<\/ul>\n<h3><strong>Datenausgabe<\/strong><\/h3>\n<ul>\n<li>9600 Bd, 8 Datenbits, ein Stopbit, kein Parit\u00e4tsbit (8N1).<\/li>\n<li>4 Byte Daten:\n<ul>\n<li>Byte1 Header: fester Wert 0xFF<\/li>\n<li>Byte2 Data_H: hohes Byte der H\u00f6he.<\/li>\n<li>Byte2 Data_L: niedriges Byte der H\u00f6he.<\/li>\n<li>Byte4 Pr\u00fcfsumme<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Pr\u00fcfsumme:<\/strong> Pr\u00fcfsumme = (Header + Data_H + Data_L) &amp; 0x00FF<\/p>\n<p><strong>Berechnung der F\u00fcllh\u00f6he:<\/strong> H\u00f6he [mm] = Data_H * 256 + Data_L<\/p>\n<h3>Bedeutung der blauen Status-LED<\/h3>\n<table style=\"border-collapse: collapse; width: 27.7657%;\">\n<tbody>\n<tr>\n<td style=\"width: 11.6775%; background-color: #bbbbbb;\"><strong>LED-Zustand<\/strong><\/td>\n<td style=\"width: 16.0882%; background-color: #bbbbbb;\"><strong>Bedeutung<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 11.6775%;\">Dauerhaft an<\/td>\n<td style=\"width: 16.0882%;\">Kein Schallpegel gefunden<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 11.6775%;\">Blinkt<\/td>\n<td style=\"width: 16.0882%;\">Messbereit, Schallpegel gefunden<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Der Ultraschallsensor versucht am Anfang den Sendepegel des Schallsignals einzustellen, so dass eine Messung m\u00f6glich ist. Dazu ben\u00f6tigt der Sensor 10 s. In der Zeit ist die LED dauerhaft an. Sobald ein g\u00fcltiges Echosignal detektiert wurde, beginnt die blaue LED im Rhythmus von 2 s zu blinken. Bei jedem Blinken werden 4 Byte an Daten \u00fcber die TX-Leitung gesendet. Die RX-Leitung bleibt unbenutzt, da man dem Sensor keine Kommandos senden kann. Der Sensor f\u00e4ngt selbst\u00e4ndig ohne ein spezielles Startkommando mit dem Senden an. Sollte eine Messung nicht m\u00f6glich sein, so bleibt die LED dauerhaft an und die Pr\u00fcfsumme ist fehlerhaft. Es werden jedoch weiterhin 4 Byte an Daten ausgesendet. Oft ist dann die Ursache fehlendes Kontaktgel zur Schall\u00fcbertragung oder eine unzureichende Schall\u00fcbertragung.<\/p>\n<h3><strong>Kabelbelegung<\/strong><\/h3>\n<table style=\"border-collapse: collapse; width: 27.7657%;\">\n<tbody>\n<tr>\n<td style=\"width: 10.0145%; background-color: #bbbbbb;\"><strong>Kabelfarbe<\/strong><\/td>\n<td style=\"width: 17.7512%; background-color: #bbbbbb;\"><strong>Bedeutung<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.0145%;\">Rot<\/td>\n<td style=\"width: 17.7512%;\">3.3-12V DC<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.0145%;\">Schwarz<\/td>\n<td style=\"width: 17.7512%;\">GND<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.0145%;\">Gelb<\/td>\n<td style=\"width: 17.7512%;\">TX <sup>*<\/sup><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 10.0145%;\">Wei\u00df<\/td>\n<td style=\"width: 17.7512%;\">RX <sup>*<\/sup><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>* Spannungspegel von Versorgungsspannung abh\u00e4ngig (4V Signale bei 5V Versorgungsspannung)<\/p>\n<h3>Kennlinie<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3052\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kennlinie_kompletter_Bereich-300x204.png\" alt=\"\" width=\"600\" height=\"408\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kennlinie_kompletter_Bereich-300x204.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kennlinie_kompletter_Bereich-18x12.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kennlinie_kompletter_Bereich.png 679w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Abb. Sensorkenlinie 0&#8230;90 mm bei 5V Versorgungsspannung<\/p>\n<p>Je nach Versorgungsspannung beginnt der Ultraschallsensor schon bei 30 mm Fl\u00fcssigkeitsh\u00f6he mit der Messung. Bei 25 mm tritt aber gelegentlich ein fehlerhafter Messwert auf, der mit 60 mm Fl\u00fcssigkeitsh\u00f6he angegeben ist. Man darf also den Messwerten unterhalb von 40&#8230;50 mm nicht vertrauen. Unterhalb von 20 mm werden keine g\u00fcltigen Messsignale \u00fcbertragen und die Pr\u00fcfsumme ist fehlerhaft. Die Status-LED ist dauerhaft an. Die Spezifikation weist auch einen toten Bereich von 0&#8230;50 mm aus.<\/p>\n<h3>Messgenauigkeit und Linearit\u00e4t<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3053\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kennlinie_linearer_Bereich-300x204.png\" alt=\"\" width=\"600\" height=\"408\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kennlinie_linearer_Bereich-300x204.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kennlinie_linearer_Bereich-18x12.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kennlinie_linearer_Bereich.png 679w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Abb. Linearit\u00e4t des DS1603 im g\u00fcltigen Messbereich 30&#8230;90 mm<\/p>\n<p>Die Messgenauigkeit ist hinreichend genau f\u00fcr eine F\u00fcllstandsmessung. Der Offsetfehler betr\u00e4ngt bei meinem Modell ca. 4 mm. Die Steigung ist nicht exakt bei 1.0. Mit einer Offset- und Steigungskorrektur k\u00f6nnten die Messwerte verbessert werden.<\/p>\n<p>Insgesamt ist aber bei einer Tank-F\u00fcllstandsmessung zu bedenken, dass es einen toten Bereich von 0&#8230;50 mm gibt. Der Tank muss eine gewisse Bauh\u00f6he haben, um halbwegs genau den F\u00fcllstand errechnen zu k\u00f6nnen. Der Tank sollte eine Mindesth\u00f6he von 250 mm aufweisen und Quadratisch sein. Mit dem Ultraschall-Messverfahren wird die Fl\u00fcssigkeitss\u00e4ule \u00fcber dem Sensor gemessen. Der Tankf\u00fcllstand wird in Prozent der maximalen F\u00fcllh\u00f6he angegeben. Weicht die Tankgeometrie von der Quaderform ab, so entspricht der Ausgabewert nicht dem F\u00fcllstand in Prozent.<\/p>\n<h1>Daten\u00fcbertragung<\/h1>\n<p>\u00dcber das WLAN-Modul wird der Wemos mit dem Bordnetzwerk verbunden. Dazu wird bei erstmaligem Start und jedes Mal wenn kein bekanntes WLAN-Netz vorhanden ist, eine Einrichtungsseite aufgerufen. Ist der Mikrocontroller mit dem Netzwerk verbunden und hat der Sensor einen Fl\u00fcssigkeitsspiegel im Tank erkannt, werden entsprechende NMEA0183-Datens\u00e4tze \u00fcber UDP als Broadcast-Aussendungen in das Bordnetzwerk gesendet. Broadcast bedeutet, dass die Datens\u00e4tze an alle Netzteilnehmer gleichzeitig versendet werden und keine spezielle IP-Adresse f\u00fcr die Kommunikation notwendig ist. Die Konfigurationsseite schlie\u00dft sich automatisch, wenn sich der Sensor in das Bord-WLAN einbuchen konnte oder automatisch nach 10 Minuten.<\/p>\n<table style=\"border-collapse: collapse; width: 28.5611%; height: 120px;\">\n<tbody>\n<tr style=\"height: 24px;\">\n<td style=\"width: 2.53165%; background-color: #bbbbbb; height: 24px;\"><strong>Parameter<\/strong><\/td>\n<td style=\"width: 26.0295%; background-color: #bbbbbb; height: 24px;\"><strong>Wert<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 2.53165%; height: 24px;\">SSID<\/td>\n<td style=\"width: 26.0295%; height: 24px;\">UltrasonicSenor<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 2.53165%; height: 24px;\">Passwort<\/td>\n<td style=\"width: 26.0295%; height: 24px;\">12345678<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 2.53165%;\">\u00dcbertagungtyp<\/td>\n<td style=\"width: 26.0295%;\">WiFi 2.4 GHz, 802.11bgn<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 2.53165%;\">Datentyp<\/td>\n<td style=\"width: 26.0295%;\">NMEA0183<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 2.53165%;\">Telegramm<\/td>\n<td style=\"width: 26.0295%;\">XDR: $IIXDR,V,15,P,FUEL*56 (Messwert in Prozent der Tankh\u00f6he)<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 2.53165%; height: 24px;\">\u00dcbertragungsart<\/td>\n<td style=\"width: 26.0295%; height: 24px;\">UPD, Broadcast<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 2.53165%; height: 24px;\">Port<\/td>\n<td style=\"width: 26.0295%; height: 24px;\">8888<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Abb. \u00dcbertragungsparameter<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3060\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175635-135x300.png\" alt=\"\" width=\"250\" height=\"556\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175635-135x300.png 135w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175635-461x1024.png 461w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175635-691x1536.png 691w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175635-5x12.png 5w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175635.png 720w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3061\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175646-135x300.png\" alt=\"\" width=\"250\" height=\"556\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175646-135x300.png 135w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175646-461x1024.png 461w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175646-691x1536.png 691w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175646-5x12.png 5w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Screenshot_20220521-175646.png 720w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>Abb. Konfigurationsseite<\/p>\n<h1>Schaltungsaufbau<\/h1>\n<p>Der Schaltungsaufbau gestaltet sich recht einfach. Es werden nur wenige Komponenten und Kabelverbindungen ben\u00f6tigt.<\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Ultraschall_Fuellstandssensor_Schaltung.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3063\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Ultraschall_Fuellstandssensor_Schaltung.png\" alt=\"\" width=\"500\" height=\"294\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Ultraschall_Fuellstandssensor_Schaltung.png 352w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Ultraschall_Fuellstandssensor_Schaltung-300x176.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Ultraschall_Fuellstandssensor_Schaltung-18x12.png 18w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Abb. Schaltung Ultraschall-Sensor<\/p>\n<p>F\u00fcr den Ultraschall-Sensor ben\u00f6tigt man folgende Teile:<\/p>\n<table style=\"border-collapse: collapse; width: 66.8113%; height: 192px;\">\n<tbody>\n<tr style=\"height: 24px;\">\n<td style=\"width: 5.10484%; height: 24px; background-color: #bbbbbb;\"><strong>Position<\/strong><\/td>\n<td style=\"width: 4.59874%; height: 24px; background-color: #bbbbbb;\"><strong>Anzahl<\/strong><\/td>\n<td style=\"width: 17.7013%; height: 24px; background-color: #bbbbbb;\"><strong>Bezichnung<\/strong><\/td>\n<td style=\"width: 26.0587%; height: 24px; background-color: #bbbbbb;\"><strong>Quelle<\/strong><\/td>\n<td style=\"width: 13.3478%; height: 24px; background-color: #bbbbbb;\"><strong>Bemerkung<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 5.10484%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 4.59874%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 17.7013%; height: 24px;\">Wemos D1 mini<\/td>\n<td style=\"width: 26.0587%; height: 24px;\"><a href=\"https:\/\/www.makershop.de\/plattformen\/d1-mini\/wemos-d1-mini\/\" target=\"_blank\" rel=\"noopener\">Makershop.de<\/a><\/td>\n<td style=\"width: 13.3478%; height: 24px;\"><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 5.10484%; text-align: center; height: 24px;\">2<\/td>\n<td style=\"width: 4.59874%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 17.7013%; height: 24px;\">Wemos 7-24V 1A DC Power Shield<\/td>\n<td style=\"width: 26.0587%; height: 24px;\"><a href=\"https:\/\/www.makershop.de\/plattformen\/d1-mini\/wemos-d1-power-shield\/\" target=\"_blank\" rel=\"noopener\">Makershop.de<\/a><\/td>\n<td style=\"width: 13.3478%; height: 24px;\"><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 5.10484%; text-align: center; height: 24px;\">3<\/td>\n<td style=\"width: 4.59874%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 17.7013%; height: 24px;\">Widerstand 1k, 1\/4W<\/td>\n<td style=\"width: 26.0587%; height: 24px;\"><a href=\"https:\/\/www.pollin.de\/search?query=Widerstand+1k\" target=\"_blank\" rel=\"noopener\">Pollin.de<\/a><\/td>\n<td style=\"width: 13.3478%; height: 24px;\"><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 5.10484%; text-align: center; height: 24px;\">4<\/td>\n<td style=\"width: 4.59874%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 17.7013%; height: 24px;\">Widerstand 2k2, 1\/4W<\/td>\n<td style=\"width: 26.0587%; height: 24px;\"><a href=\"https:\/\/www.pollin.de\/search?query=Widerstand+2k2\" target=\"_blank\" rel=\"noopener\">Pollin.de<\/a><\/td>\n<td style=\"width: 13.3478%; height: 24px;\"><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 5.10484%; text-align: center; height: 24px;\">5<\/td>\n<td style=\"width: 4.59874%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 17.7013%; height: 24px;\">Schaltlitze<\/td>\n<td style=\"width: 26.0587%; height: 24px;\"><a href=\"https:\/\/www.pollin.de\/search?query=Schaltlitze\" target=\"_blank\" rel=\"noopener\">Pollin.de<\/a><\/td>\n<td style=\"width: 13.3478%; height: 24px;\">optional<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 5.10484%; text-align: center; height: 24px;\">6<\/td>\n<td style=\"width: 4.59874%; text-align: center; height: 24px;\">1<\/td>\n<td style=\"width: 17.7013%; height: 24px;\">Schrumpfschlauch<\/td>\n<td style=\"width: 26.0587%; height: 24px;\"><a href=\"https:\/\/www.pollin.de\/search?query=Schrumpfschlauch\" target=\"_blank\" rel=\"noopener\">Pollin.de<\/a><\/td>\n<td style=\"width: 13.3478%; height: 24px;\">optional<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 5.10484%; height: 24px; text-align: center;\">7<\/td>\n<td style=\"width: 4.59874%; height: 24px; text-align: center;\">1<\/td>\n<td style=\"width: 17.7013%; height: 24px;\">Geh\u00e4use<\/td>\n<td style=\"width: 26.0587%; height: 24px;\"><a href=\"https:\/\/www.pollin.de\/search?query=Geh%C3%A4use\" target=\"_blank\" rel=\"noopener\">Pollin.de<\/a><\/td>\n<td style=\"width: 13.3478%; height: 24px;\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Der Ultraschallsensor wird an die jeweiligen Pins vom Wemos D1 mini angel\u00f6tet und danach auf das Power Shield aufgesteckt.\u00a0 Alles zusammen wird dann in einem wasserdichten Geh\u00e4use untergebracht.<\/p>\n<h1>Anpassung der Firmware<\/h1>\n<p>In der Grundeinstellung benutzt die Firmware als Tankgeometrie einen Tank mit 400 mm H\u00f6he. In Zeile 109 kann im <a href=\"https:\/\/github.com\/norbert-walter\/NMEA0183-Level-Sensor-DS1603L\/blob\/main\/src\/main.cpp\" target=\"_blank\" rel=\"noopener\">Quellcode der Datei main.cpp<\/a> die Tankh\u00f6he angepasst werden.<\/p>\n<p><span style=\"font-family: arial, helvetica, sans-serif;\"><em><span class=\"pl-k\">109 int<\/span> Prozent = (h \/ <span class=\"pl-c1\">400.00<\/span>) * <span class=\"pl-c1\">100<\/span>;<\/em> <\/span><\/p>\n<p>Die gesamte Quellcode der Firmware ist bei GitHub zu finden:<\/p>\n<p><a href=\"https:\/\/github.com\/norbert-walter\/NMEA0183-Level-Sensor-DS1603L\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/norbert-walter\/NMEA0183-Level-Sensor-DS1603L<\/a><\/p>\n<p>Wer den Quellcode selber kompilieren m\u00f6chte kann das mit <em><strong>PlatformIO<\/strong><\/em> machen. <em><strong>PlatformIO<\/strong><\/em> ist eine Erweiterung f\u00fcr die Programmierumgebung <em><strong>Visual Studio Code<\/strong><\/em> von Microsoft und unterst\u00fctzt eine Reihe von Mikrocontrollern aus dem DIY-Bereich. Wie man <em><strong>PlatformIO<\/strong><\/em> unter <em><strong>Visual Studio Code<\/strong><\/em> installiert ist hier beschrieben:<\/p>\n<p><a href=\"https:\/\/www.az-delivery.de\/blogs\/azdelivery-blog-fur-arduino-und-raspberry-pi\/plattformio\" target=\"_blank\" rel=\"noopener\">https:\/\/www.az-delivery.de\/blogs\/azdelivery-blog-fur-arduino-und-raspberry-pi\/plattformio<\/a><\/p>\n<p>oder<\/p>\n<p><a href=\"https:\/\/iotgrizzly.de\/ide-platformio\/\" target=\"_blank\" rel=\"noopener\">https:\/\/iotgrizzly.de\/ide-platformio\/<\/a><\/p>\n<p>Ist <em><strong>PlatformIO<\/strong><\/em> eingerichtet, so kann recht einfach das GitHub-Repository kopiert werden. Dazu klickt man auf den Button <em><strong>Clone Repository<\/strong><\/em> und tr\u00e4gt in der Adresszeile die Webadresse des Repositorys ein unter dem das Projekt bei Github gespeichert ist (https:\/\/github.com\/norbert-walter\/NMEA0183-Level-Sensor-DS1603L).<\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Clone_Repository.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3097\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Clone_Repository-300x164.png\" alt=\"\" width=\"600\" height=\"328\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Clone_Repository-300x164.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Clone_Repository-1024x560.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Clone_Repository-768x420.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Clone_Repository-1536x840.png 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Clone_Repository-18x10.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Clone_Repository.png 1920w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Danach w\u00e4hlt man ein Verzeichnis aus in dem das Projekt gespeichert wird. Dabei muss\u00a0 man die Frage mit ja beantworten, dass man der Quelle vertraut und die Software wirklich herunterladen m\u00f6chte. Im Anschluss ist das Projekt im Workspace zu sehen. Dann schlei\u00dfen wir Visual Studio Code und \u00f6ffnen es erneut, damit der Workspace korrekt mit PlatformIO geladen wird. Dann sollten wir noch die korrekte COM-Schnittstelle einstellen \u00fcber den unser Wemos D1\u00a0 mini angeschlossen ist. Das machen wir, indem wir die Datei <em><strong>platformio.ini<\/strong><\/em> anpassen und speichern. Anderenfalls l\u00e4sst sich sonst die Firmware nicht flashen.<\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/COM-Port_anpassen.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3098\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/COM-Port_anpassen-300x164.png\" alt=\"\" width=\"600\" height=\"328\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/COM-Port_anpassen-300x164.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/COM-Port_anpassen-1024x560.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/COM-Port_anpassen-768x420.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/COM-Port_anpassen-1536x840.png 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/COM-Port_anpassen-18x10.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/COM-Port_anpassen.png 1920w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Jetzt haben wir eine fertige Entwicklungsumgebung f\u00fcr unser Projekt und k\u00f6nnen die Firmware selber kompilieren und auch flashen.<\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kompilieren_Flashen.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3099\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kompilieren_Flashen-300x164.png\" alt=\"\" width=\"600\" height=\"328\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kompilieren_Flashen-300x164.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kompilieren_Flashen-1024x560.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kompilieren_Flashen-768x420.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kompilieren_Flashen-1536x840.png 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kompilieren_Flashen-18x10.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Kompilieren_Flashen.png 1920w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Wer sich die ganze M\u00fche der Einrichtung von <em><strong>Visual Studio Code<\/strong><\/em> und <em><strong>PlatformIO<\/strong><\/em> ersparen m\u00f6chte, kann gleich die fertig kompilierte Bin\u00e4rdatei mit dem <em><strong>NodeMCU Flasher<\/strong><\/em> auf den Wemos D1 mini \u00fcbertragen.<\/p>\n<h1>Flashen der Firmware als Binary<\/h1>\n<p>Das Flashen der Firmware als Binary erfolgt \u00fcber ein Micro-USB-Kabel, das mit dem Wemos D1 mini und dem PC verbunden wird.<\/p>\n<p dir=\"auto\" data-sourcepos=\"74:1-74:396\"><strong>Flash-Anleitung<\/strong><\/p>\n<ol>\n<li dir=\"auto\" data-sourcepos=\"74:1-74:396\">USB-Programmierkabel mit Laptop oder PC verbinden<\/li>\n<li dir=\"auto\" data-sourcepos=\"74:1-74:396\">Programmiersoftware <em><strong>NodeMCU Flasher<\/strong><\/em> auf Laptop oder PC starten und <a href=\"https:\/\/github.com\/norbert-walter\/NMEA0183-Level-Sensor-DS1603L\/raw\/main\/bin\/firmware.bin\" target=\"_blank\" rel=\"noopener\">Firmware<\/a> laden<\/li>\n<li dir=\"auto\" data-sourcepos=\"74:1-74:396\">Programmiervorgang starten<\/li>\n<li dir=\"auto\" data-sourcepos=\"74:1-74:396\">Nach erfolgreicher Programmierung USB-Programmierkabel trennen<\/li>\n<li dir=\"auto\" data-sourcepos=\"74:1-74:396\">12V einschalten und WiFi-Verbindungsparameter \u00fcber AccessPoint einstellen<\/li>\n<\/ol>\n<p><strong>NodeMCU Flasher<\/strong><\/p>\n<p>Als Programmiersoftware f\u00fcr den Wemos D1 mini kann das einfach zu benutzende Windows Tool <a href=\"https:\/\/github.com\/nodemcu\/nodemcu-flasher\" target=\"_blank\" rel=\"noopener\">NodeMCU Flasher<\/a> verwendet werden. Die EXE-Datei kann ohne spezielle Installation direkt gestartet werden. Als erstes werden unter <em><strong>Advanced<\/strong><\/em> folgende Einstellungen vorgenommen. Wer einen Wemos D1 mni Pro benutzt, der muss den <em><strong>Flash size<\/strong><\/em> auf 16MB setzen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1802 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_1.png\" alt=\"\" width=\"572\" height=\"333\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_1.png 572w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_1-300x175.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_1-18x10.png 18w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/p>\n<p>Danach wird unter <em><strong>Config<\/strong><\/em> die aktuelle Firmwaredatei <a href=\"https:\/\/github.com\/norbert-walter\/NMEA0183-Level-Sensor-DS1603L\/raw\/main\/bin\/firmware.bin\" target=\"_blank\" rel=\"noopener\">firmware.bin<\/a> ausgew\u00e4hlt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1803 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_2.png\" alt=\"\" width=\"572\" height=\"333\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_2.png 572w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_2-300x175.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_2-18x10.png 18w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/p>\n<p>Zum Flashen geht man auf <em><strong>Operation<\/strong><\/em> und w\u00e4hlt die entsprechende COM-Schnittstelle aus an der der Wemos D1 mini angeschlossen ist. Danach dr\u00fcckt man auf <em><strong>Flash<\/strong><\/em> und wartet ab, bis die Firmware geladen ist.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1804 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_3.png\" alt=\"\" width=\"572\" height=\"333\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_3.png 572w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_3-300x175.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_3-18x10.png 18w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/p>\n<p>W\u00e4hrend des Flashens wird der Fortschritt der \u00dcbertragung angezeigt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1805 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_4.png\" alt=\"\" width=\"572\" height=\"333\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_4.png 572w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_4-300x175.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_4-18x10.png 18w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/p>\n<p>Wenn die Firmware erfolgreich geladen wurde, ist folgender Bildschirm zu sehen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1806 size-full\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_5.png\" alt=\"\" width=\"572\" height=\"333\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_5.png 572w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_5-300x175.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2021\/09\/NodeMCU_Flasher_5-18x10.png 18w\" sizes=\"auto, (max-width: 572px) 100vw, 572px\" \/><\/p>\n<p>Nach der \u00dcbertragung kann das Programmiertool geschlossen und der Adapter abgezogen werden.<\/p>\n<h1>Integration in SignaK<\/h1>\n<p>Damit der F\u00fcllstandswert an <em><strong>SignalK<\/strong><\/em> \u00fcbergeben werden kann ben\u00f6tigen wir das Plugin <em><strong>xdr-parser-plugin<\/strong><\/em>. Es \u00fcbersetzt die universellen XDR-Telegramme, die eine Erweiterung der NMEA0183 Telegramme sind. Das Plugin kann \u00fcber den in SignalK integrierten Appstore installiert werden. Nach der Installation ist ein Neustart des SignalK-Servers notwendig. Danach m\u00fcssen wir noch das <em><strong>xdr-parser-plugin <\/strong><\/em>unter <em><strong>Server -&gt; Plugin Config<\/strong><\/em> konfigurieren. Weitergehende Details wie man das <em><strong>xdr-parser-plugin <\/strong><\/em>konfigurieren muss, sind hier zu finden: <a href=\"https:\/\/github.com\/GaryWSmith\/xdr-parser-plugin\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/GaryWSmith\/xdr-parser-plugin<\/a><\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Plugin_Config.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3110\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Plugin_Config-300x191.png\" alt=\"\" width=\"600\" height=\"381\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Plugin_Config-300x191.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Plugin_Config-1024x650.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Plugin_Config-768x488.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Plugin_Config-1536x976.png 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Plugin_Config-18x12.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Plugin_Config.png 1617w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Abb. Plugin Config<\/p>\n<p>Danach legen wir eine neue Datenverbindung unter <em><strong>Server -&gt; Data Connection<\/strong><\/em> f\u00fcr den Tanksensor an und starten SignalK neu.<\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Connection.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3112\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Connection-300x184.png\" alt=\"\" width=\"600\" height=\"368\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Connection-300x184.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Connection-1024x628.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Connection-768x471.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Connection-18x12.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Connection.png 1351w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Abb. Data Connection<\/p>\n<p>Danach sind die Daten im Dashboard und Data Browser zu sehen.<\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Dashboard.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3106\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Dashboard-300x72.png\" alt=\"\" width=\"600\" height=\"144\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Dashboard-300x72.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Dashboard-1024x245.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Dashboard-768x184.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Dashboard-1536x368.png 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Dashboard-18x4.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Dashboard.png 1888w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Abb. Dashboard<\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Browser.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3107\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Browser-300x113.png\" alt=\"\" width=\"600\" height=\"227\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Browser-300x113.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Browser-1024x387.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Browser-768x290.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Browser-1536x581.png 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Browser-18x7.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Data_Browser.png 1894w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Abb. Data Browser<\/p>\n<h1>Kalibrierfunktion<\/h1>\n<p>Mit einem weiteren SignalK Plugin <a href=\"https:\/\/www.npmjs.com\/package\/@signalk\/calibration\" target=\"_blank\" rel=\"noopener\">@signalk\/calibration<\/a> kann eine Kalibrierfunktion dem F\u00fcllstandssensor hinzugef\u00fcgt werden. Dabei wird mit Hilfe einer Kalibriertabelle ein Zusammenhang zwischen Eingangs- und Ausgangswerten hergestellt. Das Plugin rechnet dann automatisch die eingehenden Werte um, so dass sie richtig angezeigt werden. Damit ist es m\u00f6glich, auch ohne anpassen und kompilieren der Firmware die korrekten F\u00fcllstandswerte anzeigen zu k\u00f6nnen. Man f\u00fcllt dann literweise den Tank ohne aktiviertes Kalibrier-Plugin und schreibt sich in einer Tabelle die angezeigten Werte vom <em><strong>Data Browser<\/strong><\/em> auf. Danach \u00fcbertr\u00e4gt man die Werte in das Kalibrier-Plugin. Nach einem Neustart des SignaK-Serves werden alle Messwerte umgerechnet ausgegeben. Wichtig ist die richtige Source f\u00fcr die Datenquelle anzugeben. Die findet man in der letzten Spalte des <em><strong>Data Browsers<\/strong><\/em>. Unter Path muss der selbe SignalK-Path angegeben sein wie man ihn in der ersten Spalte des <em><strong>Data Browsers<\/strong><\/em> sieht. Andere Datenpfade sind nicht erlaubt und f\u00fchren dazu, dass keine Umrechnung der Messwerte erfolgt.<\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Calibration.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3119\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Calibration-300x147.png\" alt=\"\" width=\"600\" height=\"295\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Calibration-300x147.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Calibration-1024x503.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Calibration-768x377.png 768w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Calibration-1536x755.png 1536w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Calibration-18x9.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Calibration.png 1620w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Abb. Calibration<\/p>\n<p>Wer m\u00f6chte kann die Daten dann im Instrument Panel anzeigen lassen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-3113\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Instrument_Panel-300x184.png\" alt=\"\" width=\"300\" height=\"184\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Instrument_Panel-300x184.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Instrument_Panel-18x12.png 18w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2022\/05\/Instrument_Panel.png 378w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Abb. Instrument Panel mit F\u00fcllstandsanzeige<\/p>\n<h1>Bilder<\/h1>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-988\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor.png\" alt=\"\" width=\"600\" height=\"454\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor.png 911w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor-300x227.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor-768x582.png 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor_2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-989\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor_2.png\" alt=\"\" width=\"600\" height=\"496\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor_2.png 859w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor_2-300x248.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Ultraschall_Fuellstandssensor_2-768x635.png 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Integration_OpenCPN.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-987\" src=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Integration_OpenCPN.png\" alt=\"\" width=\"600\" height=\"375\" srcset=\"https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Integration_OpenCPN.png 1411w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Integration_OpenCPN-300x187.png 300w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Integration_OpenCPN-1024x639.png 1024w, https:\/\/open-boat-projects.org\/wp-content\/uploads\/2020\/08\/Integration_OpenCPN-768x480.png 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fig.: Ultrasonic fill level measurement The idea of the fill level sensor came up in the sailing forum by several sailors. Andreas built a prototype and tested it on various objects. A simple replica is possible by using ready-made modules that can be purchased. The ultrasonic sensor records liquid levels in a tank and sends NMEA0183 telegrams to the on-board network via WLAN. These can then be used in AVnav or... <a href=\"https:\/\/open-boat-projects.org\/en\/diy-ultraschall-fuellstandsmessung\/\" class=\"more-link\">Read more <span class=\"screen-reader-text\">DIY ultrasonic level measurement<\/span><\/a><\/p>","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[37],"tags":[],"class_list":["post-984","page","type-page","status-publish","hentry","category-projects"],"_links":{"self":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages\/984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/comments?post=984"}],"version-history":[{"count":81,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages\/984\/revisions"}],"predecessor-version":[{"id":993,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/pages\/984\/revisions\/993"}],"wp:attachment":[{"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/media?parent=984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/categories?post=984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/open-boat-projects.org\/en\/wp-json\/wp\/v2\/tags?post=984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}