Wifi gjæringstemperatur

Hadde det vert mulig å få en annen ESP til å styre varme/kjøling vha. data fra den i karet?

Godt spørsmål, jeg har jeg tenkt på det og kommet fram til at det blir vanskelig. På grunn av batterikapasiteten måler den hvert 5. minutt og det blir alt for langt intervall til å styre temperaturen etter. Jeg kunne hentet temperaturen fra Thingspeak og styrt en varme/kuldekilde etter det, men selv med ubegrenset med batterikapasitet kan ikke data sendes til Thingspeak oftere enn hvert 15. sekund. Det blir også for langt intervall å styre temperatur etter. En tredje mulighet er å koble seg direkte til ESP'en for å få kontinuerlig temperaturdata, men da er vi tilbake til batterikapasitet...
 
Godt spørsmål, jeg har jeg tenkt på det og kommet fram til at det blir vanskelig. På grunn av batterikapasiteten måler den hvert 5. minutt og det blir alt for langt intervall til å styre temperaturen etter. Jeg kunne hentet temperaturen fra Thingspeak og styrt en varme/kuldekilde etter det, men selv med ubegrenset med batterikapasitet kan ikke data sendes til Thingspeak oftere enn hvert 15. sekund. Det blir også for langt intervall å styre temperatur etter. En tredje mulighet er å koble seg direkte til ESP'en for å få kontinuerlig temperaturdata, men da er vi tilbake til batterikapasitet...

Har du testet batteri bruken ved forskjellig avstand til trådløsnettet? Det har stor betydning vil jeg tro selv om dataene er små pr. pakke sendt.
Jobber med trådløse bedriftsnett til vanlig, og ser stor forskjell på batterikapasitet på mobiler og bærbare pc'er hvis de har dårlig dekning[emoji4]


Sent from my iPhone using Tapatalk
 
Målet med en ESP er å lage mange, rimelige løsninger. Ved å hente temperatur fra en sensor utenpå karet har du mer enn nok info.... og da kan du like gjerne bruke en STC/ITC
 
Har du testet batteri bruken ved forskjellig avstand til trådløsnettet? Det har stor betydning vil jeg tro selv om dataene er små pr. pakke sendt.
Jobber med trådløse bedriftsnett til vanlig, og ser stor forskjell på batterikapasitet på mobiler og bærbare pc'er hvis de har dårlig dekning[emoji4]

Jeg har tenkt på det. Det er mulig å stille inn sendestyrken på ESP'en. Så hvis man har en ESP-mottaker rett utenfor gjæringsskapet, som har strømforsyning og som snakker direkte med den inne i vørteren så er det kanskje mulig. Skal tenke på det, men har flere bryggerelaterte prosjekt på gang så jeg får se når jeg får tid...
 
