Fórumok
Sziasztok!
Adott egy mérőszoba, amelynek a benti hőmérsékletét (két ponton) kell rögzíteni.
WiFi van, internet van. Külön bármiféle szerver elhelyezésére nincs lehetőség.
Erre gondoltam: ESP32 nodeMCU 32S modul + két bluetooth XIAOMI (LYWSD03MMC) szenzor, majd félóránként
feltolni Google Sheetbe (ez a rész már random számokkal működik).
Mivel elsőre jónak kell lennie (felpattintja a tulaj a cumókat), - láttam ezt is, azt is erről a szenzorról -
és most szeretnénk megrendelni, működik így? Platform.IO alatt fejlesztem a programot. Későbbiekben OTA
lesz.
A beírt GS adatokkal meg azt csinálnak, amit akarnak.
Vagy mit javasolnátok megoldást? ZigBee, egyéb szerver lehetőség nem játszik.
Köszönöm,
Roland
Hozzászólások
ESP32C6 - van zigbee + WIFI + bluetooth támogatása is
Xiaomi szenzorokon firmwaret kell cserélni, hogy a sima bthome protokollon menjen, de ez ilyen egy klikkes dolog, elég fájdalommentes.
Ha random számokkal már megy az esp-s kapcsolat google felé, akkor csak egy ble observer kell még az esp-be, az sem vészes.
Szerintem felesleges bohockodni bt-vel meg zigbee-vel. Siman fogod a par euros esp32 lapkat, rakotsz egy filleres ds18b20 homerot, es meg is vagy. Ha OTA van, olymindegy, hogy 1 vagy N esp-t kell update-elni.
A gond ugye a 'moving parts', avagy a szabaly, hogy minel tobb dolgot drotozol ossze, annal megbizhatatlanabb a rendszer egesze. Keep it simple.
Nyomtam +1-et, de csak részben értek egyet. A saját cucc mindig többet fogyaszt, így azt konnektor közelébe kell rakni, és az nem mindig esik egybe a hőmérő ideális helyzetével, ráadásul gondolom a humán kiszolgálása információval szintén fontos, ezért vásárolt kijelzős hőmérőt a posztoló.
Amiért viszont nagyon egyetértek, az a madzag megbízhatósága. A xiaomi Bt hőmérők amikor gyengül az elem, néha nem szeretnek kommunikálni
Használok ilyet 3 db-ot. Az egyik, hogy valóban ATC fw-rel célszerű használni, azzal tökjó.
Viszont a gyenge elem: kommunikál az, azzal nincs para, ám míg 100%-os elemmel 5-10 m-ről is olvasható az adat (közte fal és betonfödém), addig ahogy 30% alá esik az akku, drasztikusan csökken a hatótáv.
fel se merult bennem, hogy par havonta bohockodni akarnanak akkukkal, ezert ugye a kabel kapasbol jobbnak tunt.
ha kell kijelzo, 1 euro korul van 1 4x8 szegmenses, esp32 siman viszi, kell 1 lib extra, amugy i2c, ha jol emlekszem.
a bt/zigbee ott van meglove, hogy -amennyire a szavaidbol kiveszem- te nem leszel ott szemelyesen, ergo nem fogod tudni a kulonbozo connection nyugoket ott debugolni.
Amugy azt nem ertem, miert ennek sajat fejlesztesu FW? (nyilvan nem szamolva a bevetelt :) ) Ez a feladatot kb barmelyik nagyobb ESP firmware megugorja...
Itt van pl egy konkret, mukodo Tasmota pelda kod:
https://github.com/arendst/Tasmota/discussions/15441#discussioncomment-…
https://github.com/arendst/Tasmota/discussions/18758
Tasmotával egyáltalán nem foglalkoztam. E hőmérős nyúlfarknyi "projekt" miatt nem ugornék bele.
Saját programban minden sorát érteni vélem :)
Egyre jobban hajlok én is már a vezetékes DS18B20 szenzor felé.
Egy modulra kötnék kettőt. Már azt kell tisztázni, hogy mennyire akceptálható a tulajnak a vezetékezés...
Mennyire pontos hőmérséklet kell neked?
Mert a DS18B20 adatlapja szerint:
Accuracy - Highest (Lowest) ±0.5°C (±2°C)
Mivel ez tájékoztató jelleggel kell, ill. néha egy ventilátor kapcs.
Bőven elég a DS18B20
Alis klonok eleg precizek, ennel legalabbis jocskan. Es ugye a lib-je meg ugy van megirva, hogy a precizio attol fugg, mennyit tudsz varni, extrem esetben 15-16 bites is tud lenni.
A precizitás meg a pontosság egymástól független fogalmak. Lehet a szenzor rendkívül precíz, de teljesen pontatlan.
Az, hogy 15-16 bites eredményt ad, nem jelent semmit.
Igazad van!
De, hogy hozzaszoljak: felcsapja az ember az alit, elso ds18b20 hirdetesre klatty, es ime:
Szerintem jo ez. link
Egy fontos adalek, az accuracy-t ugy kell erteni persze, hogy nagyjabol fix hiba, tehat nem meresenkent 'ugral' vagy ilyesmi.
Gyakorlatban nalam 1/8 fokos pontossaggal mer, es nehany tized fok kulonbseggel ugyanazt, mint egy masik homero par meterrel odebb (fyi, ez ekkora tavolsagra realis kulonbseg), szoval azt mondanam, atlagembernek boven jo a pontossaga, meg sok is, ha letezik ilyesmi. :D
Én vettem aliról, tokozatlanokat, azok nagyon pontatlanok voltak, töb fok eltéréssel, (persze lehet kalibrálni). Vettem hestorból kábeles , vízhatlant. Ezeket ellenőriztem "lázméréssel" : 36,3 volt altalában az pár darab amit vettem. 36,6 egyik sem.
Zigbee: akár évekig elmennek egy gombelemmel, Viszont a zigbee szenzoroknak van egy hiányossága, ha elveszíti a kordinátorral a kapcsolatot , nem tudsz róla, mert csak bizonyos hőfokváltozásnál kapcsolódik, nem tudni hogy lemerült az elem, vagy csak pár órája stabil a hőfok.
Talán a thread mesh jobb lesz majd , valamikor....
https://blog.claryel.hu
Az analog.com adatlapja szerint:
Azért az analog.com-ban jobban bízom, mint az AliExpress leírásban.
Az 1/8 fok az szerintem nem pontosság, hanem az eszköz felbontása (ami egy harmadik paraméter a pontosság és precizitás mellett), semmit nem jelent a pontosság szempontjából, csak azt korlátozza, hogy annál precízebb nem lehet az eszköz. Az, hogy leolvasol valamit az eszközről valamilyen felbontás szerint, nem jelenti azt, hogy az eszköz valóban ilyen precizitással tud mérni.
Például lehet nekem olyan eszközöm, ami ugyan 6 tizedesjeggyel kijelez valamit (vagy leolvashatok róla ilyet, analóg műszer esetén), de valójában a relatív pontossága 0.1%, az abszolút pontossága meg 0,1.
Az analog.com-os adatlap szerint is: Programmable Resolution from 9 Bits to 12 Bits
Csak éppen ez semmit nem számít, ha egyszer -10 és 85 Celsius-fok között a pontossága az 0.5 Celsius-fok.
Még ha a kijelzett érték az éppen 32.1875, attól még az nem változik meg, hogy annyit lehet tudni, hogy a valódi hőmérséklet valahol a 31.6875 és 32.6875 között van, ami a pontosságot figyelembe véve 32, 32.5 vagy 33 fokos mérést jelent.
Ha a pontosságot átállítanám 0.125-re, attól még nem változna az meg, hogy annyit tudok mondani, hogy a hőmérséklet az eszköz szerint 32, 32.5 vagy 33, ennél pontosabb mérést ő nem tud, minden adat, ami 31.5-nél több és 33.5-nél kevesebb van, ugyanezt jelenti.
Az egész felbontás téma csak azért számít, hogy tudd, hogy a megkapott bináris adatot hogyan kell konvertálnod (mennyivel kell skáláznod), a mért érték pontosságát nem befolyásolja.
azert irtam az 1/8 fok pontossagot, hogy tudd mihez viszonyitani, amikor azt mondom, hogy "a par meterre levo masik homero is kb. tizedfokra ugyanannyit mer". :) nyilvan, ha 1/8 fok precezioval olvasom ki, akkor kapasbol nem erdekes ugye 1-2 tized fok elteres. ami egy szobai homeronel nem meglepo, a legtobb embernek mar a fel fokos precizitas is 'uj'. :)
Az ali leirasa annyiban szamit, de, hogy ha kimered es nem hozza a pontossagot, akkor refund, es ingyen volt. Szoval a kereskedo 2 dolgot tehet: nagyot mond, es benyeli, ha valaki megis kimeri, vagy pontos adatokat ad meg. Tekintve, hogy ez kinai gyartmanynak tunik, nem lennek meglepve, ha mas lenne a specifikacioja, mint az analog.com -osnak. De persze nem tudom biztosra; en csak egy szobahomerot akartam, es arra tok jo, csak ajanlani tudom.
Shelly Plus H&T nem opció? Elemes is tud lenni, wifi is van benne, USB-ről is tud menni, weblapján scriptelhető is, szóval akárhova tud szólni. ESP32 van benne, szóval ha nem tetszik, amit tud, hivatalosan is rárakhatsz saját magad írt szoftvert is, és a hőmérő is benne van.
Felmerült ez is. Csak az ára... négy darab kellene.
Kell páratartalom is vagy elég csak a hő? Utóbbi esetben a legolcsóbb kombó egy wemos d1 mini amin esp8266 van és egy ds18b20, és ebből készíts 4 darabot, bluetooth és egymás közti beszélgetés nélkül.
Elég a hőmérséklet.
Igen, valószínű ez lesz.
2 db ESP 8266 D1 mini, és mindkettőhöz 2-2 db DS18B20 - a terv
Teljesen jó. Arra kell csak figyelni, hogy a DS Vcc és Data lábai közé kell rakni egy 2-6kOhm közötti ellenállást, különben randomra nem fog működni.
Egy működő esphome yaml. egy relével , 3 hőmérő, webes felülete bekapcsolva
https://blog.claryel.hu
Átírtam ESPHome alá.
A Google Sheet-be nem tudok beleírni, böngészőből ez a link megy.
ESPHome termináljában ezt kapom:
[D][main:084]: Response status: -5
[W][http_request:081]: HTTP Request failed; URL: https://script.google.com/macros/s/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/exec?…; Error: connection lost
Az ESPHome yaml rész:
Interval:
- interval: 60s
then:
- http_request.get:
url: !lambda |-
char buf[200];
sprintf(buf, "https://script.google.com/macros/s/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/exec?…", rand()%100, rand()%200);
return ((std::string) buf).c_str();
headers:
Content-Type: application/json
verify_ssl: true
on_response:
then:
- logger.log:
format: 'Response status: %d'
args:
- status_code
Mit bökök el?
"Currently ESPHome can’t verify the SSL certificate of the endpoint. Set
verify_ssl: false
to make HTTPS request."Nem tudom mi történt, visszaírtam "true"-ra és megy...
Ha a "verify_ssl: false" - ugyanez :(
Hogy lehet azt megcsinálni, (mivel 4 db DS18B20 lesz), hogy tetszőlegesen bármelyik helyére bármelyiket lehessen telepíteni? (nem leszek ott, amikor építik be. Esetlegesen bármelyik bárhol lehet).
ESPHome-ban, csináljak 4 sensort és ami-ami? Csak rögzítés, minimális automatizálás (relé kapcsol értéktől - hiszterézistől)
Nem address, hanem index-szel hivatkozok a szenzorokra.
Ha jol gondolom, az index a cimbol jon, szoval fix a sorrend. Innentol osszedugod otthon, egymas utan felmelegited oket, megnezed hanyadik indexu homerseklete valtozott, es ez alapjan beszamozod. A felhasznalo meg tudni fogja, hogy a 2-es homero az, amit a szajaba dugott, a 3-as ment a varjunk csak..
A strange game. The only winning move is not to play. How about a nice game of chess?
Igaz.Köszönöm!