Raspberry Pi vezetéknélküli mérések?

 ( ibenny | 2016. január 3., vasárnap - 23:00 )

Sziasztok,

Nemrég beszereztem egy új típusú Raspberry Pi-t, tökéletesen teszi a dolgát abban, amire használom, de gondoltam bővíteném a felhasználás körét. Mivel többször szóba került itt a fórumon is, hogy többen rendelkeznek ilyesmivel, gondoltam első körben itt kérdezek, mert rövidebb keresés után a neten nem találtam kielégítő válaszokat.

Amit szeretnék megvalósítani:

- szobánkénti hőmérséklet és páratartalom-mérés úgy, hogy az adatok a Raspberry-re érkeznek, az dolgozza fel vmilyen módon (megjelenítés, adott esetben riasztás és hasonlók, de ez a kisebbik "probléma", vagy kérdés, ha a második ponton túljutok, ezt könnyen megoldom)
- a nagyobbik gond, hogy ezt vezeték nélkül szeretném megvalósítani - pl. úgy, hogy a releváns helyiségekben egy-egy szenzor, ami továbbítja az adatokat a Pi felé, ami után jön a feldolgozás
- rádiós vagy wifi-s megoldásra gondolnék, esetleg bluetooth-osra, ha van ilyen (tehát csatlakoztatok a Pi-re egy vevőt praktikusan usb-n, a Pi a router mellett van), de ahogy említettem, a rövid keresés után nem jött szembe az általam elképzelt eszköz/megoldás (de lehetséges, hogy nincs is ilyen, mert:)

Amit viszont nem szeretnék:

- forrasztani, fúrni-faragni - se eszközöm nics az ilyesmihez, se kedvem, ezért ha csak úgy lehetséges a megvalósítás, sajnos el kell tekintenem tőle

Csináltatok-e már ilyesmit, illetve van-e esetleg ötletetek, hogy hogyan lehetne megvalósítani (ha egyáltalán)?

Köszönöm előre is!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Arduino-val megoldható. Forrasztani sem muszáj, ha próbapanelon összerakod és úgy használod. Az adattovábbítás mehet rf modulon (315MHz, 433MHz, 2.4GHz) sorosan, bluetoothon, wifi-n.

+1

Subs

Esp2866 tud wifin keresztül kommunikálni és van benne hőmérő.
Neked valószínű nem felel meg, mert ezt még neked kéne dobozolni, táplálni, felprogramozni. Páratartalmat, azt hiszem, nem tud.

Esetleg nézd meg!

"van benne hőmérő" - errol nem is tudtam, de ha van is, az ESP8266 annyira fut, hogy nem a szoba homersekletet fogja mutatni.

/sza2

Éppen egy ESP8266-vel foglalkozom, kézzel azért nem érzékelhető
a hőmérséklete, de az infra hőmérő egyértelműen mutatja hogy
melegebb a mint a környezet. (26~28C).
Ha van is beépített hőmérője, az nem lesz jó a környezet mérésére.
Ugyan ez igaz lehet a konnektorba dugható mérőről,
a táp által termelt hőt fogja mérni, nem a szobát.

Mik a tapasztalatok vele? Én ilyenben gondolkozom, lévén wifi mindenhol van a lakásban. Egy akkupakk meg egy hőmérséklet/páratartalom szenzor van a tervben.

Mar nem emlekszem pontosan, de ugy remlik ~50-60mA volt a fogyasztasa nem adas kozben, adaskor meg felment ~200-300mA-re.

Ha nem hasznalod aktivan a sleep modot, akkurol nem fogja sokaig birni. Az egyik munkatarsam csinalt ezzel valami szenzort ami akksirol megy, nem emlekszem mi volt a gondja, de valami olyasmi remlik, hogy csak kulso interrupt tudja felebreszteni, es gyakorlatilag egy reset-tel egyenlo, tehat minden elolrol kezdodik. O a NodeMCU firmware-rel hasznalja, de szerintem a nepek nagyobb resze ezt teszi, mert egyszerubb, mint megcsinalni hozza a megfelelo fejlesztoi kornyezetet amiben nativan lehet programozni, meg azert kicsit jobban bele is kell mellyedni.

