Orodha ya maudhui:

Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi: 6 Hatua
Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi: 6 Hatua

Video: Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi: 6 Hatua

Video: Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi: 6 Hatua
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Novemba
Anonim
Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi
Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi
Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi
Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi
Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi
Jinsi ya Kudhibiti Maduka Kutumia Raspberry Pi

Katika hii inayoweza kufundishwa, nitakuonyesha jinsi ya kuunda kiolesura cha wavuti kudhibiti maduka nyumbani kwako ukitumia Raspberry Pi. Nilichagua kuandika mradi huu wakati niliona shindano la Sensorer, na kwa kuwa mradi huu unajumuisha kutumia sensa kusoma nambari mbali ya rimoti iliyotolewa na maduka unayonunua, nilidhani mradi huu utakuwa sawa kabisa.

Nitafanya kazi kuweka hii kama kiwango cha juu iwezekanavyo na kutoa nambari ili kufanya hii yote ifanye kazi. Kwa nyinyi nyote nyinyi nyinyi nambari za kanuni huko nje, jisikieni huru kuchimba kificho, na nichunguze katika maoni! Siku zote natafuta kuboresha. Kuna jambo kidogo linaendelea katika hili, kwa hivyo ikiwa una maswali juu ya hatua yoyote, tafadhali acha maoni ili nipate kusasisha inayoweza kufundishwa na maelezo yanayohitajika.

Mradi huu hutumia maduka yanayodhibitiwa na masafa ya redio kwa 433MHz pamoja na kipitishaji cha RF kilichounganishwa na pi yako ya rasipberry. Vituo vinakuja na vituo vya mbali ambavyo vinaweza kuwasha / kuzima maduka, lakini hiyo sio raha! Badala yake tutatumia seva ya wavuti inayoendesha kwenye raspberry pi ambayo inaruhusu mtu yeyote aliyeunganishwa kwenye mtandao kuwasha au kuzima maduka fulani. Upeo wa mbele wa wavuti kwa mradi huu ni mzuri kwani kifaa chochote kilichounganishwa na wavuti kwenye mtandao wako kinaweza kutumika kama kijijini chako.

Huu ni mradi ambao nimeota kuukamilisha kwa miaka, na ingawa bado kuna nafasi ya nyongeza, mradi ulioelezewa kama ifuatavyo ni mfumo wa utendaji.

Vifaa

  • Pi ya Raspberry (Nilitumia RPi 3 Model B +)
  • Transmitter na Mpokeaji wa 433MHz (nilitumia hii)
  • Maduka ya 433MHz (nilitumia hii)
  • Wanarukaji wa Kike na Mwanamke (nilinunua rundo hili)
  • Kompyuta au kifaa cha mkono chenye uwezo wa kufikia mtandao

Hatua ya 1: Sanidi Raspberry yako Pi

Weka Pi yako ya Raspberry
Weka Pi yako ya Raspberry

Anza kwa kusanikisha toleo la hivi karibuni la Raspbian kwenye Raspberry Pi yako mpya. Ikiwa una mpango wa kutumia Pi iliyopo (ambayo unaweza kabisa kufanya), unachohitaji tu ni kuhakikisha una Python 3 kwenye Pi yako, kwani hiyo ndio nambari yote ya chanzo ninayotoa imeandikwa. Ili kufanya hivyo, chapa

chatu3

kwenye mstari wa amri. Ikiwa una Python 3, unapaswa kuona terminal ya chatu ikifunguliwa. Toka kwenye kituo kwa kufunga au kuandika

Utgång()

Mara tu utakapokuwa umethibitisha hili, unahitaji kufunga chupa kwenye Pi yako. Flask inaturuhusu kuunda seva yetu ya wavuti. Kutoka kwa laini ya amri ya Pi, chapa

sudo pip3 kufunga chupa

Katika tukio usipokuwa na bomba iliyosanikishwa kwenye Pi yako, utahitaji kuandika

Sudo apt-get kufunga python3-pip

Ninapendelea kukuza kwenye Raspberry yangu Pi kutoka kwa faraja ya kompyuta yangu ya mezani. Ikiwa wewe pia unapendelea chaguo hili, unahitaji kusanikisha aina fulani ya mazingira kwa SSH ndani ya Pi. PuTTY itafanya kazi, lakini napendelea kuwa na GUI (kielelezo cha kielelezo cha mtumiaji), ambayo inafanya ionekane kama wewe ni moja kwa moja kwenye Pi. Kwa chaguo la GUI, utahitaji kusanikisha VNC Viewer kwenye kompyuta unayopanga kufanya kazi. Pia kuna mipangilio ambayo utahitaji kurekebisha kwenye Pi yako. Maagizo ya kurekebisha mipangilio yanaweza kupatikana hapa.

Hatua ya 2: Kuunganisha vifaa vyako

Kuunganisha vifaa vyako
Kuunganisha vifaa vyako

Kwa wakati huu, ni wakati wa kufanya miunganisho yote ya mwili utakayohitaji kufanya katika kujiandaa kwa kuweka nambari ya chanzo ya mradi huu. Utakuwa ukiunganisha pini za mtoaji na mpokeaji kwenye pini za GPIO za Pi yako. Utataka kutaja kidini mchoro wa pini wa pini za GPIO. Ili kufanya hivyo, fungua kituo kwenye Pi yako na andika

