Sisukord:

Raspberry Pi RF kaugjuhtimisega pistikupesad (toitepistikud): 6 sammu
Raspberry Pi RF kaugjuhtimisega pistikupesad (toitepistikud): 6 sammu

Video: Raspberry Pi RF kaugjuhtimisega pistikupesad (toitepistikud): 6 sammu

Video: Raspberry Pi RF kaugjuhtimisega pistikupesad (toitepistikud): 6 sammu
Video: Using Raspberry Pi as a RF Transmitter 2024, November
Anonim
Raspberry Pi RF kaugjuhtimisega pistikupesad (pistikud)
Raspberry Pi RF kaugjuhtimisega pistikupesad (pistikud)
Raspberry Pi RF kaugjuhtimisega pistikupesad (pistikud)
Raspberry Pi RF kaugjuhtimisega pistikupesad (pistikud)
Raspberry Pi RF kaugjuhtimisega pistikupesad (pistikud)
Raspberry Pi RF kaugjuhtimisega pistikupesad (pistikud)
Raspberry Pi RF kaugjuhtimisega pistikupesad (pistikud)
Raspberry Pi RF kaugjuhtimisega pistikupesad (pistikud)

Juhtige odavaid 433 MHz pistikupesasid (seinakontakte) Raspberry Pi abil. Pi saab õppida pistikupesade kaugjuhtimispuldist väljastatud juhtimiskoode ja kasutada neid programmi juhtimise all, et aktiveerida kõik või kõik kaugpistikupesad kogu majas.

Disain ei tugine välisele Interneti-ühendusele (st asjade internetile) ja on seetõttu (IMHO) palju turvalisem kui veebipõhised kontrollerid. Sellegipoolest proovisin Google Home'iga integreerimist, kuid kaotasin kiiresti elutahte, kui käskude täitmiseks kulus mõnikord kümneid sekundeid või neid ei täidetud üldse.

Ilmselge rakendus jõuluajal on jõulupuu tulede juhtimine ja (kui olete niimoodi kaldu) väljaspool kuvaritulesid. Ehkki seda on lihtne kasutada, saate selle juhendi koostamise abil ülipaindliku pistikupesakontrolleri, mis suudab reageerida andurite sisenditele ja teistele koduvõrgu seadmetele, näiteks Raspberry Pis, mis töötab Linux Motioniga.

Näiteks on mul köögivalgustite komplekt, mis süttib, kui kaamera, mis käivitab funktsiooni „Motion”, tuvastab köögis liikumise ja lülitab need pärast viie minuti pikkust tegevusetust välja. See töötab tõesti hästi!

Google Play poe funktsioonide „Tasker” ja „AutoTools SSH” abil saate seadistada igasuguseid uhkeid telefonipõhiseid kaugjuhtimispulte.

Projekt tugineb odavatele 433MHz vastuvõtja- ja saatjaplaatidele, mis on eBays laialdaselt saadaval. Need ühilduvad (vähemalt Ühendkuningriigis) 433MHz kaugjuhtimispuldiga, mida müüakse koos kaugjuhtimispuldiga. Minu projekt sisaldab vastuvõtjat, nii et uusi kaugjuhtimispuldi käsukomplekte saab hõlpsalt ja kiiresti lisada. Üks märkus - Ühendkuningriigis saadaval olevad kaugpesad näivad olevat kahte maitset - need, mille ID on programmeeritud pistikupesa lüliti abil, ja need, mis sõltuvad programmeerimisest kaugjuhtimispuldist. See projekt ühildub mõlemaga, kuid esimesed ei kaota elektrikatkestuse tõttu oma identiteeti ja on seetõttu eelistatavamad.

Projekt kasutab vana ruuteri korpust - mul on neid vähe ja neil on käepäraselt olemas enamik vajalikke väliseid pistikuid, nagu toide, Ethernet, USB ja antenn (id). See, mida te kasutate, sõltub sellest, mis teil on saadaval, nii et see juhend on tõenäoliselt kasulikum üldjuhendina, mitte samm-sammult juhiste kogumina.

Kuigi see pole selle projekti jaoks tingimata vajalik, olen lisanud ka jahutusventilaatori ja kontrolleri. Ilma ventilaatorita võib Pi üsna soojaks saada (umbes 60 ° C). Üksikasjad võidakse esitada hilisemas juhendis.

Pean mainima, et ma pole programmeerija. Tarkvara on (enamasti) kirjutatud Pythonis ja nutikad asjad kopeeritakse inimestelt, kes teavad, mida nad teevad. Olen teadnud allikaid, kus saan - kui mõni on kahe silma vahele jäänud, andke palun teada ja parandan teksti.

Instructable eeldab mõningast jootmisvõimet ja Pythoni, Bashi ja teie Pi -ga SSH kaudu rääkimist (kuigi proovin muuta juhised võimalikult põhjalikuks). See on kirjutatud ka Briti inglise keeles, nii et kui loete teisel pool tiiki, siis ignoreerige sõnade lisatähti ja asjade paarituid nimesid (nt „pistikupesad”, mida teate näiteks "seinakontaktid").

Kõik kommentaarid, soovitatud täiustused ja kasutusalad jne on samuti väga teretulnud!

Samm: kohtuasja ettevalmistamine

Juhtumi ettevalmistamine
Juhtumi ettevalmistamine
Juhtumi ettevalmistamine
Juhtumi ettevalmistamine
Juhtumi ettevalmistamine
Juhtumi ettevalmistamine

Selle projekti jaoks kasutasin vana TP-Link TD-W8960N ruuterit. See on kena suurusega ja kui ma olin välja mõelnud, kuidas sinna sisse saada, on sellega üsna lihtne töötada.

Säilitasin ka ruuteri 12v @ 1A toiteallika, mis on pisut alatoidetud, kuid praktikas on selle rakenduse jaoks OK.

Korpuse avamiseks tuleb eemaldada kaks kruvi korpuse põhjas ja seejärel kasutada klambrite avamise hõlbustamiseks tööriista serva ümber. Kaks kruvi on korpuse tagaosas kummist jalgade all (vt punased nooled). Kõige raskemini avanevad klipid on ees, kuid mul oli usku ja need painutasid mu nuhkimisvahendit.

Kui korpus on avatud, keerake antenni pistikute kaks mutrit lahti ja trükkplaat saab välja tõmmata.

Kuna kasutate mõlemat antenni hiljem, keerake koaksiaaljuhtmed trükkplaadil lahti ja pange need ühele küljele.

Kui tunnete end julgena (nagu minagi), saate trükkplaadilt eemaldada tõukelüliti, alalisvoolu pesa ja RJ45 pesad. Parim viis, mille olen leidnud, on plaadi kinnitamine kruvisidesse ja kuumutuspüstoli soojendamine sobiva õhukese korpuse avamise tööriista või kruvikeerajaga. Loogika seisneb selles, et kõik jootmisühendused sulatatakse korraga, vähendades komponendi plastkorpuse üldist soojuspinget võrreldes jootekolvi kasutamisega igal ristmikul. See on vähemalt teooria. Praktikas kaasneb sellega õnne! Kui palju soojust peale kanda, on otsustusvõime küsimus, kuid olge ettevaatlik ja eksige liiga vähe. Kui kõik läheb hästi, saate lõpuks fotol näidatud kasutatavad komponendid (märkate siiski sulanud lüliti nuppu ja veidi deformeerunud RJ45 pistikuriba!).

Vastasel juhul on teie bittide ostmine Internetist väljas.

Samm: osade loend

Vaarika Pi - ma kahtlustan, et iga maitse sobib, kuid ma kasutasin 3B+

433MHz saatjaplaat - otsige eBayst '433MHz RF -saatja koos vastuvõtja komplektiga Arduino Arm Mcu Wireless'ile või sarnasele

