Server uitlezen met ESP32 (DS18b20 sensor)

Software vragen voor ESP chip familie
Berichten: 28
Geregistreerd: 03 Okt 2014, 17:16

Server uitlezen met ESP32 (DS18b20 sensor)

Berichtdoor ilioSS » 14 Okt 2019, 14:43

Goede dag,

Mijn zoektocht naar wire-less sensor uitlezen heeft mij via nRF24 gebracht bij ook een mogelijkheid om mijn sensor op afstand uit te lezen en wel middels ESP8266 e/o ESP32

Ik heb het script gebruikt van Ruiz Santos en wel met de DS18B20 temp. op de server. Dit werkt.
Nu wil ik via een andere losse ESP32/8266 e/o ESP12e deze sensor gegevens ook uitlezen.

De gegevens dan op een display zetten.

De server heb ik dus.
Nu is mijn volgende vraag hoe heet de functie die het mij mogelijk maakt de server uit te lezen met de ESP.
vb. Mijn gegevens staan dan keurig op 192.168.2.3 via een web browser netjes uit te lezen.

Moet ik daarvoor een AP gebruiken een WiFiClient of een andere ?????
Ik wil dus middels een losse ESP met display de server uitlezen.

Graag een hint in de goede richting.

Mijn ervaring tot nu toe ik heb op de losse ESP via de serial monitor wel het script gezien op de server? Maar de gegevens kon ik niet uitlezen.

Met vriendelijke groet,
ilioSS

Advertisement

Gebruikers-avatar
Berichten: 90
Geregistreerd: 22 Jan 2013, 16:40

Re: Server uitlezen met ESP32 (DS18b20 sensor)

Berichtdoor zuid » 15 Okt 2019, 17:50

De "losse" ESP moet geprogrammeerd worden als HTTP Client. (zie voorbeelden)
Als URL programmeer je het IP adres van de server ESP.
IP adres precies zo als je het nu intoetst in een web browser.
Het antwoord ziet er uit zoals nu te zien in de browser.
Eventuele HTML code is in deze communicatie overbodig.
Let op een IP adres kan wijzigen tenzij je er een vast IP adres van maakt in de software van de server of in je modem.
de server ESP kan gewoon STA blijven. AP zou ook kunnen maar dat maakt testen lastiger.
m.v.g. Nico

Berichten: 28
Geregistreerd: 03 Okt 2014, 17:16

Re: Server uitlezen met ESP32 (DS18b20 sensor)

Berichtdoor ilioSS » 15 Okt 2019, 19:25

Goede dag Nico,
Hartelijk dank voor het richting geven .
Werk aan het winkeltje.
Ik ga aan de slag en hou je op de hoogte event. Met nog wat vragen.
Met vriendelijke groet
ilioSS

Berichten: 28
Geregistreerd: 03 Okt 2014, 17:16

Re: Server uitlezen met ESP32 (DS18b20 sensor)

Berichtdoor ilioSS » 16 Okt 2019, 20:14

Hallo Nico,

Na het uittesten van de ESP12E dev. kit van WWW.doit.am
heb ik de server pagina HTTP gekregen in de serial monitor met de daarin te lezen sensor data in dit geval de temperature in C en F.
Deze string ga ik verder bewerken om de data eruit te vissen en op het display te zetten.

Nogmaals hartelijk dank.

btw. is het hebben van deze server en losse ESP12e voldoende veilig op mijn router?

Met vriendelijke groet,
ilioSS

Berichten: 28
Geregistreerd: 03 Okt 2014, 17:16

Re: Server uitlezen met ESP32 (DS18b20 sensor)

Berichtdoor ilioSS » 31 Okt 2019, 22:05

Hallo Nico,

Hier nog een vraag mbt het uitlezen van mijn sensor waarde uit een webserver ESP32 met HTML pagina.
Hier een snippet van de pagina welke ik via de serial monitor gesaved heb.
<sup class="units">hPa</sup>
</p>
<p>
<span class="sensor-labels">Tempbu</span>
<span id="tempc">18.00</span>
<sup class="units">&deg;C</sup>
</p>
</body>
<script>


Hieronder de uitdraai van de serial monitor van de "losse ESP32"
2542
2542
You might have found the tempc
Theo
[HTTP] begin...

You might have found the tempc betekend dat ik aangekomen ben bij het uit te lezen tempc data.

via dit script prog lines.
Serial.println(payload.length());
String reportString = "<span id='tempc'>";
int spacePosition = reportString.indexOf(' ');
if (reportString.charAt(spacePosition + 11) == '>') {


Serial.println("You might have found the tempc");

Verder kom ik niet!
Welke instructie kan mij helpen de sensor data on te zetten naar een int om deze op een display te zetten. In het voorbeeld is dit 18.00?

De vorige tip heeft mij erg veel geholpen. Nu echter stopt het.
Graag hoor ik elke vorm van hulp is welkom.

Met vriendelijke groet,
ilioSS

Berichten: 28
Geregistreerd: 03 Okt 2014, 17:16

Re: Server uitlezen met ESP32 (DS18b20 sensor)

Berichtdoor ilioSS » 04 Nov 2019, 14:11

Hallo Nico,

Na uurtjes zoeken proberen uiteindelijk gevonden een werkende omzetting van mijn string naar int.

Zie uitdraai. arduino losse ESP32 script
// file found at server
if(httpCode == HTTP_CODE_OK) {
String payload = http.getString();
USE_SERIAL.println(payload);

String stringOne = (payload);
int firstListItem = stringOne.indexOf("<!DOC");
int secondListItem = stringOne.indexOf("tempc", firstListItem + 1);
Serial.println("The index of the second list tag in the string " + stringOne + " is " + secondListItem);
Serial.println(payload.length());

String myString = payload.substring(459, 464);
USE_SERIAL.println(myString); // geeft <15.00> lijkt ok nu nog converteren

myString.toCharArray(floatbuf, sizeof(floatbuf));
float f = atof(floatbuf);
USE_SERIAL.println(f);


temp = atoi(floatbuf); // werkt geeft 17.00

Serial.println(inString.toInt()); // werkt niet geeft 0
Serial.println(temp); // werkt geeft int

Dit geeft in de serialmonitor:
is 452
2546
15.00
15.00
0
15

Om naar tempc te komen deze boven op de HTML pagina gezet ivm verschuiven van start referentie.
Int. kan ik nu gebruiken voor weergave op display.

Beetje motivatie van een duw in de goede richting en zeker volharden en wat tijd geeft een oplossing.
Hartelijk dank voor de hulp.

Met vriendelijke groet,
ilioS

Voor wat mij betreft is dit issue gesloten.

Terug naar ESP Software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast