Wifi teplomer - NodeMCU v AP móde

Tvoříte zajímavý projekt? Pochlubte se s ním.
Pravidla fóra
Vkládejte prosím jen HOTOVÉ projekty, které chcete představit ostatním.
Odpovědět
martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Wifi teplomer - NodeMCU v AP móde

Příspěvek od martinius96 » 17 zář 2017, 00:38

Wifi teplomer je projekt, kde sa využíva NodeMCU v AP móde, je to vlastne hotspot, ku ktorému sa pripojíte a následne môžete prezerať teploty, alebo veličiny iných čidiel, ktoré k NodeMCU pripojíte. Hodnoty sa prezerajú cez webový prehliadač na stránke, ktorú NodeMCU generuje. Nachádza sa na rovnakej IP/DNS príznaku ako aj brána (NodeMCU). V tomto riešení je demonštrácia dvoch čidiel DS18B20 s využitím OneWire protokolu.
Parametre:
  • NodeMCU v úlohe prístupového bodu (AP)
  • Vlastné SSID a WPA2 PSK šifrovanie
  • Vlastná IP (statická)/DNS príznak
  • Bezpečná webstránka prístupná z domácej siete
  • Vždy pri načítaní stránky aktuálne info (informatívny charakter)
  • Grafické vyobrazenie podľa dohody
Obrázek
Obrázek

Kód: Vybrat vše

#include <OneWire.h>                 //KNIZNICA ONEWIRE PRE VYUZITIE ONEWIRE ZBERNICE
#include <DallasTemperature.h>       //KNIZNICA PRE TEPLOTNE CIDLA
#define ONE_WIRE_BUS 2               //DEFINICIA PINU AKO ZBERNICE PRE ONEWIRE ZARIADENIA
OneWire oneWire(ONE_WIRE_BUS);       //ONEWIRE ČÍTAŤ IBA NA PORTE DEFINOVANOM VYSSIE
DallasTemperature sensors(&oneWire);
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <SPI.h>
const char *ssid = "ESPap";
const char *password = "thereisnospoon";

ESP8266WebServer server(80); 

/* IP stranky je 192.168.4.1 (predpísané kniznicou)
*/
void handleRoot() {
  sensors.begin(); 
 sensors.requestTemperatures();  
 
 server.send(200, "text/html", "<!DOCTYPE html><html><body><table><tr><td>Cidlo</td><td>Hodnota</td></tr><tr><td>DS18b20 - dnu</td><td>"+(String)sensors.getTempCByIndex(0)+"</td></tr><tr><td>DS18b20 - von</td><td>"+(String)sensors.getTempCByIndex(1)+"</td></tr></table></body></html>");
}

void setup() {
  delay(1000);
  Serial.begin(115200);
  Serial.println();
  Serial.print("Konfigurujem access point...");
  /* You can remove the password parameter if you want the AP to be open. */
  WiFi.softAP(ssid, password);

  IPAddress myIP = WiFi.softAPIP();
  Serial.print("IP adresa pristupoveho bodu je: ");
  Serial.println(myIP);
  server.on("/", handleRoot);
  server.begin();
  Serial.println("Webserver bezi");
}

void loop() {
  server.handleClient();
}
Dáta sa aktualizujú vždy, keď klient refreshne stránku. To znamená, že má k dispozícii vždy aktuálnu teplotu.
Podporiť ma a nájsť zaujímavé riešenia môžete na: arduino.php5.sk

jankop
Příspěvky: 1029
Registrován: 06 zář 2017, 20:04
Reputation: 0
Bydliště: Brno
Kontaktovat uživatele:

Re: Wifi teplomer - NodeMCU v AP móde

Příspěvek od jankop » 24 říj 2017, 18:49

Níže uvedené knihovny v programu postrádají smysl, ale jinak program opravdu funguje.
#include <WiFiClient.h>
#include <SPI.h>

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: Wifi teplomer - NodeMCU v AP móde

Příspěvek od martinius96 » 02 lis 2017, 10:54

Je to možné :) som rád, že funguje.

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: Wifi teplomer - NodeMCU v AP móde

Příspěvek od martinius96 » 14 pro 2017, 12:23

Update: 14.12.2017 prebehla aktualizácia súborov na Githube, doplnené knižnice pre pripojenie periférii.
Github repozitár: https://github.com/martinius96/nodemcu-wifi-teplomer

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: Wifi teplomer - NodeMCU v AP móde

Příspěvek od martinius96 » 29 pro 2018, 23:39

Update: 29.12.2018
  • Zmenený dizajn webstránky s responzivitou, pridanie meta tagov pre viewport pre prispôsobenie
  • Doplnenie správnych knižníc pre OneWire a DS18B20 do repozitára
  • Odstránenie prebytočných knižníc v programoch
  • Pridaný príklad pre otvorenú wifi sieť bez hesla
  • Upravený pôvodný sketch s WPA - PSK šifrovaním
  • Doplnené zapojenie k DS18B20 senzorom s non-parasite zapojením
Obrázek

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů