Cov txheej txheem:

Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi: 6 Cov Kauj Ruam
Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi: 6 Cov Kauj Ruam

Video: Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi: 6 Cov Kauj Ruam

Video: Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi: 6 Cov Kauj Ruam
Video: Saib Mis paub Poj niam (hluas nkauj) tus yam ntxwv lub siab 2024, Hlis ntuj nqeg
Anonim
Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi
Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi
Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi
Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi
Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi
Yuav Ua Li Cas Tswj Cov Hluav Taws Xob Siv Raspberry Pi

Hauv Cov Lus Qhia no, Kuv yuav qhia koj li cas los tsim lub vev xaib sib txuas los tswj cov chaw muag khoom hauv koj lub tsev siv Raspberry Pi. Kuv xaiv los sau txoj haujlwm no thaum kuv pom qhov kev sib tw Sensors, thiab txij li txoj haujlwm no cuam tshuam nrog kev siv lub ntsuas kom nyeem cov lej tawm ntawm cov chaw taws teeb muab nrog lub qhov hluav taws xob uas koj yuav, kuv xav tias txoj haujlwm no yuav haum zoo tshaj.

Kuv yuav ua haujlwm kom qhov no nyob qib siab li sai tau thiab muab cov cai los ua kom txhua yam no ua haujlwm. Rau txhua tus ntawm koj cov cai liab tawm muaj, xav tias khawb ib puag ncig hauv cov cai, thiab tshuaj xyuas kuv hauv cov lus! Kuv ib txwm saib los txhim kho. Muaj me ntsis mus rau qhov no, yog li yog tias koj muaj lus nug ntawm ib qib twg, thov tawm lus saib yog li kuv tuaj yeem hloov kho Cov Lus Qhia nrog cov ntsiab lus xav tau.

Txoj haujlwm no siv xov tooj cua tswj hwm qhov hluav taws xob ntawm 433MHz ua ke nrog tus xa xov hluav taws xob RF txuas nrog koj tus raspberry pi. Lub qhov hluav taws xob tuaj nrog cov chaw nyob uas tuaj yeem qhib/tua lub qhov hluav taws xob, tab sis qhov ntawd tsis lom zem! Peb yuav siv lub web server khiav ntawm raspberry pi uas tso cai rau ib tus neeg txuas nrog lub network kom qhib lossis tua qee qhov chaw. Lub vev xaib pem hauv ntej-kawg rau txoj haujlwm no yog qhov zoo tshaj plaws vim tias txhua lub vev xaib txuas nrog ntawm koj lub network tuaj yeem siv ua koj li chaw taws teeb.

Nov yog qhov haujlwm kuv tau ua npau suav kom tiav rau ntau xyoo, thiab txawm hais tias tseem muaj chaw rau ntxiv, txoj haujlwm tau piav qhia hauv qab no yog qhov ua haujlwm zoo.

Khoom siv

  • Raspberry Pi (Kuv siv RPi 3 Qauv B+)
  • 433MHz Transmitter thiab Txais (Kuv siv qhov no)
  • 433MHz Outlets (Kuv siv qhov no)
  • Poj niam-rau-Poj Niam Jumpers (Kuv yuav cov pawg no)
  • Lub khoos phis tawj lossis lub cuab yeej siv tau muaj peev xwm nkag mus rau hauv internet

Kauj Ruam 1: Teeb Koj Raspberry Pi

Teeb Koj Raspberry Pi
Teeb Koj Raspberry Pi

Pib tawm los ntawm kev txhim kho qhov tseeb version ntawm Raspbian ntawm koj li Raspberry Pi tshiab. Yog tias koj npaj yuav siv Pi tam sim no (uas koj tuaj yeem ua tau tag nrho), txhua yam koj xav tau yog kom paub tseeb tias koj muaj Python 3 ntawm koj Pi, txij li qhov ntawd yog txhua qhov ntawm qhov chaws uas kuv muab tau sau hauv. Ua li no, laj

nab hab sej 3

rau hauv kab hais kom ua. Yog tias koj muaj Python 3, koj yuav tsum pom cov nab npawb dav hlau qhib. Tawm ntawm lub davhlau ya nyob twg los ntawm kev kaw lossis ntaus ntawv

tawm ()

Thaum koj tau lees paub qhov no, koj yuav tsum teeb lub hwj rau koj Pi. Flask tso cai rau peb los tsim peb lub web server. Los ntawm Pi kab hais kom ua, ntaus ntawv

sudo pip3 nruab flask

Hauv qhov xwm txheej koj tsis muaj pip teeb tsa ntawm koj Pi, koj yuav tsum tau ntaus

sudo apt-tau nruab python3-pip

Kuv nyiam txhim kho ntawm kuv Raspberry Pi los ntawm kev nplij siab ntawm kuv lub khoos phis tawj desktop. Yog tias koj ib txwm nyiam qhov kev xaiv no, koj yuav tsum teeb tsa qee yam ib puag ncig rau SSH rau hauv Pi. PuTTY yuav ua haujlwm, tab sis kuv nyiam kom muaj GUI (graphical user interface), uas ua rau nws zoo li koj nyob ncaj qha rau ntawm Pi. Txog qhov GUI xaiv, koj yuav xav teeb tsa VNC Viewer rau hauv lub khoos phis tawj koj npaj yuav ua haujlwm. Kuj tseem muaj qhov chaw koj yuav xav tau kho ntawm koj Pi. Cov lus qhia rau kev hloov kho chaw tuaj yeem pom ntawm no.

Kauj ruam 2: Hooking Up Your Hardware

Hooking Up Your Hardware
Hooking Up Your Hardware

Txog tam sim no, nws yog lub sijhawm los ua txhua qhov kev sib txuas ntawm lub cev koj yuav tsum tau ua hauv kev npaj rau teeb tsa qhov chaws rau qhov haujlwm no. Koj yuav txuas tus pin ntawm tus xa xov thiab tus txais mus rau GPIO koob ntawm koj tus Pi. Koj yuav xav tau kev ntseeg hais txog daim duab pinout ntawm GPIO pins. Txhawm rau ua li ntawd, qhib lub davhlau ya nyob twg ntawm koj Pi thiab ntaus

pinout

Cov hauv qab no yog cov kev sib txuas kuv tau ua. Koj yuav muaj kev teeb tsa sib txawv yog tias koj yuav khoom sib txawv xa khoom/txais khoom kho vajtse ntau dua li kuv tau qhia hauv kev qhia. Yog tias koj txiav txim siab xaiv tus lej tus lej sib txawv dua li cov uas kuv qhia hauv qab no, tsis txhob ntshai! Thaum koj rub tawm qhov chaws, yooj yim hloov tus lej lej raws li xav tau hauv RxTx.py cov ntaub ntawv.

Txais (nti loj):

  • GND - Txhua tus pin hauv av
  • DATA - Tus Pin 11
  • DER - Tsis txuas nrog
  • +5V - Txhua qhov kev xaiv +5V tus pin
  • ------
  • +5V - Txhua qhov kev xaiv +5V tus pin
  • GND - Txhua tus pin hauv av
  • GND - Tsis txuas nrog
  • ANT - Tsis txuas nrog

Nco tseg: Koj tuaj yeem txuas lub kav hlau txais xov raws li xav tau, tab sis kuv pom tias kuv tsis xav tau. Cov nti me me no ua rau muaj kev nkag siab tsis txaus ntseeg thiab ua ncaj ncees pom cov cim tawm mus rau yam tsawg 50ft los ntawm qhov nws tau zaum thiab hla tsawg kawg ob phab ntsa.

Tshaj Tawm:

  • P - Tus pin 3.3V
  • DA - Pin 7
  • G - Txhua tus pin hauv av
  • AN - tsis txuas nrog

Nco tseg: Ib zaug ntxiv, koj tuaj yeem txuas tus kav hlau txais xov rau lub tshuab xa khoom raws li xav tau, tab sis kuv pom tias kuv tsis xav tau. Qhov ntau yog ntau txaus (50+ft).

Kauj ruam 3: Ntxiv Txoj Cai

Nov yog ib feem uas kuv tau siv sijhawm ntau thaum kuv tab tom txhim kho txoj haujlwm no. Kuv sim tawm tswv yim ntau li ntau tau, tab sis kuv yuav tshuav qhov khoob uas yuav xav tau kev piav qhia yog tias ib tus ntawm koj siv sijhawm sim nkag siab nws. Yog tias qhov no tshwm sim rau koj, thov tawm lus!

Cov lus uas koom nrog ntawm no yog:

  • Nab hab sej
  • CSS
  • Javascript
  • HTML
  • JQuery/Ajax

