draadloze Ultrasone niveau meting

Goede namiddag iedereen,

Voor een schoolproject heb ik de vraag gekregen om een niveaumeting te doen in een regenwaterput met een ultrasone sensor. Hierbij hebben zij ook gevraagd om deze ultrasone niveaumeting draadloos te maken zodat we vanop afstand (bv. via een app op je mobiel) het waterniveau in de regenwaterput te kunnen raadplegen.

de niveaumeting zelf was snel gemaakt, maar ik heb geen kennis om deze waarden op een draadloze manier naar een app met je gsm connecteert. Ik ben tevens wel in het bezit van een WeMosD1 module maar weet niet of ik dit bij dit project kan toepassen.

Heeft er iemand meer kennis over dit onderwerp om mij verder te helpen?

Alvast bedankt voor jullie tijd en moeite,

Met vriendelijk groeten,

Sean Roeckaerts

sean.roeckaerts@gmail.com

welkom op het forum

dit project doet ongeveer wat je wil maar met een vochtigheid/temperatuursensor.

een nodeMCU is vergelijkbaar met een WeMosD1

werkt niet met een app, wel met een browser.

Je zou blynk kunnen gebruiken als app met de wemos.

ArdLab_Gent:
welkom op het forum

dit project doet ongeveer wat je wil maar met een vochtigheid/temperatuursensor.

een nodeMCU is vergelijkbaar met een WeMosD1

werkt niet met een app, wel met een browser.

ESP8266 DHT11/DHT22 Web Server Arduino IDE | Random Nerd Tutorials

Beste,

Alvast bedankt voor jouw informatie.

Ik heb de sketch getest en deze werkt ook goed, maar hij geeft een failure bij het uitlezen van de temperatuur en vochtigheidssensor (3pins). Heeft u toevallig ook de info op welke poort ik mijn signaal pin van mijn sensor op mijn wemos D1 bord moet aansluiten?

Nogmaals bedankt,

Sean Roeckaerts

welke sensor gebruik je ?
hoe is die aangesloten ?

heb je in de sketch de overeenkomstge lijn uit commentaar gehaald ?

// Uncomment one of the lines below for whatever DHT sensor type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

volgens de sketch wordt pin 5 gebruikt om de sonsor te verbinden
// DHT Sensor
const int DHTPin = 5;

ik denk dat pin 5 op de wimosD1 overeenkomt met D1.
https://forum.wemos.cc/uploads/files/1476721680059-wemosd1mini.jpg

ArdLab_Gent:
welke sensor gebruik je ?
hoe is die aangesloten ?

heb je in de sketch de overeenkomstge lijn uit commentaar gehaald ?

// Uncomment one of the lines below for whatever DHT sensor type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

volgens de sketch wordt pin 5 gebruikt om de sonsor te verbinden
// DHT Sensor
const int DHTPin = 5;

ik denk dat pin 5 op de wimosD1 overeenkomt met D1.
https://forum.wemos.cc/uploads/files/1476721680059-wemosd1mini.jpg

Beste,

ik gebruikt de DHT11 sensor maar ik weet niet welke pin, pin 5 op mijn wemos D1 bord is. Er staat wel een D5 pin op maar deze geeft ook een failure.

hieronder vind u mijn sketch,

Alvast bedankt voor uw snelle reactie.

/*********
Rui Santos
Complete project details at http://randomnerdtutorials.com
*********/

// Including the ESP8266 WiFi library
#include <ESP8266WiFi.h>
#include "DHT.h"

// Uncomment one of the lines below for whatever DHT sensor type you're using!
#define DHTTYPE DHT11 // DHT 11

// Replace with your network details
const char* ssid = "";
const char* password = "
";

// Web Server on port 80
WiFiServer server(80);

// DHT Sensor
const int DHTPin = 5;
// Initialize DHT sensor.
DHT dht(DHTPin, DHTTYPE);

// Temporary variables
static char celsiusTemp[7];
static char fahrenheitTemp[7];
static char humidityTemp[7];

// only runs once on boot
void setup() {
// Initializing serial port for debugging purposes
Serial.begin(115200);
delay(10);

dht.begin();

// Connecting to WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Starting the web server
server.begin();
Serial.println("Web server running. Waiting for the ESP IP...");
delay(10000);

// Printing the ESP IP address
Serial.println(WiFi.localIP());
}