433 MHz vastuvõtjaplaat - sama. Tavaliselt 1,98 naela paari kohta

LM2596 Buck regulaator - eBay, tavaliselt 1,95 £. 12V toite teisendamiseks 5V jaoks Pi jaoks

Valgusti - otsige eBayst 'Fiber Optic Cable - 0.25 / 0.5 / 0.75 / 1 / 1.5 / 2 / 2.5 / 3mm Dia - Light Guide' - kasutasin 2 mm toru, kuid 1,5 mm oleks olnud lihtsam töötada (maksin £ 2,95 1 m kohta)

2 -pooluseline miniatuurne lülituslüliti (tore omada, kuid valikuline)

USB tüüpi A 180 ° joodetav pesa - eBay kaudu maksin kümne eest 1,90 naela

Kahepooluseline tõukelüliti (tore omada, kuid valikuline) - sain oma modemi/ruuteri plaadilt

RJ45 pesa (d) - taastatud modemi/ruuteri plaadilt

Alalisvoolu pistikupesa - eBay kaudu (10x alalisvoolu toiteploki pistikupesa naissoost paneeli kinnitusliides 5,5 x 2,1 mm 0,99 £)

430MHz antennid - teisendage modemi/ruuteri 2GHz antennid

12V alalisvoolu 12W toide (minimaalselt) - ideaaljuhul on see kaasas modemi/ruuteriga. Kui ei, peate veenduma, et ülaltoodud alalisvoolu pistikupesa vastab teie kasutatavale. 12v nõude määrab 433MHz saatja

Jahutusventilaatori modi osi kirjeldatakse üksikasjalikult hilisemas juhendis.

Samm: kulumaterjalid ja tööriistad

Teil on vaja järgmisi kulumaterjale:

Jootmine (vastavalt vajadusele)

Kuumsulamliim (vastavalt vajadusele)

Ühendusjuhe - (nt) 22 ja 24AWG (vastavalt vajadusele)

Termokahanev hülss (vastavalt vajadusele)

Ohvrikass. 5 Etherneti kaablit

Ohvriline USB 2 patch -kaabel.

Tööriistad:

Traadi eemaldajad

Traadilõikurid (eelistatavalt loputuslõikurid)

Hindamisvahend

Korpuse lahtivõtmiseks sobiv kruvikeeraja.

Jootekolb

Liimipüstol

Föön (kergete torude painutamiseks ja ekspromptseks juuksuri katkestamiseks)

433 MHz FM -vastuvõtja (valikuline - saatja probleemide tõrkeotsinguks) - (nt) AR1000

4. samm: kokkupanek

Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek
Kokkupanek

Pi ja lisaplaatide kokkupanek sõltub kasutatavast korpusest. Fotod näitavad, mida ma tegin.

Pi asub umbes korpuse keskel, jättes piisavalt ruumi erinevate pistikute kasutamiseks (pange tähele, et HDMI -d ei kasutata, kuna Pi -ga suhtletakse SSH kaudu (st) "peata".

Ma kinnitasin Pi aluse külge, kasutades paari päästetud plastkinnitust (vt fotot). Kuna karp pole mõeldud kaasaskantavaks kasutamiseks, pääsete ainult kahe kinnitusvahendiga. Võite hõlpsalt kasutada 2,5 mm kruvisid koos eraldiseisvate või isegi kuumsulamliimidega (mida ma olen varem kasutanud-lihtsalt ärge kasutage liiga palju ja vältige pinnale paigaldatavaid komponente, mis tekivad paratamatult) plaati millalgi eemaldada (esimene ehitusseadus - peate selle lahti võtma)).

Kasutasin erinevate liistude kinnitamiseks korpuse külgedele kuuma liimi. Kohaldatakse samu kaalutlusi nagu eespool.

Kui kõik on paigas, saate asju ühendada.

Plokkskeem näitab minu kasutatud juhtmestiku skeemi. Pange tähele, et kasutan saatja ja vastuvõtjaplaatide vahelise toite vahetamiseks valikulist lülitit - tõenäoliselt on selleks väike oht, kuid ma ei tahtnud saatmisel praadida.

Samuti tuli mulle pähe, et tõukurlülitit oleks võinud kasutada Pi graatsiliseks väljalülitamiseks (Internetis on saadaval mitmeid disainilahendusi). Ma ei viitsinud - sel juhul toimib see lihtsa toitelülitina. Enne lüliti vajutamist pean lihtsalt olema ettevaatlik, et Pi SSH kaudu välja lülitada.

Pange tähele valgustorusid, mida kasutatakse valguse suunamiseks Pi kahelt LED -ilt ja toite oleku LED -ilt korpuse esiküljele. Torude painutamiseks kasutasin fööni soojust (te kindlasti EI TAHAKS kasutada soojuspüstolit!). See on väga katse ja viga, kuid lõpuks tasub end ära, kuna näete otse, mida LED -id signaalivad, mitte tarkvarale ja välistele LED -idele tuginedes. See on muidugi teie valik. Torude lõikamine toimub terava paariga traatlõikuritega (kõige parem on loputuslõikurid), kuid võite kasutada ka teravaid käärid. Jällegi saab torude paika kinnitamiseks kasutada kuumsulamliimi, kuid olge ettevaatlik, et kasutaksite vaid väikest kogust - see jahtub kiiresti - kuna liim võib torusid moonutada.

Ideaalis peaksite antenne muutma. Tavaliselt on nende suurus 2 GHz ja nad teevad väga ebaefektiivseid antenne, kui neid kasutatakse 433 MHz sagedusel.

Selleks peaksite esmalt antennikaane eemaldamiseks antenni juhtme paljastamiseks eemaldama. Ma arvan, et mul vedas, kuna kate tuli igalt antennilt maha vaid väikese hulga auhindadega.

Algsest 2 GHz antennist eemaldamiseks lõigake kohad, kus näidatud, ja paljastage kaaskirves. Avage ettevaatlikult sisemine südamik, eemaldage punutis kaugelt ja jootke see uuele traaditükile, nagu näidatud. Uue traadi pikkus on ligikaudu 1/4 lainepikkus 433 MHz (st) pikkus = 0,25 * 3E8/433E6 = 17 cm. Alumist osa saab kerida väikese puurvarda või muu sarnase abil, et kogu pikkus mahuks antennikatte sisse.

Enne kokkupanekut kontrollige, kas sisemise ja välimise antenni kontaktide vahel pole lühist.

Modifitseerisin saatjaantenni ainult kurtide vastuvõtjana, mis on RF -kaugjuhtimispuldi koodide õppimisel ilmselt kasulik (vt hiljem).

Etherneti ühendus luuakse ohverdatud Kassi juhtmestikuga. 5 ühenduskaabel modemist päästetud RJ45 pistikupessa. Lõika kaabel nii, et see vastaks Pi Etherneti pistikupesa ja RJ45 korpuse pistikupesa vahekaugusele ning ava kõik kaheksa juhet. Kasutage järjepidevuse testerit, et veenduda, et ühendate kaabli tihvti 1 pistikupesasse 1 jne. Lihtne viis selleks on pistik pistikupessa ühendada, millega ühendate, ning helistada pistikupesa kontaktide ja katmata kaabli otste vahel. Kuna kasutatakse ainult ühte neljast välisest RJ45 pesast, märkige juhtmega pistikupesa vastavalt, et vältida piinlikke vigu hiljem.

Samamoodi ühendatakse USB -pistik ohverdatud USB 2 -kaabli abil, juhtmega tihvt 1 kuni tihvt 1 jne. Välismaailma USB -pistik liimitakse korpusele kuumalt, kasutades telefoniliini pistikupesast jäetud auku.

5. samm: saatja märkused

