Tartalomjegyzék:

Raspberry Pi RF Távirányítású hálózati aljzatok (hálózati csatlakozók): 6 lépés
Raspberry Pi RF Távirányítású hálózati aljzatok (hálózati csatlakozók): 6 lépés

Videó: Raspberry Pi RF Távirányítású hálózati aljzatok (hálózati csatlakozók): 6 lépés

Videó: Raspberry Pi RF Távirányítású hálózati aljzatok (hálózati csatlakozók): 6 lépés
Videó: Remote Controlled Radio Frequency Robo 2024, Július
Anonim
Raspberry Pi RF távirányítású hálózati aljzatok (hálózati csatlakozók)
Raspberry Pi RF távirányítású hálózati aljzatok (hálózati csatlakozók)
Raspberry Pi RF távirányítású hálózati aljzatok (hálózati csatlakozók)
Raspberry Pi RF távirányítású hálózati aljzatok (hálózati csatlakozók)
Raspberry Pi RF távirányítású hálózati aljzatok (hálózati csatlakozók)
Raspberry Pi RF távirányítású hálózati aljzatok (hálózati csatlakozók)
Raspberry Pi RF távirányítású hálózati aljzatok (hálózati csatlakozók)
Raspberry Pi RF távirányítású hálózati aljzatok (hálózati csatlakozók)

Irányítson olcsó 433 MHz -es hálózati aljzatokat (fali aljzatokat) Raspberry Pi segítségével. A Pi megtanulhatja az aljzatok távvezérlőjéből kimenő vezérlőkódokat, és programvezérléssel aktiválhatja azokat a ház bármely távirányítóján.

A kialakítás nem függ a külső internetkapcsolattól (azaz a „tárgyak internetétől”), ezért (IMHO) sokkal biztonságosabb, mint a webalapú vezérlők. Ennek ellenére megpróbáltam integrálni a Google Home szolgáltatással, de gyorsan elvesztettem az élni akarást, amikor a parancsok végrehajtása néha több tíz másodpercet vett igénybe, vagy egyáltalán nem hajtotta végre.

Nyilvánvaló alkalmazás karácsony környékén a karácsonyfa fényeinek és (ha ilyen hajlamú) a külső kijelzőfények vezérlése. Bár ez egyszerű használat, az Instructable felépítésével szuper rugalmas foglalatvezérlőt kap, amely képes reagálni az érzékelő bemenetekre és az otthoni hálózat más eszközeire, például a Raspberry Pis -re, amely Linux Motion rendszert futtat.

Például van egy konyhai lámpám, amely akkor gyullad ki, amikor a „Motion” funkcióval működő kamera mozgást észlel a konyhában, majd öt percnyi tevékenység után kikapcsol. Nagyon jól működik!

A Google Play áruházból származó „Tasker” és „AutoTools SSH” segítségével mindenféle igényes telefonos távirányítót beállíthat.

A projekt az eBay -en széles körben elérhető olcsó 433 MHz -es vevő- és adólapokra támaszkodik. Ezek kompatibilisek (legalább az Egyesült Királyságban) 433 MHz -es távirányítóval, amelyeket távirányítóval értékesítenek. A projektem tartalmaz egy vevőt, így az új távirányító parancskészletek könnyen és gyorsan beépíthetők. Egy megjegyzés: az Egyesült Királyságban elérhető távoli aljzatok kétféle ízben kaphatók - azok, amelyek azonosítója a konnektoron lévő kapcsolóval van programozva, és azok, amelyek a távirányító programozásától függnek. Ez a projekt mindkettővel kompatibilis, de az előbbiek nem veszítik el identitásukat áramszünet esetén, ezért előnyösebbek.

A projekt egy régi útválasztó tokot használ - van néhány ilyenem, és nagyon könnyen megtalálható a legtöbb szükséges külső csatlakozó, például tápellátás, Ethernet, USB és antenna. Az, hogy mit használ, attól függ, hogy mi áll rendelkezésére, így ez az Instructable valószínűleg inkább általános útmutatóként hasznos, mint lépésről lépésre.