Python tau siv hauv cov neeg rau zaub mov thiab hauv

RxTx.py

cov ntaub ntawv, uas tuav cov cai xa mus thiab tau txais. CSS tau siv los tsim cov qauv ntawm lub vev xaib. Leej twg xav tau lub vev xaib tsis txaus ntseeg!? Javascript yog siv hauv ib qho ntawm cov xwm txheej tuav (thawb lub pob, thiab lwm yam). HTML yog lub hauv paus tsim lub vev xaib. Thaum kawg, JQuery/Ajax tau siv los sib txuas lus ntawm lub vev xaib thiab Python backend.

Yog tias txhua yam ntawm cov lus no muaj suab txaus ntshai, tsis txhob txhawj! Kuv tsuas paub Python mus rau hauv txoj haujlwm no, uas tau tshwm sim los ua cov lus uas cuam tshuam nrog qhov tsawg tshaj plaws ntawm coding, mus rau daim duab … Suffice nws hais, siv koj lub sijhawm sib txuas los ntawm cov cai yog tias qhov koj xaiv ua. Yog tias koj tsis xav tau, koj tsis tas yuav!

Cov hauv qab no yog cov qauv txheej txheem uas kuv tau xaiv los ua haujlwm nrog lub vev xaib no. Zipped nplaub tshev txuas nrog rau cov kauj ruam no muaj tag nrho cov cai hauv cov qauv hauv qab no.

Hloov qhov hluav taws xob-> comm-- DataRW.py-- keys.py-- RxTx.py-> webpage- zoo li qub ----- favicon.ico ----- style.css-- templates ----- index.html ----- schedule.html-- app.py-- data.file

Koj tuaj yeem tso lub Outlet Switch folder nyob qhov twg ntawm koj tus Pi. Thaum koj npaj tau los khiav koj lub vev xaib, qhib lub davhlau ya nyob twg ntawm koj Pi, thiab

ua cd

(hloov cov npe) rau nplooj ntawv webpage. Tom qab ntawv

sej 3 app.py

mus rau hauv lub davhlau ya nyob twg. Yog tias tsis muaj qhov yuam kev, koj yuav tsum zoo mus!

PS Thov ua siab ntev yog tias koj ua rau muaj kab. Kuv sim squash lawv txhua tus ua ntej rub tawm.

Kauj ruam 4: Muab nws tua

Muab Nws Tua!
Muab Nws Tua!

Tam sim no koj tab tom khiav txoj cai, koj tuaj yeem tau txais kev xav rau lub vev xaib sib txuas ntawm koj lub ntsis ntiv tes. Lub kaw lus tswj yog yooj yim heev:

  • Koj tuaj yeem ntxiv ntau qhov chaw tawm raws li koj xav tau siv lub web interface.
  • Kev tshem tawm yog ib qho yooj yim xws li txhaj kho, xaiv qhov chaw koj xav rho tawm, thiab nyem rho tawm.

Cov vis dis aus YouTube saum toj no qhia yuav ua li cas thiaj li mus ntxiv qhov hluav taws xob tshiab rau hauv koj daim ntawv teev npe. Txhawm rau suav qhov nws qhia:

  • Ua ntej nkag mus rau lub npe ntawm qhov hluav taws xob hauv Title Title
  • Nyem lossis kov sab nraum Title Title kom tso cai rau qhov kev zov me nyuam txhawm rau txheeb xyuas tias lub npe tsis tau muaj. Koj tsis tuaj yeem muaj lub npe los ntawm tib lub npe
  • Thaum siv tau lawm, ON Code thiab OFF Code khawm tau qhib.
  • Nias thiab tuav lub pob ON ntawm koj lub chaw taws teeb muab thiab nyem nrawm rau ON Code khawm ntawm lub interface. Tuav lub pob ntawm cov chaw taws teeb kom txog thaum koj tus lej binary populates cov teb uas nyob ib sab.
  • Rov ua dua cov kauj ruam ua ntej rau OFF Code.
  • Nyem OK, thiab tam sim no koj npaj tau hloov qhov hluav taws xob no!

Raws li tau hais hauv kev qhia, txoj haujlwm tsis tiav 100% rau kuv tus kheej siv. Qhov loj tshaj plaws uas kuv tseem tsis tau ua tiav thiab siv yog lub sijhawm teem tseg. Kuv npaj yuav tso cai rau tus neeg siv los teeb tsa lub sijhawm uas yuav tso cai rau lub qhov hluav taws xob qhib thiab kaw ntawm lub sijhawm tau txiav.

