Reklama

Už sme hovorili o relatívnych výhodách Arduina a Raspberry Pi - každý má svoje silné stránky. Nemusia však byť ani výberom, ani kombináciou, aby ste získali to najlepšie z oboch svetov. Domáca automatizácia je tým najlepším kandidátom. Trh domácej automatizácie je zaplavený drahými spotrebiteľskými systémami, navzájom nekompatibilnými a nákladnou inštaláciou. Ak máte Raspberry Pi Raspberry Pi: Neoficiálny návodČi už ste aktuálnym vlastníkom Pi, ktorý sa chce dozvedieť viac, alebo potenciálnym vlastníkom tohto zariadenia s veľkosťou kreditnej karty, nejde o sprievodcu, ktorého by ste chceli vynechať. Čítaj viac a Arduino, môžete v podstate dosiahnuť to isté za zlomok ceny za predpokladu, že ste ochotní venovať čas a úsilie.

Aktualizácia: Odkedy bol tento článok napísaný, objavil som OpenHAB, bezplatnú a otvorenú platformu pre domácu automatizáciu ktorý beží na Raspberry Pi a je možné ho integrovať aj s obrovskou ponukou inteligentných domácich súprav Arduino. Pozrite sa na video nižšie, kde nájdete plíživý vrchol, a potom zamierte k nášmu

instagram viewer
Začíname s OpenHAB na Raspberry Pi Začíname s domácou automatizáciou OpenHAB na Raspberry PiOpenHAB je zrelá platforma pre domácu automatizáciu s otvoreným zdrojovým kódom, ktorá funguje na rôznych hardvéroch a je protokol agnostický, čo znamená, že sa môže pripojiť k takmer akémukoľvek hardvéru domácej automatizácie na trhu dnes. Čítaj viac Sprievodca sa dozviete viac.

Heimcontrol.js je aplikácia Node.js postavená na spustenie na Raspberry Pi. V kombinácii s Arduino a niektorými zásuvkami diaľkového ovládania je regulácia AC zariadení jednoduchá. Môžete pridať teplotné senzory a dokonca ovládať svoj televízor. Dnes však všetko udržíme základné a projekt rozšírime v ďalšom návode.

Tu je rozpis projektu:

  • Raspberry Pi bude fungovať ako mozog a prevádzková brána - spustí aplikáciu Node, naviazanú na mongolskú databázu a obsluhuje rozhranie front-end do ľubovoľného webového prehľadávača.
  • Arduino, napájané z pi, bude teraz rozhranie medzi elektronikou - rádiové ovládacie vypínače.

Na tento účel budete potrebovať:

  • Arduino a Raspberry Pi
  • Niektoré zásuvky a ovládače na diaľkové ovládanie (použil som títo)
  • Napájaný rozbočovač USB
RC-zásuvky

Než začneme, tu je ukážkové video od samotného tvorcu projektu.

Začať znova

Na tento projekt použijeme Raspiana 11 Operačné systémy, ktoré bežia na vašom Raspberry PiNech už je váš projekt Raspberry Pi, nech už je k dispozícii operačný systém. Pomôžeme vám nájsť najlepší Raspberry Pi OS pre vaše potreby. Čítaj viac , a dôrazne odporúčame začať s novou inštaláciou, ak ste už predtým vykonávali ďalšie hacky a podobne. Stiahnite si najnovšie Raspian image, skopírujte ho na svoju SD kartu a nezabudnite rozšíriť súborový systém a povoliť SSH. Zvyšok tejto príručky bude predpokladať, že ste tak urobili, a pripájajú sa cez SSH pomocou predvoleného používateľa.

Ak ste to ešte neurobili, toto video vysvetľuje postup prípravy karty SD v systéme OS X:

A toto pre používateľov Windows:

príprava

Inštalačný proces je dosť náročný a odvodený z internetu pokyny nájdete tu. Bohužiaľ, tieto boli zastarané alebo nie sú určené pre Raspiana, a preto som ich výrazne upravil nižšie. Nižšie uvedené kódy sa dajú vkladať väčšinou do blokov - nemusíte vkladať jeden po druhom. Keďže zostavujeme niekoľko vecí o samotnom pi, upozorňujeme, že celý tento proces bude trvať dlho. Povedal by som, že si urobte šálku čaju - ale keď poviem „dlhú dobu“, myslím tým najlepšiu časť dňa - vhodnejšie by bolo 178 šálok.