Bár nem feltétlenül szükséges ehhez a projekthez, hozzáadtam egy hűtőventilátort és egy vezérlőpanelt. Ventilátor nélkül a Pi nagyon felmelegedhet (kb. 60 ° C). A részleteket egy későbbi utasításban lehet megadni.

Meg kell említenem, hogy nem vagyok programozó. A szoftver (többnyire) Pythonban van írva, és az okos dolgokat olyan emberektől másolják, akik tudják, mit csinálnak. Elismertem a forrásokat, ahol csak lehet - ha lemaradtam valamelyikről, kérem, tudassa velem, és kijavítom a szöveget.

Az Instructable némi forrasztási képességet feltételez, és ismeri a Python -ot, a Bash -t és beszél a Pi -vel SSH -n keresztül (bár megpróbálom a lehető legátfogóbbá tenni az utasításokat). Brit angolul is van írva, ezért ha a tó túloldalán olvas, kérjük, hagyja figyelmen kívül a szavakban található extra betűket és a dolgok páratlan nevét (például „hálózati aljzatok”, amelyeket például „fali aljzatok”).

Bármilyen megjegyzést, javasolt fejlesztést és felhasználást stb. Is nagyon szívesen fogadunk!

1. lépés: A tok előkészítése

Az ügy előkészítése
Az ügy előkészítése
Az ügy előkészítése
Az ügy előkészítése
Az ügy előkészítése
Az ügy előkészítése

Ehhez a projekthez egy régi TP-Link TD-W8960N routert használtam. Ez egy szép méret, és ha már rájöttem, hogyan lehet bejutni, nagyon könnyű dolgozni.

Megtartottam az útválasztó 12v @ 1A tápegységét is, amely kicsit alultáplált, de a gyakorlatban rendben van ehhez az alkalmazáshoz.

A tok kinyitása során két csavart kell eltávolítani a tok alján, majd egy szúróeszközt kell használni a tok szélén, hogy megkönnyítse a klipek kinyitását. A két csavar a hátsó gumi lábak alatt található (lásd a piros nyilakat). A legnehezebben kinyitható klipek az elülsőek, de hittem bennük, és hajlongtak a kémszerszámomhoz.

Miután kinyitotta a házat, csavarja ki az antennacsatlakozókon lévő két anyát, és az áramköri lap kivehető.

Mivel később mindkét antennát fogja használni, oldja le a koax vezetékeket az áramköri lapnál, és tegye őket oldalra.

Ha bátornak érzi magát (mint én), eltávolíthatja a nyomókapcsolót, az egyenáramú aljzatot és az RJ45 aljzatokat az áramköri kártyáról. A legjobb módszer erre, ha a deszkát egy satuba rögzítem, és hőpisztolyból melegítem, miközben megfelelő vékony toknyitó szerszámmal vagy csavarhúzóval díjazom. A logika az, hogy az összes forrasztócsatlakozást egyidejűleg megolvasztják, csökkentve ezzel az alkatrész műanyag tokjának teljes hőterhelését, összehasonlítva az egyes csomópontok forrasztópáka használatával. Legalábbis ez az elmélet. A gyakorlatban némi szerencse is jár! Az, hogy mennyi hőt kell alkalmazni, megítélés kérdése, de legyen óvatos és tévedjen a túl kevés mellett. Ha minden jól megy, akkor a fényképen látható használható alkatrészeket fogja kapni (azonban megjegyzi az olvasztott kapcsológombot és az enyhén deformált RJ45 aljzatcsíkot!).

Ellenkező esetben az interneten keresztül vásárolhatja meg a bitjeit.

2. lépés: Alkatrészlista

Raspberry Pi - Gyanítom, hogy bármilyen íz megteszi, de 3B+ -ot használtam

433 MHz -es tábla - keressen az eBay -n a „433 MHz -es RF -adó vevőkészlettel az Arduino Arm Mcu Wireless” vagy hasonlóhoz

433 MHz -es vevőkártya - ugyanez. Általában páronként 1,98 font

LM2596 Buck szabályozó - eBay, jellemzően £ 1.95. A 12 V -os áram 5V -ra való átalakítása a Pi számára

Fénycső - keressen az eBay -en a „Fiber Optic Cable - 0,25 / 0,5 / 0,75 / 1 / 1,5 / 2 / 2,5 / 3mm Dia - Light Guide” - 2 mm -es csövet használtam, de 1,5 mm -rel könnyebb lett volna dolgozni (£ £ 2,95 1 m -re)

2 pólusú miniatűr kapcsoló (szép, de opcionális)

A típusú USB 180 ° -os forrasztható foglalat - az eBay -en keresztül 1,90 fontot fizettem tízért

Kettős pólusú kapcsoló (szép, de opcionális) - az enyémet a modem/router tábláról szereztem be

RJ45 aljzat (ok) - a modem/útválasztó tábláról lett visszaállítva

Egyenáramú hálózati aljzat - az eBay -en keresztül (10x egyenáramú tápegység csatlakozóaljzat női panelre szerelhető csatlakozó 5,5 x 2,1 mm 0,99 £)

430 MHz -es antennák - konvertálja a modem/útválasztó 2 GHz -es antennáit

12V DC 12W tápegység (minimum) - ideális esetben ez a modemhez/útválasztóhoz tartozik. Ha nem, akkor győződjön meg arról, hogy a fenti egyenáramú konnektor megegyezik az Ön által használtaljzattal. A 12 V -os követelményt a 433 MHz -es távadó határozza meg

A hűtőventilátor -mod alkatrészeit egy későbbi utasítás tartalmazza.

3. lépés: fogyóeszközök és eszközök

A következő fogyóeszközökre lesz szüksége:

Forrasztás (igény szerint)

Forró olvadék ragasztó (szükség szerint)

Összekötő vezeték - (pl.) 22 és 24AWG (szükség szerint)

Hőzsugorító hüvely (szükség szerint)

Áldozatos macska. 5 ethernet patch kábel

Áldozatos USB 2 patch kábel.

Eszközök:

Huzalhúzók

Huzalvágók (lehetőleg süllyesztett vágók)

Díjazó eszköz

Megfelelő csavarhúzó a tok szétszereléséhez.

Forrasztópáka

Ragasztópisztoly

Hajszárító (a fénycsövek hajlításához és a rögtönzött fodrászmegszakításokhoz)

433 MHz -es FM kommunikációs vevő (opcionális - az adó problémák elhárításához) - (pl. AR1000)

4. lépés: Összeszerelés

Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés

A Pi és a kiegészítő táblák összeszerelésének módja a használt toktól függ. A képeken látszik, hogy mit csináltam.

A Pi nagyjából a tok közepén helyezkedik el, elegendő helyet biztosítva a különböző csatlakozók használatához (ne feledje, hogy a HDMI -t nem használják, mivel a Pi -vel SSH -n (azaz „fejetlen”) keresztül kommunikálnak.

A Pi -t pár mentett műanyag rögzítővel rögzítettem az alaphoz (lásd a fotót). Mivel a doboz nem hordozható használatra készült, csak két rögzítőelemet használhat. Könnyedén használhat 2,5 mm-es csavarokat állványokkal vagy akár olvadó ragasztóval (amit korábban is használtam-csak ügyeljen arra, hogy ne használjon túl sokat, és kerülje a felületre szerelhető alkatrészeket az alsó oldalon, mert elkerülhetetlenül eltávolítani a táblát valamikor (az építés első törvénye - szétszedni kell).

Forró ragasztóval rögzítettem a különböző táblákat a tok oldalaihoz. Ugyanazok a szempontok érvényesek, mint a fentiek.

Ha minden a helyén van, akkor vezetheti a dolgokat.

A blokkdiagram az általam használt bekötési sémát mutatja. Ne feledje, hogy az opcionális váltókapcsolót használom az adó és a vevőkártya közötti váltáshoz - valószínűleg kicsi a kockázata ennek, de nem akartam megsütni a vevőt adás közben.

Az is eszembe jutott, hogy a nyomógombot a Pi kecses kikapcsolására lehetett használni (számos kivitel elérhető az interneten). Nem zavartam - ebben az esetben egyszerű be- és kikapcsolásként működik. Csak vigyáznom kell, hogy leállítsam a Pi -t SSH -n keresztül, mielőtt megnyomom a kapcsolót.

Megjegyzi a fénycsöveket, amelyekkel a fényt a Pi két LED -jéről és a tápellátás állapotát jelző LED -ről a ház elejére irányítják. Hajszárítóból származó hőt használtam a csövek hajlításához (határozottan NEM szeretne hőpisztolyt használni!). Ez nagyon próba és hiba, de végül érdemes, mivel közvetlenül láthatja, hogy mit jeleznek a LED -ek, ahelyett, hogy szoftverekre és külső LED -ekre támaszkodna. Természetesen a te döntésed. A csövek vágása éles drótvágóval történik (a süllyesztett vágók a legjobbak), de éles ollót is használhat. Ismét forró olvadék ragasztóval lehet rögzíteni a csöveket a helyükön, de ügyeljen arra, hogy csak kis mennyiséget használjon - ami gyorsan lehűl -, mivel a ragasztó torzíthatja a csöveket.

Ideális esetben módosítsa az antennákat. Általában 2 GHz -en működnek, és nagyon hatástalan antennákat készítenek, ha 433 MHz -en használják.

Ehhez először távolítsa el az antenna burkolatát, hogy láthatóvá tegye az antenna vezetékét. Azt hiszem, szerencsém volt, mivel a fedél minden egyes antennáról lekerült, és csak kevés díjat kapott.

Vágja le az ábrán látható helyen, hogy eltávolítsa az eredeti 2 GHz-es antennát, és tegye ki a co-axet. Óvatosan hozzáférjen a belső maghoz, távolítsa el a fonatot, és forrasztja azt egy új huzaldarabra az ábrán látható módon. Az új vezeték hossza nagyjából 1/4 hullámhosszú, 433 MHz (azaz) hossza = 0,25 * 3E8/433E6 = 17 cm. Az alsó rész felcsavarható egy kis fúróval vagy hasonlóval, hogy a teljes hossz illeszkedjen az antenna burkolatába.

Összeszerelés előtt ellenőrizze, hogy nincs -e rövidzárlat a belső és a külső antennaérintkezők között.

Az adóantennát csak süket vevőként módosítottam, ami valószínűleg előnyös az RF távirányító kódjainak tanulásakor (lásd később).

Az ethernet kapcsolat egy áldozati macska bekötésével jön létre. 5 csatlakoztassa a kábelt a modemtől kimentett RJ45 aljzathoz. Vágja el a kábelt, hogy megfeleljen a Pi ethernet aljzat és az RJ45 tok foglalata közötti távolságnak, és csupaszítsa le mind a nyolc vezetéket. Használjon folytonossági tesztelőt annak biztosítására, hogy az 1. kábelcsatlakozót az 1. csatlakozóaljzathoz stb. Kösse. Ennek egyszerű módja az, ha a csatlakozót a csatlakozóaljzatba dugja, és az aljzat érintkezői és a csupasz kábelvégek között csenget. Mivel a négy külső RJ45 foglalat közül csak egyet használnak, jelölje meg a vezetékes aljzatot, hogy elkerülje a későbbi kínos hibákat.

Hasonlóképpen, az USB -csatlakozó egy áldozatos USB 2 -es patch -kábellel van bekötve, vezetékes tű 1 -től 1 -es tűig stb.

5. lépés: Jeladó megjegyzések

Adó megjegyzések
Adó megjegyzések
Adó megjegyzések
Adó megjegyzések
Adó megjegyzések
Adó megjegyzések

Az általam használt 433 MHz-es adó- és fogadólapok mindenütt megtalálhatók az interneten, és mivel annyira olcsók, két-két párot rendeltem (a kísérleti felcserélődés érdekében). Azt tapasztaltam, hogy a vevőkészülékek megbízhatóak, de az általam használt adót módosítani kellett, hogy megbízhatóan működjön.

Az általam vásárolt FS1000A távadó áramköre az ábrán látható. Próbálgatással azt találtam, hogy egy 3pF -es kondenzátort kell telepíteni a C1 SoT (select on test) pozícióba, hogy működjön a dolog. Mivel széles sávú vevőkészülékem van, amely 430 MHz -es lefedettséget tartalmaz, viszonylag könnyű volt a hibaelhárítás. Érdekes kérdés, hogyan tesztelhet vevő nélkül.

*Megjegyzés: Második adót vettem, miután nem tudtam működni az első kettőt. Ezek mindegyike hiányzott a gyűjtőtekercsből. Hmmm!

Volt egy 3pF kondenzátor a szemétdobozomban, de ez a legtöbb emberre nem lesz jellemző, és mindenesetre a szükséges érték több lehet, mondjuk 7pF. A nyers csere elvégezhető két bit csavart vezetékkel (az ismerősöm sodrott érű kábelének kapacitása körülbelül 100 pF / láb, hogy tájékozódjon a hosszról), de nem ajánlott, mivel más problémák merülhetnek fel. Remélhetőleg szerencséje lesz, és nem lesz ilyen problémája. Mindig vásárolhat egy drágább (és ezért valószínűleg) jobb gyártású távadót.

Vegye figyelembe azt is, hogy az adó frekvenciája nem túl pontos vagy stabil, de a gyakorlatban elég jó volt ahhoz, hogy megbízhatóan működtesse a távoli aljzatokat.

Kérjük, vegye figyelembe azt is, hogy a jeladón az „ANT” szó melletti átlátszó lyuk NEM az antennacsatlakozás - ez a sarokban lévő jelzés nélküli (lásd a fényképet). Ez volt az első hiba, amit elkövettem….

A pin csatlakozásnak, amely segítőkészen meg van jelölve "ATAD", természetesen "DATA" -nak kell lennie.

6. lépés: A szoftver áttekintése

Szoftver áttekintés
Szoftver áttekintés

Kérlek vedd figyelembe, hogy nem vagyok programozó. Amint azt korábban említettük, az okos dolog mások kódja, de eléggé ismerem ahhoz, hogy összecsípjem és adaptáljam, hogy együtt működjön. Ez az első Instructable, amelyet kóddal tettem közzé, ezért elnézést kérek, ha rosszul tettem! Ha bármilyen kérdése van, kérjük, vegye figyelembe…

Az alapszoftvert használtam a következő:

  • Raspbian Stretch Lite
  • PiGPIO (fantasztikus könyvtár szervók vezetéséhez stb.)
  • _433.py kód (RF vezérlőkódok kódolására és dekódolására) - a PiGPIO webhelyről linkelve.
  • Python3 (Raspbian -nal együtt)

További szoftverek, amelyeket használok:

  • pyephem (kiszámítja a hajnal és az alkonyat idejét - hasznos a fényváltáshoz)
  • A kiváló „Tasker” és az „AutoTools SSH” távirányító létrehozásához Android telefonomon - lásd a fotót (mindkettő elérhető a Google Play áruházban). [A Tasker "jelenet" létrehozásának módja kívül esik ezen utasításon, mivel meglehetősen meredek tanulási görbe van benne, de szívesen megvitatom, amit tettem.]

Saját kód (Pythonban). Nyers, de funkcionális:

  • tx.py - menü és/vagy parancssori argumentum szoftver, amely elküldi a megfelelő kódot a 433 MHz -es adónak.
  • hajnal -szürkület - kiszámítja a hajnal és az alkonyat idejét a helyemen, és frissíti a crontab felhasználót (karácsonyfa fényekhez stb.)

A fenti személyi kód a GitHubon keresztül érhető el:

A projekt funkcionalitását a PiGPIO és a _433.py kód biztosítja. Ez utóbbi rendelkezik egy fogadási funkcióval, amely meghallgatja a 433 MHz -es RF távirányító távirányítói parancsait, és dekódolja az időzítő impulzusokat, és olyan kimenetet állít elő, amelyet a továbbítási funkció későbbi használatra tárolhat. Ez lehetővé teszi a rendszer számára, hogy megtanuljon bármilyen „normál” 433 MHz -es RF távirányítót. Elvileg a szomszéd RF -távirányítóinak megtanulására is használható. Erősen tanácsolnám ezt, mivel a szomszédok ritkán látják a véletlenszerűen csengő ajtócsengők vicces oldalát. Nem tenném.

Beállít

Mivel a Pi ebben az alkalmazásban „fej nélkül” (azaz) monitor vagy billentyűzet nélkül fut, beszélnie kell vele az ssh -n keresztül. Rengeteg útmutató áll rendelkezésre a Pi fejetlenség beállításáról, de a dolgok egyszerűsége érdekében feltételezem, hogy először indítsa el a Pi -t monitorral és billentyűzettel. Indítás után indítsa el a terminált, és írja be a "sudo raspi-config" parancsot. Válassza az '5. Interfész opciók”, majd„ P2 SSH”. Engedélyezze az ssh szervert, és zárja be a raspi-config-ot (ami valószínűleg újraindítással fog végződni).

Ezt követően a Pi -vel folytatott kommunikáció egy távoli terminálról az ssh -n keresztül hajtható végre. Ne feledje, hogy a kód nem igényel rögzített LAN IP -címet a Pi -hez, de mindenképpen segít (és mindenképpen szükséges, ha elmélyül a Tasker -vezérlésben). Ismét rengeteg oktatóanyag található az interneten, amelyek leírják, hogyan kell ezt megtenni. Az otthoni útválasztóm lehetővé teszi, hogy rögzített IP -címet rendeljek a Pi MAC -címéhez, tehát ezt így teszem, nem pedig a Pi beállításainak szerkesztésével.

A PiGPIO telepítése:

ssh a Pi -be, és írja be a következő parancsokat:

sudo apt frissítés

sudo apt install pigpio python-pigpio python3-pigpio

sudo apt install git

git klón

sudo apt install python3-RPi. GPIO

A PiGPIO futtatása rendszerindításkor:

crontab -e

add hozzá a következő sort:

Szerezze be a Python kódot a 433 MHz -es RF távoli kódok továbbításához és dekódolásához:

wget

bontsa ki a _433_py.zip fájlt

A kicsomagolt _433.py fájlt helyezze át egy megfelelő könyvtárba (pl.) ~/Software/apps

Gépelés (abban a könyvtárban)

_433.py

a Pi -t 433 rx módba helyezi, várva a demodulált RF távirányító kódokat a GPIO 38 -as tűn.

Ha a 433 MHz -es vevőegység csatlakoztatva van, ha 433 MHz -es távirányítót használ a közelben, akkor a következő adatok jelennek meg a képernyőn:

kód = 5330005 bit = 24 (rés = 12780 t0 = 422 t1 = 1236)

Ezeket az adatokat használja a Python programjában a távirányítóról történő átvitel újragenerálásához.

Ha ezeket az adatokat egy fájlba kívánja továbbítani későbbi használatra, futtassa:

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

Miután megszerezte az adatokat, a következő lépés az, hogy használja azokat a „tx.py” kód szerkesztéséhez, amelyet a GitHub táromból másolhat. Ez a kód az adatokat használja a 433 MHz -es adó által továbbítandó távoli foglalat (ok) által megértett hullámformák előállításához. Remélhetőleg a szükséges szerkesztések ésszerűek lesznek, a többi pedig rajtad múlik …

Ajánlott: