Përmbajtje:

Si të kontrolloni prizat duke përdorur një mjedër Pi: 6 hapa
Si të kontrolloni prizat duke përdorur një mjedër Pi: 6 hapa

Video: Si të kontrolloni prizat duke përdorur një mjedër Pi: 6 hapa

Video: Si të kontrolloni prizat duke përdorur një mjedër Pi: 6 hapa
Video: 16 ошибок штукатурки стен. 2024, Nëntor
Anonim
Si të kontrolloni prizat duke përdorur një Raspberry Pi
Si të kontrolloni prizat duke përdorur një Raspberry Pi
Si të kontrolloni prizat duke përdorur një Raspberry Pi
Si të kontrolloni prizat duke përdorur një Raspberry Pi
Si të kontrolloni prizat duke përdorur një Raspberry Pi
Si të kontrolloni prizat duke përdorur një Raspberry Pi

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

Vendosni Raspberry Pi tuaj
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

Lidhja e harduerit tuaj
Lidhja e harduerit 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ë

Jepni një të shtënë!
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

Debugging dhe Skedari RxTx.py
Debugging dhe Skedari RxTx.py
Debugging dhe Skedari RxTx.py
Debugging dhe Skedari RxTx.py
Debugging dhe Skedari RxTx.py
Debugging dhe Skedari RxTx.py
Debugging dhe Skedari RxTx.py
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: