Prof Creative Commons License 2015.01.30 0 0 787

Ha nagyon nagy idiótaságot írok, majd legfeljebb valaki pontosít.

Ami nagy vonalakban a lényeg:
Alapvetően az Arduino analóg bemenetei erre a célra vannak, magát a jelet (ha az analóg jellegű, tehát alapvetően egy feszültség/áram viszony változó ellenálláson át való megváltoztatását jelenti), különösebb nehézség nélkül (elvben legalábbis) végtelen távolságra lehet szállítani. Itt csak a kábel minőségét, ellenállását, kapacitását kell figyelembe venni, illetve azt, hogy a jel mennyire érzékeny külső tényezőkre (környéken futó nagy feszültségű elektromos vezeték, telefonkábel, internetkábel stb.).
Amikor valamilyen buszt használsz, akkor egy meglévő analóg jelet alakítasz át digitális jellé, amelyet aztán valamilyen módon továbbítasz. Az egyes szabványok nagyjából determinálják az átvitel formáját és módját is, de pl. TCP/IP mehet soros kábeltől elkezdve wifin át BT-ig (meg még ugye kis millió más módon is). Minél komplexebb a továbbítandó adat (mérési sűrűség, mérési pontosság, hibahatár stb.), annál megbízhatóbb módot kell választani. A DS18B20 One Wire buszt használ, nem kell hozzá semmilyen további elem az érzékelő oldalán, a tápfeszültség alapján létrehozza és a busz-csatornán küldi a jeleket, akár elég jelentős távolságra (megfelelő minőségű kábelen persze). A megoldás előnye egyben a hátránya is: van kábel. Biztonságosnak tekinthető, nincs gond a tápellátással, cserébe telepíteni kell.

A kábeltelen megoldások közül mindegyiknek három fontos tulajdonsága van. Egyrészt a távolsággal arányosan veszít (rendszerint) a megbízhatóságából, mindenképp kell hozzá egy komplett jelfeldolgozó rendszer az érzékelő oldalán (igen, ez lehet akár egy arduino is, bár nem feltétlen kell), végül meg kell oldani a tápellátást valahogy (ami kábelezést igényel).

Az i2c elvileg alaplai kommunikációra lett kitalálva, elég érzékeny a rádiófrekvenciás zavarokra, bár én ezt annyira (eddig) nem tapasztaltam, igaz, hogy Arduino viszonyban ez azért elég alacsony órajelet jelent.

Az SPI egy klasszissal gyorsabb bír lenni (pláne, ha meghajtja valaki), tehát érzékenyebb valamivel, cserébe a kétirányúsága folytán megbízhatóbb.

E kettő inkább a klasszikus "szerver--kliens" vagy "master--slave" felállás szerint üzemelnek, tehát van egy központi (vezérlő) elem és egy külső, perifériális elem (pl. adatgyűjtő vagy kimenet).

Az RS485 -- ha jól emlékszem -- erősítés nélkül 100 métert kibír CAT5 kábelen, ami azért elég baráti (bár a One Wire is).

RS232 inkább szükségmegoldás szerintem, bár pokoli olcsó és egyszerű.

E kettő többé-kevésbé azonos "erősségű" berendezések közötti strukturált adatforgalmat tud megvalósítani (bár Master asszem így is kell hozzájuk). Okos ház tervezéshez ezek működőképes megoldások.

Előzmény: x20fan (786)