En USB-s toltorol jaratom az enyemet, egy DS18B20 van raakasztva, minden cucc a lakason belul van, csak a homero van kivezetve egy keteres madzaggal, NodeMCU van rajta, a thingspeak.com-ra tolja az adatokat. Igy egesz hasznalhato. Brrrrrr... -7.23C van kint.

/sza2

Nekem a ESP-12E verzio van (fólia antenna, külső antenna csatlakozó nélkül)
Jelenleg két jelfogót lehet ki-be kapcsolgatni két nyomógombbal és böngészőből.
Arduinoban van "össztákolva" , a programozás csak kikapcsolódás nekem.
Szerintem akkurol nem gazdaságos járatni, ahhoz azért nagy a fogyasztása.
Néhány $ -ból össze lehet rakni egy 230v-5v-3.6v tápot.
A szenzoroknak kellhet az 5v, az esp8266 meg 3.6v -ról megy.
Az ESP8266 -65 dB , a telefonom -60dB jelszintet lát az asztalomon a lakás "lakáswifi"-ből. (ez nyilván tájékoztató jellegű adat)

Mennyire bonyolult egy DHT22-t illeszteni ehhez?

Ha ez igaz, akkor ennyire

Kb. egy hónapja gondolkoztam én is pont ilyesmin. Egy Pi, szobánként egy-egy hőmérséklet és páratartalom érzékelő. A Pi gyűjtené be az adatokat. Én még egy érintőképernyőt tennék a Pi-re, hogy könnyen, rápillantva le lehessen olvasni róla az adatokat.

Azok a kérdések merültek fel bennem is, amiket írtál, neten pedig én sem találtam semmi ilyesmit.

Én valami 230V-os fali aljzatba dugaszolható megoldásban - mint doboz - gondolkoznék az érzékelők tekintetében. Nem akarok időnként elemet venni, akkukat töltögetni, de még csak méteres vezetékeket sem kerülgetni. A forrasztás, kicsi mechanikázás tőlem nem áll távol, mivel nem szériatermék lenne belőle, "belefér" kategória. Az érzékelőknek tápfeszültségre van szükségük, amit a fali aljzatba dugaszolva nem lenne probléma előállítani... de itt mindenképpen számolni kell valamiféle melegedéssel, ami mind a páratartalmat, mind a hőmérsékletet befolyásolja. Mivel az érzékelő és a tápegység maximum 10 cm-es távolságra lennének egymástól, feltehetően nem is valós (a szobában uralkodó) értékeket mérne. Ez kissé lehangolt e témában. Erre gondoltál/milyen ötleted volna?

Eleinte en is RPi + kepernyoben gondolkodtam, de azutan rajottem, hogy felesleges. Egy HTTP szerver, es az osszes okos eszkozrol (+ PC / notebok) el lehet erni (+ adott esetben VPN-is, ami nagy elony tud lenni, ha esetleg tavoldol vezerelned / monitoroznad).

A fali dugaszolossal azert az gond lehet, ha nem ott van az aljzat, ahol merni szeretnel. Mivel itt surun nem kell frissiteni (percenkent szerintem eleg), akar ket ceruza elemrol/akkurol (bar az akkuknal gond lehet az onkisules) evekig el tud jarni.

Egyebkent a homerseklet es a paratartalom mellett en a tapfeszultseg erteket is atkuldom, igy lehet riasztast kuldeni, ha szukseges az elemek csereje.

/sza2

>> en a tapfeszultseg erteket is atkuldom

Ezt hogy lehet mérni esp8266 -tal, mondjuk LUA -ban?

Nagyjabol ilyesmit takolok eppen, arduino pro mini hajtja a szenzorokat, a mereseket dht22/bmp180 szenzorok csinaljak, az adatokat nrf24 (spi interface-es) radion kuldom, raspberry fogadja, tovabbitja, miegyeb.

Biztos van hatekonyabb megoldas is, nalam legalabb felereszt az a cel, hogy reg elfelejtett dolgokat ujra megtanuljak :) Emiatt aztan forrasztas az pl lesz benne (mukodik persze breadboard-on is, de ha allandora szeretne az ember, akkor csak kenytelen rendesen osszerakni, kulonben szethullik..)

Lehet ehhez a projekthez társulni?

Felrakhatom githubra vagy valahova ami van, de ne szamits nagyon bonyolult dolgokra :)

Szerintem xbee kell Neked.

Szerintem ha a hardware-t keszen szeretned, nem akarsz barkacsolni akkor aranylag kis valoszinuseggel fogsz olyat talalni ami megfelel az elvarasaidnak (egyreszt, masreszt nem hinnem, hogy olcso lesz). En nem tudok a piacon olyan off-the-shelf cuccot ami pl. Linux-szal mukodne.

A Wi-Fi szerintem talan a legkevesbbe jo valasztas, sokat fogyaszt, egyre zsufoltabbak a savok, lakason belul ha vasbeton falak vannak, nem biztos, hogy eleg eros a jel (nalunk az emeleti Wi-Fi a garazsban mar nem latszik). Egy elonyet latom, Wi-Fi-s eszkozoket integralni a mar meglevo infrastukturadba aranylak egyszeru - vegulis en is hasznalok ilyet homerokent, de ez inkabb csak olyan gyorsan osszedobtam, nezzuk meg mukodik-e project. ESP8266 alapokon, DS18B20 1-wire homerovel ( https://thingspeak.com/channels/23461 )

A BLE (mas neven Bluetooth Smart) jo valasztas lehet, mivel egeszen energiahatekony. Raadasul eleg felgasznalobarat modon lehet informaciot tovabbitani (lasd GAP / GATT), sok eszkozre van kesz stack, csak hasznalni kell). Ami a tavolsagot illeti, talan rosszabb a Wi-Fi-nel, ez is 2.4GHz-en megy, de joval kisebb teljesitmennyel. Szorakoztam ilyennel is, A Texas (ChipCon) CC2541-es MCU + radio egy tokban IC-jevel - mukodott, de vegul nem ezt valasztottam (erre pl. csak IAR forditoval lehet programot irni ami kicsit gaz, mert a code limited valtozattal a BLE stack-et sem lehet hozzalinkelni a project-hez, mert meghaladja a limitet, ergo, ha nincs par ezer USD-d ra, es mondjuk a munkahelyeden sincs (nekem ilyen szempontbol szerencsem van) akkor marad a warez (ja es csak Win alatt tudsz fejleszteni).

Nnna. A vegere hagytam a (nalam) befutot. Ez egy C8051F931-es MCU + Si4431-es radio + Si7021-es ho- es paratartalommero (I2C). A hardware gyakorlatilag kesz, Es a firmware is mukodget mar - a fejlesztoi kornyezet ingyenes (Simplicity Studio), van Lin/Win/Mac verzio. A fejleszteshez en ezeket a hardware-eket hasznalom:

https://www.silabs.com/products/wireless/EZRadio/Pages/EZL-DK1.aspx

illetve egy ehhez hasonlot (de most nem talalom - azon csak egy Si7021 van, illetve egy csatlakozo):

http://www.silabs.com/products/sensors/humidity-sensors/Pages/si7013evb-udp.aspx

A teljes rendszerben csak az "antennas" modul illetve a szenzor modul lesz, a "peripheral board" csak a fejleszteshez kell. Nagyjabol 10-es/20-as nagysagrandben tervezek szenzorokat hasznalni amik egy darab "gateway"-hez csatlakoznak, ami vagy soroson vagy USB-soros atalakitoval fog a Raspberry Pi-hoz csatlakozni, elso korben csak belenyomja a vett adatokat egy adatbazisba.

Csinaltam range tesztet, ugy, hogy az egyik egyseg a lakason belul volt a masikkal elsetaltam mintegy 300m-t, stabilan mukodott (meg persze a hazon belul a legtavolabbi sarkokban is) - ez nyilvanvalo elonye a sub-GHz radioknak.

Mondjuk a fentiek mindegyike a barkacsolasrol szol, egyik sem keszen kaphato egysegeket hasznal, de modulokbol epul fel, tul sok forrasztgatast nem igenyel (ettol fuggetlenul nem tudom mikor lesz eles, ha az elkovetkezo 5 even belul akkor elegedett leszek ;-)

/sza2

sub

+1

ezzel kapcsolatban én is érdeklődnék, valami hasonlót szeretnék itthonra.

A terv az, hogy ha egyszer mukodik, felteszem github-ra, vagy valahova - viszont nincs deadline. Szoval ram ne szamitsatok ;-) (Na jo, azert probalok kihozni belole valamit mihamarabb). Lehet, hogy irok rola valami blogot, hogy mire jutottam eddig, aztan majd update-elem. De lehet, hogy nem, mert lusta vagyok - illetve inkabb magara a megvalositasra koncentralok.