Kauj ruam 5: Debugging thiab RxTx.py File

Debugging thiab RxTx.py File
Debugging thiab RxTx.py File
Debugging thiab RxTx.py File
Debugging thiab RxTx.py File
Debugging thiab RxTx.py File
Debugging thiab RxTx.py File
Debugging thiab RxTx.py File
Debugging thiab RxTx.py File

Tsuas yog paub qhov txwv ntawm cov kab ke yog tias muaj txoj hauv kev tsis sib xws ntawm cov chaw muag khoom sib txawv. Cov lus hais tawm thiab tawm cov lus yog 25 khoom rau kuv qhov system, thiab yog tias lub kaw lus muaj cov lus sib txawv ntev, nws tsis tuaj yeem sib haum nrog txoj haujlwm no. Yog tias koj tau ua raws cov lus qhia thiab koj tseem muaj teeb meem kom tau txais txoj haujlwm no, cov hauv qab no yuav yog txoj hauv kev zoo tshaj los daws teeb meem.

  • Xyuas kom koj tau nruab matplotlib ntawm koj Pi. Koj tuaj yeem ua qhov no los ntawm kev ntaus cov hauv qab no rau hauv Pi lub davhlau ya nyob twg:

    • nab hab sej 3

    • import matplotlib

    • Yog tias koj tau txais qhov yuam kev, tom qab ntawd koj yuav tsum teeb tsa matplotlib.
    • Tawm ntawm lub plhaub nab nab siv

      tawm ()

  • Txhawm rau nruab matplotlib, ntaus ntawv

    sudo pip3 nruab matplotlib

  • mus rau hauv lub davhlau ya nyob twg
  • Rub cov ntawv txuas txuas.py, thiab tso nws nrog RxTx.py cov ntaub ntawv ntawm koj tus Pi
  • Qhib tus nab npawb davhlau ya nyob twg thiab hloov cov npe rau hauv cov ntawv tais ceev tseg.
  • Hom

    sej 3 test.py

  • Thaum nws hais tias "** Pib Sau Npe **," nias thiab tuav koj lub ON lossis OFF khawm ntawm koj lub chaw taws teeb kom txog thaum kaw kaw.
  • Qhov kev zov me nyuam yuav thauj tus lej matplotlib uas zoo ib yam li cov saum toj no. Zaum hauv kom txog thaum koj pom cov cim rov ua dua raws li pom hauv cov duab saum toj no.
  • Suav tag nrho cov laj thawj 1 thiab cov laj thawj 0 rau txhua cov lus, qhov twg cov lus yog ib qho rov ua dua ntawm cov teeb meem rov ua dua pom saum toj no. Yog tias tag nrho yog 25, RxTx.py cov ntaub ntawv yuav tsis yog qhov txhaum. Yog tias koj ntsib lwm yam uas tsis yog 25, nco ntsoov tawm tswv yim hauv qab no, thiab kuv yuav rov ua cov ntaub ntawv RxTx.py kom qhib tau ntau dua (lossis tsis xav sim koj txhais tes ntawm nws).

Yuav ua li cas yog tias kuv tsis pom lub cim rov ua dua?

Yog tias koj tsis pom lub cim rov ua dua, ib ntawm ob yam tsis raug. Ua ntej tshaj, txheeb xyuas tias txhua yam ntawm koj lub xov hlau txuas txuas tau ua kom raug. Yog tias txhua yam zoo li zoo, koj yuav muaj tus txais tsis zoo. Koj puas tau yuav qhov kuv tau hais qhia? Thaum kuv yuav kuv thawj tus txais lub nti, nws nrov heev. Yog li nrov nrov Kuv tsis tuaj yeem tau txais lub teeb liab meej. Tom qab ntawd kuv tau xa daim ntawv ntawd thiab khaws qhov kuv tau txuas, thiab nws tsis tuaj yeem ua haujlwm zoo dua.

Kauj ruam 6: Txaus siab rau

Koj paub tias muaj peev xwm hloov/qhib qhov hluav taws xob los ntawm koj lub xov tooj, ntsiav tshuaj, khoos phis tawj, lossis lwm yam khoom siv hauv web! Qhia rau kuv paub koj xav li cas hauv cov lus!

Pom zoo: