<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zisterne &#8211; bubuxblog</title>
	<atom:link href="https://www.bubuxblog.de/tag/zisterne/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bubuxblog.de</link>
	<description></description>
	<lastBuildDate>Sun, 16 Jan 2022 12:32:53 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Zisternenfüllstandsmessung mit Time Of Flight-Sensor (die Zweite mit Version 1029)</title>
		<link>https://www.bubuxblog.de/zisternenfuellstandsmessung-mit-time-of-flight-sensor-die-zweite-mit-version-1029/</link>
					<comments>https://www.bubuxblog.de/zisternenfuellstandsmessung-mit-time-of-flight-sensor-die-zweite-mit-version-1029/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Sun, 16 Jan 2022 12:32:08 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Eigenbau]]></category>
		<category><![CDATA[Energieeinsparung]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Cistern]]></category>
		<category><![CDATA[Hausautomatisierung]]></category>
		<category><![CDATA[Homeautomation]]></category>
		<category><![CDATA[Time of Flight]]></category>
		<category><![CDATA[ToF]]></category>
		<category><![CDATA[VL53L0X]]></category>
		<category><![CDATA[VL53L1X]]></category>
		<category><![CDATA[Zisterne]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=2022</guid>

					<description><![CDATA[Es ist leider mal wieder lange nix passiert hier im Blog. Das letzte Jahr war nicht so prickelnd und ich hab meine Arbeit an meinen Bastelprojekten quasi eingestellt. Offensichtlich waren aber die dunklen Wintermonate bei einigen Leuten Ansporn, um ihre Heimautomatisierung und Sensorik zu überarbeiten. Es gab viele Einträge im Blog und ich bekam viele [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Es ist leider mal wieder lange nix passiert hier im Blog. Das letzte Jahr war nicht so prickelnd und ich hab meine Arbeit an meinen Bastelprojekten quasi eingestellt.</p>



<p>Offensichtlich waren aber die dunklen Wintermonate bei einigen Leuten Ansporn, um ihre Heimautomatisierung und Sensorik zu überarbeiten. Es gab viele Einträge im Blog und ich bekam viele Anfragen per Mail bzgl. des Time Of Flight-Sensor <em>VL53L0X </em> als möglicher Ersatz des Ultraschallsensors <em>HC-SR04</em>. Ich hatte ja auch bei der Version <a rel="noreferrer noopener" href="http://blog.bubux.de/zisternenfuellstandsmessung-mit-time-of-flight-sensor/" data-type="post" data-id="1993" target="_blank">1028 </a>nach fleißigen Testern und Rückmeldungen gefragt. Vielen Dank euch dafür! Das hat mich auch motiviert mal wieder was an dieser Front zu tun.</p>



<p>Auch wenn mein Ultraschallsensor für seine 2,50€ seit 3 Jahren tadellos seine Arbeit in der Zisterne verrichtet und ich bisher keine Notwendigkeit sehe diesen zu ersetzen, habe ich mir einen weiteren Sensor zu Testzwecken beschafft und in die Software implementiert. Ergebnis ist die Version 1029 der Software.</p>



<p>Neben dem ToF <em>VL53L0X </em> kann nun auch der <em>VL53L1X  </em>angeschlossen und genutzt werden. Zu den Unterschieden der beiden Sensoren findet man einiges im Internet. Welcher Sensor nun im jeweiligen Anwendungsfall die bessere Wahl ist, muss jeder selber herausfinden bzw. freue ich mich auch wieder auf Rückmeldungen im Blog oder per Mail bzgl. eurer Erfahrungen.</p>



<span id="more-2022"></span>



<p>Zu den beiden ToF-Sensoren nur ganz kurz folgende Zeichnung bzgl. der Öffnungskegel in Abhängigkeit zum Messabstand. Dazu aber noch weiter unten ein bisschen mehr Details da es anscheinend bei den möglichen Abständen etc. nicht verallgemeinert werden kann, welcher Sensor die bessere Wahl ist. Ich habe dazu auch (bisher) keine Tests gemacht!</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="http://blog.bubux.de/wp-content/uploads/2022/01/abstands-kegel.jpeg"><img fetchpriority="high" decoding="async" width="842" height="391" src="http://blog.bubux.de/wp-content/uploads/2022/01/abstands-kegel.jpeg" alt="" class="wp-image-2033" srcset="https://www.bubuxblog.de/wp-content/uploads/2022/01/abstands-kegel.jpeg 842w, https://www.bubuxblog.de/wp-content/uploads/2022/01/abstands-kegel-300x139.jpeg 300w, https://www.bubuxblog.de/wp-content/uploads/2022/01/abstands-kegel-768x357.jpeg 768w" sizes="(max-width: 842px) 100vw, 842px" /></a></figure></div>



<p>Der Anschluss des <em>VL53L1X </em>erfolgt analog des <em>VL53L0X</em>. Die notwendigen PINs zum Anschluss sind u.a. in der Applikation angegeben. Hier aber nochmal schnell das Anschlussschema für die beiden ToF-Sensoren.</p>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><a href="http://blog.bubux.de/wp-content/uploads/2022/01/anschluss_vl53l0x.png"><img decoding="async" src="http://blog.bubux.de/wp-content/uploads/2022/01/anschluss_vl53l0x.png" alt="" class="wp-image-2030" width="448" height="451" srcset="https://www.bubuxblog.de/wp-content/uploads/2022/01/anschluss_vl53l0x.png 896w, https://www.bubuxblog.de/wp-content/uploads/2022/01/anschluss_vl53l0x-298x300.png 298w, https://www.bubuxblog.de/wp-content/uploads/2022/01/anschluss_vl53l0x-150x150.png 150w, https://www.bubuxblog.de/wp-content/uploads/2022/01/anschluss_vl53l0x-768x773.png 768w" sizes="(max-width: 448px) 100vw, 448px" /></a><figcaption>Anschlussschema für VL53L0X und VL53L1X</figcaption></figure></div>



<p>Die Version 1029 unterstützt weiterhin den Ultraschallsensor sowie die Displays und den Temperatursensor. Für das komplette Anschluss-Schema schaut bitte in den älteren Blog-Eintrag <a rel="noreferrer noopener" href="http://blog.bubux.de/update-fuellstandsanzeige-zisterne-v1026/" data-type="post" data-id="1964" target="_blank">hier</a>.</p>



<p>Die beiden ToF-Sensoren unterstützen seitens der API noch verschiedene Einstellungen die ich in der ersten Version 1028 nicht implementiert hatte und für den VL53L0X nur die Nutzung der Default-Einstellungen möglich war. In der neuen Version habe ich im ersten Anlauf zumindest ein paar wenige Einstellungsmöglichkeiten implementiert.</p>



<p>Dazu gehört für beide ToF-Sensoren die Möglichkeit den Abstandsmodus anzupassen. Hier holt man auch aus dem <em>VL53L0X </em>noch mehr heraus als im Datenblatt angegeben ist und muss bei größeren Abständen nicht zwingend auf den VL53L1X wechseln. Zudem habe ich beim <em>VL53LoX </em>noch die mögliche Anpassung des Timings implementiert. Hier kann zwischen dem Default-Wert auch noch High-Accuracy (hohe Genauigkeit) und High-Speed gewählt werden. Auch hier gibt es anscheinend kein Patentrezept um gute Messwerte zu erreichen und ausprobieren scheint die Devise.</p>



<p>Da ich diese Werte im &#8222;Setup&#8220; setze, ist nach Änderung in der WebUI ein Neustart des Sensors notwendig damit die neu eingstellten Werte greifen. Beim <em>VL53L1X </em>muss man den ESP auch ggf. mal vom Strom trennen. Der scheint da etwas zickig was ich auch schon erfahren musste als es nur seltsame Werte bei der Messung gab.</p>



<div class="wp-block-image"><figure class="aligncenter size-full is-resized"><a href="http://blog.bubux.de/wp-content/uploads/2022/01/zisterne_sensoren.png"><img decoding="async" src="http://blog.bubux.de/wp-content/uploads/2022/01/zisterne_sensoren.png" alt="" class="wp-image-2026" width="714" height="186" srcset="https://www.bubuxblog.de/wp-content/uploads/2022/01/zisterne_sensoren.png 714w, https://www.bubuxblog.de/wp-content/uploads/2022/01/zisterne_sensoren-300x78.png 300w" sizes="(max-width: 714px) 100vw, 714px" /></a><figcaption>Auswahl der Sensoren in der WebUI</figcaption></figure></div>



<p>Die weiteren Einstellmöglichkeiten des VL53L1X muss ich mir noch genauer anschauen und implementiere sie dann ggf. in einem nächsten Update. Hier gibt es z.B. noch die Möglichkeit zur Anpassung des Timings (ähnlich dem VL53L0X was ich dort bereits implementiert habe), die Anpassung der Größe des Empfangs-Arrays (SPAD) sowie der Anpassung der Region of Interest (ROI) und Definition eines Offsets. Mit diesen Parametern kann man u.a. &#8222;spielen&#8220;, falls der Sensor hinter eine Glasscheibe verbannt werden soll.</p>



<p></p>



<figure class="wp-block-image size-large"><a href="http://blog.bubux.de/wp-content/uploads/2022/01/20220116_122004-scaled.jpg"><img loading="lazy" decoding="async" width="1024" height="576" src="http://blog.bubux.de/wp-content/uploads/2022/01/20220116_122004-1024x576.jpg" alt="" class="wp-image-2029" srcset="https://www.bubuxblog.de/wp-content/uploads/2022/01/20220116_122004-1024x576.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2022/01/20220116_122004-300x169.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2022/01/20220116_122004-768x432.jpg 768w, https://www.bubuxblog.de/wp-content/uploads/2022/01/20220116_122004-1536x864.jpg 1536w, https://www.bubuxblog.de/wp-content/uploads/2022/01/20220116_122004-2048x1152.jpg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption>Aktueller Zoo an möglichen Senoren</figcaption></figure>



<p></p>



<p><strong>Den Download der neuesten Version gibt es hier:</strong></p>



<p><a href="http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin">http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin</a></p>



<p></p>



<p></p>



<p>Gruß Chris</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/zisternenfuellstandsmessung-mit-time-of-flight-sensor-die-zweite-mit-version-1029/feed/</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title>Update Füllstandsanzeige Zisterne v1026</title>
		<link>https://www.bubuxblog.de/update-fuellstandsanzeige-zisterne-v1026/</link>
					<comments>https://www.bubuxblog.de/update-fuellstandsanzeige-zisterne-v1026/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Sat, 06 Mar 2021 10:05:59 +0000</pubDate>
				<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Abstandsmessung]]></category>
		<category><![CDATA[Füllstandsmessung]]></category>
		<category><![CDATA[Zisterne]]></category>
		<category><![CDATA[Zisternenfüllstand]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=1964</guid>

					<description><![CDATA[Nachdem ich das letzte Update (v1024) bzgl. der PINs etwas verbaselt hatte, hier nun ein neues Update für die Füllstandsanzeige der Zisterne. Zudem gibt es auf mehrfachen (berechtigten) Wunsch auch nochmal ein komplettes Schaubild für die Verdrahtung aller bisher genutzten Komponenten. Hier gibt es die aktuelle Version zum Download:http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin Zur Installation etc. bitte wieder in [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Nachdem ich das letzte Update (v1024) bzgl. der PINs etwas verbaselt hatte, hier nun ein neues Update für die Füllstandsanzeige der Zisterne. Zudem gibt es auf mehrfachen (berechtigten) Wunsch auch nochmal ein komplettes Schaubild für die Verdrahtung aller bisher genutzten Komponenten.</p>



<p></p>



<p><strong><span class="has-inline-color has-luminous-vivid-orange-color">Hier gibt es die aktuelle Version zum Download:</span></strong><br><a href="http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin">http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin</a></p>



<p><span class="has-inline-color has-vivid-cyan-blue-color">Zur Installation etc. bitte wieder in die älteren Artikeln schauen!</span></p>



<p>Das Update enthält unter anderem:</p>



<ul class="wp-block-list"><li>DHT22-Temperatur-Sensor an D5 (statt des bereits durch das Display genutzten D6)</li><li>Darstellung der Werte auf der Webseite nicht mehr als TABLE sondern als DIV-Boxen damit es auf kleinen Displays auch besser passt</li><li>Bei Erstinstallation und Einrichtung des WLAN per Access Point wird nur die Konfiguration der WLAN-Daten angezeigt was hoffeltnlich das Problem mit dem &#8222;fehlenden&#8220; Speicher-Button beseitigt. Hier wäre ich über Erfahrungen dankbar!</li><li>TITLE-Tag eingebaut</li><li>ein paar Kleinigkeiten&#8230;</li></ul>



<span id="more-1964"></span>



<p>Hier das Schaubild der aktuellen Verdrahtung. Bei Ultraschallsensor, Display und Schalter bleibt alles wie gehabt. Der DHT22 kommt nun an D5 damit dieser mit dem Display parallel betrieben werden kann.</p>



<figure class="wp-block-image size-large"><a href="http://blog.bubux.de/wp-content/uploads/2021/03/zisterne_verdrahtung.png"><img loading="lazy" decoding="async" width="1024" height="673" src="http://blog.bubux.de/wp-content/uploads/2021/03/zisterne_verdrahtung-1024x673.png" alt="" class="wp-image-1965" srcset="https://www.bubuxblog.de/wp-content/uploads/2021/03/zisterne_verdrahtung-1024x673.png 1024w, https://www.bubuxblog.de/wp-content/uploads/2021/03/zisterne_verdrahtung-300x197.png 300w, https://www.bubuxblog.de/wp-content/uploads/2021/03/zisterne_verdrahtung-768x504.png 768w, https://www.bubuxblog.de/wp-content/uploads/2021/03/zisterne_verdrahtung-1536x1009.png 1536w, https://www.bubuxblog.de/wp-content/uploads/2021/03/zisterne_verdrahtung.png 1827w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Die Weboberfläche ist durch die Verwendung der DIVs anstatt TABLE nun auch auf kleinen Display (z.B. Handy) besser dargestellt und die Boxen passen sich der Breite des Bildschirms an.</p>



<figure class="wp-block-image size-large"><a href="http://blog.bubux.de/wp-content/uploads/2021/03/screenshot_zisterne_mobil.png"><img loading="lazy" decoding="async" width="374" height="691" src="http://blog.bubux.de/wp-content/uploads/2021/03/screenshot_zisterne_mobil.png" alt="" class="wp-image-1966" srcset="https://www.bubuxblog.de/wp-content/uploads/2021/03/screenshot_zisterne_mobil.png 374w, https://www.bubuxblog.de/wp-content/uploads/2021/03/screenshot_zisterne_mobil-162x300.png 162w" sizes="auto, (max-width: 374px) 100vw, 374px" /></a></figure>



<p>Dann möchte ich nochmal allen Danken die etwas gespenden haben. Das Geld ging wie immer an <a rel="noreferrer noopener" href="https://www.baerenherz.de/de/" target="_blank">Bärenherz </a>in Wiesbaden.<br>Viel Spaß mit der neuen Version. Der Frühling ist ja schon im Anmarsch und die Zisterne muss für das sommerliche Bewässern startklar werden!</p>



<p>Gruß<br>Chris</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/update-fuellstandsanzeige-zisterne-v1026/feed/</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
		<item>
		<title>Update Füllstandsanzeige Zisterne v1024</title>
		<link>https://www.bubuxblog.de/update-fuellstandsanzeige-zisterne-v1024/</link>
					<comments>https://www.bubuxblog.de/update-fuellstandsanzeige-zisterne-v1024/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Thu, 31 Dec 2020 12:55:33 +0000</pubDate>
				<category><![CDATA[Eigenbau]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Füllstandsmessung]]></category>
		<category><![CDATA[Füllstandssensor]]></category>
		<category><![CDATA[Zisterne]]></category>
		<category><![CDATA[Zisternenfüllstand]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=1937</guid>

					<description><![CDATA[Kurz vor Ende des alten Jahres nochmal ein Update für die Software zum Auslesen des Zisternenfüllstandes mittels ESP8266. Die Neuerungen in dieser Version sind folgende: Eine weitere Zisternenbauform (liegender Zylinder) Temperatur- und Luftfeuchterfassung mittels DHT22 Literanzahl, Temperatur und Luftfeuchte mit in die MQTT-Topics aufgenommen Falls ein Temperatursensor angeschlossen und aktiviert ist, werden dessen Messwerte auf [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Kurz vor Ende des alten Jahres nochmal ein Update für die Software zum Auslesen des Zisternenfüllstandes mittels ESP8266. Die Neuerungen in dieser Version sind folgende:</p>



<ul class="wp-block-list"><li><span class="has-inline-color has-luminous-vivid-orange-color">Eine weitere Zisternenbauform (liegender Zylinder)</span></li><li><span class="has-inline-color has-luminous-vivid-orange-color">Temperatur- und Luftfeuchterfassung mittels DHT22</span></li><li><span class="has-inline-color has-luminous-vivid-orange-color">Literanzahl, Temperatur und Luftfeuchte mit in die MQTT-Topics aufgenommen</span></li></ul>



<p>Falls ein Temperatursensor angeschlossen und aktiviert ist, werden dessen Messwerte auf der Startseite angezeigt. Die Anzeige der Temperaturdaten wird alle 60 Sekunden abgefragt und zeigt daher im ersten Moment nach Neustart keine Werte an.</p>



<figure class="wp-block-image size-large"><a href="http://blog.bubux.de/wp-content/uploads/2020/12/startseite_1024.png"><img loading="lazy" decoding="async" width="801" height="626" src="http://blog.bubux.de/wp-content/uploads/2020/12/startseite_1024.png" alt="" class="wp-image-1938" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/12/startseite_1024.png 801w, https://www.bubuxblog.de/wp-content/uploads/2020/12/startseite_1024-300x234.png 300w, https://www.bubuxblog.de/wp-content/uploads/2020/12/startseite_1024-768x600.png 768w" sizes="auto, (max-width: 801px) 100vw, 801px" /></a></figure>



<p>Aktuell kann als Temperatursensor ein DHT22 genutzt werden (weitere Sensoren sind in Arbeit). Aktiviert wird der Sensor in der Konfiguration.</p>



<figure class="wp-block-image size-large"><a href="http://blog.bubux.de/wp-content/uploads/2020/12/temp_1024.png"><img loading="lazy" decoding="async" width="1024" height="85" src="http://blog.bubux.de/wp-content/uploads/2020/12/temp_1024-1024x85.png" alt="" class="wp-image-1939" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/12/temp_1024-1024x85.png 1024w, https://www.bubuxblog.de/wp-content/uploads/2020/12/temp_1024-300x25.png 300w, https://www.bubuxblog.de/wp-content/uploads/2020/12/temp_1024-768x64.png 768w, https://www.bubuxblog.de/wp-content/uploads/2020/12/temp_1024.png 1120w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Die neuen MQTT-Topics können ebenfalls in der Konfiguration hinterlegt werden.</p>



<figure class="wp-block-image size-large"><a href="http://blog.bubux.de/wp-content/uploads/2020/12/mqtt_1024.png"><img loading="lazy" decoding="async" width="962" height="314" src="http://blog.bubux.de/wp-content/uploads/2020/12/mqtt_1024.png" alt="" class="wp-image-1940" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/12/mqtt_1024.png 962w, https://www.bubuxblog.de/wp-content/uploads/2020/12/mqtt_1024-300x98.png 300w, https://www.bubuxblog.de/wp-content/uploads/2020/12/mqtt_1024-768x251.png 768w" sizes="auto, (max-width: 962px) 100vw, 962px" /></a></figure>



<p>Die neue Zisternenbauform ist auch in der Konfiguration zu finden. Die Berechnung funktioniert bei einer runden liegenden Zisterne. Eine ovale Form wird aktuell nicht unterstützt.</p>



<figure class="wp-block-image size-large"><a href="http://blog.bubux.de/wp-content/uploads/2020/12/sensordaten_1024.png"><img loading="lazy" decoding="async" width="1024" height="252" src="http://blog.bubux.de/wp-content/uploads/2020/12/sensordaten_1024-1024x252.png" alt="" class="wp-image-1941" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/12/sensordaten_1024-1024x252.png 1024w, https://www.bubuxblog.de/wp-content/uploads/2020/12/sensordaten_1024-300x74.png 300w, https://www.bubuxblog.de/wp-content/uploads/2020/12/sensordaten_1024-768x189.png 768w, https://www.bubuxblog.de/wp-content/uploads/2020/12/sensordaten_1024.png 1126w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p><span class="has-inline-color has-vivid-red-color"><strong>Hier gibt es die aktuelle Version zum Download:</strong><br><a href="http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin">http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin</a></span></p>



<p>Für den genauen Aufbau (Anschluss Sensor, Anschluss Diplay etc.) bitte die <a href="http://blog.bubux.de/neue-version-der-fuellstandsanzeige-zisterne/" data-type="post" data-id="1868" target="_blank" rel="noreferrer noopener">vorherigen Artikel</a> beachten.</p>



<p>Dann euch noch einen guten Rutsch ins neue Jahr!</p>



<p>Gruß</p>



<p>Chris</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/update-fuellstandsanzeige-zisterne-v1024/feed/</wfw:commentRss>
			<slash:comments>33</slash:comments>
		
		
			</item>
		<item>
		<title>Neue Version der Füllstandsanzeige Zisterne</title>
		<link>https://www.bubuxblog.de/neue-version-der-fuellstandsanzeige-zisterne/</link>
					<comments>https://www.bubuxblog.de/neue-version-der-fuellstandsanzeige-zisterne/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Sun, 14 Jun 2020 16:30:05 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Eigenbau]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Füllstandsmessung]]></category>
		<category><![CDATA[Füllstandssensor]]></category>
		<category><![CDATA[Zisterne]]></category>
		<category><![CDATA[Zisternenfüllstand]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=1868</guid>

					<description><![CDATA[Mal wieder lange nichts passiert hier im Blog&#8230;. jetzt fange ich einen Artikel schon wieder so an&#8230; Ich hatte das Glück auch zu Beginn der Corona-Zeit relativ normal Arbeiten gehen zu können was bis heute so geblieben ist. Das mit dem &#8222;Glück&#8220; ist absolut ernst gemeint wenn ich da so einige gute Bekannte sehe die [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Mal wieder lange nichts passiert hier im Blog&#8230;. jetzt fange ich einen Artikel schon wieder so an&#8230;</p>



<p>Ich hatte das Glück auch zu Beginn der Corona-Zeit relativ normal Arbeiten gehen zu können was bis heute so geblieben ist. Das mit dem &#8222;Glück&#8220; ist absolut ernst gemeint wenn ich da so einige gute Bekannte sehe die ganz schön zu knabbern hatten und immer noch haben.</p>



<p>Auffallend war aber, dass es in den letzten Monaten sehr viel mehr Anfragen bzgl. der Füllstandmessung der Zisterne mit dem ESP gab. Daher heute nochmal eine neue Version mit vielen größeren und kleineren Neuerungen.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="798" height="514" src="http://blog.bubux.de/wp-content/uploads/2020/06/zisterne_balken-2.png" alt="Screenshot Hauptseite" class="wp-image-1881" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/06/zisterne_balken-2.png 798w, https://www.bubuxblog.de/wp-content/uploads/2020/06/zisterne_balken-2-300x193.png 300w, https://www.bubuxblog.de/wp-content/uploads/2020/06/zisterne_balken-2-768x495.png 768w" sizes="auto, (max-width: 798px) 100vw, 798px" /></figure>



<h2 class="wp-block-heading">Neuerungen in dieser Version (1022)</h2>



<ul class="wp-block-list"><li>Länge des WLAN-Passwortes auf 63 Zeichen verlängert (max. bei WPA2)</li><li>Unterstützung unterschiedlicher Zisternenformen</li><li>Integration von Displays</li><li>Optionale tägliche Info per Pushover</li><li>Weiterer Topic (Abstand) für MQTT hinzugefügt</li><li>viele Kleinigkeiten&#8230;</li></ul>



<span id="more-1868"></span>



<p><span class="has-inline-color has-vivid-red-color">Achtung! Aufgrund der Anpassung der maximalen Länge des Passwortes werden bei <span style="text-decoration: underline;">einem Update</span> einer alten Version bereits vorhandene Konfigurationsdaten (z.B. Sensorabstände) im Speicher des ESP nach hinten geschoben und gehen dadurch verloren. Daher die Werte vorher merken!</span></p>



<p>Die Anleitung zur Installation der Software auf dem ESP und der grundsätzlichen Funktionen sind in einem älteren Artikel, der <a rel="noreferrer noopener" href="http://blog.bubux.de/fuellstandmessung-der-zisterne-mittels-esp8266-nodemcu-und-ultraschallsensor/" target="_blank">hier zu finden ist</a> beschrieben.</p>



<p>Danach gab es noch zwei Artikel mit weiteren Hinweisen zu <a rel="noreferrer noopener" href="http://blog.bubux.de/fuellstandsmessung-der-zisterne-mittels-eps8266-update/" target="_blank">JSON </a>und <a rel="noreferrer noopener" href="http://blog.bubux.de/die-zisterne-lernt-mqtt/" target="_blank">MQTT</a>. Das neue MQTT-Topic für den Abstand in dieser Version funktioniert analog zu dem bisherigen für den Füllstand.</p>



<hr class="wp-block-separator"/>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow">
<p style="background-color:#eeeeee;padding:15px;"><b>Hier gibt es die aktuelle Version zum Download:</b><br>
<a href="http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin">http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin</a></p>
</div></div>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">Externe Displays</h2>



<p>Diesmal habe ich bei der Entwicklung anstatt der bisherigen &#8222;One-Man-Show&#8220; nette Unterstützung gehabt. Vor allem bei der Integration der Displays. <span class="has-inline-color has-luminous-vivid-orange-color">Vielen Dank an Patrick für Deine Arbeit und Hilfe!</span></p>



<p>Aktuell stehen drei Displays zur Auswahl, die an den ESP angeschlossen werden können:</p>



<ul class="wp-block-list"><li>1602 LCD mit I2C mit 2&#215;16 Zeichen</li><li>1604 LCD mit I2C mit 4&#215;16 Zeichen</li><li>SSD 1106 oder 1306 OLED mit 128&#215;64 Pixel</li></ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1200" height="131" src="https://i1.wp.com/blog.bubux.de/wp-content/uploads/2020/06/display_konfig.png?fit=768%2C84" alt="Auswahl der Displays in der Konfiguration" class="wp-image-1884" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/06/display_konfig.png 1200w, https://www.bubuxblog.de/wp-content/uploads/2020/06/display_konfig-300x33.png 300w, https://www.bubuxblog.de/wp-content/uploads/2020/06/display_konfig-1024x112.png 1024w, https://www.bubuxblog.de/wp-content/uploads/2020/06/display_konfig-768x84.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>



<p>Die Displays zeigen neben Informationen zum Füllstand auch Informationen zur Verbindung mit dem voreingestelltem WLAN während des Boot-Vorganges. Ersteres Display ist die preisgünstigste Alternative und reicht für alle wichtigen Infos.</p>



 [<a href="https://www.bubuxblog.de/neue-version-der-fuellstandsanzeige-zisterne/">See image gallery at www.bubuxblog.de</a>] 



<p>In den Bildern von Patrick ist auch zu sehen wie ein Aufbau der Elektronik aussehen kann. Sehr schön gemacht! </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2560" height="1440" src="https://i0.wp.com/blog.bubux.de/wp-content/uploads/2020/06/IMG_20200529_170420-scaled.jpg?fit=768%2C432" alt="Display in Gehäuse" class="wp-image-1899" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG_20200529_170420-scaled.jpg 2560w, https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG_20200529_170420-300x169.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG_20200529_170420-1024x576.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG_20200529_170420-768x432.jpg 768w, https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG_20200529_170420-1536x864.jpg 1536w, https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG_20200529_170420-2048x1152.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></figure>



<p>Bei mir schaut das seit der Inbetriebnahme wie folgt aus und ist im Holzschuppen untergebracht:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2560" height="1440" src="https://i2.wp.com/blog.bubux.de/wp-content/uploads/2020/06/20200614_153818-scaled.jpg?fit=768%2C432" alt="Installation in Holzraum" class="wp-image-1903" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/06/20200614_153818-scaled.jpg 2560w, https://www.bubuxblog.de/wp-content/uploads/2020/06/20200614_153818-300x169.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2020/06/20200614_153818-1024x576.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2020/06/20200614_153818-768x432.jpg 768w, https://www.bubuxblog.de/wp-content/uploads/2020/06/20200614_153818-1536x864.jpg 1536w, https://www.bubuxblog.de/wp-content/uploads/2020/06/20200614_153818-2048x1152.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></figure>



<p>Hier das Anschluss-Schema inkl. optionalem Display. Der ebenso optionale Taster dient zum Aktivieren der Hintergrundbeleuchtung des Displays. Der Widerstand am Taster sollte mit 10kΩ gewählt werden.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1482" height="1254" src="https://i2.wp.com/blog.bubux.de/wp-content/uploads/2020/06/IMG-20200604-WA0001.jpg?fit=768%2C650" alt="Anschlussschema für Sensor, Display und Taster" class="wp-image-1879" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG-20200604-WA0001.jpg 1482w, https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG-20200604-WA0001-300x254.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG-20200604-WA0001-1024x866.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2020/06/IMG-20200604-WA0001-768x650.jpg 768w" sizes="auto, (max-width: 1482px) 100vw, 1482px" /></figure>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">Zisternenformen</h2>



<p>Neben der bisher zylindrischen Zisternenform werden nun auch Zisternen mit anderen Grundflächen unterstützt. Die Berechnung des Füllstandes kann zudem basierend auf dem Maximalvolumen erfolgen. Voraussetzung für alle Berechnungen ist aber eine Form mit senkrechten Wänden.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="942" height="262" src="http://blog.bubux.de/wp-content/uploads/2020/06/zisternenformen.png" alt="Konfiguration der Zisternenformen" class="wp-image-1883" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/06/zisternenformen.png 942w, https://www.bubuxblog.de/wp-content/uploads/2020/06/zisternenformen-300x83.png 300w, https://www.bubuxblog.de/wp-content/uploads/2020/06/zisternenformen-768x214.png 768w" sizes="auto, (max-width: 942px) 100vw, 942px" /></figure>



<hr class="wp-block-separator"/>



<h2 class="wp-block-heading">Pushover Notifications</h2>



<p>Auch wenn Pushover nicht kostenlos ist (die App selber, Versand der Nachrichten bis zu einer gewissen Menge (7400) schon), bietet es eine einfache und schnelle Möglichkeit Infos auf ein Handy zu senden die ich u.a auch schon im <a rel="noreferrer noopener" href="http://blog.bubux.de/raspberry-pi-heimautomatisierung-mit-coc-und-fhem/" target="_blank">Homematic-Umfeld</a> einsetze. Daher fand es auch Einzug in die Software zur Füllstandsanzeige.</p>



<p>Um Pushnachrichten senden zu können müssen die beiden Token die man in der App oder nach Login auf der Pushover-Webseite findet in der Konfiguration eingetragen werden.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="139" src="http://blog.bubux.de/wp-content/uploads/2020/06/Bildschirmfoto-zu-2020-06-14-16-20-24-1024x139.png" alt="Konfiguration von Pushover" class="wp-image-1905" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/06/Bildschirmfoto-zu-2020-06-14-16-20-24-1024x139.png 1024w, https://www.bubuxblog.de/wp-content/uploads/2020/06/Bildschirmfoto-zu-2020-06-14-16-20-24-300x41.png 300w, https://www.bubuxblog.de/wp-content/uploads/2020/06/Bildschirmfoto-zu-2020-06-14-16-20-24-768x105.png 768w, https://www.bubuxblog.de/wp-content/uploads/2020/06/Bildschirmfoto-zu-2020-06-14-16-20-24-1536x209.png 1536w, https://www.bubuxblog.de/wp-content/uploads/2020/06/Bildschirmfoto-zu-2020-06-14-16-20-24.png 1734w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="395" src="http://blog.bubux.de/wp-content/uploads/2020/06/Screenshot_Pushover-e1592147224690-1024x395.jpg" alt="Screenshot Beispiel Pushover Nachricht" class="wp-image-1908" srcset="https://www.bubuxblog.de/wp-content/uploads/2020/06/Screenshot_Pushover-e1592147224690-1024x395.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2020/06/Screenshot_Pushover-e1592147224690-300x116.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2020/06/Screenshot_Pushover-e1592147224690-768x297.jpg 768w, https://www.bubuxblog.de/wp-content/uploads/2020/06/Screenshot_Pushover-e1592147224690.jpg 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<hr class="wp-block-separator"/>



<p>Viel Spaß mit der neuen Version und nochmal Danke an Patrick!</p>



<p>Gruß Chris</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/neue-version-der-fuellstandsanzeige-zisterne/feed/</wfw:commentRss>
			<slash:comments>95</slash:comments>
		
		
			</item>
		<item>
		<title>Die Zisterne lernt MQTT</title>
		<link>https://www.bubuxblog.de/die-zisterne-lernt-mqtt/</link>
					<comments>https://www.bubuxblog.de/die-zisterne-lernt-mqtt/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Sun, 06 Oct 2019 10:14:43 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Füllstandsmessung]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<category><![CDATA[Zisterne]]></category>
		<category><![CDATA[Zisternenfüllstand]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=1814</guid>

					<description><![CDATA[Update vom 14.06.2020 hier Mit der Version 1.017 bekommt der NodeMCU mit dem Sensor für die Füllstandsmessung der Zisterne (siehe auch die beiden anderen Artikel hier und hier) das MQTT-Protokoll beigebracht. Was MQTT ist, erfahrt ihr ausführlich hier in der Wikipedia oder hier mit weiterführenden Erklärungen wie das ganze z.B. in FHEM genutzt werden kann. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><span class="has-inline-color has-luminous-vivid-orange-color">Update vom 14.06.2020 <a href="http://blog.bubux.de/neue-version-der-fuellstandsanzeige-zisterne/">hier</a></span></p>



<p>Mit der Version 1.017 bekommt der NodeMCU mit dem Sensor für die Füllstandsmessung der Zisterne (siehe auch die beiden anderen Artikel <a href="http://blog.bubux.de/fuellstandmessung-der-zisterne-mittels-esp8266-nodemcu-und-ultraschallsensor/">hier</a> und <a href="http://blog.bubux.de/fuellstandsmessung-der-zisterne-mittels-eps8266-update/">hier</a>) das MQTT-Protokoll beigebracht. Was MQTT ist, erfahrt ihr ausführlich <a rel="noreferrer noopener" aria-label="hier (öffnet in neuem Tab)" href="https://de.wikipedia.org/wiki/MQTT" target="_blank">hier</a> in der Wikipedia oder <a rel="noreferrer noopener" aria-label="hier   (öffnet in neuem Tab)" href="https://wiki.fhem.de/wiki/MQTT" target="_blank">hier</a> mit weiterführenden Erklärungen wie das ganze z.B. in FHEM genutzt werden kann. Im <a rel="noreferrer noopener" aria-label="Heise-Artikel (öffnet in neuem Tab)" href="https://www.heise.de/developer/artikel/MQTT-Protokoll-fuer-das-Internet-der-Dinge-2168152.html" target="_blank">Heise-Artikel</a> wird MQTT auch sehr anschaulich erklärt.</p>



<p>Benötigt wird ein MQTT-Server (z.B. <a rel="noreferrer noopener" aria-label="Mosquitto (öffnet in neuem Tab)" href="https://mosquitto.org/" target="_blank">Mosquitto</a>) dessen IP in die Konfiguration eingetragen werden muss. Optional kann ein Benutzername und ein Passwort genutzt werden. Dann noch das Topic unter dem der Sensor seinen Wert (Füllstand in %) an den MQTT-Broker veröffentlichen soll. Unter &#8222;Intervall&#8220; dann noch die Zeit in Sekunden zwischen den Veröffentlichungen angeben. </p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="862" height="1130" src="https://i2.wp.com/blog.bubux.de/wp-content/uploads/2019/10/zisterne_konfig.png?fit=768%2C1007" alt="" class="wp-image-1816" srcset="https://www.bubuxblog.de/wp-content/uploads/2019/10/zisterne_konfig.png 862w, https://www.bubuxblog.de/wp-content/uploads/2019/10/zisterne_konfig-229x300.png 229w, https://www.bubuxblog.de/wp-content/uploads/2019/10/zisterne_konfig-768x1007.png 768w, https://www.bubuxblog.de/wp-content/uploads/2019/10/zisterne_konfig-781x1024.png 781w" sizes="auto, (max-width: 862px) 100vw, 862px" /></figure>



<p><strong><a href="http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin">http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin</a></strong></p>



<p>Gruß Chris</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/die-zisterne-lernt-mqtt/feed/</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title>Füllstandsmessung der Zisterne mittels ESP8266 &#8211; UPDATE</title>
		<link>https://www.bubuxblog.de/fuellstandsmessung-der-zisterne-mittels-eps8266-update/</link>
					<comments>https://www.bubuxblog.de/fuellstandsmessung-der-zisterne-mittels-eps8266-update/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Sun, 15 Sep 2019 10:04:44 +0000</pubDate>
				<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Abstandsmessung]]></category>
		<category><![CDATA[Füllstandsanzeige]]></category>
		<category><![CDATA[Füllstandsmessung]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Zisterne]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=1806</guid>

					<description><![CDATA[Update vom 14.06.2020 hier Heute ein kleines Update für die Füllstandsmessung der Zisterne mittels Ultraschall und dem ESP8266. In der neuen Version v1016 gibt es jetzt eine Abfragemöglichkeit der gemessenen Werte mittels JSON. Dazu einfach /json hinter die Web-Adresse eures ESP hängen (z.B. http://zisterne/json). Folgende Werte werden aktuell übermittelt: Hier der Link zum aktuellen BIN: [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><span class="has-inline-color has-luminous-vivid-orange-color">Update vom 14.06.2020 <a href="http://blog.bubux.de/neue-version-der-fuellstandsanzeige-zisterne/">hier</a></span></p>



<p>Heute ein kleines Update für die Füllstandsmessung der Zisterne mittels Ultraschall und dem ESP8266.</p>



<p>In der neuen Version v1016 gibt es jetzt eine Abfragemöglichkeit der gemessenen Werte mittels JSON.</p>



<p>Dazu einfach <em>/json</em> hinter die Web-Adresse eures ESP hängen (z.B.<a href="http://zisterne/json"> </a><em>http://zisterne/json</em>). Folgende Werte werden aktuell übermittelt:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="431" height="147" src="http://blog.bubux.de/wp-content/uploads/2019/09/grafik.png" alt="" class="wp-image-1807" srcset="https://www.bubuxblog.de/wp-content/uploads/2019/09/grafik.png 431w, https://www.bubuxblog.de/wp-content/uploads/2019/09/grafik-300x102.png 300w" sizes="auto, (max-width: 431px) 100vw, 431px" /></figure>



<p><p>Hier der Link zum aktuellen BIN: <a href="http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin">www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin</a>. Im <a rel="noreferrer noopener" aria-label="vorherigen Artikel (öffnet in neuem Tab)" href="http://blog.bubux.de/fuellstandmessung-der-zisterne-mittels-esp8266-nodemcu-und-ultraschallsensor/" target="_blank">vorherigen Artikel</a> werden die restlichen Funktionalitäten und das Flashen auf den ESP erklärt.  </p>Auf der Todo-Liste steht jetzt noch MQTT und eine Implementierung zur (groben) Berechnung der Regenmenge pro Zeiteinheit.</p>



<p>Gruß Chris</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/fuellstandsmessung-der-zisterne-mittels-eps8266-update/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>Füllstandsmessung der Zisterne mittels ESP8266 (NodeMCU) und Ultraschallsensor</title>
		<link>https://www.bubuxblog.de/fuellstandmessung-der-zisterne-mittels-esp8266-nodemcu-und-ultraschallsensor/</link>
					<comments>https://www.bubuxblog.de/fuellstandmessung-der-zisterne-mittels-esp8266-nodemcu-und-ultraschallsensor/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Fri, 28 Dec 2018 13:55:13 +0000</pubDate>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Eigenbau]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Haustechnik]]></category>
		<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[Füllstand]]></category>
		<category><![CDATA[Messung]]></category>
		<category><![CDATA[NodeMCU]]></category>
		<category><![CDATA[SR04]]></category>
		<category><![CDATA[Ultraschall]]></category>
		<category><![CDATA[Zisterne]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=1699</guid>

					<description><![CDATA[Update vom 14.06.2020 hier Heute nochmal ein Update bzw. eine vollständige Zusammenfassung zur Messung des Füllstands der Zisterne mittels Ultraschall. Ich habe den Sketch für den ESP8266 (den ich immer noch in Form eines NodeMCU betreibe) mal etwas aufgebohrt. Zu den alten Artikeln geht es hier und hier. Im folgenden werden alle notwendigen Schritte beschrieben [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><span class="has-inline-color has-luminous-vivid-orange-color">Update vom 14.06.2020 <a href="http://blog.bubux.de/neue-version-der-fuellstandsanzeige-zisterne/">hier</a></span></p>



<p>Heute nochmal ein Update bzw. eine vollständige Zusammenfassung zur Messung des Füllstands der Zisterne mittels Ultraschall. Ich habe den Sketch für den ESP8266 (den ich immer noch in Form eines NodeMCU betreibe) mal etwas aufgebohrt.</p>



<p>Zu den alten Artikeln geht es <a rel="noreferrer noopener" aria-label="hier  (opens in a new tab)" href="http://blog.bubux.de/homematik-zisterne/" target="_blank">hier </a>und <a rel="noreferrer noopener" aria-label="hier (opens in a new tab)" href="http://blog.bubux.de/fuellstandmessung-der-zisterne-2ter-ansatz/" target="_blank">hier</a>.</p>



<p>Im folgenden werden alle notwendigen Schritte beschrieben um die Firmware auf den ESP8266 zu flashen und den Sensor in Betrieb zu nehmen.</p>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Benötigte Hardware</h2>



<p>Die benötigte Hardware besteht aus einem NodeMCU mit ESP8266 und einem HC-SR04 Ultraschallsensor. Die Beschaltung folgt weiter unten.</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="http://blog.bubux.de/wp-content/uploads/2018/12/20181228_125117-2-1024x643.jpg" alt="NodeMCU" class="wp-image-1755" width="256" height="161"/></figure></div>



<figure class="wp-block-image is-resized"><img loading="lazy" decoding="async" src="http://blog.bubux.de/wp-content/uploads/2018/12/20181228_125052-1-1024x733.jpg" alt="HC-SR04 Ultraschallsensor" class="wp-image-1753" width="256" height="183"/></figure>



<p>Dann noch ein mindestens vieradriges Kabel und ein Gehäuse zur Unterbringung des Ultraschallsensors in der Zisterne z.B. eine kleine Aufputzdose aus dem Baumarkt.</p>



<span id="more-1699"></span>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Firmware installieren</h2>



<p>Zur Installation der Firmware auf dem ESP8266 muss zuerst die Arduino Software auf einem PC installiert werden. Diese ist für Linux, Windows und MAC unter <a href="https://www.arduino.cc/en/main/software">https://www.arduino.cc/en/main/software</a> verfügbar.</p>



<hr class="wp-block-separator"/>



<p>Um in der Arduino IDE den ESP8266 nutzen zu können, muss in den Einstellungen (Datei -&gt; Voreinstellungen) in das Feld „Zusätzliche Boardverwalter URLs“ folgende URL eingetragen werden: <em>http://arduino.esp8266.com/stable/package_esp8266com_index.json</em><br></p>



<hr class="wp-block-separator"/>



<p>Dann unter  „Werkzeuge -&gt; Board … -&gt; Boardverwalter&#8230;“ nach „esp8266“ suchen und „esp8266 by ESP8266 Community“ installieren. Hiermit werden u.a. die Tools zum flashen der Firmware auf den ESP8266 installiert.</p>



<hr class="wp-block-separator"/>



<p>Herunterladen der aktuellsten Firmware für die Füllstandmessung der Zisterne <a href="http://www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin">www.bubux.de/heimautomatisierung/ota/zisterne_aktuell.bin</a>.</p>



<hr class="wp-block-separator"/>



<p>Den NodeMCU mit dem Rechner verbinden. In der Arduino IDE unter  „<em>Werkzeuge -&gt; Port&#8220;</em> den COM-Port des NodeMCU ermitteln. Das Flashen der Firmware funktioniert leider nicht direkt aus der Arduino IDE heraus. Hierfür muss die Kommandozeile bemüht werden:</p>



<p><strong>Flashen des ESP8266 unter Windows</strong></p>



<p>Unter Windows dazu die Kommandozeile öffnen (cmd.exe) und dort den folgenden Befehl eingeben:</p>



<p> %USERPROFILE%\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.8\esptool.exe  -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp <em>COMXY</em> -cf <em>Pfad_zur_Firmwaredatei</em></p>



<p>Wichtig: Die Versionsnummer des <em>esptool </em>kann ggf. abweichen, das Device hinter <em>-cp</em> (<em>COMxy</em>) muss entsprechend angepasst werden sowie der Pfad zur Firmwaredatei muss entsprechend angepasst werden.</p>



<p><strong>Flashen des ESP8266 unter Linux</strong></p>



<p>Auf der Kommandozeile folgenden Befehl ausführen:</p>



<p>~/.arduino15/packages/esp8266/tools/esptool/0.4.9/esptool -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp <em>/dev/ttyxxxx</em> -cf&nbsp;<em>Pfad_zur_Firmwaredatei</em></p>



<p>Wichtig: Die Versionsnummer des esptool kann ggf. abweichen, das Device hinter <em>-cp</em> muss entsprechend angepasst werden sowie der Pfad zur Firmwaredatei muss entsprechend  angepasst  werden.</p>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Anschluss des Sensors</h2>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="http://blog.bubux.de/wp-content/uploads/2018/08/zisterne_nodemcu.jpg" alt="" class="wp-image-1659" width="241" height="186" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_nodemcu.jpg 963w, https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_nodemcu-300x232.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_nodemcu-768x593.jpg 768w" sizes="auto, (max-width: 241px) 100vw, 241px" /></figure></div>



<p>Von HC-SR04 an NodeMCU:</p>



<p>Vcc an VU<br>Gnd an GND<br>Trig an D2<br>Echo an D1</p>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Inbetriebnahme</h2>



<p>Ist die Firmware auf den NodeMCU geflasht und der SR04-Ultraschallsensor angeschlossen, kann die Inbetriebnahme erfolgen. Dazu den Sensor mit Strom versorgen.</p>



<hr class="wp-block-separator"/>



<p>Der Sensor versucht sich mit einem konfigurierten WLAN zu verbinden. Funktioniert dies nicht (was bei der ersten Inbetriebnahme der Fall ist), erstellt der Sensor einen WLAN Accesspoint mit dem Namen  „<em>WLAN-Zisterne</em>&#8220; der z.B. im Smartphone gefunden werden sollte. Mit diesem WLAN verbinden.</p>



<hr class="wp-block-separator"/>



<p>Nun im Browser des verbundenen Gerätes die Adresse <em>http://192.168.4.1</em> aufrufen. Diese Adresse wird in der Regel auch in den Verbindungseinstellungen des verbundenen WLAN angezeigt und verlinkt. Es öffnet sich nun die Konfigurationsseite des Sensors.</p>



<hr class="wp-block-separator"/>



<p>Dort die SSID und das Passwort des Heim-WLAN eingeben und auf &#8222;Konfiguration speichern&#8220; klicken. Die weiteren Einstellungen können später erfolgen.</p>



<hr class="wp-block-separator"/>



<p>Der Sensor startet daraufhin neu und versucht sich mit dem Heim-WLAN zu verbinden. War dies erfolgreich ist der Accesspoint nicht mehr erreichbar und des Sensor sollte eine IP-Adresse im Netzwerk zugewiesen bekommen haben. Diese kann im Router nachgeschaut werden )in der Friztbox z.B. unter &#8222;<em>Heimnetz -&gt; Netzwerk</em>&#8222;).</p>



<hr class="wp-block-separator"/>



<p>Ist der Accespoint „<em>WLAN-Zisterne</em>&#8220; weiterhin sichbar, war die Verbindung mit den Heim-WLAN nicht erfolgreich. Dann die obigen Schritte erneut ausführen.<br></p>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Betrieb</h2>



<p>Die Oberfläche des Sensor ist nun im Browser nach Eingabe der IP-Adresse verfügbar. Für den weiteren Betrieb müssen zuerst weitere Einstellungen vorgenommen werden. Dazu den Bereich &#8222;<em>Sonstiges</em>&#8220; aufklappen und auf &#8222;<em>Konfiguration&#8220;&nbsp;</em>klicken.</p>



<div class="wp-block-image"><figure class="alignleft is-resized"><img loading="lazy" decoding="async" src="http://blog.bubux.de/wp-content/uploads/2018/12/fuellstand_sensor_all.png" alt="" class="wp-image-1703" width="260" height="443" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/12/fuellstand_sensor_all.png 519w, https://www.bubuxblog.de/wp-content/uploads/2018/12/fuellstand_sensor_all-176x300.png 176w" sizes="auto, (max-width: 260px) 100vw, 260px" /></figure></div>



<figure class="wp-block-image is-resized"><img loading="lazy" decoding="async" src="http://blog.bubux.de/wp-content/uploads/2018/12/konfig_sensor.png" alt="" class="wp-image-1705" width="260" height="443" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/12/konfig_sensor.png 519w, https://www.bubuxblog.de/wp-content/uploads/2018/12/konfig_sensor-176x300.png 176w" sizes="auto, (max-width: 260px) 100vw, 260px" /></figure>



<p><strong>Einstellungen des Sensors</strong></p>



<p>Unter <em>&#8222;Abstand Sensor/Boden&#8220;</em> muss der Abstand in Zentimeter zwischen Sensor und Boden der Zisterne angegeben werden. Unter <em>&#8222;Abstand Sensor/Max. Höhe&#8220;</em> muss der Abstand zwischen Sensor und Wasseroberfläche bei maximalen Wasserstand angebenen werden. Ist die Zisterne nicht voll, kann der Wert auch jederzeit korrigiert werden</p>



<hr class="wp-block-separator"/>



<p><strong>Daten an eigene API übergeben</strong></p>



<p>Die Daten des Sensors können an eine eigene Schnittstelle übergeben werden. Hierzu kann ein Server, Port und der Pfad angegeben werden. Die Sensordaten werden als Argumente in der URL angehangen. So kann z.B. ein PHP-Script auf dem Server aufgerufen werden welches die angehangenen Argumente empfängt und weiter verarbeitet (z.B. an FHEM übergibt oder in eine Datenbank schreibt.</p>



<p>Update 20.07.2019</p>



<p>Die URL für die eigene API kann mit zwei Variablen frei definiert werden. Dazu die Variablen &#8222;_abstand&#8220; und &#8222;_fuellstand&#8220; in einer beliebigen URL nutzen. Im NodeMCU werden die beiden Platzhalter durch die echten Werte ersetzt.</p>



<p>Zum Beispiel wird aus der konfigurierten URL:<br><em>/umwelt/zisterne_neu.php?abstand=_abstand&amp;fuellstand=_fuellstand</em><br>beim Aufruf der eigenen API dann:<br><em>/umwelt/zisterne_neu.php?abstand=29&amp;fuellstand=100.00&amp;vcc=2.75 </em></p>



<p>Hier ein Beispielscript welches das Schreiben der Werte in eine Textdatei und in eine MySQL-Datenbank vornimmt sowie die Übergabe der Werte an eine FHEM-Installation:</p>



<pre class="wp-block-code"><code>&lt;?php

$fuellstand=$_GET&#91;"fuellstand"];
$abstand=$_GET&#91;"abstand"];
$vcc=$_GET&#91;"vcc"];

//*************************
// Werte in Datei schreiben
//*************************
$datum = date("d.m.Y H:i");
$handle = fopen ('zisterne.txt', 'a');
fwrite ($handle, $datum.",".$fuellstand.",".$abstand."\n");
fclose ($handle);

//****************************
//Werte in Datenbank schreiben
//****************************
$servername = "localhost";
$username = "benutzer";
$password = "passwort";
$dbname = "dbname";

$connection = new mysqli($servername, $username, $password, $dbname);
if ($connection->connect_error) {
        die("Connection failed: " . $connection->connect_error);
}
$sql = "INSERT INTO zisterne (timestamp,fuellstand,spannung) VALUES (CURRENT_TIMESTAMP,$fuellstand,$vcc)";
if ($connection->query($sql) === TRUE) {
        //echo "INSERT war erfolgreich";
} else {
        echo "Error: " . $sql . "&lt;br>" . $connection->error;
}

//***********************
//Werte an FHEM übergeben
//***********************
$fhemhost = "192.168.178.1";
$fhemport = 7072;
$fhemsock = fsockopen($fhemhost, $fhemport, $errno, $errstr, 30);
$fhemcmd = "set ZisterneFuellstand ".$fuellstand."\r\nquit\r\n";
fwrite($fhemsock, $fhemcmd);
fclose($fhemsock);

$fhemsock = fsockopen($fhemhost, $fhemport, $errno, $errstr, 30);
$fhemcmd = "set ZisterneSpannung ".$vcc."\r\nquit\r\n";
fwrite($fhemsock, $fhemcmd);
fclose($fhemsock);
?></code></pre>



<hr class="wp-block-separator"/>



<p><strong>Daten an bubux.de übergeben</strong></p>



<p>Steht kein eigener Server zur Historisierung der Daten zur Verfügung, können die gemessenen Werte an bubux.de gesendet werden. Dort ist (aktuell) eine Auswertung des letzten 30 Tage verfügbar und wird graphisch dargestellt. Nach der Aktivierung mittels der Checkbox ist ein entsprechender Link auf der Startseite des Sensors verfügbar.</p>



<figure class="wp-block-image is-resized"><img loading="lazy" decoding="async" src="http://blog.bubux.de/wp-content/uploads/2018/12/fuellstand_web-e1546004129378.png" alt="" class="wp-image-1704" width="389" height="422" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/12/fuellstand_web-e1546004129378.png 518w, https://www.bubuxblog.de/wp-content/uploads/2018/12/fuellstand_web-e1546004129378-277x300.png 277w" sizes="auto, (max-width: 389px) 100vw, 389px" /></figure>



<p>Es werden der prozentuale Füllstand, die MAC-Adresse zur Zuordnung der Daten, die lokale IP des Sensors zur Verlinkung von der Webseite auf bubux.de zur Webseite des Sensors und die Version der Firmware übergeben.</p>



<hr class="wp-block-separator"/>



<p><strong>Startseite des Sensors</strong></p>



<p>Sind alle Einstellungen vorgenommen kann der Sensor genutzt werden. Auf der Startseite werden der prozentuale Füllstand und der aktuelle Abstand zwischen Sensor und Wasseroberfläche angezeigt.</p>



<figure class="wp-block-image is-resized"><img loading="lazy" decoding="async" src="http://blog.bubux.de/wp-content/uploads/2018/12/fuellstand_sensor-e1546004197286.png" alt="" class="wp-image-1702" width="389" height="463" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/12/fuellstand_sensor-e1546004197286.png 518w, https://www.bubuxblog.de/wp-content/uploads/2018/12/fuellstand_sensor-e1546004197286-252x300.png 252w" sizes="auto, (max-width: 389px) 100vw, 389px" /></figure>



<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">Einbau</h2>



<p>Da der Einbau je nach Zisterne individuell ist, will ich nicht viel Worte darüber verlieren. Nur soviel, das ich den Sensor in ein Baumarkt-Aufputzdose gepackt habe und mit Heißkleber &#8222;vergossen&#8220; haben. Harz wäre wahrscheinlich besser gewesen, aber der Sensor funktioniert bisher einwandfrei. Der Sensor hängt nach unten an einem Brett in der Zisterne. Der NodeMCU ist an ein etwa 6m langes Kabel angeschlossen und ist in einem Lagerräumchen untergebracht.</p>



<figure class="wp-block-gallery columns-3 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex"><ul class="blocks-gallery-grid"><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1024" height="768" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103325-1024x768.jpg" alt="" data-id="1653" data-link="http://blog.bubux.de/fuellstandmessung-der-zisterne-2ter-ansatz/20180811_103325/" class="wp-image-1653" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103325-1024x768.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103325-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103325-768x576.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1024" height="768" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103233-1024x768.jpg" alt="" data-id="1652" data-link="http://blog.bubux.de/fuellstandmessung-der-zisterne-2ter-ansatz/20180811_103233/" class="wp-image-1652" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103233-1024x768.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103233-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103233-768x576.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></li><li class="blocks-gallery-item"><figure><img loading="lazy" decoding="async" width="1024" height="768" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103143-1024x768.jpg" alt="" data-id="1651" data-link="http://blog.bubux.de/fuellstandmessung-der-zisterne-2ter-ansatz/20180811_103143/" class="wp-image-1651" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103143-1024x768.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103143-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103143-768x576.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure></li></ul></figure>



<p>Ich würde mich über Rückmeldungen (Fehler, Verbesserungswünsche, &#8230;) bzgl. der neuen Firmwareversion freuen. Todo wäre noch die Daten per JSON abrufbar zu machen und z.B. ein Plugin für FHEM zu bauen.</p>



<p>Viel Spaß beim basteln!</p>



<p>Chris<br></p>



<p><br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/fuellstandmessung-der-zisterne-mittels-esp8266-nodemcu-und-ultraschallsensor/feed/</wfw:commentRss>
			<slash:comments>118</slash:comments>
		
		
			</item>
		<item>
		<title>Füllstandmessung der Zisterne (2ter Ansatz)</title>
		<link>https://www.bubuxblog.de/fuellstandmessung-der-zisterne-2ter-ansatz/</link>
					<comments>https://www.bubuxblog.de/fuellstandmessung-der-zisterne-2ter-ansatz/#comments</comments>
		
		<dc:creator><![CDATA[diefenbecker]]></dc:creator>
		<pubDate>Tue, 21 Aug 2018 19:45:10 +0000</pubDate>
				<category><![CDATA[Eigenbau]]></category>
		<category><![CDATA[ESP8266]]></category>
		<category><![CDATA[Haustechnik]]></category>
		<category><![CDATA[Heimautomatisierung]]></category>
		<category><![CDATA[ESP]]></category>
		<category><![CDATA[Füllstand]]></category>
		<category><![CDATA[Füllstandsmessung]]></category>
		<category><![CDATA[Füllstandssensor]]></category>
		<category><![CDATA[Ultraschallsensor]]></category>
		<category><![CDATA[Zisterne]]></category>
		<guid isPermaLink="false">http://blog.bubux.de/?p=1593</guid>

					<description><![CDATA[&#160; Die aktuelle Trockenheit zum Anlass genommen, habe ich den schon länger nicht mehr funktionierenden Füllstandsensor der Zisterne von Homematic gegen eine Eigenbaulösung ausgetauscht. Leider scheint der eigentlich recht teure Homematic-Sensor &#8222;Hm-Sen-Wa-Od&#8220; den klimatischen Gegebenheiten in der Zisterne auf Dauer nicht gewachsen zu sein. Zudem hatte ich immer Empfangsprobleme bzw. war es auch extrem nervig [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>&nbsp;</p>


<p>Die aktuelle Trockenheit zum Anlass genommen, habe ich den schon länger nicht mehr funktionierenden <a href="http://blog.bubux.de/homematik-zisterne/" target="_blank" rel="noopener">Füllstandsensor der Zisterne</a> von Homematic gegen eine Eigenbaulösung ausgetauscht. Leider scheint der eigentlich recht teure Homematic-Sensor &#8222;Hm-Sen-Wa-Od&#8220; den klimatischen Gegebenheiten in der Zisterne auf Dauer nicht gewachsen zu sein. Zudem hatte ich immer Empfangsprobleme bzw. war es auch extrem nervig das Ding zu eichen. Jedenfalls hat der Sensor an Undichtigkeit gelitten und hat seinen Dienst eingestellt.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2018/08/20180804_124227.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-1596 size-medium" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180804_124227-300x225.jpg" alt="" width="300" height="225" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180804_124227-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180804_124227-768x576.jpg 768w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180804_124227-1024x768.jpg 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="http://blog.bubux.de/wp-content/uploads/2018/08/20180804_124203.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-1597 size-medium" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180804_124203-300x225.jpg" alt="Oxidiertes Homematic Funkteil" width="300" height="225" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180804_124203-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180804_124203-768x576.jpg 768w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180804_124203-1024x768.jpg 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Die Bilder zeigen die Platine, nachdem ich sie von Grünspan befreit hatte. Speziell das Funkmodul sieht etwas mitgenommen aus.</p>
<p>Da ich nicht nochmal soviel Geld zur Füllstandmessung der Zisterne ausgeben wollte, musste eine andere Lösung her.</p>
<p><span id="more-1593"></span></p>
<h1>Füllstandmessung mittels Ultraschall</h1>
<p>Der neue Ansatz funktioniert mit einem Ultraschallsensor betrieben an einem NodeMCU mit ESP8266. Der Ultraschallsensor ist ein sehr kostengünstiger Sensor vom Typ <em>HC-SR04</em> der im Dreierpack für unter 10€ zu bekommen ist. Der Sensor kann Distanzen von 2 &#8211;&nbsp; 300 cm messen. Das sollte für die meisten Zisternen ausreichend sein. Meine Zisterne hat etwa eine Höhe von 1,60 m zwischen Boden und dem Sensor. Die Versorgungsspannung des Sensors beträgt 5V. Das kommt dem Einsatz des NodeMCU entgegen, da er mit 5V betrieben wird und die für den &#8222;integrierten&#8220; ESP8266 benötigten 3V selbst herstellt. Man spart sich somit eine separate Spannungsversorgung für den Sensor, wenn man einen &#8222;richtigen&#8220; ESP8266 nutzen würde.</p>
<p>Ich verfolge bei der Füllstandmessung bezüglich der Software den gleichen Ansatz wie beim <a href="http://blog.bubux.de/windsensor-tx20-mit-esp8266/" target="_blank" rel="noopener">Windmesser</a>. Der NodeMCU misst mittels des HC-SR04 den Abstand zu Wasseroberfläche und &#8222;übergibt&#8220; das Messergebnis an ein PHP-Script. Das Intervall kann mittels <em>sleepTimeS</em> eingestellt werden. Im unten stehenden Sketch ist es Beispielhaft auf 10 Minuten eingestellt. In der anderen Zeit befindet sich der ESP im &#8222;Deep Sleep&#8220;. Das PHP-Script wiederum macht die eigentliche Verarbeitung der Daten. Im Beispielscript werden die Messwerte in eine Textdatei geschrieben, in einer MySQL-Datenbank gespeichert und per Telnet an den FHEM-Server übermittelt.</p>
<p>Das war der Schnelldurchlauf. Hier jetzt alles nochmal etwas detaillierter&#8230;</p>
<h2>Sketch für den NodeMCU</h2>
<p>Folgender Sketch muss mittels <a href="https://www.arduino.cc/en/Main/Software" target="_blank" rel="noopener">Arduino IDE</a> auf den NodeMCU geladen werden (zu Beginn des Schreibens der Software auf den Mikrocontroller den &#8222;Flash&#8220;-Knopf am NodeMCU drücken). Das Hochladen des Sketch auf den NodeMCU ohne angeschlossenen Sensor und Verkabelung für den DeepSleep (siehe weiter unten) durchführen.</p>
<p>Vorher müssen die im folgenden Script gelb markierten Zeilen entsprechend angepasst werden: Den Wert der Variablen <em>url</em> zur Webadresse des PHP-Scriptes (siehe weiter unten) setzen, welches z.B. auf einen Webserver auf einem Raspberry PI oder einem Odroid etc. erreichbar ist.</p>
<p>Der Sketch benötigt die Bibliothek <a href="https://playground.arduino.cc/Code/NewPing" target="_blank" rel="noopener">NewPing von Tim Eckel</a> sowie die auch schon beim Windsensor genutzte <a href="https://github.com/esp8266/Arduino/tree/master/doc/esp8266wifi" target="_blank" rel="noopener">Wifi-Bibliothek</a>. Mit der Variablen <em>sleepTimeS</em> kann man ggf. variieren um den ESP in einen DeepSleep zu versetzen. Allerdings ist die Maximalzeit etwa 71 Minuten, da die Angabe von <em>ESP.deepSleep</em> in Millisekunden angegeben werden muss und die Variable ansonsten überläuft.</p>
<p>Der NodeMCU misst dann mittels des Ultraschallsensors den Abstand zur Wasseroberfläche und übermittelt diesen Wert und die Betriebsspannung als Parameter in der URL zum PHP-Script auf dem Webserver.</p>
<pre class="lang:arduino mark:19,20,22,23,107 decode:true ">/*
***********************************
* Ultraschallsensor SR04 an NodeMCU
***********************************
*/

#include &lt;ESP8266WiFi.h&gt;
#include &lt;NewPing.h&gt;


#define TRIGGER   4
#define ECHO      5
#define MAX_DIST  300
#define DEBUG true

NewPing sonar(TRIGGER, ECHO, MAX_DIST); 

// WLAN Zugangsdaten
const char* ssid      = "wlan_ssid";
const char* password  = "wlan_passwort";
// Host zum senden der Daten
const char* datahost  = "ip_des_hosts";
const int sleepTimeS = 10 * 60;  // 10 Min


int abstand;

WiFiServer server(80);
ADC_MODE(ADC_VCC);

// Verbindung zum WLAN aufbauen
void verbinden() {
  if(DEBUG) {
    delay(10);
    Serial.println("");
    Serial.print(F("Verbinde zu WLAN-Netzwerk '"));
    Serial.print(ssid);
    Serial.print("' ");
  }
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
 
  if(DEBUG) {
    Serial.println(F("-&gt; Verbunden"));  
    Serial.print(F("IP-Adresse: "));
    Serial.print(WiFi.localIP());
    Serial.println("");
  }
  //sendData();
}


void setup() {  
  Serial.begin (115200);
  //abstand = sonar.ping_cm();
  verbinden();
  if(DEBUG) {
    Serial.println("Abstand: ");
    Serial.print(abstand);
  }
  sendData();
}


void loop() {
  if(DEBUG) {
    Serial.println("");
    Serial.print("Gehe schlafen fuer ");
    Serial.print(sleepTimeS);
    Serial.print(" Sekunden");
  }
  
  ESP.deepSleep(sleepTimeS * 1000000);

  verbinden();
  sendData();
}


// Verbindung zu Host herstellen und Sensordaten übermitteln
void sendData() 
{
  Serial.println("");
  Serial.print(F("Verbinde zu '"));
  Serial.print(datahost);
  Serial.print("'");
   
  WiFiClient client;
  const int httpPort = 80;
  if (!client.connect(datahost, httpPort)) {
    Serial.println(F(" Fehler beim Verbinden zum Host"));
    return;
  }

  abstand = sonar.ping_cm();  
  if(DEBUG) {
    Serial.println("Abstand: ");
    Serial.print(abstand);
  }

  // Batteriespannung auslesen
  float vcc = ESP.getVcc() / 1000.0;

  String url = "/umwelt/zisterne.php";
  url += "?abstand=";
  url += abstand;
  url += "&amp;vcc=";
  url += vcc;

  Serial.println("");
  Serial.print("URL-Anfrage: ");
  Serial.println(url);
   
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + datahost + "\r\n" + 
               "Connection: close\r\n\r\n");
  unsigned long timeout = millis();
  while (client.available() == 0) {
    if (millis() - timeout &gt; 5000) {
      Serial.println("[Client Timeout]");
      client.stop();
      return;
    }
  }
   
  // Lese alle Daten aus der Antwort des Servers
  while(client.available()){
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }
  Serial.println("");
  Serial.print(F("Verbindung zu '"));
  Serial.print(datahost);
  Serial.println(F("' beendet."));
}</pre>
<p>&nbsp;</p>
<h2>PHP Script</h2>
<p>Das PHP-Script muss auf einem Webserver (z.B. Apache)&nbsp; gelegt werden. Die URL, unter der diese Seite zu erreichen ist, muss ohne Hostnamen oder IP in dem obigen Arduino-Sketch eingetragen werden.</p>
<p>Das Script berechnet die Menge des enthaltenen Regenwassers nicht in m³ oder Liter sondern nur den prozentualen Füllstand. Um das auf die jeweilige Zisterne anzupassen, müssen die beiden Werte &#8222;<em>Abstand Sensor-Wasseroberfläche</em>&#8220; (bei Maximalstand) und der &#8222;<em>Abstand des Sensors zum Zisternenboden</em>&#8220; gemessen und eingetragen werden (beide Werte in cm). Das ist recht einfach und wesentlich schneller erledigt als die Eichung des Homematic-Sensors.</p>
<p>Je nachdem wie die gemessenen Daten verarbeitet werden sollen, müssen verschiedene Anpassungen im Script vorgenommen werden:</p>
<p>1) Das Script sieht aktuell eine Speicherung der Messwerte in einer Datei auf dem Server vor (Pfad &amp; Name anpassen),</p>
<p>2) Die Speicherung in einer MySQL-Datenbank (Verbindungsdaten anpassen und Tabelle in MySQL anlegen (DDL für Datenbanktabelle ist unter dem PHP-Script zu finden).</p>
<p>3) Die Übergabe der Messwerte an einen FHEM-Server (Hostname oder IP und ggf. Port eintragen). In FHEM müssen dazu zwei <a href="https://wiki.fhem.de/wiki/Dummy" target="_blank" rel="noopener">Dummy-Felder</a> <em>ZisterneFuellstand</em> und <em>ZisterneSpannung</em> eingerichtet werden.</p>
<p>Die ggf. zu ändernden Zeilen sind im Script gelb markiert.</p>
<pre class="lang:default mark:10,11,18,25,26,27,28,44 decode:true">&lt;?php

$fuellstand=$_GET["abstand"];
$abstand=$fuellstand;
$vcc=$_GET["vcc"];

//******************************************
// Umrechung des Abstandes in die Fuellhoehe
//******************************************
$abstand_sensor_wasser_max=40;  //Sensor bis Wasseroberfläche bei max. Wasserstand
$abstand_sensor_wasser_min=151; //Sensor bis Grund Zisterne
$fuellstand=(($fuellstand-$abstand_sensor_wasser_min)/($abstand_sensor_wasser_max-$abstand_sensor_wasser_min))*100;

//*************************
// Werte in Datei schreiben
//*************************
$datum = date("d.m.Y H:i");
$handle = fopen ('tmp/zisterne.txt', 'a');
fwrite ($handle, $datum.",".$fuellstand.",".$abstand."\n");
fclose ($handle);

//****************************
//Werte in Datenbank schreiben
//****************************
$servername = "dbserver";
$username = "dbuser";
$password = "dbpasswort";
$dbname = "dbname";

$connection = new mysqli($servername, $username, $password, $dbname);
if ($connection-&gt;connect_error) {
        die("Connection failed: " . $connection-&gt;connect_error);
}
$sql = "INSERT INTO zisterne (timestamp,fuellstand,spannung) VALUES (CURRENT_TIMESTAMP,$fuellstand,$vcc)";
if ($connection-&gt;query($sql) === TRUE) {
        //echo "INSERT war erfolgreich";
} else {
        echo "Error: " . $sql . "&lt;br&gt;" . $connection-&gt;error;
}

//***********************
//Werte an FHEM übergeben
//***********************
$fhemhost = "ip_fhem_host";
$fhemport = 7072;
$fhemsock = fsockopen($fhemhost, $fhemport, $errno, $errstr, 30);
$fhemcmd = "set ZisterneFuellstand ".$fuellstand."\r\nquit\r\n";
fwrite($fhemsock, $fhemcmd);
fclose($fhemsock);

$fhemsock = fsockopen($fhemhost, $fhemport, $errno, $errstr, 30);
$fhemcmd = "set ZisterneSpannung ".$vcc."\r\nquit\r\n";
fwrite($fhemsock, $fhemcmd);
fclose($fhemsock);
?&gt;
</pre>
<h3>DDL für MySQL-Tabelle</h3>
<pre class="lang:tsql decode:true">CREATE TABLE `zisterne` (
  `timestamp` datetime NOT NULL,
  `fuellstand` float NOT NULL,
  `spannung` float NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;</pre>
<h2>Verkabelung</h2>
<p>Die Verkabelung des Ultraschall-Sensors mit dem NodeMCU ist sehr einfach. Da der NodeMCU 5V am Pin &#8222;VU&#8220; vom USB-Anschluss durchreicht, braucht es keine weitere Beschaltung mit Widerständer etc.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2018/08/zisterne_nodemcu-1.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1663" src="http://blog.bubux.de/wp-content/uploads/2018/08/zisterne_nodemcu-1.jpg" alt="" width="963" height="744" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_nodemcu-1.jpg 963w, https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_nodemcu-1-300x232.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_nodemcu-1-768x593.jpg 768w" sizes="auto, (max-width: 963px) 100vw, 963px" /></a></p>
<p>Der &#8222;<em>Trigger</em>&#8220; des Sensors ist im Arduino-Script an Pin 4 definiert. GPIO 4 entspricht beim NodeMCU dem Anschluss <em>D2 </em>(Grün).</p>
<p>&#8222;<em>Echo</em>&#8220; ist im Script an Pin 5 definiert. GPIO 5 ist beim NodeMCU der Anschluss <em>D1 </em>(Blau).</p>
<p>&#8222;<em>GND</em>&#8220; des Sensors an einen der <em>GND-Pins</em> des NodeMCU (Schwarz).</p>
<p>&#8222;<em>VCC</em>&#8220; an <em>VU</em> am NodeMCU. Hier werden die 5V des USB-Anschlusses durchgereicht (Rot).</p>
<p><strong>Wichtig:</strong> Damit der ESP auch wieder aus seinem 10-minütigem Tiefschlaf erwacht, muss der <em>RST</em>-Eingang des NodeMCU mit <em>D0</em> verbunden werden (Violett). D0 ist ein spezieller Pin mit einer Wake-Eigenschaft. Mehr dazu im Internet, wenn ihr nach &#8222;ESP8266 deepsleep&#8220; sucht. Ist diese Brücke nicht angeschlossen, übermittelt der NodeMCU genau einmal einen Wert und geht dann für immer Schlafen solange er am Strom bleibt.</p>
<p>Das war es dann auch schon mit der Verkabelung. Hier noch zwei Bilder meines NodeMCU den ich außerhalb der Zisterne in einem Nebenraum betreibe.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_102947-1.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-1665" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_102947-1-1024x768.jpg" alt="" width="768" height="576" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_102947-1-1024x768.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_102947-1-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_102947-1-768x576.jpg 768w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a> <a href="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103001-1.jpg"><img loading="lazy" decoding="async" class="alignnone wp-image-1666 size-large" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103001-1-1024x768.jpg" alt="NodeMCU (Oberseite)" width="768" height="576" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103001-1-1024x768.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103001-1-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103001-1-768x576.jpg 768w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></p>
<h2>Einbau</h2>
<p>Der Ultraschallsensor ist nicht wasserdicht! Ich habe die Platine daher in eine kleine Aufputzdose aus dem Baumarkt gepackt und vorsichtig mit Heißkleber eingegossen. Ich hatte etwas bedenken das mir die SMD-Widerstände durch den heißen Kleber entgegen geschwommen kommen, es hat aber funktioniert. Dann noch die Kabeldurchführung und die Bohrungen rund um die beiden Sensoren mit Kleber füllen. Da der Sensor preisgünstig ersetzt werden kann, versuche ich es erstmal mit deser Lösung. Falls ich alle 3 Wochen in die Zisterne krabbeln muss um den Sensor zu erneuern, kommt vielleicht die wasserdichte Variante&nbsp;K-14WP10 zum Einsatz.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103325.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-1653" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103325-1024x768.jpg" alt="" width="768" height="576" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103325-1024x768.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103325-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103325-768x576.jpg 768w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a> <a href="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103233.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-1652" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103233-1024x768.jpg" alt="" width="768" height="576" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103233-1024x768.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103233-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103233-768x576.jpg 768w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></p>
<p>Der Sensor hängt nun wie auch schon der erste Sensor von Homematic einfach an einem Brett, welches auf dem oberen Ring der Zisterne aufliegt.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103143.jpg"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-1651" src="http://blog.bubux.de/wp-content/uploads/2018/08/20180811_103143-1024x768.jpg" alt="" width="768" height="576" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103143-1024x768.jpg 1024w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103143-300x225.jpg 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/20180811_103143-768x576.jpg 768w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></p>
<h2>Ergebnis</h2>
<p>Der NodeMCU übermittelt die vom Sensor gemessen Abstände im 10 Minutentakt an das PHP-Script. Dort werden die Werte mittels der im Script hinterlegten Abstände in den aktuellen prozentualen Füllstand gerechnet und in die Datei/Datenbank/FHEM geschrieben.</p>
<p>In den folgenden Bildern sind die Graphen der TabletUI aus den FHEM-Daten zu sehen. Es sind einige Peaks zu erkennen deren Grund ich noch nicht weiß. Vielleicht verrichtet eine Spinne ihre Arbeit unterhalb des Sensors&#8230;</p>
<p>Allerdings lässt sich auch trotz dieser Peaks der Füllstand gut ablesen. Man sieht wenn es geregnet hat und wann Wasser entnommen wurde.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2018/08/zisterne_füllstand.png"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-1655" src="http://blog.bubux.de/wp-content/uploads/2018/08/zisterne_füllstand-1024x511.png" alt="" width="768" height="383" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_füllstand-1024x511.png 1024w, https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_füllstand-300x150.png 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_füllstand-768x383.png 768w, https://www.bubuxblog.de/wp-content/uploads/2018/08/zisterne_füllstand.png 1484w" sizes="auto, (max-width: 768px) 100vw, 768px" /></a></p>
<p>Bevor ich diesen Artikel fertig geschrieben hatte, hat es geregnet und die Zisterne war fast voll. Aktuell sind keine seltsamen Werte mehr gemessen worden. Evtl. hängt es mit dem Abstand des Sensor zur Wasseroberfläche zusammen.</p>
<p>Ich muss gießen um das heraus zu finden&#8230;</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2018/08/graph_zisterne2.png"><img loading="lazy" decoding="async" class="alignnone wp-image-1664 size-full" src="http://blog.bubux.de/wp-content/uploads/2018/08/graph_zisterne2.png" alt="TabletUI-Graph der Zisterne 2" width="993" height="486" srcset="https://www.bubuxblog.de/wp-content/uploads/2018/08/graph_zisterne2.png 993w, https://www.bubuxblog.de/wp-content/uploads/2018/08/graph_zisterne2-300x147.png 300w, https://www.bubuxblog.de/wp-content/uploads/2018/08/graph_zisterne2-768x376.png 768w" sizes="auto, (max-width: 993px) 100vw, 993px" /></a></p>
<p>In der Gesamtübersicht von TabletUI stelle ich den Füllstand als Balkendiagramm mit 2 Schwellenwerten dar. Nach dem letzten Regen schaut es wieder gut uas.</p>
<p><a href="http://blog.bubux.de/wp-content/uploads/2018/08/zisterne_balken.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-1668" src="http://blog.bubux.de/wp-content/uploads/2018/08/zisterne_balken.png" alt="" width="176" height="269"></a></p>
<p>Mal sehen wie sich der neue Aufbau so schlägt wenn das Klima in der Zisterne wieder etwas rauer wird. Ich werde berichten!</p>
<p>Gruß Chris</p>


<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bubuxblog.de/fuellstandmessung-der-zisterne-2ter-ansatz/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
	</channel>
</rss>
