Inhoudsopgave:
- Stap 1: Dingen die je nodig hebt
- Stap 2: Download de DHT11-bibliotheken
- Stap 3: Aansluitingen
- Stap 4: Toegangspuntcode
- Stap 5: Laatste stap: testen
Video: ESP8266 NodeMCU Access Point (AP) voor webserver met DT11-temperatuursensor en afdruktemperatuur en -vochtigheid in browser - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Hallo allemaal, in de meeste projecten gebruiken we ESP8266 en in de meeste projecten gebruiken we ESP8266 als een webserver, zodat gegevens op elk apparaat via wifi toegankelijk zijn door toegang te krijgen tot de webserver die wordt gehost door ESP8266, maar het enige probleem is dat we een werkende router nodig hebben voor dat en ons apparaat moet ook verbonden zijn met de router en we moeten onze wifi-inloggegevens in de code plaatsen, dus als je wifi wijzigt, moet je de inloggegevens in code wijzigen en moet je het opnieuw uploaden. Dus eigenlijk hebben we hier twee problemen: 1- we hebben een wifi-verbinding nodig om de webserver (router) te hosten 2- elke keer als de wifi-verbinding moet worden gewijzigd, moeten we inloggegevens invoeren en de code opnieuw uploaden. Dus om al dit probleem te voorkomen, kunnen we in plaats van een wifi-toegang we kunnen de ESP8266 een eigen wifi-verbinding maken, dus als we verbinding maken met die wifi-verbinding, hebben we toegang tot de webserver van ESP8266. Dus in principe zullen we een webserver hosten met ESP8266 met toegangspunt. zal creëren een webserver die Access Point gebruikt met ESP8266 en we zullen een DHT11-sensor aansluiten en de temperatuur en vochtigheid op de webserverpagina afdrukken.
Stap 1: Dingen die je nodig hebt
1x ESP 8266 Nodemcu: 1x DHT11: 1x breadboard:.: Enkele springers:
Stap 2: Download de DHT11-bibliotheken
Open uw Arduino IDE en ga naar Sketch > Bibliotheek opnemen > Bibliotheken beheren. De bibliotheekmanager zou moeten openen. Zoek naar "DHT" in het zoekvak en installeer de DHT-bibliotheek van Adafruit. Na het installeren van de DHT-bibliotheek van Adafruit, typt u "Adafruit Unified Sensor" in het zoekvak. Scroll helemaal naar beneden om de bibliotheek te vinden en te installeren. Nadat u de bibliotheken hebt geïnstalleerd, start u uw Arduino IDE opnieuw op.
Stap 3: Aansluitingen
Het circuit is heel eenvoudig sluit alles aan Volgens zoals getoond in schmatics
Stap 4: Toegangspuntcode
Van mijn vorige instructables ga ik de webservercode van deze instructables wijzigen:
En verander het in toegangspunt-webservercode. Kopieer de onderstaande code:
#include "Arduino.h"#include "ESP8266WiFi.h"
#include "Hash.h"
#include "ESPAsyncTCP.h"
#include "ESPAsyncWebServer.h"
#include "Adafruit_Sensor.h"
#include "DHT.h"
const char* ssid = "ESP8266";const char* password = "password";#define DHTPIN 5 // Digitale pin aangesloten op de DHT-sensor// Maak opmerkingen over het gebruikte type sensor://#define DHTTYPE DHT11 // DHT 11#define DHTTYPE DHT22 // DHT 22 (AM2302)//#define DHTTYPE DHT21 // DHT 21 (AM2301)DHT dht(DHTPIN, DHTTYPE);// huidige temperatuur en vochtigheid, bijgewerkt in loop()float t = 0.0; float h = 0.0;// Maak een AsyncWebServer-object op poort 80AsyncWebServer-server (80);// Over het algemeen moet u "unsigned long" gebruiken voor variabelen die tijd bevatten// De waarde zal snel te groot worden voor een int om unsigned long previousMillis op te slaan = 0; // slaat de laatste keer op dat DHT werd bijgewerkt// Updates DHT-metingen elke 10 seconden constant lang interval = 10000; const char index_html PROGMEM = R"rawliteral(ESP8266 DHT-server)
Temperatuur %TEMPERATUUR% °C
Vochtigheid %VOCHTHEID% %)rawliteral";// Vervangt tijdelijke aanduiding door DHT-waardenString processor(const String& var){ //Serial.println(var); if(var == "TEMPERATURE"){ return String(t); } else if(var == "VOCHTIGHEID"){ return String(h);} return String();}void setup(){ // Seriële poort voor foutopsporingsdoeleinden Serial.begin(115200); dht.begin(); Serial.print("Instelling AP (Access Point)…"); // Verwijder de wachtwoordparameter als u wilt dat het AP (Access Point) open is WiFi.softAP (ssid, wachtwoord); IPAddress IP = WiFi.softAPIP(); Serial.print(" AP IP-adres: "); Serial.println(IP); // Print ESP8266 Lokaal IP-adres Serial.println(WiFi.localIP()); // Route voor root / webpagina server.on ("/", HTTP_GET, (AsyncWebServerRequest *request){ request->send_P(200, "text/html", index_html, processor); }); server.on("/temperature", HTTP_GET, (AsyncWebServerRequest *request){ request- >send_P(200, "text/plain", String(t).c_str()); }); server.on("/humidity", HTTP_GET, (AsyncWebServerRequest *request){ request->send_P(200, "tekst/plat", String(h).c_str()); }); // Start server server.begin();}void loop(){ unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) {// bewaar de laatste keer dat u de DHT-waarden hebt bijgewerkt previousMillis = currentMillis; // Lees temperatuur als Celsius (de standaard) float newT = dht.readTemperature(); // Lees temperatuur als Fahrenheit (isFahrenheit = true) //float newT = dht.readTemperature (true);// als temperatuur lezen mislukt, verander de t-waarde niet if (isnan (newT)) {Serial.println("Mislukt om van de DHT-sensor te lezen!"); } anders { t = nieuweT; Serieel.println(t); } // Lezen Vochtigheid float newH = dht.readHumidity (); // als het lezen van vochtigheid is mislukt, verander de h-waarde niet if (isnan (newH)) { Serial.println ("Kan niet lezen van DHT-sensor!"); } anders { h = nieuweH; Serieel.println(h); } }} Voordat u de code uploadt, moet u ervoor zorgen dat u de volgende dingen invoert: const char* ssid = "ESP8266"; // welke ssid van wifi je ook wiltconst char* password = "password"; // pass om verbinding te maken met bovenstaande ssidSet De ESP8266 als een toegangspunt: Om esp8266 als een toegangspunt in te stellen, gebruiken we het softAP-commando zoals hieronder getoond; om een toegangspunt te maken. WiFi.softAP(ssid, wachtwoord);Er zijn ook andere optionele parameters die u kunt doorgeven aan de softAP()-methode. Hier zijn alle parameters: Als u de seriële monitor opent, kunt u het IP-adres van het toegangspunt zien. Dit wordt gedaan door een deel van de code te volgen. IPAddress IP = WiFi.softAPIP();Serial.print("AP IP-adres: ");Serial.println(IP);Standaard is het IP-adres: 192.168.4.1
Stap 5: Laatste stap: testen
Na het uploaden van de code opent u vervolgens uw mobiel / pc wifi en maakt u verbinding met de esp8266 wifi (welke ssid en wachtwoord u ook in de code hebt ingevoerd, maak daar gebruik van). Open na het verbinden gewoon het IP-adres in uw browser dat we van de seriële monitor hebben gekregen (https://192.168.4.1.) en je kunt de temperatuur en vochtigheid in je browser zien als de mijne. En we hebben geen wifi-netwerk gebruikt om dit voor elkaar te krijgen, dus zo werkt het toegangspunt van esp8266.
Aanbevolen:
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
Maak een WiFi-toegangspunt en zorg voor een webserver op NodeMCU V3: 4 stappen
Maak een WiFi-toegangspunt en zorg voor een webserver op NodeMCU V3: in het vorige artikel heb ik het al gehad over het gebruik van NodeMCU ESP8266. In het artikel leg ik uit hoe je NodeMCU ESP8266 toevoegt aan Arduini IDE. Er zijn verschillende manieren om via internet te communiceren met NodeMCU ESP8266. NodeMCU maken als een
Aan de slag met MBlock Browser-gebaseerde codering voor HyperDuino: 3 stappen
Aan de slag met MBlock Browser Based Coding voor HyperDuino: Welkom bij de mBlock webgebaseerde tutorial met HyperDuino. Dit laat je zien hoe je mBlock instelt en je code uploadt naar je HyperDuino. Hier ziet u ook hoe u een basiscode voor een slimme auto kunt maken. Om te beginnen, laten we er meteen in springen
Wi-Servo: Wi-Fi Browser Gecontroleerde Servomotoren (met Arduino + ESP8266): 5 Stappen
Wi-Servo: Wi-fi Browser Controlled Servomotoren (met Arduino + ESP8266): Deze instructable laat zien hoe sommige servomotoren op afstand kunnen worden bediend in een wifi-netwerk, met behulp van een gewone internetbrowser (bijvoorbeeld Firefox). Dit kan in verschillende toepassingen worden gebruikt: speelgoed, robots, drones, camera pan/tilt, enz. De motoren waren
Script om een back-up te maken van Linksys Wireless Access Point-configuraties: 5 stappen
Script om een back-up te maken van Linksys Wireless Access Point-configuraties: deze instructie toont een script dat kan worden gebruikt om de back-up van linksys Wireless Access Point-configuraties te automatiseren. Dit kan eigenlijk eenvoudig worden bewerkt om een back-up te maken van bijna elk Linksys-apparaat