<?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=22774&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2020-01-09T11:04:12+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=22774&amp;mode</id>
<entry>
<author><name><![CDATA[ProgramistaAVR]]></name></author>
<updated>2020-01-09T11:04:12+01:00</updated>
<published>2020-01-09T11:04:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22774&amp;p=224076#p224076</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22774&amp;p=224076#p224076"/>
<title type="html"><![CDATA[Re: Przesyłanie danych typu INT/FLOAT poprzez UDP z ESP do E]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22774&amp;p=224076#p224076"><![CDATA[
<div class="quotetitle">tischtennis napisał(a):</div><div class="quotecontent"><br />Ale za używanie ESPka pewnie to wszystko wyleci zaraz.<br /></div><br />Widziałem ten temat na kilku forach więc dużej straty nie będzie.<br />Arduino, czy tego się chce czy nie, zrobiło się (niestety) popularne. Fora aby zwiekszyć wpływy z reklam zakładaj działy Arduino. Nawet Elektrozgroza je promuje bo założenie tematu kosztuje 0 punktów.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21040">ProgramistaAVR</a> — 9 sty 2020, o 11:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[tischtennis]]></name></author>
<updated>2020-01-06T18:59:41+01:00</updated>
<published>2020-01-06T18:59:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22774&amp;p=224008#p224008</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22774&amp;p=224008#p224008"/>
<title type="html"><![CDATA[Re: Przesyłanie danych typu INT/FLOAT poprzez UDP z ESP do E]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22774&amp;p=224008#p224008"><![CDATA[
Wyślij sobie jakąś sformatowaną ramkę &quot;stringiem&quot; i ją przeparsuj odpowiednio. Możesz sobie takie coś przećwiczyć w jakiejś PCtowej aplikacji - tu się przydadzą funkcje typu strtok, atoi, itoa itp.<br /><br />Ale za używanie ESPka pewnie to wszystko wyleci zaraz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20653">tischtennis</a> — 6 sty 2020, o 18:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[miksior]]></name></author>
<updated>2020-01-06T12:49:04+01:00</updated>
<published>2020-01-06T12:49:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=22774&amp;p=224001#p224001</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=22774&amp;p=224001#p224001"/>
<title type="html"><![CDATA[Przesyłanie danych typu INT/FLOAT poprzez UDP z ESP do ESP]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=22774&amp;p=224001#p224001"><![CDATA[
Witam serdecznie<br /><br />wczoraj pol dnia glowilem sie nad pewnym tematem i nic nie wymyslilem, robie zdalny system pomiarowy w ktorym kilka modulów WiFi (jeden glowny ESP32 jest serverem, pozostale 8266 to klienci) beda zbierac dane z czujnikow, wysylac po UDP (moze w przyszlosci TCP) do serwera a stamtad powedruja na jakas strone/apke.<br /><br />Mam zrobiona na esp komunikacje UDP zarowno po stronie accespointa jak i klienta, natomiast przesylana ramka danych jest w formacie ASCII, problem (moze trywialny) to wyslanie i odebranie danych w formacie int/float (bo tego typu dane beda pochodzily z czujnikow). Probowalem roznych funkcji jak i sposobow rzutowania, zawsze arduino ide (bo w tym programuje ESP) zwraca mi bledy o niedozwolonej konwersji itp... <br />Wrzuce kod na ktorym poprawnie sa wysylane dane jednak tak jak pisalem jako tekst w ASCII:<br />Strona klienta:<br />[syntax=cpp]#include &lt;ESP8266WiFi.h&gt;<br />#include &lt;WiFiUdp.h&gt;<br /><br />WiFiUDP Udp;<br />unsigned int localUdpPort = 4210;  // local port to listen on<br />IPAddress ip(192, 168, 4, 1);<br /><br />void setup()<br />{<br />  Serial.begin(115200);<br />  Serial.println();<br /><br />  WiFi.begin(&quot;ESP32&quot;, &quot;123456789&quot;);<br /><br />  Serial.print(&quot;Connecting&quot;);<br />  while (WiFi.status() != WL_CONNECTED)<br />  {<br />    delay(500);<br />    Serial.print(&quot;.&quot;);<br />  }<br />  Serial.println();<br /><br />  Serial.print(&quot;Connected, IP address: &quot;);<br />  Serial.println(WiFi.localIP());<br />}<br /><br />void loop() {<br /><br />while (WiFi.status() != WL_CONNECTED)<br />{<br />  WiFi.reconnect();<br />  delay(10000);<br />  Serial.print(&quot;.Reconnected&quot;);<br />  Serial.println(WiFi.localIP());<br />}<br />Udp.beginPacket(ip, localUdpPort);<br />Udp.write(&quot;45&quot;); // wysyłamy jeden bajt<br />Udp.endPacket();<br />Serial.print(&quot;Wyslalem cos\n&quot;);<br />delay(5000);<br />}[/syntax]<br />Jak widac wyslanie tekstu nie jest problemem ale nie umiem wyslac danych np z typu int, gdyz wysyla sie calkmien zmieniona wartosc <br /><br />Na stronie serwera wyglada to tak: <br />[syntax=cpp]#include &lt;WiFi.h&gt;<br />#include &lt;WiFiClient.h&gt;<br />#include &lt;WiFiAP.h&gt;<br />#include &lt;WiFiUdp.h&gt;<br />#include &lt;stdlib.h&gt;<br /><br />WiFiUDP Udp;<br />unsigned int localUdpPort = 4210;  // local port to listen on<br />char incomingPacket&#91;255&#93;;  // buffer for incoming packets<br /><br /><br />void setup()<br />{<br />  Serial.begin(115200);<br />  Serial.println();<br /><br />  Serial.print(&quot;Setting soft-AP ... &quot;);<br />  Serial.println(WiFi.softAP(&quot;ESP32&quot;, &quot;123456789&quot;) ? &quot;Ready&quot; : &quot;Failed!&quot;);<br />  IPAddress myIP = WiFi.softAPIP();<br />  Serial.print(&quot;AP IP address: &quot;);<br />  Serial.println(myIP);<br /><br />  <br />  Udp.begin(localUdpPort);<br />  Serial.printf(&quot;Now listening at IP %s, UDP port %d\n&quot;, WiFi.localIP().toString().c_str(), localUdpPort);<br />}<br /><br />void loop()<br />{<br />  int packetSize = Udp.parsePacket();<br />  if (packetSize)<br />  {<br />    // receive incoming UDP packets<br />    Serial.printf(&quot;Received %d bytes from %s, port %d\n&quot;, packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());<br />    int len = Udp.read(incomingPacket, 255);<br />    if (len &gt; 0)<br />    {<br />      incomingPacket&#91;len&#93; = 0;<br />    }<br />    Serial.printf(&quot;UDP packet contents: %s\n&quot;, incomingPacket);<br />  }<br />}[/syntax]<br /><br />Czy ktos moglby powiedziec albo moze wskazac przyklad jak poprzez UDP przeslac np float? <br />Bede wdzieczny za rady<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=16029">miksior</a> — 6 sty 2020, o 12:49</p><hr />
]]></content>
</entry>
</feed>