DIY: WeMos D1 - esp8266 på steroider... og enkel Blynk integrasjon

Så denne koden sørger da for reguleringen slik jeg skjønner det.

paa blir 1 dersom vørter er varmere enn ønsket. Void avpaa1 tar med seg verdien av paa, venter i 60 sekunder, digital write 14 high er sann uten at jeg vet hva den gjør. Ehhh. Joda skal etterhvert kunne forstå dette. Slik jeg ser det er det ikke en varmeutgang her?

Intervall1 er på 10 minutter. Det betyr at koden ikke kan slå av eller på kompressor i kjøleskapet med kortere intervall enn dette.
DigitalWrite(14,HIGH) slår på releet som kjøleskapet er koblet til.
Jeg har også en annen utgang med et relee som skal brukes til varme, men det har jeg ikke programmert enda.
Men som sagt, den implementeringen av Blynk som er gjort i koden ellers er ikke noe eksempel til etterfølgelse. Jeg skal legge ut ny versjon som er mer ihht retningslinjer i kveld.
 
Her er en ny versjon av koden. Den er enda ikke ferdig, men det som er implementert funker.
https://dl.dropboxusercontent.com/u/42275941/Kjoleskap_ts.ino
Her er Blynk inkludert mer ihht retningslinjene slik jeg oppfatter dem.
Etter at jeg har lagt inn flere knapper og avlesninger så får jeg nå ganske mange:
"Wemos D1 mini ... connection closed"
Dette fører til at kommunikasjonene mellom Wemos'en og mobilappen kan gå noe tregt, spesielt å endre verdier med "sliderne", men alt funker.
Jeg jobber videre med dette problemet. Ihht diverse foruminnlegg så kan det komme av dårlig wi-fi forbindelse eller at en overbelaster Blynk systemet med for mange meldinger. Jeg klarer ikke å finne at noen av delene er tilfelle nå, men skal forske videre.
Skrivingen til ThingSpeak foretas hvert 5 minutt, og går helt stabilt.
 
Her er en ny versjon av koden. Den er enda ikke ferdig, men det som er implementert funker.
https://dl.dropboxusercontent.com/u/42275941/Kjoleskap_ts.ino
Her er Blynk inkludert mer ihht retningslinjene slik jeg oppfatter dem.
Etter at jeg har lagt inn flere knapper og avlesninger så får jeg nå ganske mange:
"Wemos D1 mini ... connection closed"
Dette fører til at kommunikasjonene mellom Wemos'en og mobilappen kan gå noe tregt, spesielt å endre verdier med "sliderne", men alt funker.
Jeg jobber videre med dette problemet. Ihht diverse foruminnlegg så kan det komme av dårlig wi-fi forbindelse eller at en overbelaster Blynk systemet med for mange meldinger. Jeg klarer ikke å finne at noen av delene er tilfelle nå, men skal forske videre.
Skrivingen til ThingSpeak foretas hvert 5 minutt, og går helt stabilt.

Om du ikke allerede har gjort det, kunne du satt "reading frequency" til "PUSH" på widgets i Blynk?
Det gjorde ihvertfall underverker for meg mtp. disconnects! :)
 
Mange takk for tipset. Jeg prøvde det en tid tilbake, men da ble ikke verdiene i widgetene oppdatert.
Må jeg gjøre noe i programmet for å få til det?
Ellers så har disconnects gått ned ved å sette opp intervallene for oppdatering, men de skjer fremdeles og det er ikke alt som alltid blir oppdatert slik det skal.
 
Mange takk for tipset. Jeg prøvde det en tid tilbake, men da ble ikke verdiene i widgetene oppdatert.
Må jeg gjøre noe i programmet for å få til det?
Ellers så har disconnects gått ned ved å sette opp intervallene for oppdatering, men de skjer fremdeles og det er ikke alt som alltid blir oppdatert slik det skal.

Legge inn at den skal hente sensordata og kjøre virtualwrite i void loop(), kanskje? Usikker :p
Jeg har også slengt inn noen delays innimellom, for at det ikke skal gå for hyppig. Sender ikke all sensordata samtidig til de virtuelle pinnene.
Aner ikke hvor optimal denne koden er, for jeg er skikkelig nybegynner. Men sånn ser det ut når jeg bruker en DHT22-sensor, og tre widgets har "Reading frequency" PUSH:

void loop()
{
Blynk.run();
delay(2000);
// Read humidity
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);

if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}

// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);
oled.clear();
oled.println("Temperatur:");
oled.println();
oled.println();
oled.print(t);
oled.print (" *C");
Blynk.virtualWrite(0, t);
Blynk.virtualWrite(2, hic);
delay(4000);
oled.clear();
oled.println("Luft-");
oled.println("fuktighet:");
oled.println();
oled.print(h);
oled.print (" %");
Blynk.virtualWrite(1, h);
delay(2000);

}
 
Takk for tips. I retningslinjene for Blynk er de veldig klare på at delay() bør unngås.
Du bør heller legge inn en timer på de operasjonene du ikke vil skal foregå for ofte.
 
Å bruke pid for hlt er vel strengt tatt overkill. Jeg har det på mitt oppsett (rex). Men skulle jeg ha laget en slik styring i dag med microcontroller hadde jeg bare lagt inn en termostatfunksjon.
 
Har mottatt mine Wemoser nå, men ikke faen om jeg får dem opp å gå! Får feilmeldingene
"error: setattr stage 1 failed
error: espcomm_open failed
error: espcomm_upload_mem failed"
uansett hva jeg prøver av innstillinger. Har fulgt guiden her: http://www.wemos.cc/Tutorial/get_started_in_arduino.html til punkt og prikke til ingen nytte, og Google hjelper meg særs lite. Noen idé om hva som har gått galt?
Får opp samme problem jeg også. Hva var løsningen?
 
Har enda til gode at en skisse på arduino lastes opp problemfritt :p Får forsatt opp samme feilmelding etter å ha koblet D3 til jord med en 4.7k resistor.
 
Er det noen som har forslag til hva som er årsaken til feilen? Virker rart at man må koble flere innganger sammen for å i det hele tatt kunne laste opp en sketch....

warning: espcomm_sync failed
error: espcomm_open failed
 
Husker ikke helt hva jeg gjorde, for jeg prøvde alt mulig. Men jeg mener jeg kødda litt med hastigheten, ja, og prøvde litt forskjellige programmerere. Endte vel opp med USBasp, ja, og 921600.
 
Har prøvd alle programmene, alle hastighetene. Alle valg som er mulig å velge i menyen :p Har oppdatert alle bibliotek og kort. Har prøvd på 1.6.5-1.6.8.
 
Tilbake
Topp