pinout

Yafuatayo ni miunganisho niliyoifanya. Unaweza kuwa na usanidi tofauti ikiwa ulinunua vifaa tofauti vya kusambaza / mpokeaji kuliko nilivyoonyesha katika utangulizi. Ukiamua kuchagua nambari tofauti za pini kuliko zile ninazoonyesha hapa chini, usiogope! Unapopakua nambari ya chanzo, rekebisha tu nambari za siri kama inahitajika katika faili ya RxTx.py.

Mpokeaji (chip kubwa):

  • GND - Pini yoyote ya ardhi iliyoteuliwa
  • DATA - Pini 11
  • DER - Haijaunganishwa
  • + 5V - Pini yoyote iliyoteuliwa + 5V
  • ------
  • + 5V - Pini yoyote iliyoteuliwa + 5V
  • GND - Pini yoyote ya ardhi iliyoteuliwa
  • GND - Haijaunganishwa
  • ANT - Haijaunganishwa

Kumbuka: Unaweza kushikamana na antena kama inahitajika, lakini nikaona sihitaji. Chip hiki kidogo kilikuwa nyeti kushangaza na kwa uaminifu hutambua ishara kutoka kwa angalau 50ft kutoka mahali ilipokuwa imekaa na kupitia angalau kuta mbili.

Mpitishaji:

  • P - Pini ya 3.3V
  • DA - Pin 7
  • G - Pini yoyote iliyotengwa ya ardhi
  • AN - haijaunganishwa

Kumbuka: Tena, unaweza kuunganisha antenna kwa transmita kama inahitajika, lakini nimeona sikuhitaji. Masafa ni zaidi ya kutosha (50 + ft).

Hatua ya 3: Kuongeza Nambari

Hii ndio sehemu ambayo nilitumia wakati wangu mwingi wakati nilikuwa nikitengeneza mradi huu. Ninajaribu kutoa maoni kadiri inavyowezekana, lakini labda niliacha mapungufu ambayo yanaweza kuhitaji ufafanuzi ikiwa yeyote kati yenu anatumia muda kujaribu kuelewa. Ikiwa hii itakutokea, tafadhali acha maoni!

Lugha ambazo zinahusika hapa ni:

  • Chatu
  • CSS
  • Javascript
  • HTML
  • JQuery / Ajax

Python hutumiwa katika seva ya chupa na katika

RxTx.py

faili, ambayo inashughulikia usambazaji wa nambari na risiti. CSS hutumiwa katika kutengeneza mtindo wa ukurasa wa wavuti. Nani anataka tovuti ya kuchosha !? Javascript hutumiwa katika utunzaji wowote wa hafla (kushinikiza kitufe, nk). HTML ndio msingi wa ujenzi wa ukurasa wa wavuti. Mwishowe, JQuery / Ajax hutumiwa kuwasiliana kati ya ukurasa wa wavuti na backend ya Python.

Ikiwa lugha hizi zote zinaonekana kutisha, usijali! Nilijua tu Python inaingia katika mradi huu, ambayo ilitokea kuwa lugha ambayo ilihusisha idadi ndogo ya usimbuaji, nenda takwimu… Inatosha kusema, chukua muda wako kuchana msimbo ikiwa ndio unachagua kufanya. Ikiwa hautaki, sio lazima!

Ifuatayo ni muundo wa saraka niliyochagua kutumia na ukurasa huu wa wavuti. Folda iliyofungwa iliyoambatishwa na hatua hii ina msimbo wote wa chanzo katika muundo ufuatao.

Outlet switch-> comm-- DataRW.py-- keys.py-- RxTx.py-> ukurasa wa wavuti-- tuli ----- favicon.ico ----- style.css-- templeti ----- index.html ----- schedule.html-- app.py-- data.file

Unaweza kuweka folda ya Kubadilisha Outlet mahali popote kwenye Pi yako. Unapokuwa tayari kuendesha seva yako ya wavuti, fungua kituo kwenye Pi yako, na

cd

(badilisha saraka) kwa saraka ya ukurasa wa wavuti. Kisha chapa

python3 app.py

ndani ya terminal. Ikiwa hakukuwa na makosa yoyote, unapaswa kuwa mzuri kwenda!

P. S. Tafadhali kuwa mvumilivu ikiwa utakutana na mende yoyote. Nilijaribu kubangua zote kabla ya kupakia.

Hatua ya 4: Ipe Risasi

Ipe Risasi!
Ipe Risasi!

Sasa kwa kuwa unaendesha nambari hiyo, unaweza kujisikia kwa kiolesura cha wavuti kwenye vidole vyako. Udhibiti wa mfumo ni rahisi sana:

  • Unaweza kuongeza maduka mengi kama unavyotaka kutumia kiolesura cha wavuti.
  • Kufuta ni rahisi kama kubofya hariri, kuchagua maduka unayotaka kufuta, na kubofya kufuta.