Sist redigert:
Usikker på om noen av dere har prøvd BrewPiLess (https://github.com/vitotai/BrewPiLess) En fork av BrewPi som kjøres på en ESP8266, så da slipper man RPI og Arduino.

Har ikke prøvd BrewPiLess, men det så interessant ut. Her er vel tanken å bruke sensor på gjæringskaret og at man derfor har tilgang til konstant strømforsyning. Veldig enkelt oppsett når man kan bruke kun en ESP8266.

Jeg har sett litt på den nye ESP32-brikken som har kommet. Den har både Bluetooth og Wifi installert. Det er sikkert mulig å ha en Bluetooth-sender som måler temp i vørteren og sender data til en ESP-32 i en tempstyringsenhet som både styrer temperatur og sender data videre til nettet. Med Bluetooth BLE vil et sånt oppsett bruke veldig lite strøm. Får se etterhvert om det er mulig å bygge noe sånt.

http://hackaday.com/2016/09/15/esp32-hands-on-awesome-promise/
http://hackaday.com/2016/10/31/whats-new-esp-32-testing-the-arduino-esp32-library/

http://www.ebay.com/itm/NodeMCU-32S...145680?hash=item360bea6910:g:rfYAAOSwB09YFAOA
 
Sist redigert:
Bygging

Det er flere måter å sette sammen delene på, jeg starter med tempsensoren. Bøyer til beina slik at selve sensoren blir stående på kanten av batteriholderen. Fester den med en dæsj smeltelim.
tepsensor.jpg


Jeg lodder ledninger på de tre beina, og isolerer med krympestrømper.
temps2.jpg krymp.jpg


ESP'en krever to tilkoblinger med +3,3v, så jeg avisolerer et lite område både på den ledningen som går til + på sensor og den som kommer fra + på batteriholderen og lodder dem sammen. Samtidig lodder jeg på motstanden på 4,7k og isolerer med en krympestrømpe.
motstand.jpg


Før jeg begynner å lodde på selve ESP'en isolerer jeg sidene på 'boksen' som skjuler elektronikken med elektrotape. Den er i metall og det er veldig fort gjort at det blir kontakt med en av ledningene ettersom loddepunktene ligger så nær. Den andre enden av motstanden lodder jeg på GPIO4 sammen med signal-ledningen fra sensoren. De to +ledningene loddes på henholdsvis VCC og EN. Enden på den svarte jord-ledningen avisoleres litt mer slik at den kan gå ned i GND, bøyes over mot GPIO15 og loddes på begge punktene. Til slutt loddes en ledning mellom RST og GPIO16. Jeg fester små biter av krympestrømper på hver ledning mot loddepunktet for ekstra isolasjon, isolasjonen på ledningen smelter ofte litt under loddingen. Ledningene blir også stivere rundt loddepunktet, noe som gjør at de tåler mer.
esp.jpg


Til slutt fester jeg ESP'en til batteriholderen med smeltelim, både for å isolere +-punktet på batteriholderen og for å gjøre hele konstruksjonen mer solid og stabil.
ferdig.jpg


Da er det bare å sette i batteriet og håpe at det dukker opp noe på Thingspeak etterhvert...
Lykke til!
 
Sist redigert:
Jeg har forandret litt på koden. Det var et problem når ESP'en ikke klarte å koble seg til nettet, noe som kan skyldes både eksterne problemer fra internettleverandør eller internt i huset på grunn av router eller modem. Hvis den ikke klarte å koble seg til ble den stående å forsøke helt til den klarte å koble seg til. Hvis nettet var borte over lenger tid, ville batteriet etterhvert bli utladet.

Så jeg har lagt inn en grense på 10 sekunder, hvis den ikke klarer å koble seg til i løpet av den tiden, vil den gå videre i koden, gå i dvale og forsøke neste gang. Jeg måler hvert 5.minutt så da går det 5 minutter til neste forsøk. Har redigert innlegget med koden lenger opp i tråden.

while ((millis() < 10000) && (WiFi.status() != WL_CONNECTED)) {
delay(500);
}

Har gitt opp OTA-programmering foreløpig. Problemet er at ESP'en må være online under programmering, og når den er i dvale er den selvsagt ikke det. En forutsetning for OTA er at ESP'en kommer opp i 'Port' i Arduino IDE, det rekker den ikke når den bare er koblet opp i et sekund eller noe sånt. Så hvis noen klarer å knekke den nøtta...
 
Sist redigert:
Så hvis noen klarer å knekke den nøtta...

Hva med å styre IP-adressene i DHCP-sereren manuelt og bruke det som indikator? Hvis IP-adressen er 10.0.1.201, la den oppføre seg som normalt, hvis IP-adressen er 10.0.1.201 vent lenger før hvilemodus.

Ikke fryktelig elegant, men burde fungere.
 
En løsning er at den leser inn en bryter fra EEPROM. Sett den i sleep når du kjører i drift, og la den stå uten ved programmering/feilsøking.
 
Hva med å styre IP-adressene i DHCP-sereren manuelt og bruke det som indikator? Hvis IP-adressen er 10.0.1.201, la den oppføre seg som normalt, hvis IP-adressen er 10.0.1.201 vent lenger før hvilemodus.

Ikke fryktelig elegant, men burde fungere.

Jeg forstår ikke helt hva du mener her. Den er tilkoblet kanskje ett sekund hvert 5. minutt, om den har fast IP-adresse gjør ingen forskjell så vidt jeg kan se?

Problemet er å 'fange' oppmerksomheten når den er online, noe som er nærmest umulig.
 
Problemet er å 'fange' oppmerksomheten når den er online, noe som er nærmest umulig.

Hva med å la wifi-dingsen kontakte en adresse på en server du har på din maskin (eller der du sender verdier) der du returnerer 1 om du vil den skal være våken litt lenger eller 0 om du vil at den skal sovne igjen?
 
En løsning er at den leser inn en bryter fra EEPROM. Sett den i sleep når du kjører i drift, og la den stå uten ved programmering/feilsøking.

Tanken min var å kunne programmere den trådløst når som helst, også når den var i drift, f.eks. i vørteren. Det går greit å programmere den ellers, når jeg har den ved pc'en, da kan jeg vekke den manuelt med reset>gnd.
Ser noen bruker en ekstern hendelse, f.eks. en manuell bryter trigget av en dør e.l. til å vekke den, men det blir problematisk her.

Men dette er jo ikke noe stort problem, det er sjelden man har behov for å programmere den når den er i drift. Neste prosjekt er å sette inn en ladeport så jeg kan lade batteriet uten å ta det ut, da kunne det samtidig vært en fordel å bruke OTA for programmering. Da kunne jeg 'forsegle' alt og aldri ta den ut. En manuell bryter er da nødvendig for å vekke den. Får jeg også presset inn en gyro som fungerer stabilt så skal jeg være fornøyd, men det er grenser for hvor mye man får pakket inn i et gjærglass...

Er ellers SVÆRT fornøyd med hvor jevn temperaturen er i to de gjæringskarene med jule-APA jeg har gående nå. Har en provisorisk løsning med en 100w keramisk reptilpære med en vifte under, men det fungerer bare utrolig bra. STC'en, med sensor på det øverste karet, er stilt inn på 20° og temperaturen varierer da mellom 19,7° og 20° (skapet står i utetemperatur). I karene er det mellom 19,80° og 19,86° (!!!).

gjkar.jpg
 
Sist redigert:
Har selv også gått bort fra OTA. Det ble ikke tilstrekkelig stabilt, og siden alle mine sensorer er lett tilgjengelige, var gevinsten svært liten - men en artig funksjon :)
 