Saatja märkmed
Saatja märkmed
Saatja märkmed
Saatja märkmed
Saatja märkmed
Saatja märkmed

433MHz saatmis- ja vastuvõtustahvlid, mida ma kasutasin, on Internetis kõikjal levinud ja kuna need on nii odavad, tellisin neist kaks paari (et võimaldada eksperimentaalseid kokkuvõtteid). Leidsin, et vastuvõtjad on usaldusväärsed, kuid kasutasin saatjat, mida kasutasin, et see töötaks usaldusväärselt.

Minu ostetud saatja FS1000A ahel on näidatud skeemil. Leidsin katse -eksituse meetodil, et 3pF kondensaator vajab paigaldamist C1 SoT (valige testimisel) asendisse, et asi toimima saada. Kuna mul on lairiba vastuvõtja, mis katab 430MHz, oli selle tõrkeotsing suhteliselt lihtne. Huvitav küsimus on, kuidas ilma vastuvõtjata testida.

*Märkus: ostsin teise saatjapartii pärast seda, kui ma ei saanud kahte esimest tööle. Kõigil neist puudus kollektoripool. Hmmm!

Mul oli prügikastis 3pF kondensaator, kuid enamiku inimeste puhul see nii ei ole ja ma arvan, et igal juhul võib vajalik väärtus olla suurem, näiteks 7 pF. Toore tooriku saab asendada kahe keerdtraadiga (minu tuttava keerdpaarkaabli mahtuvus on umbes 100 pF jala kohta, et anda teile pikkuse juhend), kuid see pole soovitatav, kuna võib tekkida muid probleeme. Loodetavasti on teil õnne ja teil pole selliseid probleeme. Alati võis osta kallima (ja seega tõenäoliselt ka) paremini valmistatud saatja.

Pange tähele, et saatja sagedus ei ole väga täpne ega stabiilne, kuid praktikas on see olnud piisavalt hea, et kaugjuhtimispistikuid usaldusväärselt kasutada.

Pange tähele ka seda, et saatja sõna „ANT” kõrval olev kaetud auk ei ole antenniühendus - see on nurgas olev märgistuseta (vt fotot). See oli esimene viga, mille ma tegin….

Tihvtühendus, mis on abivalmis märgistatud „ATAD”, peaks tegelikult muidugi lugema „DATA”.

6. samm: tarkvara ülevaade

Tarkvara ülevaade
Tarkvara ülevaade

Palun pidage meeles, et ma pole programmeerija. Nagu varem öeldud, on nutikas asi teiste inimeste kood, kuid ma tean piisavalt, et seda näpistada ja kohandada, et see koos toimiks. See on ka esimene Instructable, mille koodiga avaldasin, nii et vabandage, kui olen seda valesti teinud! Kui teil on küsimusi, pidage seda meeles…

Põhitarkvara, mida kasutasin, on järgmine:

  • Raspbian Stretch Lite
  • PiGPIO (fantastiline raamatukogu servode jms juhtimiseks)
  • _433.py kood (RF -koodide kodeerimiseks ja dekodeerimiseks) - viidatud PiGPIO veebisaidilt.
  • Python3 (kaasas Raspbianiga)

Lisatarkvara, mida kasutan:

  • pyephem (arvutab koidu ja hämariku ajad - kasulik valguse vahetamiseks)
  • Suurepärased „Tasker” ja „AutoTools SSH” minu Android -telefonis kaugjuhtimispuldi loomiseks - vt fotot (mõlemad saadaval Google Play poes). [Taskeri stseeni loomine jääb selle juhendi reguleerimisalast välja, kuna sellega on seotud üsna järsk õppimiskõver, kuid mul on hea meel arutada, mida ma tegin]

Minu enda kood (Pythonis). Toor, kuid funktsionaalne:

  • tx.py - menüü- ja/või käsureatarkvara, mis saadab 433MHz saatjale sobiva koodi.
  • dawn -dusk - arvutab koidiku ja hämariku ajad minu asukohas ning uuendab kasutaja crontab -i (kasutatakse jõulupuude valgustite jms jaoks)

