Përmbajtje:
- Furnizimet
- Hapi 1: Vendosni Raspberry Pi tuaj
- Hapi 2: Lidhni pajisjen tuaj
- Hapi 3: Shtimi i Kodit
- Hapi 4: jepni një të shtënë
- Hapi 5: Debugging dhe Skedari RxTx.py
- Hapi 6: Shijoni
Video: Si të kontrolloni prizat duke përdorur një mjedër Pi: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:17
Në këtë Instructable, unë do t'ju demonstroj se si të krijoni një ndërfaqe në internet për të kontrolluar prizat në shtëpinë tuaj duke përdorur një Raspberry Pi. Zgjodha ta shkruaj këtë projekt kur pashë konkursin Sensors, dhe meqenëse ky projekt përfshin përdorimin e një sensori për të lexuar kodet nga telekomanda e ofruar me prizat që blini, mendova se ky projekt do të ishte përshtatja perfekte.
Unë do të punoj për ta mbajtur këtë nivel sa më të lartë të jetë e mundur dhe të siguroj kod për ta bërë këtë të funksionojë. Për të gjithë ju majmunë të koduar atje, mos ngurroni të gërmoni rreth kodit dhe më kontrolloni në komente! Unë jam gjithmonë në kërkim të përmirësimit. Ka shumë gjëra që po ndodhin në këtë, kështu që nëse keni pyetje për ndonjë hap, ju lutemi lini një koment në mënyrë që të azhurnoj Instructable me detajet e nevojshme.
Ky projekt përdor priza të kontrolluara me frekuencë radio në 433MHz të shoqëruar me një transmetues RF të lidhur me pi tuaj të mjedrës. Prizat vijnë me telekomandë që mund të ndezin/fikin prizat, por kjo nuk është kënaqësi! Ne do të përdorim një server në internet që funksionon në mjedër pi që lejon këdo që është i lidhur me rrjetin të aktivizojë ose çaktivizojë priza të caktuara. Një parafaqe e internetit për këtë projekt është ideale pasi çdo pajisje e lidhur me ueb në rrjetin tuaj mund të përdoret si telekomandë.
Ky është një projekt që kam ëndërruar ta përfundoj me vite, dhe megjithëse ka ende vend për shtesa, projekti i përshkruar si më poshtë është një sistem funksional.
Furnizimet
- Një Raspberry Pi (kam përdorur një RPi 3 Model B+)
- Një transmetues dhe marrës 433MHz (e kam përdorur këtë)
- Dyqanet 433MHz (e kam përdorur këtë)
- Kërcues femra nga femra (e bleva këtë bandë)
- Një kompjuter ose pajisje dore e aftë për të hyrë në internet
Hapi 1: Vendosni Raspberry Pi tuaj
Filloni duke instaluar versionin më të fundit të Raspbian në Raspberry Pi tuaj të ri. Nëse planifikoni të përdorni një Pi ekzistues (të cilin mund ta bëni plotësisht), gjithçka që ju nevojitet është të siguroheni që keni Python 3 në Pi tuaj, pasi kjo është ajo në të cilën është shkruar i gjithë kodi burim që unë ofroj. Për ta bërë këtë, lloji
python3
në vijën e komandës. Nëse keni Python 3, duhet ta shihni terminalin python të hapur. Dilni nga terminali duke e mbyllur ose shtypur
dalje ()
Pasi ta keni konfirmuar këtë, duhet të instaloni balonë në Pi tuaj. Flask na lejon të krijojmë serverin tonë në internet. Nga rreshti i komandës Pi, shkruani
subo instaloni pip3
Në rast se nuk keni pip të instaluar në Pi tuaj, do t'ju duhet të shtypni
sudo apt-get install python3-pip
Unë preferoj të zhvilloj në Raspberry Pi tim nga komoditeti i kompjuterit tim desktop. Nëse edhe ju preferoni këtë opsion, duhet të instaloni një lloj mjedisi në SSH në Pi. PuTTY do të funksionojë, por unë preferoj të kem një GUI (ndërfaqe grafike të përdoruesit), gjë që të bën të duket sikur je drejtpërdrejt në Pi. Për opsionin GUI, do të dëshironi të instaloni VNC Viewer në kompjuterin në të cilin planifikoni të punoni. Ekzistojnë gjithashtu cilësime që do t'ju duhet të rregulloni në Pi tuaj. Udhëzimet për modifikimin e cilësimeve mund të gjenden këtu.
Hapi 2: Lidhni pajisjen tuaj
Në këtë pikë, është koha për të bërë të gjitha lidhjet fizike që do t'ju duhet të bëni në përgatitje për vendosjen e kodit burimor për këtë projekt. Ju do të lidhni kunjat e transmetuesit dhe marrësit me kunjat GPIO të Pi tuaj. Ju do të dëshironi të referoni në mënyrë fetare diagramin pinout të kunjave GPIO. Për ta bërë këtë, hapni terminalin në Pi tuaj dhe shkruani
pinout
Më poshtë janë lidhjet që kam bërë. Ju mund të keni një konfigurim të ndryshëm nëse keni blerë pajisje të ndryshme të transmetuesit/marrësit sesa unë tregova në hyrje. Nëse vendosni të zgjidhni numra të ndryshëm të kunjave nga ata që tregoj më poshtë, mos kini frikë! Kur shkarkoni kodin burimor, thjesht modifikoni numrat e pin sipas nevojës në skedarin RxTx.py.
Marrësi (çip i madh):
- GND - Çdo kunj terreni i caktuar
- T D DHNAT - Pin 11
- DER - Jo i lidhur
- +5V - Çdo pin i caktuar +5V
- ------
- +5V - Çdo pin i caktuar +5V
- GND - Çdo kunj terreni i caktuar
- GND - Nuk është e lidhur
- ANT - Jo i lidhur
Shënim: Ju mund të lidhni një antenë sipas nevojës, por unë zbulova se nuk kisha nevojë. Ky çip i vogël ishte çuditërisht i ndjeshëm dhe me besnikëri zbulon sinjale të paktën 50 metra nga vendi ku ishte ulur dhe përmes të paktën dy mureve.
Transmetues:
- P - Kunja 3.3V
- DA - Pin 7
- G - Çdo kunj terreni i caktuar
- AN - nuk është e lidhur
Shënim: Përsëri, mund të lidhni një antenë me transmetuesin sipas nevojës, por zbulova se nuk kisha nevojë. Gama është më se e mjaftueshme (50+ft).
Hapi 3: Shtimi i Kodit
Kjo është pjesa në të cilën kam kaluar pjesën më të madhe të kohës kur po zhvilloja këtë projekt. Mundohem të komentoj sa më shumë që të jetë e mundur, por me shumë mundësi kam lënë boshllëqe që mund të kërkojnë shpjegim nëse ndonjëri prej jush shpenzon kohë duke u përpjekur për ta kuptuar atë. Nëse ju ndodh kjo, ju lutemi lini një koment!
Gjuhët që përfshihen këtu janë:
- Python
- CSS
- Javascript
- HTML
- JQuery/Ajax
Python përdoret në serverin e shisheve dhe në
RxTx.py
skedar, i cili trajton transmetimin dhe marrjen e kodit. CSS përdoret në krijimin e stilit të faqes në internet. Kush dëshiron një faqe interneti të mërzitshme !? Javascript përdoret në cilindo nga trajtimet e ngjarjeve (shtypja e një butoni, etj.). HTML është blloku kryesor ndërtues i faqes në internet. Së fundi, JQuery/Ajax përdoret për të komunikuar midis faqes në internet dhe sfondit Python.
Nëse të gjitha këto gjuhë tingëllojnë frikësuese, mos u shqetësoni! Unë e dija që Python po hynte në këtë projekt, i cili ndodhi të ishte gjuha që përfshinte sasinë më të vogël të kodimit, kupto … Mjafton të them, mos ngutni duke përpunuar kodin nëse kjo është ajo që ju zgjidhni të bëni. Nëse nuk doni, nuk keni pse!
Më poshtë është struktura e drejtorisë që zgjodha të përdor me këtë faqe në internet. Dosja e zipuar e bashkangjitur në këtë hap përmban të gjithë kodin burimor në strukturën e mëposhtme.
Outlet Switch-> comm-- DataRW.py-- keys.py-- RxTx.py-> faqe interneti-statike ----- favicon.ico ----- style.css-- shabllone ----- index.html ----- program.html-- app.py-- data.file
Mund ta vendosni dosjen Outlet Switch kudo në Pi tuaj. Kur të jeni gati për të drejtuar serverin tuaj në internet, hapni terminalin në Pi tuaj dhe
cd
(ndryshoni drejtorinë) në drejtorinë e faqeve të internetit. Pastaj shtypni
aplikacioni python3.py
në terminal. Nëse nuk do të kishte ndonjë gabim, duhet të shkoni mirë!
P. S. Ju lutemi bëni durim nëse hasni ndonjë defekt. Unë u përpoqa t'i shtyp të gjitha para se t'i ngarkoja.
Hapi 4: jepni një të shtënë
Tani që po përdorni kodin, mund të ndjeni ndërfaqen e uebit në majë të gishtave. Kontrolli i sistemit është shumë i thjeshtë:
- Mund të shtoni sa më shumë priza të dëshironi duke përdorur ndërfaqen në internet.
- Fshirja është aq e thjeshtë sa klikimi i redaktimit, zgjedhja e prizave që dëshironi të fshini dhe klikimi i fshirjes.
Videoja e mësipërme në YouTube tregon se si të veproni në të vërtetë duke shtuar një prizë të re në listën tuaj. Për të përmbledhur atë që tregon:
- Së pari shkruani titullin e prizës në fushën Titulli
- Klikoni ose prekni jashtë fushës Titulli për të lejuar që programi të kontrollojë që titulli nuk ekziston. Ju nuk mund të keni tituj me të njëjtin emër
- Pasi të jetë vërtetuar, butonat ON Code dhe OFF Code janë aktivizuar.
- Shtypni dhe mbani shtypur butonin ON në telekomandën tuaj të dhënë dhe shpejt klikoni butonin ON Code në ndërfaqen. Mbajeni butonin në telekomandë derisa kodi juaj binar të mbushë fushën ngjitur.
- Përsëriteni hapin paraprak për Kodin OFF.
- Klikoni OK, dhe tani jeni gati për ta ndërruar këtë prizë!
Siç u përmend në hyrje, projekti nuk është 100% i plotë për përdorimet e mia. Komponenti më i madh që kam ende për të përfunduar dhe zbatuar është aftësia e planifikimit. Unë planifikoj të lejoj përdoruesin të krijojë një orar i cili do të lejojë që prizat të ndizen dhe fiken automatikisht në oraret e caktuara.
Hapi 5: Debugging dhe Skedari RxTx.py
Kufizimi i vetëm i njohur i sistemit është se ekziston mundësia e papajtueshmërisë midis shitoreve të ndryshme të shitësve. Mesazhet e kodit të ndezur dhe të fikur janë 25 bit për sistemin tim, dhe nëse një sistem ka një gjatësi të ndryshme mesazhi, ai nuk është i pajtueshëm menjëherë me këtë projekt. Nëse ndiqni saktësisht udhëzimet dhe ende keni probleme që kjo të funksionojë, e mëposhtme do të ishte mënyra më e mirë për të korrigjuar problemin.
-
Sigurohuni që keni instaluar matplotlib në Pi tuaj. Ju mund ta bëni këtë duke shtypur sa vijon në terminalin e Pi:
-
python3
-
import matplotlib
- Nëse merrni një gabim, atëherë duhet të instaloni matplotlib.
-
Dilni nga predha python duke përdorur
dalje ()
-
-
Për të instaluar matplotlib, shkruani
sudo pip3 instaloni matplotlib
- në terminal
- Shkarkoni skedarin test.py të bashkangjitur dhe vendoseni atë së bashku me skedarin RxTx.py në Pi tuaj
- Hapni terminalin python dhe ndryshoni drejtorinë në dosjen comm.
-
Lloji
testi python3.py
- Kur thotë "** Filloi Regjistrimi **", shtypni dhe mbani shtypur butonin tuaj ON ose OFF në telekomandën tuaj derisa të përfundojë regjistrimi.
- Programi do të ngarkojë një figurë matplotlib që duket e ngjashme me sa më sipër. Zmadhoni derisa të shihni sinjalin e përsëritur siç tregohet në fotot e mësipërme.
- Numëroni logjikën totale 1 dhe 0 për secilin mesazh, ku një mesazh është një përsëritje e sinjalit të përsëritur të parë më sipër. Nëse totali është 25, skedari RxTx.py ka të ngjarë të mos ketë faj. Nëse hasni diçka tjetër përveç 25, sigurohuni që të komentoni më poshtë, dhe unë do ta rishikoj skedarin RxTx.py që të jetë më i hapur (ose mos ngurroni të provoni dorën tuaj në të).
Po sikur të mos shoh një sinjal të përsëritur?
Nëse nuk shihni një sinjal të përsëritur, një nga dy gjërat është e gabuar. Së pari, kontrolloni që të gjitha lidhjet tuaja të telit të bluzës janë bërë siç duhet. Nëse gjithçka duket mirë, mund të keni një marrës të keq. E keni blerë atë që ju kam sugjeruar? Kur bleva çipin tim të parë të marrësit, ishte shumë e zhurmshme. Kaq e zhurmshme nuk mund të merrja një sinjal të qartë. Pastaj e ktheva atë çip dhe mora atë që lidha, dhe nuk mund të kishte funksionuar më mirë.
Hapi 6: Shijoni
Ju e dini që keni aftësinë për të ndezur/fikur prizat nga telefoni, tableti, kompjuteri ose pajisje të tjera të aktivizuara nga uebi! Më tregoni se çfarë mendoni në komente!
Recommended:
Si të kontrolloni një GoPro Hero 4 duke përdorur një transmetues RC: 4 hapa (me fotografi)
Si të kontrolloni një GoPro Hero 4 duke përdorur një transmetues RC: Qëllimi për këtë projekt është të jeni në gjendje të kontrolloni nga distanca një GoPro Hero 4 përmes një transmetuesi RC. Kjo metodë do të përdorë GoPro të integruar në Wifi & API HTTP për kontrollin e pajisjes & është frymëzuar nga PROTOTIPI: I VOGL DHE ME I LIR
Monitor Fluturimi duke përdorur një PI mjedër dhe një shkop DVB: 3 hapa
Monitor Flight Duke përdorur një Raspberry PI dhe një DVB Stick: Nëse jeni një fluturues i shpeshtë, ose thjesht i apasionuar pas aeroplanëve, atëherë Flightradar ose Flightaware janë 2 që duhet të kenë uebfaqe (ose aplikacione, pasi ka edhe aplikacione për celular) që do të përdorni çdo ditë bazë. Të dy ju lejojnë të gjurmoni aeroplanët në kohë reale, shihni fluturimin
Si të kontrolloni një pajisje duke përdorur Raspberry Pi dhe një stafetë - BAZAT: 6 hapa
Si të kontrolloni një pajisje duke përdorur Raspberry Pi dhe një Stafetë - THEMELAT: Ky është një mësim bazë dhe i drejtpërdrejtë se si të kontrolloni një pajisje duke përdorur Raspberry Pi dhe një Relay, i dobishëm për të bërë Projekte IoT Ky udhëzim është për fillestarët, është miqësor me ndiqni edhe nëse keni zero njohuri për përdorimin e mjedrës
Si të bëni një dron duke përdorur Arduino UNO - Bëni një kuadopter duke përdorur mikrokontrollues: 8 hapa (me fotografi)
Si të bëni një dron duke përdorur Arduino UNO | Bëni një Quadcopter Duke përdorur Mikrokontrolluesin: HyrjeVizitoni Kanalin Tim në YoutubeNjë drone është një vegël (produkt) shumë e shtrenjtë për të blerë. Në këtë postim do të diskutoj, si ta bëj me çmim të ulët ?? Dhe si mund ta bëni tuajin si ky me çmim të lirë … Epo në Indi të gjitha materialet (motorët, ESC -të
Si të kontrolloni një robot neato nga një mjedër Pi: 8 hapa
Si të kontrolloni një robot Neato nga një mjedër Pi: Nëse jeni të interesuar të bëni një robot Raspberry Pi Neato është një robot i shkëlqyeshëm për t'u përdorur për projektin sepse është i lirë dhe ka shumë më tepër sensorë sesa IRobot Krijo. Ajo që bëra për robotin tim ishte lidhja e një Raspberry pi mbi të duke shtypur 3D një rrethim