Jeg forstår ikke helt hva du mener her. Den er tilkoblet kanskje ett sekund hvert 5. minutt, om den har fast IP-adresse gjør ingen forskjell så vidt jeg kan se?

Med metakode omtrent noe slikt:

Kode:
if ip_adresse == "10.0.1.201" then
   // Vent noen minutter så Amarillo kan fange oppmerksomhet
   sleep(240s)
   esp.deepsleep()
else
  // Vanlig drift - rett i søvne
   esp.deepslepp
fi

Gir du dingsen IP-adresse 10.0.1.201 så venter den litt før den går i dvale og du burde få tid til å programmere den. Ellers fungerer den normalt og sparer batteri.
 
Hva med å la wifi-dingsen kontakte en adresse på en server du har på din maskin (eller der du sender verdier) der du returnerer 1 om du vil den skal være våken litt lenger eller 0 om du vil at den skal sovne igjen?

Verdiene sendes til Thingspeak, så det er vanskelig å legge inn denne funksjonen her vil jeg tro, selv om de har forskjellige app'er som reagerer på hendelser. En lokal server er kanskje en god løsning. Den behøver vel ikke å stå på hele tiden heller, 0 kan være default og så kan jeg sende 1 når jeg skal programmere den. Tror det kan fungere ja, takk for tips.
 
Trådløs lading hadde hvert genialt..finner coiler på ali/ebay.. en lade port er vanskelig å få tett..

En liten tilt bryter kunne aktivert OTA,sett den på hode så aktiveres bryteren.
 
Sist redigert:
Gir du dingsen IP-adresse 10.0.1.201 så venter den litt før den går i dvale og du burde få tid til å programmere den. Ellers fungerer den normalt og sparer batteri.

Nå skjønner jeg hva du mener. Skifte til fast ip-adresse når jeg skal programmere og dermed utløse en kode som lar den stå på i en viss tid.
Det kan fungere, takk for tips.
 
Trådløs lading hadde hvert genialt..finner coiler på ali/ebay.. en lade port er vanskelig å få tett..

Tenkte å sette porten innenfor lokket på røret.
'Forsegle' er kanskje litt feil ord, når lokket skal kunne taes av. Tenkte mer på å feste alt inne i røret, f.eks. med lim så det blir 100% stødig. Det er helt nødvendig hvis gyroen skal gi konsistente data.
 
Jeg har null peiling på dette. Men kan den ikke sende ut en ping nå og da, og på event pong, så holder den seg våken lenge nok til at den får sendt neste ping, osv..
 
Tilbake
Topp