Ülaltoodud isikukoodile pääseb juurde GitHubi kaudu:

Projekti funktsionaalsust pakuvad PiGPIO ja kood _433.py. Viimasel on vastuvõtufunktsioon, mis kuulab teie 433 MHz RF -kaugjuhtimispuldi kaugjuhtimispuldi käske ja dekodeerib ajastusimpulsid, saades väljundi, mille saate edastusfunktsioon hilisemaks kasutamiseks salvestada. See võimaldab süsteemil õppida mis tahes "tavalist" 433 MHz RF -kaugjuhtimispulti. Põhimõtteliselt saab seda kasutada ka oma naabri raadiosageduslike kaugjuhtimispultide õppimiseks. Soovitan tungivalt selle vastu olla, sest naabrid näevad harva juhuslikult helisevate uksekellade naljakat külge. Mina ei tahaks.

Seadistamine

Kuna selle rakenduse Pi käivitatakse ilma peata (st) ilma monitori või klaviatuurita, peate sellega rääkima ssh kaudu. Saadaval on palju juhendeid, mis hõlmavad Pi peata seadistamist, kuid asjade lihtsuse huvides eeldan, et alustate Pi esmalt monitori ja klaviatuuriga. Pärast käivitamist käivitage terminal ja sisestage "sudo raspi-config". Valige '5. Liidesevalikud”ja seejärel„ P2 SSH”. Luba ssh-server ja sulge raspi-config (mis tõenäoliselt lõpeb taaskäivitamisega).

Järgnevaid kommentaare Pi -ga saab seejärel teha kaugterminalist ssh kaudu. Pange tähele, et kood ei nõua Pi jaoks fikseeritud LAN -i IP -aadressi, kuid see kindlasti aitab (ja see on kindlasti vajalik, kui süvenete Taskeri juhtimisse). Jällegi on veebis palju õpetusi selle kohta, kuidas seda teha. Minu kodune ruuter võimaldab mul määrata Pi MAC -aadressile fikseeritud IP -aadressi, nii et ma teen seda nii, mitte Pi seadistusi muutes.

PiGPIO installimine:

ssh Pi -sse ja sisestage järgmised käsud:

sudo apt värskendus

sudo apt install pigpio python-pigpio python3-pigpio

sudo apt install git

git kloon

sudo apt install python3-RPi. GPIO

PiGPIO käivitamiseks alglaadimisel tehke järgmist.

crontab -e

lisage järgmine rida:

Hankige Pythoni kood 433 MHz RF -kaugkoodide edastamiseks ja dekodeerimiseks:

wget

pakkige lahti _433_py.zip

Teisaldage lahtipakitud _433.py sobivasse kataloogi (nt) ~/tarkvara/rakendused

Sisestamine (selles kataloogis)

_433.py

asetab Pi 433 rx režiimi, oodates GPIO pin 38 demoduleeritud RF kaugjuhtimispuldi koode.

Kui 433MHz vastuvõtja on ühendatud ja kui läheduses kasutatakse 433MHz kaugjuhtimispulti, kuvatakse ekraanil midagi sellist:

kood = 5330005 bitti = 24 (vahe = 12780 t0 = 422 t1 = 1236)

Neid andmeid kasutatakse teie Pythoni programmis, et taastada edastus kaugjuhtimispuldist.

Nende andmete hilisemaks kasutamiseks faili edastamiseks käivitage:

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

Kui olete andmed kätte saanud, on järgmine samm nende abil muuta koodi „tx.py”, mille saate minu GitHubi hoidlast kopeerida. See kood kasutab andmeid 433MHz saatja poolt edastatava kaugpistikupesa (te) jaoks arusaadavate lainekujude genereerimiseks. Loodetavasti on vajalikud muudatused ilmselgelt ilmsed ja ülejäänu on teie otsustada ….

Soovitan: