<?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>ESP32 Archive - Benefit-Blog</title>
	<atom:link href="https://www.benefit-blog.de/category/esp32/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.benefit-blog.de/category/esp32/</link>
	<description></description>
	<lastBuildDate>Mon, 02 Sep 2024 10:18:03 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://www.benefit-blog.de/wp-content/uploads/2019/10/favicon-32x32.png</url>
	<title>ESP32 Archive - Benefit-Blog</title>
	<link>https://www.benefit-blog.de/category/esp32/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ESP32 WiFi Sensor Projekt</title>
		<link>https://www.benefit-blog.de/esp32-wifi-sensor-projekt/</link>
					<comments>https://www.benefit-blog.de/esp32-wifi-sensor-projekt/#respond</comments>
		
		<dc:creator><![CDATA[Benefit-Blog]]></dc:creator>
		<pubDate>Mon, 28 Oct 2019 16:30:06 +0000</pubDate>
				<category><![CDATA[ESP32]]></category>
		<category><![CDATA[ESP32 WiFi Sensor]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[WiFi Sensor]]></category>
		<category><![CDATA[WLAN]]></category>
		<guid isPermaLink="false">https://www.benefit-blog.de/?p=9002</guid>

					<description><![CDATA[<a href="https://www.benefit-blog.de/esp32-wifi-sensor-projekt/" title="ESP32 WiFi Sensor Projekt" rel="nofollow"><img width="150" height="150" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/esp32_remote_sensor-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin: auto; margin-bottom: 5px;max-width: 100%;" link_thumbnail="1" decoding="async" /></a><p>ESP32 WiFi Sensor Projekt </p>
<p>In diesem Blogpost erklären wir -- basierend auf der Einführung zum ESP32 ( Link ) -- wie mit diesem WLAN-fähigen Development Board eine lokale Website gehostet werden kann, auf der Sensordaten live dargestellt werden. Den hier verwendeten Code finden Sie auf GitHub (https://github.com/Simsso/Arduino-Examples/blob/master/ESP32/WiFiSensorServer/WiFiSensorServer.ino). &#160; Der grundsätzliche [...]</p>
<p>Der Beitrag <a href="https://www.benefit-blog.de/esp32-wifi-sensor-projekt/">ESP32 WiFi Sensor Projekt</a> erschien zuerst auf <a href="https://www.benefit-blog.de">Benefit-Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<a href="https://www.benefit-blog.de/esp32-wifi-sensor-projekt/" title="ESP32 WiFi Sensor Projekt" rel="nofollow"><img width="150" height="150" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/esp32_remote_sensor-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin: auto; margin-bottom: 5px;max-width: 100%;" link_thumbnail="1" decoding="async" /></a><h1>ESP32 WiFi Sensor Projekt</h1>
<p><a href="https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-wifi-sensor-projekt">Januar 7, 2018 Albert Vu</a></p>
<p>In diesem Blogpost erklären wir &#8212; basierend auf der Einführung zum <a href="https://www.amazon.de/AZDelivery-NodeMCU-Development-Nachfolgermodell-ESP8266/dp/B071P98VTG?crid=9GA94FQKN4CC&amp;keywords=esp32%2Bnodemcu%2Bmodule%2Bwlan%2Bwifi%2Bdevelopment%2Bboard%2Bmit%2Bcp2102&amp;qid=1689664199&amp;sprefix=ESP32%2BNodeMCU%2BModule%2BWLAN%2BWiFi%2BDevelopment%2BBoard%2Caps%2C90&amp;sr=8-3&amp;th=1&amp;linkCode=sl1&amp;tag=benefitblog06-21&amp;linkId=02726377e93148ce3bac64761a7924d4&amp;language=de_DE&amp;ref_=as_li_ss_tl">ESP32*</a> (<a href="https://www.amazon.de/AZDelivery-NodeMCU-Development-Nachfolgermodell-ESP8266/dp/B071P98VTG?crid=9GA94FQKN4CC&amp;keywords=esp32%2Bnodemcu%2Bmodule%2Bwlan%2Bwifi%2Bdevelopment%2Bboard%2Bmit%2Bcp2102&amp;qid=1689664199&amp;sprefix=ESP32%2BNodeMCU%2BModule%2BWLAN%2BWiFi%2BDevelopment%2BBoard%2Caps%2C90&amp;sr=8-3&amp;th=1&amp;linkCode=sl1&amp;tag=benefitblog06-21&amp;linkId=02726377e93148ce3bac64761a7924d4&amp;language=de_DE&amp;ref_=as_li_ss_tl">Link*</a>) &#8212; wie mit diesem WLAN-fähigen Development Board eine lokale Website gehostet werden kann, auf der Sensordaten live dargestellt werden. Den hier verwendeten Code finden Sie auf GitHub (<a href="https://github.com/Simsso/Arduino-Examples/blob/master/ESP32/WiFiSensorServer/WiFiSensorServer.ino">https://github.com/Simsso/Arduino-Examples/blob/master/ESP32/WiFiSensorServer/WiFiSensorServer.ino</a>).</p>
<p>Der grundsätzliche Aufbau des Projektes ist folgender: Ein ESP32 ist an einen oder mehrere Sensoren angeschlossen und liest deren Werte aus. Zusätzlich dazu ist das ESP32 mit dem WLAN verbunden und wartet auf eingehende HTTP Requests. Diese beantwortet es, abhängig von dem Pfad der Request, mit einer HTML Website oder den Daten des Sensors im JSON Format.</p>
<p><img decoding="async" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/esp32_wifi_sensor_system_diagram.png" alt="" /></p>
<p>Der Sensor kann beliebig gewählt werden. Für die Demonstration haben wir einen zweiachsigen Joystick gewählt, der zwei analoge Werte ausgibt. Außer dem Sensor muss an den Mikrocontroller keine weitere Hardware angeschlossen werden, um das Demo Programm laufen zu lassen.</p>
<div><img decoding="async" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/joystick_connected_to_esp32_remote-breadboard.png" alt="" /></div>
<div>
<p>Die analogen Signale des Joysticks werden mit den Funktionsaufrufen<br />
<code>analogRead(34);<br />
analogRead(35);</code><br />
ausgelesen. Hier zeigt sich klar die Stärke von ESP-Arduino (<a href="https://github.com/espressif/arduino-esp32">https://github.com/espressif/arduino-esp32</a>): Den Wert eines Analog-Digital-Converters auszulesen wäre normalerweise nicht nur ein Funktionsaufruf.</p>
<h3>HTTP Server</h3>
<p>Um einen HTTP Server zu starten, der im lokalen Netzwerk erreichbar ist, muss sich das ESP32 mit dem WLAN verbinden können. Ändern Sie dazu den Wert der beiden Konstanten ssid (WLAN Name) und password (WLAN Passwort).</p>
<p><code>const char* ssid = "Access Point Name";<br />
const char* password = "Password";</code></p>
<p>Das Server Objekt wird mit WiFiServer server(80); angelegt. Der Parameter gibt an, auf welchem Port der Server erreichbar sein soll. 80 ist der Standard für Webseiten.</p>
<p>In der Setup Funktion wird die serielle Verbindung zum PC hergestellt. Sie wird bei diesem Projekt nur zum Debuggen verwendet werden. Achten Sie dabei allerdings auf die Baud-Rate, die nicht 9600 sondern 115200 beträgt. Im Serial Monitor müssen Sie diese also gegebenenfalls unten rechts anpassen. Nachdem sich der Mikrocontroller mit dem WLAN verbunden hat, gibt er seine IP Adresse über den Serial Monitor aus. Diese wird dem Gerät vom WLAN Router zugewiesen und sieht zum Beispiel so aus: 192.168.0.103. Im Browser können Sie dann durch den Aufruf von <a href="http://192.168.0.103">http://192.168.0.103</a> eine Request an das ESP32 senden. Diese hat beispielsweise folgende Form:</p>
<p><code>GET / HTTP/1.1<br />
Host: 192.168.0.103<br />
Connection: keep-alive<br />
Pragma: no-cache</code></p>
<div></div>
<div>
<p>und kommt beim ESP32 als langer String, Zeichen für Zeichen, an. In der Loop Funktion wird dabei die erste Zeile der Anfrage separiert, da sie den Pfad enthält. Im Beispiel ist dieser einfach nur ein Slash (GET /). Wäre allerdings die Website <a href="http://192.168.0.103/test">http://192.168.0.103/test</a> aufgerufen worden, würde die erste Zeile der HTTP Request so aussehen: GET /test HTTP/1.1</p>
<p>Das Ende der Anfrage wird du eine Leerzeile markiert. Im Programm wird nach Erkennen von ebendieser die sendResponse Funktion aufgerufen, der die erste Zeile der Request und das client Objekt übergeben werden. In letzteres wird die Response geschrieben, die dann die angefragten Daten (also zum Beispiel den HTML Code einer Webseite) enthält.</p>
<p>Enthielt die erste Request Zeile die Information, dass die Anfrage an /sensor ging, so werden die Sensordaten an den Client gesendet.</p>
<p><code>// response header<br />
client.println("HTTP/1.1 200 OK");<br />
client.println("Content-Type: application/json");<br />
client.println();<br />
// send sensor data in JSON format<br />
client.println("{<br />
"x": " + String(analogRead(35) / 4096.0) + ",<br />
"y": " + String(analogRead(34) / 4096.0) + ",<br />
"time": " + millis() + "<br />
}");</code></p>
<p>Im Browser kommen dann die ausgelesenen Daten an.</p>
<div><img decoding="async" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/esp32_remote_sensor_read_in_browser.png" alt="" /></div>
<div>
<p>Um die Sensorwerte etwas schöne anzuzeigen haben wir noch eine schlichte Website (<a href="https://github.com/Simsso/Arduino-Examples/blob/master/ESP32/WiFiSensorServer/index.html">https://github.com/Simsso/Arduino-Examples/blob/master/ESP32/WiFiSensorServer/index.html</a>) geschrieben, die die Position des Joysticks mit einem roten Kreis innerhalb eines Quadrats markiert. Die Daten werden dazu mehrfach pro Sekunde vom Server geladen.</p>
<div><img decoding="async" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/wifi_sensor_server_red_dot_joystick_position.png" alt="" /></div>
</div>
</div>
<div>
<p>&nbsp;</p>
<h3>Zusammenfassung</h3>
<p>Die Daten eines Sensors mit dem ESP32 im lokalen Netzwerk auf einer Website anzuzeigen ist nicht aufwendig. Wenn Sie unser Beispielprogramm (<a href="https://github.com/Simsso/Arduino-Examples/blob/master/ESP32/WiFiSensorServer/WiFiSensorServer.ino">https://github.com/Simsso/Arduino-Examples/blob/master/ESP32/WiFiSensorServer/WiFiSensorServer.ino</a>) verwenden, müssen Sie lediglich</p>
<ol>
<li>analoge Sensoren an die Pins G34 und G35 anschließen,</li>
<li>den Namen und das Passwort ihres WLAN Netzwerks eingeben und</li>
<li>im Browser die IP Adresse ihres ESP32 aufrufen, die Sie als Log Ausgabe im Serial Monitor finden.</li>
</ol>
<p class="wpss_copy">Inhalt abgerufen von: <a href="https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-wifi-sensor-projekt" target="_blank" rel="noopener noreferrer">https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-wifi-sensor-projekt</a>.</p>
</div>
</div>
<p>Der Beitrag <a href="https://www.benefit-blog.de/esp32-wifi-sensor-projekt/">ESP32 WiFi Sensor Projekt</a> erschien zuerst auf <a href="https://www.benefit-blog.de">Benefit-Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.benefit-blog.de/esp32-wifi-sensor-projekt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ESP32 Projekt: Anzeige für Wettervorhersage</title>
		<link>https://www.benefit-blog.de/esp32-projekt-anzeige-fuer-wettervorhersage/</link>
					<comments>https://www.benefit-blog.de/esp32-projekt-anzeige-fuer-wettervorhersage/#respond</comments>
		
		<dc:creator><![CDATA[Benefit-Blog]]></dc:creator>
		<pubDate>Mon, 28 Oct 2019 16:00:41 +0000</pubDate>
				<category><![CDATA[ESP32]]></category>
		<category><![CDATA[Anzeige für Wettervorhersage mit ESP32]]></category>
		<category><![CDATA[ESP32 Projekt]]></category>
		<guid isPermaLink="false">https://www.benefit-blog.de/?p=8983</guid>

					<description><![CDATA[<a href="https://www.benefit-blog.de/esp32-projekt-anzeige-fuer-wettervorhersage/" title="ESP32 Projekt: Anzeige für Wettervorhersage" rel="nofollow"><img width="150" height="150" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/ESP-32-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin: auto; margin-bottom: 5px;max-width: 100%;" link_thumbnail="1" decoding="async" srcset="https://www.benefit-blog.de/wp-content/uploads/2019/10/ESP-32-150x150.png 150w, https://www.benefit-blog.de/wp-content/uploads/2019/10/ESP-32-350x350.png 350w, https://www.benefit-blog.de/wp-content/uploads/2019/10/ESP-32-300x300.png 300w" sizes="(max-width: 150px) 100vw, 150px" /></a><p>Wie wird das Wetter morgen und übermorgen? Die klassischen Wetterstationsprojekte, die man in der Szene sieht können darüber keine Aussage machen, weil sie nur die aktuellen Temperaturwerte anzeigen und loggen. Wir wählen hier einen anderen Ansatz: Mit dem ESP32 [...]</p>
<p>Der Beitrag <a href="https://www.benefit-blog.de/esp32-projekt-anzeige-fuer-wettervorhersage/">ESP32 Projekt: Anzeige für Wettervorhersage</a> erschien zuerst auf <a href="https://www.benefit-blog.de">Benefit-Blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<a href="https://www.benefit-blog.de/esp32-projekt-anzeige-fuer-wettervorhersage/" title="ESP32 Projekt: Anzeige für Wettervorhersage" rel="nofollow"><img width="150" height="150" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/ESP-32-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="" style="display: block; margin: auto; margin-bottom: 5px;max-width: 100%;" link_thumbnail="1" decoding="async" srcset="https://www.benefit-blog.de/wp-content/uploads/2019/10/ESP-32-150x150.png 150w, https://www.benefit-blog.de/wp-content/uploads/2019/10/ESP-32-350x350.png 350w, https://www.benefit-blog.de/wp-content/uploads/2019/10/ESP-32-300x300.png 300w" sizes="(max-width: 150px) 100vw, 150px" /></a><div>
<div><span style="color: #2b3233; font-family: Catamaran, sans-serif; font-size: 28px; font-weight: bold; letter-spacing: 0em;">ESP32 Projekt: Anzeige für Wettervorhersage</span></div>
<div>
<p><a href="https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-projekt-anzeige-fur-wettervorhersage">Januar 7, 2018 Matthias Pajek</a></p>
<p>Wie wird das Wetter morgen und übermorgen? Die klassischen Wetterstationsprojekte, die man in der Szene sieht können darüber keine Aussage machen, weil sie nur die aktuellen Temperaturwerte anzeigen und loggen. Wir wählen hier einen anderen Ansatz: Mit dem <a href="https://www.amazon.de/AZDelivery-NodeMCU-Development-Nachfolgermodell-ESP8266/dp/B071P98VTG?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=3AQX9ALEHCU8Y&amp;keywords=ESP32%2BNodeMCU%2BModule%2BWLAN%2BWiFi%2BDevelopment%2BBoard&amp;qid=1689664574&amp;sprefix=esp32%2Bnodemcu%2Bmodule%2Bwlan%2Bwifi%2Bdevelopment%2Bboard%2B%2Caps%2C80&amp;sr=8-3&amp;th=1&amp;linkCode=sl1&amp;tag=benefitblog06-21&amp;linkId=c867bae544b4e6ab9973f14e64d8f373&amp;language=de_DE&amp;ref_=as_li_ss_tl">ESP32*</a> (<a href="https://www.amazon.de/AZDelivery-NodeMCU-Development-Nachfolgermodell-ESP8266/dp/B071P98VTG?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=3AQX9ALEHCU8Y&amp;keywords=ESP32%2BNodeMCU%2BModule%2BWLAN%2BWiFi%2BDevelopment%2BBoard&amp;qid=1689664574&amp;sprefix=esp32%2Bnodemcu%2Bmodule%2Bwlan%2Bwifi%2Bdevelopment%2Bboard%2B%2Caps%2C80&amp;sr=8-3&amp;th=1&amp;linkCode=sl1&amp;tag=benefitblog06-21&amp;linkId=c867bae544b4e6ab9973f14e64d8f373&amp;language=de_DE&amp;ref_=as_li_ss_tl">Link*</a>) laden wir die Wettervorhersage für die nächsten fünf Tage von <a href="https://openweathermap.org">https://openweathermap.org</a> herunter und zeigen sie auf einem kleinen <a href="https://www.amazon.de/dp/B074N8HD9W?_encoding=UTF8&amp;th=1&amp;linkCode=ll1&amp;tag=benefitblog0e-21&amp;linkId=f64bc83f976af89a80bf0e3dc50b5dbe&amp;language=de_DE&amp;ref_=as_li_ss_tl">OLED Display*</a> an.</p>
<p>Das Projekt wird in drei Abschnitten umgesetzt: (1) Vorbereitung der Hardware, (2) Generierung eines API Keys für OpenWeatherMap, um auf Daten zugreifen zu können, und (3) Software zum Herunterladen und Anzeigen der Wettervorhersage.</p>
<h3>Hardware</h3>
<ul>
<li><a href="https://www.amazon.de/AZDelivery-NodeMCU-Development-Nachfolgermodell-ESP8266/dp/B071P98VTG?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=3AQX9ALEHCU8Y&amp;keywords=ESP32%2BNodeMCU%2BModule%2BWLAN%2BWiFi%2BDevelopment%2BBoard&amp;qid=1689664574&amp;sprefix=esp32%2Bnodemcu%2Bmodule%2Bwlan%2Bwifi%2Bdevelopment%2Bboard%2B%2Caps%2C80&amp;sr=8-3&amp;th=1&amp;linkCode=sl1&amp;tag=benefitblog06-21&amp;linkId=c867bae544b4e6ab9973f14e64d8f373&amp;language=de_DE&amp;ref_=as_li_ss_tl">ESP32*</a> für das Herunterladen der Wettervorhersage und die Ansteuerung des Displays</li>
<li><a href="https://www.amazon.de/dp/B074N8HD9W?_encoding=UTF8&amp;th=1&amp;linkCode=sl1&amp;tag=benefitblog06-21&amp;linkId=cc8bdfc1f92d4c634b9bd543900ab405&amp;language=de_DE&amp;ref_=as_li_ss_tl">Display*</a>, als Anzeige für die Wetterdaten</li>
</ul>
<p>Das Display wird mit 3.3 V und GND an das ESP32 angeschlossen. Für die I²C Verbindung werden außerdem SCL mit G22 und SDA mit G21 verbunden. Die folgende Abbildung zeigt die fertig verkabelte Hardware.</p>
<p><img decoding="async" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/Bildschirmfoto_2018-01-07_um_11.13.36_large.png" alt="Auf dem Mini-Display können sogar Grafiken angezeigt werden. Mit den Beispielsketchen der Library sind diese nur wenige Klicks entfernt." /></p>
<p>Auf dem Mini-Display können sogar Grafiken angezeigt werden. Mit den Beispielsketchen der Library sind diese nur wenige Klicks entfernt.</p>
<h3>Openweathermap API</h3>
<p>OpenWeatherMap ist eine IT Firma, die Wetterdaten zur Verfügung stellt. In kleinem Rahmen sogar kostenlos. Um Wetterdaten zu erhalten muss man HTTP Anfragen an die OpenWeatherMap API (<a href="https://openweathermap.org/forecast5">https://openweathermap.org/forecast5</a>) senden. Dazu ist eine Authentifizierung per API-Key erforderlich. Sie können Ihren API-Key auf der Preis Seite erhalten (https://openweathermap.org/price). Er sieht zum Beispiel so aus:</p>
<p>a254362gegeg715dce096a37b32c17aa</p>
<p>Wenn Sie jetzt im Browser die URL <a href="http://api.openweathermap.org/data/2.5/forecast?q=Karlsruhe,de&amp;appid=a254362gegeg715dce096a37b32c17aa">http://api.openweathermap.org/data/2.5/forecast?q=Karlsruhe,de&amp;appid=a254362gegeg715dce096a37b32c17aa</a> aufrufen, erhalten Sie die Wettervorhersage für die nächsten fünf Tage für Karlsruhe. Ersetzen Sie in der URL Karlsruhe durch den Namen ihrer Stadt und den API Key hinter appid= durch Ihren.</p>
<p>Die zurückgegebenen Daten sind im JSON Format. Das Attribut temp gibt die vorhergesagte Temperatur in Kelvin für den Zeitpunkt dt an. Letzteres ist ein <a href="https://tools.timodenk.com/unix-to-normal-time">Unix Timestamp</a>, der noch einmal in lesbarer Form als dt_txt mitgeschickt wird. Beispiel für den Anfang einer Response:<br />
<code>{<br />
cod: "200",<br />
message: 0.0447,<br />
cnt: 40,<br />
list: [<br />
{<br />
dt: 1503241200,<br />
main: {<br />
temp: 293.69,<br />
temp_min: 293.69,<br />
temp_max: 293.738,<br />
pressure: 1017.16,<br />
sea_level: 1037.44,<br />
grnd_level: 1017.16,<br />
humidity: 53,<br />
temp_kf: -0.05<br />
},<br />
weather: [<br />
{<br />
id: 800,<br />
main: "Clear",<br />
description: "clear sky",<br />
icon: "01d"<br />
}<br />
],<br />
clouds: {<br />
all: 0<br />
}, [...]</code></p>
<h3>Software</h3>
<p>Dieser Abschnitt skizziert die Funktionsweise des Programms. Für ein tiefergehendes Verständnis ist ein Blick in den Code (https://github.com/Simsso/Microcontroller-Examples/tree/master/ESP32/WeatherDisplay) unerlässlich. Die Dateien des Projekts haben folgende Aufgaben:</p>
<ul>
<li><a href="https://github.com/Simsso/Microcontroller-Examples/blob/master/ESP32/WeatherDisplay/WeatherDisplay.ino">WeatherDisplay.ino</a>: Arduino-Sketch, Main Programm: Verbindet alle Komponenten.</li>
<li><a href="https://github.com/Simsso/Microcontroller-Examples/blob/master/ESP32/WeatherDisplay/OpenWeatherMapAPI.h">OpenWeatherMapAPI.h</a>: OpenWeatherMap API Header Datei: Definiert, wie auf die OpenWeatherMap zugegriffen werden kann.</li>
<li><a href="https://github.com/Simsso/Microcontroller-Examples/blob/master/ESP32/WeatherDisplay/OpenWeatherMapAPI.cpp">OpenWeatherMapAPI.cpp</a>: OpenWeatherMap API Code Datei: Implementiert die Methoden der vorherstehenden Header Datei.</li>
<li><a href="https://github.com/Simsso/Microcontroller-Examples/blob/master/ESP32/WeatherDisplay/OLEDScreen.h">OLEDScreen.h</a>: OLED Screen Header Datei: Steuert das OLED Display an und gibt die Wetter Daten grafisch aus.</li>
<li><a href="https://github.com/Simsso/Microcontroller-Examples/blob/master/ESP32/WeatherDisplay/WeatherForecastSample.cpp">WeatherForecastSample.cpp</a>: Wettervorhersagen-Sample: Klasse, die eine einzelne Wettervorhersage repräsentiert.</li>
</ul>
<h3>API Zugriffe mit dem ESP32</h3>
<p>Um die Wetterinformationen anzuzeigen, muss das ESP32 die oben auszugsweise gelisteten Daten von der OpenWeatherMap API erhalten. Der Code für das Herunterladen und Auslesen befindet sich wegen seiner Länge in separaten C++ Dateien, die im Hauptsketch mit #include eingebunden werden. Um das Beispielprogramm ausführen zu können müssen Sie also den gesamten Ordnerinhalt von <a href="https://github.com/Simsso/Microcontroller-Examples/tree/master/ESP32/WeatherDisplay">https://github.com/Simsso/Microcontroller-Examples/tree/master/ESP32/WeatherDisplay</a> herunterladen und dann die .ino Datei mit der Arduino IDE öffnen. Im Programm werden in regelmäßigen Zeitabständen (standardmäßig 2 Stunden) Wetterdaten heruntergeladen. Diese werden mit der ArduinoJson Library (<a href="https://github.com/bblanchon/ArduinoJson/">https://github.com/bblanchon/ArduinoJson/</a>) geparsed, das heißt so augelesen, dass sie im Programm weiterverwendet werden können.</p>
<p>Um den Code in Betrieb nehmen zu können müssen Sie neben der Installation der Libraries</p>
<ul>
<li>Ihre WLAN SSID und das Passwort eintragen (Datei WeatherDisplay.ino),</li>
<li>die Stadt, für die eine Vorhersage gemacht werden soll aktualisieren (Datei WeatherDisplay.ino, Variable query) und</li>
<li>einen gültigen OpenWeatherMap API Key eintragen (Datei WeatherDisplay.ino, Variable apiKey).</li>
</ul>
<h3>Anzeige der Wettervorhersage</h3>
<p>Das Display, das die heruntergeladenen Wetterdaten anzeigt, kann zum Beispiel mit der Ai_Ardulib_SSD1306 Library angesteuert werden (https://github.com/acrobotic/Ai_Ardulib_SSD1306).</p>
<p>In der aktuellen Ausführung zeigt das WeatherDisplay-Programm die Wettervorhersage plain, das heißt ohne weitere Formatierung, an. Sie sind herzlich dazu eingeladen, die Anzeige zum Beispiel mit Wolken-/Sonnengrafiken aufzuhübschen (englisches Tutorial dazu: http://www.instructables.com/id/Display-Images-on-OLED-Screen-With-Arduino-ATtiny8/.</p>
<p><img decoding="async" src="https://www.benefit-blog.de/wp-content/uploads/2019/10/Bildschirmfoto_2018-01-07_um_11.15.30.png" alt="" /></p>
<p>Bei dieser Wettervorhersage &#8212; 13°C &#8212; ist das mit dem ESP32 Herumspielen einfach die beste Beschäftigung.</p>
<div></div>
</div>
</div>
<p class="wpss_copy">Inhalt abgerufen von: <a href="https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-projekt-anzeige-fur-wettervorhersage" target="_blank" rel="noopener noreferrer">https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/esp32-projekt-anzeige-fur-wettervorhersage</a>.</p>
<p>Der Beitrag <a href="https://www.benefit-blog.de/esp32-projekt-anzeige-fuer-wettervorhersage/">ESP32 Projekt: Anzeige für Wettervorhersage</a> erschien zuerst auf <a href="https://www.benefit-blog.de">Benefit-Blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.benefit-blog.de/esp32-projekt-anzeige-fuer-wettervorhersage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
