Obsah:

Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zásuvky): 6 krokov
Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zásuvky): 6 krokov

Video: Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zásuvky): 6 krokov

Video: Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zásuvky): 6 krokov
Video: Zigbee координатор ZigStar UZG-01 POE (HMG-01 PLUS) - установка вместо Sonoff ZB Dongle P 2024, Júl
Anonim
Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zástrčky)
Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zástrčky)
Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zástrčky)
Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zástrčky)
Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zástrčky)
Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zástrčky)
Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zástrčky)
Diaľkovo ovládané sieťové zásuvky Raspberry Pi RF (napájacie zástrčky)

Ovládajte lacné 433 MHz sieťové zásuvky (zásuvky) pomocou Raspberry Pi. Pi sa môže naučiť výstup ovládacích kódov z diaľkového ovládača zásuviek a používať ich pod programovým riadením na aktiváciu všetkých alebo všetkých diaľkových zásuviek v celom dome.

Dizajn sa nespolieha na externé internetové pripojenie (tj) „internet vecí“, a preto je (IMHO) oveľa bezpečnejší ako webové ovládače. To znamená, že som sa pokúsil o integráciu s domovskou stránkou Google, ale rýchlo som stratil chuť žiť, keď vykonanie príkazov niekedy trvalo niekoľko desiatok sekúnd alebo sa nikdy nevykonali.

Zjavnou aplikáciou okolo Vianoc je ovládanie svetiel vianočného stromčeka a (ak ste tak naklonení) vonkajších svetiel displeja. Napriek tomu, že je to jednoduché použitie, zostavením tohto Instructable získate super flexibilný radič zásuviek, ktorý dokáže reagovať na vstupy senzorov a na ďalšie zariadenia vo vašej domácej sieti, ako napríklad Raspberry Pis so systémom Linux Motion.

Mám napríklad sadu kuchynských svetiel, ktoré sa rozsvietia, keď kamera so systémom „Motion“detekuje pohyb v kuchyni a potom ju vypne po piatich minútach nečinnosti. Funguje to naozaj dobre!

Pomocou nástrojov „Tasker“a „AutoTools SSH“z obchodu Google Play môžete nastaviť všetky druhy efektných diaľkových ovládačov založených na telefóne.

Projekt sa spolieha na lacné dosky prijímačov a vysielačov s frekvenciou 433 MHz, ktoré sú široko dostupné na eBay. Sú kompatibilné s (najmenej vo Veľkej Británii) diaľkovými sieťovými zásuvkami 433 MHz predávanými s diaľkovými ovládačmi. Môj projekt obsahuje prijímač, takže nové sady príkazov diaľkového ovládania je možné ľahko a rýchlo integrovať. Je potrebné poznamenať, že diaľkové zásuvky dostupné vo Veľkej Británii sa dodávajú v dvoch variantoch - s ID naprogramovaným prepínačom na zásuvke a zásuvkami závislými na programovaní z diaľkového ovládača. Tento projekt je kompatibilný s oboma, ale tie prvé nestratia svoju identitu pri výpadku prúdu, a preto sú vhodnejšie.

Projekt používa staré puzdro smerovača - mám niekoľko z nich a veľmi šikovne majú väčšinu potrebných externých konektorov, ako sú napájanie, ethernet, USB a anténa (y). To, čo použijete, bude závisieť od toho, čo máte k dispozícii, takže tento návod je pravdepodobne užitočnejší ako všeobecný sprievodca, a nie ako podrobný súbor pokynov.

Aj keď to nie je pre tento projekt úplne nevyhnutné, pridal som tiež chladiaci ventilátor a dosku ovládača. Bez ventilátora sa Pi môže celkom zahriať (približne 60 ° C). Podrobnosti môžu byť uvedené v neskoršom pokyne.