// runs over and over again
void loop() {
// Listenning for new clients
WiFiClient client = server.available();

if (client) {
Serial.println("New client");
// bolean to locate when the http request ends
boolean blank_line = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();

if (c == '\n' && blank_line) {
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
strcpy(celsiusTemp,"20");
strcpy(humidityTemp, "80");
}
else{
// Computes temperature values in Celsius + Fahrenheit and Humidity
float hic = dht.computeHeatIndex(t, h, false);
dtostrf(hic, 6, 2, celsiusTemp);
float hif = dht.computeHeatIndex(f, h);
dtostrf(hif, 6, 2, fahrenheitTemp);
dtostrf(h, 6, 2, humidityTemp);
// You can delete the following Serial.print's, it's just for debugging purposes
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.print(" *F");
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
// your actual web page that displays temperature and humidity
client.println("");
client.println("");
client.println("

ESP8266 - Temperature and Humidity

Temperature in Celsius: ");
client.println(celsiusTemp);
client.println("*C

Temperature in Fahrenheit: ");
client.println(fahrenheitTemp);
client.println("*F

Humidity: ");
client.println(humidityTemp);
client.println("%

");
client.println("");
break;
}
if (c == '\n') {
// when starts reading a new line
blank_line = true;
}
else if (c != '\r') {
// when finds a character on the current line
blank_line = false;
}
}
}
// closing the client connection
delay(1);
client.stop();
Serial.println("Client disconnected.");
}
}

ArdLab_Gent:
welke sensor gebruik je ?
hoe is die aangesloten ?

heb je in de sketch de overeenkomstge lijn uit commentaar gehaald ?

// Uncomment one of the lines below for whatever DHT sensor type you're using!
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

volgens de sketch wordt pin 5 gebruikt om de sonsor te verbinden
// DHT Sensor
const int DHTPin = 5;

ik denk dat pin 5 op de wimosD1 overeenkomt met D1.
https://forum.wemos.cc/uploads/files/1476721680059-wemosd1mini.jpg

Beste

In mijn net verstuurde sketch stond een fout deze is de juiste
mij excuses.

// Including the ESP8266 WiFi library
#include <ESP8266WiFi.h>
#include "DHT.h"

// Uncomment one of the lines below for whatever DHT sensor type you're using!
#define DHTTYPE DHT11 // DHT 11

// Replace with your network details
const char* ssid = "YOUR_NETWORK_NAME";
const char* password = "YOUR_NETWORK_PASSWORD";

// Web Server on port 80
WiFiServer server(80);

// DHT Sensor
const int DHTPin = 5;
// Initialize DHT sensor.
DHT dht(DHTPin, DHTTYPE);

// Temporary variables
static char celsiusTemp[7];
static char fahrenheitTemp[7];
static char humidityTemp[7];

// only runs once on boot
void setup() {
// Initializing serial port for debugging purposes
Serial.begin(115200);
delay(10);

dht.begin();

// Connecting to WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Starting the web server
server.begin();
Serial.println("Web server running. Waiting for the ESP IP...");
delay(10000);

// Printing the ESP IP address
Serial.println(WiFi.localIP());
}

// runs over and over again
void loop() {
// Listenning for new clients
WiFiClient client = server.available();

if (client) {
Serial.println("New client");
// bolean to locate when the http request ends
boolean blank_line = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();

if (c == '\n' && blank_line) {
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
// Read temperature as Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
strcpy(celsiusTemp,"Failed");
strcpy(fahrenheitTemp, "Failed");
strcpy(humidityTemp, "Failed");
}
else{
// Computes temperature values in Celsius + Fahrenheit and Humidity
float hic = dht.computeHeatIndex(t, h, false);
dtostrf(hic, 6, 2, celsiusTemp);
float hif = dht.computeHeatIndex(f, h);
dtostrf(hif, 6, 2, fahrenheitTemp);
dtostrf(h, 6, 2, humidityTemp);
// You can delete the following Serial.print's, it's just for debugging purposes
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.print(" *F");
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
// your actual web page that displays temperature and humidity
client.println("");
client.println("");
client.println("

ESP8266 - Temperature and Humidity

Temperature in Celsius: ");
client.println(celsiusTemp);
client.println("*C

Temperature in Fahrenheit: ");
client.println(fahrenheitTemp);
client.println("*F

Humidity: ");
client.println(humidityTemp);
client.println("%

");
client.println("");
break;
}
if (c == '\n') {
// when starts reading a new line
blank_line = true;
}
else if (c != '\r') {
// when finds a character on the current line
blank_line = false;
}
}
}
// closing the client connection
delay(1);
client.stop();
Serial.println("Client disconnected.");
}
}

heb je al geprobeerd op pin D1?
zijn de andere verbindingen van de DHT11 correct ?

ik ga vandaag eens testen met een wemos D1 mini kaartje tot hiervoor probeerde ik dit met de grote kaart van wemos misschien dat dit wel werkt.

alvast badankt,

Blijft dezelfde processor en esp8266

nicoverduin:
Blijft dezelfde processor en esp8266

Beste,

mijn project werkt met deze wemos kaart. heeft u toevallig ook het idee hoe ik dit programma herschrijf voor een ultrasone sensor.

alvast bedankt,

Dan moet je wat specifieker zijn. Bovenstaande codes is in ieder geval van een redelijk matig nivo( en dan breng ik het nog netjes). Geen zinvolle commentaar waardoor het lastig is om functionaliteit toe te voegen of te wijzigen. Weinig structuur.... typisch gevalletje van knippen en plakkeb wat het allemaal stukken moeilijker maakt. Vandaar mijn vraag voor heldere specificaties wat je precies wilt. Kun je het niet beschrijven dan kun je het niet bouwen.....