<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=47&amp;t=24116&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2022-01-20T19:17:00+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=24116&amp;mode</id>
<entry>
<author><name><![CDATA[spairo]]></name></author>
<updated>2022-01-20T19:17:00+01:00</updated>
<published>2022-01-20T19:17:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24116&amp;p=234890#p234890</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24116&amp;p=234890#p234890"/>
<title type="html"><![CDATA[ESP01S + OTA]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24116&amp;p=234890#p234890"><![CDATA[
- poniżej prosty kod dla esp01s i OTA znaleziony w czeluściach internetu i działa.<br />- w pierwszym kroku wgrywamy program do esp01s za pomocą portu COMxx.<br />- w drugim kroku (tzw. aktualizacja) jest wgrywana przez port sieciowy Arduino, utworzony w poprzednim kroku.<br />- postępy operacji wgrywania obserwujemy na zewnętrznym terminalu RS232, terminal z Arduino jest nieaktywny, zablokowany poprzez port sieciowy.<br /><br /><a href="https://obrazkiforum.atnel.pl/15078/dfb28f1553141f719692f1150b6fbc40.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/15078/dfb28f1553141f719692f1150b6fbc40.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/15078/acc3b4b989a0c9137d55a0596d12b7fb.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/15078/acc3b4b989a0c9137d55a0596d12b7fb.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/15078/229763112da8746d0b5b48a7afa29dd0.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/15078/229763112da8746d0b5b48a7afa29dd0.jpg" alt="Obrazek" /></a><br />- kod programu głównego OTA2.ino<br />[syntax=c]// bubu321, 20.01.2022, main program. working on ESP01S with 4MB flash<br />// pobrano  z https://plociennik.info/index.php/informatyka/systemy-wbudowane/esp8266/programowanie-esp-poprzez-wifi<br />// <br />const int blink_led = 2;  // LED pin on NodeMCU ESP8266 - D0, 2 for ESP01S<br />unsigned long previousTime = millis();<br />const unsigned long interval = 100;<br />void beginOTA();<br />void obslugaOTA();<br /><br />// ------------------------------- setup ----------------------<br />void setup() {<br />  pinMode(blink_led, OUTPUT); <br />Serial.begin(115200);           //Set Baud Rate<br />  Serial.println(&quot;Booting&quot;);<br /><br />beginOTA();<br /><br />}<br /><br />// ----------------------------------- loop -------------------------<br />void loop() {<br />  obslugaOTA();<br /><br />unsigned long diff = millis() - previousTime;<br /><br />  if(diff &gt; interval) {<br />    digitalWrite(blink_led, !digitalRead(blink_led));  // Change the state of the LED<br />    previousTime += diff;<br /><br />  } // -------------- end-if ------------<br />}  <br />// -------------------------------------- end -------------------------[/syntax]<br /><br />- kod programu wifiOTA.ino<br />[syntax=c]// bubu321, 20.01.2022<br />    //  #include &lt;WiFi.h&gt;<br />    //  #include &lt;ESPmDNS.h&gt;<br />//  for esp8266<br />#include &lt;ESP8266WiFi.h&gt;<br />#include &lt;ESP8266mDNS.h&gt;<br />#include &lt;WiFiUdp.h&gt;<br />#include &lt;ArduinoOTA.h&gt;<br /><br />const char* ssid = &quot;TP-LINK_0870&quot;;<br />const char* password = &quot;14866074&quot;;<br /><br />void beginOTA(){<br />  WiFi.mode(WIFI_STA);<br />  WiFi.begin(ssid, password);<br />  while (WiFi.waitForConnectResult() != WL_CONNECTED) {<br />    Serial.println(&quot;Connection Failed! Rebooting...&quot;);<br />    delay(5000);<br />    ESP.restart();<br />  }<br /><br />// Tu podajemy nazwę naszego nowego projektu (tak będzie widoczny w ArduinoIDE)<br />  ArduinoOTA.setHostname(&quot;NowyProjektTestowy&quot;);<br /><br />// Jeżeli chcemy hasło, korzystamy z jednej z poniższych linii<br />//ArduinoOTA.setPassword(&quot;admin&quot;);<br />// ArduinoOTA.setPasswordHash(&quot;21232f297a57a5a743894a0e4a801fc3&quot;);<br /><br />  ArduinoOTA.onStart(&#91;&#93;() {<br />      String type;<br />      if (ArduinoOTA.getCommand() == U_FLASH)<br />        type = &quot;sketch&quot;;<br />      else // U_SPIFFS<br />        type = &quot;filesystem&quot;;<br />    });<br />  ArduinoOTA.onEnd(&#91;&#93;() {<br />      Serial.println(&quot;\nEnd&quot;);<br />    });<br />  ArduinoOTA.onProgress(&#91;&#93;(unsigned int progress, unsigned int total) {<br />      Serial.printf(&quot;Progress: %u%%\r&quot;, (progress / (total / 100)));<br />    });<br />  ArduinoOTA.onError(&#91;&#93;(ota_error_t error) {<br />      Serial.printf(&quot;Error&#91;%u&#93;: &quot;, error);<br />      if (error == OTA_AUTH_ERROR) Serial.println(&quot;Auth Failed&quot;);<br />      else if (error == OTA_BEGIN_ERROR) Serial.println(&quot;Begin Failed&quot;);<br />      else if (error == OTA_CONNECT_ERROR) Serial.println(&quot;Connect Failed&quot;);<br />      else if (error == OTA_RECEIVE_ERROR) Serial.println(&quot;Receive Failed&quot;);<br />      else if (error == OTA_END_ERROR) Serial.println(&quot;End Failed&quot;);<br />    });<br />  ArduinoOTA.begin();<br />Serial.println(&quot;Ready&quot;);<br />  Serial.print(&quot;IP address: &quot;);<br />  Serial.println(WiFi.localIP());<br />}<br /><br />  void obslugaOTA(){<br />      ArduinoOTA.handle();<br />    }<br />// --------------------------------------------------------[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15078">spairo</a> — 20 sty 2022, o 19:17</p><hr />
]]></content>
</entry>
</feed>