Do príkazového riadka by sa mali zadať všetky príkazy a v niektorých prípadoch bude pravdepodobne potrebné stlačiť kláves Enter. Prvých niekoľko príkazov aktualizuje systém a nainštaluje predpoklady:

sudo apt-get update sudo apt-get upgrade. sudo apt-get install git-core git scons build-essential scons libpcre ++ - dev xulrunner-dev libboost-dev libboost-program-options-dev libboost-thread-dev libboost-filesystem-dev. 

Ďalej je potrebné nainštalovať uzol:

sudo mkdir / opt / node. wget http://nodejs.org/dist/v0.10.2/node-v0.10.2-linux-arm-pi.tar.gz. tar xvzf node-v0.10.2-linux-arm-pi.tar.gz. sudo cp -r node-v0.10.2-linux-arm-pi / * / opt / node. sudo ln -s / opt / node / bin / node / usr / local / bin / node. sudo ln -s / opt / node / bin / npm / usr / local / bin / npm. 

Pridajte do svojho profilu premennú PATH, aby operačný systém vedel, kde sa nachádza uzol. Použite nano textový editor nasledovne:

sudo nano / etc / profile. 

Vyhľadajte riadok, ktorý hovorí export PATH a nahradiť ho:

NODE_JS_HOME = "/ opt / uzol" PATH = "$ PATH: $ NODE_JS_HOME / bin" export PATH.

Pre ukončenie stlačte Ctrl-X a pre uloženie Y.

Možno sa budete musieť odhlásiť a znova prihlásiť, aby sa zmeny cesty prejavili, ale môžete vyskúšať pomocou príkazu:

ktorý uzol. 

Ak nedostanete žiadny výstup smerujúci na binárny uzol, niečo sa pokazilo.

Mongo

Ďalšou úlohou je inštalácia Mongo. Mongo je databáza No-SQL založená na dokumentoch, ktorú stále viac používajú webové aplikácie. Inštalácia bude nanešťastie trvať večne, pretože ju musíme zostaviť. Pri spúšťaní nasledujúcich príkazov získate veľa chýb, napríklad:

{standard input}: 13085: Varovanie: použitie swp {b} je pre túto architektúru zastarané. 

Nerob si s tým starosti. Spustením týchto príkazov nainštalujte Mongo:

git clone git: //github.com/RickP/mongopi.git. cd mongopi. scons. sudo scons - prefix = / opt / mongo install scons -c. 

Po dokončení budete potrebovať trochu viac nastavení, aby sme vyriešili problémy s povolením a zabezpečili, že bude spustený pri spustení.

sudo useradd mongodb. sudo mkdir / data / dbb. sudo chown $ USER / data / db. cd /etc/init.d. sudo wget -O mongodb https://gist.github.com/ni-c/fd4df404bda6e87fb718/raw/36d45897cd943fbd6d071c096eb4b71b37d0fcbb/mongodb.sh. sudo chmod + x mongodb. Predvolené hodnoty sudo update-rc.d mongodb. mongod

Tento posledný príkaz spustí server Mongo a budete musieť otvoriť nový terminál, aby ste mohli pokračovať s ostatnými príkazmi. Nie som si úplne istý týmto krokom, takže ak to môže niekto opraviť v komentároch o tom, ako sa má mongod spustiť automaticky pri spustení, bolo by to veľmi ocenené. Zatiaľ to funguje, ale nie elegantne.

vypnutie sudo -r teraz

Nakoniec je čas nainštalovať aplikáciu Heimcontrol.js Node.

cd ~ pi. git clone git: //github.com/ni-c/heimcontrol.js.git. cd heimcontrol.js. Npm inštalácia. 

Aplikáciu môžete spustiť zadaním


uzol heimcontrol.js. 

V tomto okamihu by ste mali mať prístup k ovládaciemu rozhraniu pomocou http://localhost: 8080 z Pi, alebo nahraďte localhost IP adresou, ak k nemu pristupujete z iného počítača (a môžete tiež nastaviť presmerovanie portov Čo je to Port Forwarding a ako mi to môže pomôcť? [MakeUseOf vysvetľuje]Trochu plačete vo vnútri, keď vám niekto povie, že sa vyskytol problém s presmerovaním portov, a preto vaša nová lesklá aplikácia nebude fungovať? Váš Xbox vám nedovolí hrať hry, vaše sťahovanie torrentov odmietne ... Čítaj viac aby ste k nemu mali prístup odkiaľkoľvek na svete), odporúčame vám preto, aby ste sa pred pripojením Arduino preverili a skontrolovali, či všetko pracuje s databázou.

technické vybavenie

Nakoniec by som chcel pevne zapojené relé, ale zatiaľ budem používať bezpečnejšiu možnosť rádiových spínačov.

Použil som niekoľko primerane lacných setov od spoločnosti Maplin, ktoré sa dodávajú s 3 zásuvkami, a otvoril som diaľkové ovládanie, aby som mohol priamo komunikovať s čipom 433 MHz vo vnútri. Pokyny na to som našiel tu.

rc-controller-hack

Môžete si tiež kúpiť jednotlivé vysielače 433 MHz pripravené na použitie na eBay alebo od dodávateľov hobby elektroniky. Všetko, čo potrebujete, je pripojiť VCC na 5 V na Arduino, GND a jediný ovládací pin - nezabudnite, ktorý ste použili. (Schéma Williho Thiela)

Arduino-rcswitch

Doplnok funguje odoslaním „kódov tristátu“, ale líšia sa podľa výrobcu. Pozri Dokumentácia RCSwitch nájsť presné kódy. toto wiki sprievodca môže tiež pomôcť.

Komunikácia s Arduino sa vykonáva pomocou knižnice nazvanej Node Duino. Ak je aplikácia Heimcontrol spustená, zastavte ju a nainštalujte most Arduino pomocou nasledujúceho príkazu.

npm inštalujte duino. 

Arduino musí mať tento kód bol nahraný - Odporúčame vám skopírovať a prilepiť a nainštalovať ho z iného počítača. Je to v podstate program pre poslucháčov, ktorý reaguje na sériové príkazy od Pi, ale nie je nič, čo by vás zastavilo rozširovaním o svoje vlastné funkcie.

RC-nastavenia

Po spustení webovej aplikácie prejdite na stránku nastavenie menu> Arduino.

heimcontrol-menu-Nastavenia

Odtiaľ môžete pridať novú položku, zvoliť metódu RCSwitch, pin vášho vysielača a kód adresy tristate. Nezabudnite uložiť a potom sa vráťte naspäť na obrazovku hlavnej obrazovky nového tlačidla.

rcswitch tuhnúce

chyby:

Po mnohých hodinách ladenia kódu som zistil, že čísla jednociferných pinov nefungujú - uistite sa, že je váš vysielač umiestnený na pin. 10 byť si istý.

Tiež som zistil, že doplnok Arduino bol naprogramovaný s nesprávnymi konečnými bitmi pre kódy tristátu, ktoré moje prijímače potrebovali. Najprv malé vysvetlenie: kódy tristate pozostávajú z 3 bajtov informácií. Prvý určuje nás číslo siete (1-4), a druhý poskytuje adresu transceiveru (znovu 1-4, produkujúce maximálne 16 adresovateľných soketov). Konečný bajt pozostáva z dvoch bitov výplne plus 2 bity na zapnutie / vypnutie. Bohužiaľ, posledný bajt je pevne zakódovaný do doplnku Arduino - av mojom prípade bol kód zapnutia / vypnutia nesprávny.

Musel som ručne upraviť plugins / Arduino / index.js používať správne kódy. Ak používate rovnaké zásuvky pre diaľkové ovládanie ako ja, zmeňte riadky od 80 do:

// Pošlite RC kód. if (item.value) {return that.pins [item.pin] .triState (item.code + "FFFF"); // zmena z FF0F. } else {return that.pins [item.pin] .triState (item.code + "FFF0"); // zmena z FF00. }

Toto je ukážkové video všetkého, čo funguje:

Teraz to nechám tu, ale hodnoty snímača a diaľkové ovládače sú tiež podporované. Pravdepodobne ich znova navštívim s niekoľkými vylepšeniami. Ak to pre vás bolo všetko príliš zložité, možno si ich pozrite Arduino projekty pre začiatočníkov 15 veľkých projektov Arduino pre začiatočníkovMáte záujem o projekty Arduino, ale nie ste si istí, kde začať? Tieto začiatočné projekty vás naučia, ako začať. Čítaj viac .

James má bakalárske štúdium v ​​oblasti umelej inteligencie a je držiteľom certifikátu CompTIA A + a Network +. Je popredným vývojárom MakeUseOf a trávi svoj voľný čas hraním VR paintballu a spoločenských hier. Staval počítače od malička.