Video ya hapo juu ya YouTube inaonyesha jinsi ya kuendelea kuongeza duka mpya kwenye orodha yako. Kufupisha kile kinachoonyesha:

  • Kwanza ingiza kichwa cha duka kwenye uwanja wa Kichwa
  • Bonyeza au gusa nje ya uwanja wa Kichwa ili kuruhusu mpango uangalie ikiwa kichwa hakipo tayari. Huwezi kuwa na majina kwa jina moja
  • Mara tu itakapothibitishwa, vifungo vya Msimbo wa ON na VISIMAMU VYA UWEZO vimewezeshwa.
  • Bonyeza na ushikilie kitufe cha ON kwenye kijijini chako kilichotolewa na bonyeza haraka kitufe cha ON Code kwenye kiolesura. Shikilia kitufe kwenye rimoti mpaka nambari yako ya binary ijaze uwanja ulio karibu.
  • Rudia hatua ya awali ya Msimbo wa OFF.
  • Bonyeza sawa, na sasa uko tayari kubadili duka hili!

Kama ilivyoelezwa katika utangulizi, mradi haujakamilika kwa 100% kwa matumizi yangu mwenyewe. Sehemu kubwa ambayo bado sijakamilisha na kutekeleza ni uwezo wa upangaji. Ninapanga kumruhusu mtumiaji kujenga ratiba ambayo itaruhusu maduka kuwashwa na kuzimwa kwa nyakati zilizowekwa moja kwa moja.

Hatua ya 5: Utatuaji na Faili ya RxTx.py

Utatuaji na Faili ya RxTx.py
Utatuaji na Faili ya RxTx.py
Utatuaji na Faili ya RxTx.py
Utatuaji na Faili ya RxTx.py
Utatuzi na Faili ya RxTx.py
Utatuzi na Faili ya RxTx.py
Utatuaji na Faili ya RxTx.py
Utatuaji na Faili ya RxTx.py

Upeo tu unaojulikana wa mfumo ni kwamba kuna nafasi ya kutokubaliana kati ya maduka tofauti ya muuzaji. Ujumbe wa msimbo wa kuwasha na kuzima ni bits 25 kwa mfumo wangu, na ikiwa mfumo una urefu tofauti wa ujumbe, hauendani mara moja na mradi huu. Ikiwa ulifuata maagizo kabisa na bado una shida za kufanya hii ifanye kazi, ifuatayo itakuwa njia bora ya kutatua shida.

  • Hakikisha umeweka matplotlib kwenye Pi yako. Unaweza kufanya hivyo kwa kuandika zifuatazo kwenye kituo cha Pi:

    • chatu3

    • kuagiza matplotlib

    • Ikiwa unapokea kosa, basi unahitaji kusanikisha matplotlib.
    • Toka ganda la chatu ukitumia

      Utgång()

  • Ili kufunga matplotlib, andika

    sudo pip3 kufunga matplotlib

  • ndani ya terminal
  • Pakua faili ya test.py iliyoambatishwa, na uweke kando ya faili ya RxTx.py kwenye Pi yako
  • Fungua kituo cha python na ubadilishe saraka kwenye folda ya comm.
  • Andika

    python3 mtihani.py

  • Inaposema "** Imeanza Kurekodi **," bonyeza na ushikilie kitufe cha ON au OFF kwenye rimoti yako hadi kurekodi kumalizike.
  • Programu hiyo itapakia kielelezo cha matplotlib ambacho kinaonekana sawa na hapo juu. Sogeza hadi uone ishara inayorudiwa kama inavyoonyeshwa kwenye picha hapo juu.
  • Hesabu jumla ya mantiki 1 na mantiki 0 kwa kila ujumbe, ambapo ujumbe ni upunguzaji mmoja wa ishara inayojirudia inayoonekana hapo juu. Ikiwa jumla ni 25, faili ya RxTx.py labda haina kosa. Ikiwa unakutana na kitu kingine zaidi ya 25, hakikisha kutoa maoni hapa chini, na nitarudisha faili ya RxTx.py ili iwe wazi zaidi (au jisikie huru kujaribu mkono wako).

Je! Ikiwa sioni ishara inayojirudia?

Ikiwa hautaona ishara inayojirudia, moja ya mambo mawili sio sawa. Kwanza, angalia kuwa unganisho lako la waya za kuruka limefanywa vizuri. Ikiwa kila kitu kinaonekana vizuri, unaweza kuwa na mpokeaji mbaya. Je! Ulinunua ile niliyopendekeza? Wakati nilinunua chip yangu ya kwanza ya mpokeaji, ilikuwa na kelele sana. Kwa hivyo kelele sikuweza kupata ishara wazi. Kisha nikarudisha hiyo chip na nikachukua ile niliyounganisha, na haingeweza kufanya kazi vizuri.

Hatua ya 6: Furahiya

Unajua una uwezo wa kuwasha / kuzima maduka kutoka kwa simu yako, kompyuta kibao, kompyuta, au kifaa kingine kinachowezeshwa na wavuti! Napenda kujua nini unafikiria katika maoni!

Ilipendekeza: