<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://znil.net/index.php?action=history&amp;feed=atom&amp;title=ESP8266_Wemos_D1_Mini_Batterie_Versorgungsspannung_auslesen_%C3%BCberwachen</id>
	<title>ESP8266 Wemos D1 Mini Batterie Versorgungsspannung auslesen überwachen - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://znil.net/index.php?action=history&amp;feed=atom&amp;title=ESP8266_Wemos_D1_Mini_Batterie_Versorgungsspannung_auslesen_%C3%BCberwachen"/>
	<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=ESP8266_Wemos_D1_Mini_Batterie_Versorgungsspannung_auslesen_%C3%BCberwachen&amp;action=history"/>
	<updated>2026-04-28T11:17:02Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in znilwiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://znil.net/index.php?title=ESP8266_Wemos_D1_Mini_Batterie_Versorgungsspannung_auslesen_%C3%BCberwachen&amp;diff=11831&amp;oldid=prev</id>
		<title>BLinz: /* Sketch */</title>
		<link rel="alternate" type="text/html" href="https://znil.net/index.php?title=ESP8266_Wemos_D1_Mini_Batterie_Versorgungsspannung_auslesen_%C3%BCberwachen&amp;diff=11831&amp;oldid=prev"/>
		<updated>2020-02-23T06:24:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Sketch&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ein Grund das ich mich so für den &amp;#039;&amp;#039;&amp;#039;Wemos D1 Mini&amp;#039;&amp;#039;&amp;#039; begeistere ist das er ganz leicht mit 2 x 1,5V Batterien betrieben werden kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Ich hab noch einige Batteriegehäuse für 2 x AA oder 2 x AAA Batterien - und die lege ich einfach an den &amp;lt;code&amp;gt;3V3&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;GND&amp;lt;/code&amp;gt; Pin.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Mein erstes Projekt war ein  WLAN-Button. Der Taster löst einen Reset aus, der Wemos fährt hoch, ruft eine URL auf und legt sich wieder schlafen.&amp;lt;br&amp;gt;&lt;br /&gt;
Mein Messgerät sagt das er im &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;DeepSleep&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; 0,015mA, also 15µm verbraucht.&amp;lt;br&amp;gt;&lt;br /&gt;
Beim Boot lese ich die Spannung der Batterien aus und melde diese an meinen Zabbix-Server, ebenfalls per URL-Aufruf: [[Zabbix sender per Web URL-Aufruf nutzen]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Nachfolgend beschreibe ich wie ich das gemacht habe (habe eine Weile Googeln müssen dafür).&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Schaltung==&lt;br /&gt;
Für die genaue Messung der Spannung muss der Pin &amp;lt;code&amp;gt;A0&amp;lt;/code&amp;gt; mit &amp;lt;code&amp;gt;3V3&amp;lt;/code&amp;gt; verbunden werden:&amp;lt;br&amp;gt;&lt;br /&gt;
[[Datei:Wemos_D1_mini_A0-3.3V_Steckplatine.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[[Datei:Wemos D1 mini A0-3.3V Steckplatine.png]]--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Sketch==&lt;br /&gt;
Das Sketch gibt die Informationen auf dem Seriellen Monitor aus.&amp;lt;br&amp;gt;&lt;br /&gt;
Zusätzlich steht da der Grund für das Booten - Reset oder Stromversorgung hergestellt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt; //Ist nur für die Funktionen der Reset-Info eingebunden &lt;br /&gt;
&lt;br /&gt;
//Spannung auslesen vorbereiten&lt;br /&gt;
ADC_MODE(ADC_VCC);&lt;br /&gt;
String Ubatt = &amp;quot;&amp;quot;;&lt;br /&gt;
String ResetOrBoot = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Serielle Schnittstelle aktivieren für Debugging&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  delay(100);&lt;br /&gt;
  Serial.println(&amp;quot;Setup ...&amp;quot;);&lt;br /&gt;
  // Grund für den Start erfahren -&amp;gt; Reset oder Stromversorgung hergestellt?&lt;br /&gt;
  const rst_info * resetInfo = system_get_rst_info();  // Resetgrund einlesen&lt;br /&gt;
  if ((resetInfo-&amp;gt;reason) == 6) {&lt;br /&gt;
    ResetOrBoot = &amp;quot;Boot (Stromversorgung hergestellt)&amp;quot;;&lt;br /&gt;
  } else {&lt;br /&gt;
    ResetOrBoot = &amp;quot;Reset&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  // Warum booten wir?&lt;br /&gt;
  Serial.println(&amp;quot;Auslöser: &amp;quot; + ResetOrBoot);&lt;br /&gt;
  Serial.println();&lt;br /&gt;
  Serial.print(&amp;quot;Versorgungs- oder Batteriespannung:  &amp;quot;);&lt;br /&gt;
  // Betriebsspannung auslesen&lt;br /&gt;
  // genaue Spannung der Stromquelle, PIN A0 muss mit 3,3V Verbunden werden!&lt;br /&gt;
  uint16_t my_getVcc_Voltage = ESP.getVcc();&lt;br /&gt;
  float_t my_Voltage_calculated = ((float)my_getVcc_Voltage/1024.0f);&lt;br /&gt;
  Ubatt = String(my_Voltage_calculated, 3);&lt;br /&gt;
  Serial.println(Ubatt);&lt;br /&gt;
&lt;br /&gt;
  // Und Gute Nacht - bis zum nächsten Reset oder Boot&lt;br /&gt;
  ESP.deepSleep(0);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Testausgabe==&lt;br /&gt;
Im Seriellen Monitor sollte folgendes erscheinen:&amp;lt;br&amp;gt;&lt;br /&gt;
 setup ...&lt;br /&gt;
 &lt;br /&gt;
 Auslöser: Boot (Stromversorgung hergestellt)&lt;br /&gt;
 &lt;br /&gt;
 Versorgungs- oder Batteriespannung:  3.587&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Hier mal die Aufzeichnungen meines WLAN-Buttons:&amp;lt;br&amp;gt;&lt;br /&gt;
:[[Datei:ClipCapIt-190308-210049.PNG]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==Quellen==&lt;br /&gt;
Das mit der genauen Spannungsmessung habe ich hierher: https://github.com/esp8266/Arduino/issues/721#issuecomment-325149737&amp;lt;br&amp;gt;&lt;br /&gt;
Und das mit dem Reset Grund hierher: https://www.mikrocontroller-elektronik.de/wlan-notruftaster-mit-dem-esp8266-modul/ &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Kommentare==&lt;br /&gt;
&amp;lt;comments /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BLinz</name></author>
	</entry>
</feed>