/sza2

felvetném azt a lehetőséget, hogy ha tudsz olcsóbban beszerezni cuccot ha többet rendelsz, akkor beszéljünk mailben és beszállok. Nekem olyan 10 "érzékelő" és 2 "feldolgozó" egység tuti kellene.

cs

A feldolgozo egyseg alatt az MCU + radiot erted? Szenzorral kapcsolatban nem biztos, hogy tudok segiteni, a radios modul ugyeben dobj egy privat uzenetet.

/sza2

[Feliratkozás]

+1

+1

Csinaltam hasonlot itthonra (akkor breadboardon volt, azota szetszedtem, es meg nem raktam ossze veglegesre, mast butykolok epp).
Arduino nano volt az alapja, ESP8266-01 modulon keresztul logott wifin, 2 db DS18B20-as merte a homersekletet (a kinti vizallo tokban), es egy fenyerzekelot tettem ra pluszban. Tapot a Nano USB csatijan kapott, sima 5V USB-s taprol.
Paratartalmat nem mertem vele (bar van itthon DHT11-esem is, szoval megtehettem volna), kijelzoje nem volt. Ehelyett http-n keresztul kuldte a homersekletet, ahol egy php script naplozta (csv-be), valamint a Pebble-mre kuldte az epp aktualis allapotot (kulso homerseklet, szobahomerseklet, EUR/HUF, USD/HUF arfolyam).

Amivel most foglalkozom, az is hasonlo eszkozoket hasznal, funkcionalisan kesz a kod, de meg van benne par bug. Ha elkeszul, fogok rola blogolni.

Az ESP-t en sima AT parancsokkal hasznalom, de lattam mar olyan projectet, aki DHT11 (vagy 22) szenzort illesztett az ESP-hez, es egyetlen GPIO hasznalataval (es vagy nodemcu-val vagy az sdk-javal) megoldotta a merest, adattovabbitast, mindent. Mondjuk az ESP hatranya a fogyasztasa (ha elemrol akarod jaratni, akkor nem jo).

Out-of-the-box megoldasrol nem tudok. Ehhez pont nem forrasztottam, de breadboardon nem az igazi.

szerk:
igy nezett ki a breadboardon a kutyu
ez meg az oram (ezt most lottem rola, ertelemszeruen hw hianyaban nem jo a homerseklet rajta, a 22.6 es 25.4 lenne az a ket ertek)

--
Is that a banana in your pocket, or are you just happy to see me?
Neither, it's my new iPhone.

HW-el bajban vagyok, de SW oldalra InfluxDB-be tenném az adatokat, és Grafana-val nagyon egyszerű egy megjelenítést összedobni.

Van egy nagyon pofás cucc, vettem belőle egyet, de még nem játszadoztam el vele:
http://www.tme.eu/ro/details/ble112-a-v1/module-bluetooth/silicon-labs/

Van rajta egy csomó I/O pin, ADC is, programozható, plussz a blutooth. Ha lenne egy készre szerelt változat is nagyon pofás lenne ilyen szenzor cuccokra. Most olvasom vissza hogy már belinkelték a céget.

Korabban irtam, hogy en is szorakoztam ilyennel, van par BLE-1xx modulom - viszont, bar most mar Silabs neven fut, ebben a TI (ChipCon) CC2540-es IC-je van. BGScrip nyelven lehet programozni - az otlet nem rossz, de szerintem egy halal, rengeteg korlattal, ami a script engine-bol adodik (pl. csak 1 I2C buszt tamogat, ami raadasul csak fix 2 labon lehet, annak ellenere, hogy maga az MCU nem tartalmaz hardware-es I2C-t, software-esen meg elvileg oda teszi az ember ahova csak akarja).

Ugyan lehet ra mas firmware-t is tenni, de akkor epp az egyszerusege veszik el. Minden egyes modul rendelkezik egy egyedi azonositoval (license key) - ha ilyet tud generalni az ember akkor vegulis barmilyen CC2540-es chip-en elfut a BGScript :-) Maga a modul egyebkent eleg draga 4-5000Ft, es nyilvan ehhez meg kellenek alkatreszek, minimum a szenzor, de ha normalisan akarod megcsinalni akkor meg valami NYAK is. Az ebay-en egy tucat ilyen van, sokkal olcsobban - bar ezeken nem megy a BGScript license hianyaban. Mmeg arra kell figyelni, hogy a CC2540 USB-s, nincs HW I2C, mig a CC2541-esen hardware I2C van de nincs USB.

Nem tudom meddig lesz tamogatott - tekintve, hogy a BLE-1xx modulokat a BlueGiga fejlesztette, CC2540-es alapon, viszont tavaly a Silicon Labs tulajdonaba kerult a BlueGiga es "portolva" lett a modul, ami mostmar Silabs MCU-t hasznal (de ugyanugy BGScript megy rajta).

A CC2540-esre epulo modullalA linkelt BLE modul enA linkelt BLE modul mar nem feltetlen szorakoznek.

Korabban emlitettem, hogy ha viszont nem a modult, hanem a CC2540-et akarja valaki hasznalni, akkor bizony IAR kell (ugyanis a BLE stack csak IAR-hoz lett megirva / kiadva), ami nem olcso.

Lehet egyebkent, hogy erdemesebb mar inkabb a CC256x sorozatot nezni, az ARM Cortex-re epul, sokkal rugalmasabb, raadasul GCC-vel lehet ra forditani, nem kell draga penzert IAR-t venni.

Egyebkent maga a BLE / Bluetooth Smart nekem az egyszerusege miatt nagyon szimpatikus - igazan egyszeruen es gyorsan vele / ra alkapmazasokat fejleszteni.

/sza2

Szia!

Egyszerű tömeggyártott 433 MHz-es hőmérő / páratartalom mérő is jó lehet. (Amilyen az időjárás állomásokhoz van.)

A jelek vételéhez van 1$-tól 433 MHz vevő modul, amit közvetlenül rá tudsz kötni a Pi-re. (Nekem az XY-MK-5V jelűvel volt dolgom. Ez ugyan elvileg 5 voltot igényel, de több helyen olvastam - és nem utolsó sorban gyakorlati tapasztalat is igazolta – hogy jó eséllyel 3.3-voltal is jól működik. Ez azért jó, mert így további áramköri elemek nélkül közvetlenül ráköthető a Pi-re, aminek a GPIO bemente az 5 voltot nem bírja ki.)

Ez viszonylag kevés barkácsolás, jó az Internetes szakirodalom hozzá és elég olcsó is. Cserébe viszont limitált az érzékelők száma (általában 3 csatorna választható az érzékelőkön), és minden mintavételezést, feldolgozást, hibajavítást szoftveresen kell kitalálnod és elvégezned. (Az már csak hab a tortán, hogy neked kell kitalálnod, hogy a vett bitsorban mi-mit jelent. Megint csak a gyakorlat mutatja, hogy ahány gyártó, annyi féle megoldás.)

Megmondom őszintén, nem is számítottam ilyen sok és hasznos válaszra, megnézem, aiket írtatok, nagyon köszönöm mindenkinek!

Bár sajnos bejött, amitől tartottam, nekem hw-esen kvázi kész megoldára lett volna szükségem, amit egyszerűen lehet programozni, de körbenézek az ajánlottak között még akadhat nekem való.

Köszönöm még egyszer!

Egy remek búkot írtak erről:

wget -d -c http://digital.library.unt.edu/ark:/67531/metadc500182/m2/1/high_res_d/thesis.pdf

Ebben van mindenféle. Az egész könyv erről szól.

dht22-t nem ajánlom, nekem az égvilágon semmit sem sikerült vele kezdenem, de ez természetesen csak annak köszönhető, hogy belefáradtam. Volt amikor működött, de aztán nem. Utána megint ment. Aztán meguntam..

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Azert mert Neked hol ment, hol nem nem biztos, hogy masokat le kell beszelni rola :-)

Eleg sok embernek mukodik ez rendesen (igaz, nem sajat tapasztalat, mivel en a Si70xx szenzorokat preferalom (tekintve, hogy ahhoz eleg konnyen hozza tudok jutni)).

/sza2

:-)

Teljesen szubjektíve írtam ezt a szenzorról. Azonkívül elég szélsőséges elmeállapotban kísérleteztem a dht22-vel, így nem mérvadó amit írtam. Van, aki a dht22-t még az rpimonitor-ral is tudja működtetni.

De hozzáteszem, csak óvatosan vele...

---
--- A gond akkor van, ha látszólag minden működik. ---
---

"így nem mérvadó amit írtam"
Ezt tudjuk, mert:
"A gond akkor van, ha látszólag minden működik."

Nalam teljesen jol megy a DHT22, egy dologra kenyes: a tapra. Ha alacsony a tapfeszultseg (es egy arduinorol taplalva azert ilyen megeshet), eleg vicces paratartalom adatokat kezd merni (konkretan nalam 3.3V helyett veletlenul 2.9-et kapott, a homerseklet meres pontos volt tovabbra is, de 2x akkora paratartalmat mert, mint ami valos volt).

Ezt jó tudni, köszi :)

Hasonlot csinalok mostanaban.
Az elv a kovetkezo:
Raspberry Pi-re telepitettem webszervert, php-val. Egy adatbazisbol olvassa ki az adatokat es general weblapot. Az adatbazist egy Qt program frissiti adatokkal.

A program rendszeresen lekerdezi az Arduino-t. Egyelore kozvetlen osszekotes (usb-virtualis soros) van az Arduino es RPi kozott. De tervbe van veve a Bluetooth-os megoldas. Sajnos csak a dragabb modell tudja a 3 es 5 voltot szoval ha olcsobb bluetooth kell akkor muszaj illeszteni az Arduino-ra. (Ami nem nagy problema csak par ellenallas) viszont a dragabb modellnek eleg nagy a hatotavolsaga (60m).
Dragabb: http://arduinotech.dk/shop/tinysine-serial-bluetooth-4-0-ble-module-ibeacon/
Olcsobb (10m hatotav): http://www.lightinthebox.com/hc-06-wireless-bluetooth-transceiver-rf-main-module-serial-for-arduino_p903460.html
Tapasztalatom szerint a WiFi eleg instabil, mar egy csomo wifi eszkoz van mindenhol.. csak egymast zavarjak.

Arduino-ra irtam firmware-t azert hogy mukodtessem a szenzorokat (mozgas erzekelo, homerseklet mero stb).

Teszteles celjabol mar kiraktam a laptopomat a netre es remekul le tudtam olvasni az homersekletet a telefonommal, szoval az elv mukodik.

A vegso cel egy ket iranyu (nemcsak szenzor adatokat lehet olvasni hanem ki-be kapcsolni valamilyen hardvert.) jelszoval vedett https kapcsolat.

én ilyen modulokat használok, PIC-re kötve: http://www.tme.eu/en/details/rfm12b-433dp/rf-communication-modules/hope-microelectronics/
gondolom RPI-vel is megy, a túloldalon pedig kell valami kontroller.

szerk: a 433MHz sokkal jobban műküdik, mint a 2.4GHz (bluetooth, wifi).

sub

sub