Mal by som spomenúť, že nie som žiadny programátor. Tento softvér je (väčšinou) napísaný v jazyku Python a šikovné veci sú skopírované od ľudí, ktorí vedia, čo robia. Priznal som zdroje, kde môžem - ak som nejaký vynechal, dajte mi prosím vedieť a text opravím.

Instructable predpokladá určitú schopnosť spájkovania a dobrú znalosť Pythonu, Bash a rozhovoru s vašim Pi prostredníctvom SSH (aj keď sa pokúsim urobiť pokyny čo najkomplexnejšie). Je tiež napísaný v britskej angličtine, takže ak čítate na druhej strane rybníka, ignorujte nadbytočné písmená v slovách a nepárne názvy vecí (napríklad „sieťové zásuvky“, ktoré poznáte ako niečo ako „nástenné zásuvky“).

Akékoľvek pripomienky, navrhované vylepšenia a použitia atď. Sú tiež veľmi vítané!

Krok 1: Príprava puzdra

Príprava puzdra
Príprava puzdra
Príprava puzdra
Príprava puzdra
Príprava puzdra
Príprava puzdra

Na tento projekt som použil starý router TP-Link TD-W8960N. Je to pekná veľkosť a akonáhle som zistil, ako sa do nej dostať, celkom ľahko sa s ňou pracuje.

Ponechal som si tiež napájanie smerovača 12v @ 1A, ktoré je trochu pod napätím, ale v praxi je pre túto aplikáciu v poriadku.

Otvorenie puzdra spočíva v odstránení dvoch skrutiek v spodnej časti puzdra a následnom použití páčivého nástroja okolo okraja puzdra na uľahčenie otvárania spôn. Dve skrutky sú pod gumovými nožičkami v zadnej časti puzdra (pozri červené šípky). Najťažšie klipy sa otvárajú vpredu, ale veril som a ohli sa k môjmu vypáčeniu.

Akonáhle je kryt otvorený, uvoľnite dve matice na konektoroch antény a dosku s plošnými spojmi je možné vybrať.

Pretože budete neskôr používať obidve antény, odpojte koaxiálne vodiče na doske plošných spojov a položte ich na jednu stranu.

Ak sa cítite odvážne (ako ja), môžete z dosky s plošnými spojmi odstrániť vypínač, zásuvku DC a zásuvky RJ45. Najlepším spôsobom, ako som to urobil, je upnúť dosku vo zveráku a použiť teplo z teplovzdušnej pištole pri určovaní ceny pomocou vhodného otváracieho nástroja alebo skrutkovača. Logika spočíva v tom, že všetky spájkovacie spoje sa tavia súčasne, čím sa znižuje celkové tepelné napätie v plastovom puzdre súčiastky v porovnaní s použitím spájkovačky na každom spoji. To je aspoň teória. V praxi ide o kus šťastia! To, koľko tepla použijete, je na posúdení, ale buďte opatrní a mýlite sa na strane príliš malého množstva. Ak všetko pôjde dobre, skončíte s použiteľnými komponentmi uvedenými na fotografii (všimnete si však roztopený gombík spínača a mierne zdeformovaný zásuvkový pás RJ45!).

V opačnom prípade je nákup vašich kúskov na internete.

Krok 2: Zoznam dielov

Raspberry Pi - predpokladám, že postačí akákoľvek príchuť, ale použil som 3B+

Doska vysielača 433 MHz - na eBay vyhľadajte „Rádiový vysielač 433 MHz so súpravou prijímača pre bezdrôtové zariadenie Arduino Arm Mcu Wireless“alebo podobným spôsobom

Doska prijímača 433 MHz - podobne. Obvykle 1,98 GBP za pár

LM2596 Buck regulátor - eBay, zvyčajne 1,95 GBP. Na premenu napájania 12 V na 5 V pre Pi

Svetlovod - hľadajte na eBay „Kábel z optických vlákien - priemer 0,25 / 0,5 / 0,75 / 1 / 1,5 / 2 / 2,5 / 3 mm - svetlovod“- použil som 2 mm potrubie, ale s 1,5 mm sa mi pracovalo jednoduchšie (zaplatil som £ 2,95 na 1 m)

2 -pólový miniatúrny prepínač (pekný, ale voliteľný)

USB typ A 180 ° spájkovateľná zásuvka - cez eBay som za desať zaplatil 1,90 libry

Dvojpólový tlačidlový spínač (pekný, ale voliteľný) - môj som získal z dosky modemu/routera

Zásuvky RJ45 - obnovené z dosky modemu/routera

Zásuvka jednosmerného prúdu - cez eBay (10 -násobná zásuvka konektora napájacieho zdroja DC, zásuvka na panel, 5,5 x 2,1 mm, 0,99 GBP)

430MHz antény - konvertujte 2GHz antény modemu/routera

Napájanie 12 V DC, 12 W (minimálne) - v ideálnom prípade bude dodávaný s modemom/smerovačom. Ak nie, musíte sa uistiť, že vyššie uvedená sieťová zásuvka sa zhoduje s tou, ktorú používate. Požiadavka na 12 V je určená vysielačom 433 MHz

Časti pre režim chladiaceho ventilátora budú popísané v neskoršom návode na obsluhu.

Krok 3: Spotrebný materiál a nástroje

Budete potrebovať nasledujúci spotrebný materiál:

Spájka (podľa potreby)

Tavné lepidlo (podľa potreby)

Prepojovací vodič - (napr.) 22 a 24AWG (podľa potreby)

Teplom zmrštiteľná manžeta (podľa potreby)

Obetavá mačka. 5 ethernetový prepojovací kábel

Obetavý patch kábel USB 2.

Náradie:

Odizolovače drôtov

Nôž na drôt (najlepšie na rovinu)

Nástroj na oceňovanie

Vhodný skrutkovač na demontáž puzdra.

Spájkovačka

Lepiaca pištoľ

Sušič vlasov (na ohýbanie svetelných rúrok a na akékoľvek improvizované prerušenia kaderníctva)

Komunikačný prijímač FM 433 MHz (voliteľný - na riešenie problémov s vysielačom) - (napr.) AR1000

Krok 4: Zostavenie

zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie
zhromaždenie

Ako zostavíte Pi a pomocné dosky, závisí od prípadu, ktorý používate. Fotografie ukazujú, čo som urobil.

Pi sedí zhruba v strede puzdra a poskytuje dostatok priestoru na použitie rôznych konektorov (všimnite si, že HDMI sa nepoužíva, pretože s ním sa komunikuje prostredníctvom protokolu SSH (tj. „Bez hlavy“).

Pi som pripevnil k základni pomocou niekoľkých zachránených plastových upevňovacích prvkov (pozri fotografiu). Pretože box nie je určený na prenosné použitie, môžete sa dostať von iba pomocou dvoch spojovacích prvkov. Môžete ľahko použiť 2,5 mm skrutky so stojanmi alebo dokonca tavné lepidlo (ktoré som už v minulosti používal-určite ho nepoužívajte príliš veľa a vyhnite sa akýmkoľvek komponentom na povrchovú montáž na spodnej strane, ako nevyhnutne budete mať odstrániť dosku v určitom čase (prvý stavebný zákon - BUDETE ju musieť rozobrať)).

Horúcimi lepidlami som pripevnil rôzne dosky k bokom skrinky. Platia rovnaké úvahy ako vyššie.

Akonáhle je všetko na svojom mieste, môžete veci zapojiť.

Bloková schéma ukazuje schému zapojenia, ktorú som použil. Všimnite si toho, že na striedavý výkon medzi doskami vysielača a prijímača používam voliteľný prepínač - pravdepodobne to bude malé riziko, ale nechcel som pri vysielaní vyprážať prijímač.

Tiež ma napadlo, že by bolo možné použiť vypínač na elegantné vypnutie Pi (na internete je k dispozícii množstvo návrhov). Neobťažoval som sa - v tomto prípade funguje ako jednoduchý vypínač. Len si musím dávať pozor, aby som Pi pred stlačením vypínača vypol cez SSH.

Zaznamenáte svetelné trubice používané na smerovanie svetla z dvoch diód LED na pí a od diódy LED napájania na prednú stranu puzdra. Na ohnutie rúrok som použil teplo zo sušiča vlasov (určite NECHCETE používať teplovzdušnú pištoľ!). Je to veľmi pokus -omyl, ale nakoniec to stojí za to, pretože môžete priamo vidieť, čo LED diódy signalizujú, a nie sa spoliehať na softvér a externé LED diódy. Je to samozrejme tvoja voľba. Rezanie rúrok sa vykonáva ostrým nožom na drôt (najlepšie sú splachovacie), ale môžete použiť aj ostré nožnice. Na upevnenie rúrok na mieste je možné opäť použiť tavné lepidlo, ale dávajte pozor, aby ste použili iba malé množstvo - ktoré rýchlo vychladne - pretože lepidlo môže rúrky zdeformovať.

V ideálnom prípade by ste mali upraviť antény. Obvykle budú mať takú veľkosť, aby pracovali na frekvencii 2 GHz, a pri použití na frekvencii 433 MHz budú vytvárať veľmi neefektívne antény.

Za týmto účelom by ste mali najskôr odstrániť kryt antény, aby ste odhalili anténny drôt. Myslím, že som mal šťastie, pretože kryt vychádzal z každej antény len s malým množstvom cien.

Ak je to znázornené na obrázku, odrežte, aby ste odstránili pôvodnú 2GHz anténu a odkryte súosovú os. Opatrne vstúpte do vnútorného jadra, opletenie odstráňte v dostatočnej vzdialenosti a spájkujte ho s novým kusom drôtu podľa obrázku. Dĺžka nového drôtu je zhruba 1/4 vlnovej dĺžky 433 MHz (tj.) Dĺžka = 0,25 * 3E8/433E6 = 17 cm. Spodnú časť je možné navinúť pomocou malého vrtáka alebo podobného nástroja, aby sa celá dĺžka zmestila do krytu antény.

Pred opätovnou montážou skontrolujte, či nie je skrat medzi kontaktmi vnútornej a vonkajšej antény.

Modifikoval som iba anténu vysielača ako „hluchý“prijímač, čo je pravdepodobne výhodné pri učení sa kódov diaľkového ovládania RF (pozri ďalej).

Pripojenie k ethernetu sa uskutočňuje zapojením obetavej mačky. 5 prepojovací kábel do zásuvky RJ45 zachránenej z modemu. Odrežte kábel tak, aby zodpovedal vzdialenosti medzi ethernetovou zásuvkou Pi a zásuvkou puzdra RJ45, a obnažte všetkých osem káblov. Použite tester kontinuity, aby ste zaistili zapojenie kolíka 1 kábla do kolíka 1 atď. Jednoduchý spôsob, ako to urobiť, je zapojiť konektor do zásuvky, do ktorej zapojíte, a zazvoniť medzi kontakty zásuvky a holé konce kábla. Pretože sa používa iba jedna zo štyroch externých zásuviek RJ45, označte zodpovedajúcim spôsobom káblovú zásuvku, aby ste sa neskôr vyhli trápnym chybám.

Podobne je konektor USB zapojený pomocou obetavého prepojovacieho kábla USB 2, káblového kolíka 1 na kolík 1 atď. Konektor USB vonkajšieho sveta je nalepený na mieste na puzdre pomocou otvoru v puzdre, ktorý zostáva v zásuvke telefónnej linky.

Krok 5: Poznámky k vysielaču

Poznámky k vysielaču
Poznámky k vysielaču
Poznámky k vysielaču
Poznámky k vysielaču
Poznámky k vysielaču
Poznámky k vysielaču

Dosky na prenos a príjem 433 MHz, ktoré som použil, sú na internete všadeprítomné a pretože sú také lacné, objednal som si po dvoch pároch (aby bolo možné experimentálne navádzanie). Zistil som, že prijímače sú spoľahlivé, ale vysielač, ktorý som použil, potreboval upraviť, aby fungoval spoľahlivo.

Obvod vysielača FS1000A, ktorý som si kúpil*, je znázornený na obrázku. Skúšaním a omylom som zistil, že na to, aby vec fungovala, je potrebné nainštalovať kondenzátor 3pF do polohy C1 SoT (výber na teste). Pretože mám širokopásmový prijímač, ktorý pokrýva 430 MHz, bolo relatívne ľahké to vyriešiť. Ako môžete testovať bez prijímača, je zaujímavá otázka …

*Poznámka: Kúpil som si druhú sériu vysielačov potom, čo som prvé dva nedokázal fungovať. Toto všetko chýbalo kolektorovej cievke. Hmmm!

V nevyžiadanej skrinke som mal kondenzátor 3pF, ale asi to tak nebude pre väčšinu ľudí a v každom prípade môže byť potrebná hodnota väčšia, povedzme 7pF. Hrubú náhradu je možné vykonať dvoma bitmi skrúteného drôtu (kábel môjho známeho krúteného páru má kapacitu okolo 100 pF na stopu, aby vám poskytol návod na dĺžku), ale neodporúča sa, pretože môžu nastať ďalšie problémy. Našťastie budete mať šťastie a nebudete mať žiadny taký problém. Vždy ste si mohli kúpiť drahší (a teda pravdepodobne) lepšie vyrobený vysielač.

Frekvencia vysielača nie je príliš presná ani stabilná, ale v praxi bola dostatočne dobrá na spoľahlivé ovládanie diaľkových zásuviek.

Upozorňujeme, že pozlátený otvor susediaci so slovom „ANT“na vysielači NIE JE pripojenie antény - je to ten v rohu bez označenia (pozri fotografiu). Toto bola prvá chyba, ktorú som urobil …

Pripojenie pinov užitočne označené „ATAD“by v skutočnosti malo čítať „DATA“.

Krok 6: Prehľad softvéru

Prehľad softvéru
Prehľad softvéru

Majte na pamäti, že nie som programátor. Ako už bolo uvedené, šikovná vec je kód iných ľudí, ale viem toho dosť na to, aby som to stiahol a prispôsobil tak, aby to fungovalo spoločne. Toto je tiež prvý návod, ktorý som v kóde publikoval, takže sa ospravedlňujem, ak som to urobil zle! Ak máte akékoľvek otázky, majte na pamäti…

Základný softvér, ktorý som použil, je nasledujúci:

  • Raspbian Stretch Lite
  • PiGPIO (fantastická knižnica na pohon serva atď.)
  • Kód _433.py (na kódovanie a dekódovanie riadiacich kódov RF) - prepojený s webovou stránkou PiGPIO.
  • Python3 (dodáva sa s Raspbian)

Ďalší softvér, ktorý používam:

  • pyephem (počíta časy svitania a súmraku - užitočné pri prepínaní svetla)
  • Vynikajúci „Tasker“a „AutoTools SSH“na vytvorenie diaľkového ovládania v mojom telefóne s Androidom - viď foto (obe dostupné v obchode Google Play). [Ako vytvoriť „scénu“Taskera je mimo rozsah tohto návodu, pretože je doň zahrnutá pomerne strmá krivka učenia, ale rád prediskutujem, čo som urobil]

Môj vlastný kód (v Pythone). Hrubé, ale funkčné:

  • tx.py - softvér na argumentáciu v menu a/alebo príkazovom riadku, ktorý posiela príslušný kód do vysielača 433 MHz.
  • svitanie - súmrak - vypočítava časy svitania a súmraku u mňa a aktualizuje užívateľský crontab (používa sa na osvetlenie vianočného stromčeka atď.)

K vyššie uvedenému osobnému kódu je možné získať prístup prostredníctvom GitHub:

Funkčnosť projektu zaisťuje kód PiGPIO a _433.py. Ten má funkciu príjmu, ktorá počúva príkazy diaľkového ovládania z vášho diaľkového ovládača 433 MHz RF a dekóduje časové impulzy, pričom vytvára výstup, ktorý je možné uložiť na neskoršie použitie funkciou prenosu. To umožňuje systému naučiť sa akékoľvek „normálne“433 MHz RF diaľkové ovládanie. V zásade sa dá použiť aj na naučenie sa diaľkových ovládačov vášho suseda. Dôrazne by som tomu odporoval, pretože susedia len zriedka vidia zábavnú stránku náhodne zvoniacich zvončekov. Nechcel by som.

Nastaviť

Pretože Pi v tejto aplikácii beží „bez hlavy“(tj.) Bez monitora alebo klávesnice, musíte s ním hovoriť pomocou ssh. K dispozícii je veľa návodov, ako nastaviť Pi bez hlavy, ale aby to nebolo jednoduché, budem predpokladať, že Pi najskôr spustíte pomocou monitora a klávesnice. Po spustení spustite terminál a zadajte príkaz „sudo raspi-config“. Vyberte „5. Možnosti rozhrania “a potom„ P2 SSH “. Povoľte server ssh a zatvorte raspi-config (čo sa pravdepodobne skončí reštartom).

Nasledujúce komunikácie s Pi potom môžu byť vedené zo vzdialeného terminálu cez ssh. Všimnite si toho, že kód nevyžaduje pre Pi pevnú IP adresu LAN, ale určite pomáha (a je určite potrebný, ak sa ponoríte do ovládania Tasker). Opäť je na internete veľa návodov, ako postupovať. Môj domáci router mi umožňuje priradiť pevnú IP adresu MAC adrese Pi, takže to robím tak, a nie úpravou nastavenia Pi.

Inštalácia PiGPIO:

ssh do Pi a zadajte nasledujúce príkazy:

sudo apt aktualizácia

sudo apt nainštalovať pigpio python-pigpio python3-pigpio

sudo apt install git

klon git

sudo apt install python3-RPi. GPIO

Ak chcete spustiť PiGPIO pri štarte:

crontab -e

pridajte nasledujúci riadok:

Získajte kód Python na prenos a dekódovanie diaľkových kódov RF 433 MHz:

wget

rozbaliť _433_py.zip

Presuňte rozbalený súbor _433.py do vhodného adresára (napr.) ~/Software/apps

Písanie (v tomto adresári)

_433.py

prepne Pi do režimu 433 rx a čaká na demodulované kódy diaľkového ovládania RF na kolíku GPIO 38.

Keď je pripojený prijímač 433 MHz a keď sa v blízkosti používa diaľkové ovládanie 433 MHz, na obrazovke sa zobrazia niečo ako nasledujúce údaje:

kód = 5330005 bitov = 24 (medzera = 12780 t0 = 422 t1 = 1236)

Tieto údaje sú použité vo vašom programe Python na regeneráciu prenosu z diaľkového ovládača.

Ak chcete tieto údaje preniesť do súboru na neskoršie použitie, spustite:

_433.py> ~/software/apps/remotedata.txt

Keď údaje získate, ďalším krokom je ich použitie na úpravu kódu „tx.py“, ktorý môžete skopírovať z môjho úložiska GitHub. Tento kód používa údaje na generovanie tvarov vlny, ktoré sú známe zo vzdialených zásuviek a ktoré majú vysielať vysielač 433 MHz. Našťastie budú požadované úpravy primerane zrejmé a ostatné je na vás …..

Odporúča: