Cov txheej txheem:

Tsim Koj Tus Kheej Hauv Is Taws Nem Kev Tswj Video-Streaming Robot Nrog Arduino thiab Raspberry Pi: 15 Cov Kauj Ruam (nrog Duab)
Tsim Koj Tus Kheej Hauv Is Taws Nem Kev Tswj Video-Streaming Robot Nrog Arduino thiab Raspberry Pi: 15 Cov Kauj Ruam (nrog Duab)

Video: Tsim Koj Tus Kheej Hauv Is Taws Nem Kev Tswj Video-Streaming Robot Nrog Arduino thiab Raspberry Pi: 15 Cov Kauj Ruam (nrog Duab)

Video: Tsim Koj Tus Kheej Hauv Is Taws Nem Kev Tswj Video-Streaming Robot Nrog Arduino thiab Raspberry Pi: 15 Cov Kauj Ruam (nrog Duab)
Video: Plab Plab Ntswg..(Pluav Pluav Ntswg) Maiv Twm New Song 2023-2024 2024, Lub Xya hli ntuj
Anonim
Tsim Koj Tus Kheej Tswj Xyuas Internet-Tshaj Tawm Neeg Hlau Nrog Arduino thiab Raspberry Pi
Tsim Koj Tus Kheej Tswj Xyuas Internet-Tshaj Tawm Neeg Hlau Nrog Arduino thiab Raspberry Pi
Tsim Koj Tus Kheej Tswj Xyuas Internet-Tshaj Tawm Neeg Hlau Nrog Arduino thiab Raspberry Pi
Tsim Koj Tus Kheej Tswj Xyuas Internet-Tshaj Tawm Neeg Hlau Nrog Arduino thiab Raspberry Pi
Tsim Koj Tus Kheej Tswj Xyuas Internet-Txuas Neeg Hlau Nrog Arduino thiab Raspberry Pi
Tsim Koj Tus Kheej Tswj Xyuas Internet-Txuas Neeg Hlau Nrog Arduino thiab Raspberry Pi

Kuv yog @RedPhantom (aka LiquidCrystalDisplay / Itay), tus menyuam kawm ntawv 14 xyoos los ntawm cov neeg Ixayees kawm hauv Max Shein Junior High School rau Kev Tshawb Fawb Qib Siab thiab lej. Kuv tabtom ua qhov haujlwm no rau txhua tus kom kawm paub thiab qhia tawm!

Tej zaum koj yuav tau xav rau koj tus kheej: hmm… Kuv yog ib tus neeg txawj ntse… Thiab kuv cov menyuam xav kom kuv ua ib qhov haujlwm nrog lawv… Nws xav tsim lub neeg hlau. Nws xav hnav nws zoo li menyuam dev me me. Nws yog txoj haujlwm hnub so zoo!

Raspberry Pi zoo tshaj plaws rau txhua qhov siv: hnub no peb yuav piav qhia lub peev xwm ntawm lub khoos phis tawj me me no los ua neeg hlau. Tus neeg hlau no tuaj yeem:

  • Tsav ib puag ncig thiab tswj hwm ntawm LAN (WiFi) siv txhua lub khoos phis tawj txuas nrog tib lub network WiFi zoo li Raspberry Pi.
  • Kwj yees duab nyob nrog siv Raspberry Pi Lub Koob Yees Duab Module
  • Xa cov ntaub ntawv sensor siv Arduino

Txhawm rau pom dab tsi koj xav tau rau qhov phiaj xwm teeb pom kev zoo no tsuas yog nyeem cov kauj ruam tom ntej (ceeb toom) thiab tom qab ntawd Xav Tau: Cheebtsam kauj ruam.

Nov yog GitHub repo: GITHUB REPO BY ME

Nov yog Qhov Project Project: PROJECT SITE BY ME

Kauj Ruam 1: Ceeb Toom: Ceev Faj Sim Qhov No Hauv Tsev

CEEV FAJ:

Tus TSWV NTAWV QHIA TUS TSEV KAWM NTAWV KOJ YUAV TSUM PAUB TXOG QHOV TSEEM CEEB NTAWV NTXIV NTAWV ELECTRICITY THIAB QHOV CHAW UA HAUJ LWM HAUV TSEV KAWM NTAWV ELECTRICAL EQUIPMENT. Yog tias koj tsis xyuam xim thiab tsis ua raws li cov lus qhia hauv qhov kev qhia no koj tuaj yeem: DAMAGE ELECTRONIC EQUIPMENT, BURN YOURSELF OR CAUSE A FIRE. Peb ceev faj thiab siv kev nkag siab. Yog tias koj tsis muaj kev paub yuav tsum tau ua rau qhov kev qhia no (siv cov khoom siv, cov khoom siv hluav taws xob), thov ua nrog tus neeg uas ua. Ua tsaug.

Phau ntawv no tus tswj hwm tshem tawm ib qho kev lav phib xaub los ntawm nws tus kheej rau kev puas tsuaj los yog poob nyiaj txiag lossis kev puas tsuaj ntawm lub cev. Siv COMMON SENSE

Kauj ruam 2: Cheebtsam

Kev sib txuas
Kev sib txuas
Kev sib txuas
Kev sib txuas
Kev sib txuas
Kev sib txuas
Kev sib txuas
Kev sib txuas

Ua ntej peb ua kom sov cov hlau txuas, peb yuav tsum mus hla qhov yuav tsum txuas nrog dab tsi. Kuv tau ua daim ntawv yooj yim no (MS Xim yeej tsis tso kuv tseg) uas piav qhia qhov twg qee qhov nyob hauv tus neeg hlau.

Cov duab tau tsim kom koj tuaj yeem nthuav dav thiab pom hauv kev daws teeb meem tag nrho thiab nyeem cov ntawv.

Kauj Ruam 6: Chaw nyob rau Pi

Arduino tham nrog Pi raws li txoj kev npaj. Thiab Pi tham nrog lub khoos phis tawj, yog li txhua qhov no ua haujlwm li cas?

Cia peb saib ntawm Peb Qhov Kev Sib Txuas Ua Ntej Ua Ntej:

  1. Raspberry Pi pib
  2. Arduino Pib
  3. Raspberry Pi pib TCP Client. Nws tua tawm nws tus IP chaw nyob ntawm LED.
  4. Raspberry Pi pib Serial Communications service thiab txuas rau Arduino

Yog li peb tau tsim qee yam kev sib txuas lus:

Khoos phis tawj Raspberry Pi Arduino

Kuv tau siv Visual Basic. NET (Microsoft Visual Studio 2013 Community) los sau qhov program uas tham nrog Raspberry Pi thiab Python los sau Arduino/Raspberry Pi raws tu qauv.

Txhua yam koj yuav tsum tau ua kom paub koj tus IP IP chaw nyob, yog txhawm rau txuas nws mus rau HDMI npo, nkag mus rau lub Plhaub thiab ntaus cov lus txib:

hostname -Ib

Kauj Ruam 7: Txoj Kev Npaj

Tam sim no peb tau txais Pi's IP chaw nyob peb yuav SSH rau hauv nws (SSH yog Kev Ruaj Ntseg Plhaub - peb txuas nyob deb ntawm Linux plhaub) thiab sau cov ntaub ntawv uas qhia txog Server tus IP chaw nyob. Tus Pi, thaum pib yuav ua li ntawd ib yam thiab sau qhov chaw nres nkoj nws tau mloog. Nov kuv tsuas yog muab qee qhov piv txwv los ntawm tus lej tab sis nws muaj rau rub tawm los ntawm cov kauj ruam no thiab los ntawm GitHub ceg kuv tau tsim. Cov ntsiab lus ntawm qhov tom qab.

Nws ua haujlwm zoo li no:

  1. RPi pib.
  2. RPi pib qhov program Tcp ntawm nws tus IP hauv zos thiab chaw nres nkoj tshwj xeeb.
  3. RPI pib tshaj tawm cov vis dis aus
  4. RPI kaw.

Kauj Ruam 8: Mus Lub Cev

Tam sim no, peb tau npaj los pib tsim lub cev tag nrho. Yog tias koj tsis tau nyeem qib 1 (ceeb toom cov ntawv thiab ntawv tso cai) thov ua li ntawd ua ntej yuav mus. Kuv tsis yog lub luag haujlwm rau kev puas tsuaj tshwm sim. Thiab yog qhov ua xyem xyav, tus neeg hlau no yuav tsum tsis txhob siv rau lub hom phiaj tub rog tshwj tsis yog nws yog zombie apocalypse. Thiab txawm tias siv qhov kev nkag siab zoo.

Nws tau qhia tias koj nyeem cov lus qhia mloog hauv Daim Ntawv Nyeem Ntawv.

Rub tawm cov phiaj xwm kev txuas los ntawm "Kev Sib Txuas" kauj ruam.

TSHUAB

Cov cav uas koj tau yuav yuav zoo li qhov no, thiab nws zoo yog tias lawv tsis ua: yog tias lawv tsuas muaj ob lub xov hlau (dub thiab liab feem ntau) nws yuav tsum ua haujlwm. Saib lawv daim ntawv teev npe online kom pom lawv qhov kev ua haujlwm voltage thiab tam sim no. Xav tias dawb nug cov lus nug hauv ntu lus. Kuv ib txwm nyeem lawv.

H-KUB

Kuv tsis tau ua haujlwm nrog H-Choj ua ntej. Kuv googled me ntsis thiab pom cov lus qhia zoo piav qhia lub hauv paus ntsiab lus ntawm HB. Koj tuaj yeem saib qhov ntawd ib yam (saib Cov Ntawv Teev Npe Nyeem Ntawv) thiab nqes koj ib yam. Kuv yuav tsis piav ntau. Koj tuaj yeem nyeem nyob ntawd thiab paub txhua yam koj yuav tsum tau hais txog qhov Circuit no.

LED

Lub teeb me me no tuaj yeem khiav los ntawm qhov ntsuas hluav taws xob tsuas yog vim nws xav tau yuav luag tsis muaj tam sim no, thiab qhov hluav taws xob ntawm 3V-5V 4mA-18mA. Yeem yeem.

ARDUINO

Arduino yuav tau txais cov cim thiab cov lus txib ntawm Serial txuas los ntawm Raspberry Pi. Peb siv Arduino los tswj peb lub cav vim tias Raspberry Pi tsis tuaj yeem tso tawm qhov sib piv ntawm GPIO.

Kauj Ruam 9: Pib Pib Raspberry Pi

Txhua lub sijhawm koj yuav txhawb nqa Raspberry Pi, koj yuav tsum ntaus tus username thiab password. Peb tsis xav ua qhov ntawd vim tias qee zaum peb tsuas yog tsis tuaj yeem txuas cov keyboard rau Pi, yog li peb yuav ua raws cov theem no los ntawm qhov kev qhia no kom pib pib qhov haujlwm uas npaj Pi. Yog tias nws yuav tau lo hauv lub voj peb tuaj yeem ib txwm Ctrl+C los cuam tshuam nws.

  • sudo crontab -e
  • Thiab tom qab ntawd peb yuav nkag mus rau cov lus txib uas ntxiv cov ntawv ntawd rau nws pib-strartup hauv tus thawj tswj cron.

Peb yuav hu cov ntaub ntawv pibot.sh uas yuav muab cov lus txib kom pib txhua yam ntawm nab nab sau ntawv los ua haujlwm rau neeg hlau. Cia peb hla nws: (Peb sudo nrog kab hlau rhuav Python cov haujlwm los tso cai rau txoj haujlwm nkag mus rau GPIO)

raspivid -o --t 0 -hf -w 640 -h 360 -fps 25 | cvlc -vvv kwj: /// dev/stdin --sout '#rtp {sdp = rtsp: //: 8554}': demux = h264

Cov cai uas ua txhua txoj haujlwm ntawm ib sab ntawm pi yuav raug hu ua upon_startup.sh.

Nws yog tsab ntawv plhaub yooj yim uas ua txhua yam.

Kauj Ruam 10: Houeston, Peb Muaj Teeb Meem … DC Motors Tsis Zoo Li Tus Qauv

Kuv twb tau sim H-Choj thiab nws ua haujlwm tau zoo, tab sis thaum kuv nqes cov motors kuv tau txais los ntawm tus neeg hlau platform kuv xaj online ob lub cav no tig ntawm qhov nrawm thiab ua suab nrov sib txawv. Kuv hloov lub qhov rooj mus rau 100% ntawm lub cav. Nkawd ob leeg tsis tuaj yeem khiav ntawm lawv qhov peev xwm tshaj plaws.

Nws zoo li cov no yog ob lub cav sib txawv. Ib tus muaj lub zog loj dua uas zoo rau hom neeg hlau no tab sis lwm tus tsuas yog yuav tsis txav tus neeg hlau. Yog li nws tig hauv voj voog.

Txij ntawm no mus, qhov kuv tau txais yog qhov program nyob ntawm Arduino ua haujlwm tau zoo tag nrho tab sis Tcp server ntawm PC thiab Tcp Client ntawm Pi tseem tsis tau cim npe. Ntawm kuv yuav tsum ua kom tiav qhov nkag rau kev sib tw. Kuv ua dab tsi?

  1. Ua ntej tshaj, Kuv triple qhov hluav taws xob rau lub cav. Cov ntawv hais tias 3V, 6V tsis txav lawv. Tiam 9v. Kuv txuas cov roj teeb teo ua ke kom ob npaug tam sim no thiab qhov hluav taws xob tseem zoo ib yam.
  2. Kuv puas muaj lwm lub cav uas haum rau lub teeb ntawm lub platform? Tej zaum kuv tuaj yeem pom Yog tias lawv yog cov qauv zoo sib xws.
  3. Kuv tuaj yeem hloov mus rau Servos yog tias cov qhob noom xim kasfes yeej ntaus tus kiv cua.

Tsev kawm ntawv pib. Kuv yuav tau saib yuav ua li cas.

Nco tseg: Vim li cas hauv ntiaj teb no kuv thiaj sau cov teeb meem uas kuv ntsib ntawm no? Yog li yog tias koj tsis tshua muaj kev paub thiab muaj teeb meem tib yam ib yam nkaus koj yuav paub tias yuav ua dab tsi.

Kev daws:

Yog li kuv tau ua lwm qhov kev sim. Kuv tau yoog qhov sib txawv ntawm qhov nrawm hauv Arduino code.

NCO TSEG: cov motors tuaj yeem tig nrawm rau koj! Hloov qhov tseem ceeb hauv Arduino kos duab.

Kauj Ruam 11: [TCP]: Vim Li Cas Tcp thiab Tsis Ruaj Ntseg Plhaub? TCP yog dab tsi?

Kuv muaj ob qho kev piav qhia vim li cas siv Tcp thiab tsis yog SSH rau P. C. - Pi kev sib txuas lus.

  1. Ua ntej tshaj, SSH (Ruaj Ntseg Plhaub, saib Cov Lus Qhia) yog lub hom phiaj los pib cov lus txib los ntawm lub khoos phis tawj nyob deb. Ua rau Pi teb nrog cov ntaub ntawv peb xav tau yog qhov nyuaj dua vim tias peb tsuas yog xaiv los tshuaj xyuas cov ntaub ntawv yog los ntawm txoj hlua tawv thiab ua rau nyuaj.
  2. Qhov thib ob, peb twb paub siv SSH thiab peb xav kawm paub ntau txoj hauv kev ntawm kev sib txuas lus ntawm cov cuab yeej hauv qhov kev qhia no.

TCP, lossis Kev Tiv Thaiv Kev Xa Xov Tooj, yog cov txheej txheem tseem ceeb ntawm Internet Cov Txheej Txheem Txheej Txheem. Nws tau pib hauv kev pib ua haujlwm hauv network uas nws ua tiav nrog Internet Cov Cai (IP). Yog li, tag nrho chav suite feem ntau hu ua TCP/IP. TCP muab kev ntseeg tau, xaj, thiab yuam kev tshawb xyuas qhov xa ntawm cov octets nruab nrab ntawm cov ntawv thov khiav ntawm tus tswv sib txuas lus hla IP network.

(Los ntawm Wikipedia)

Yog li TCP Pros yog:

  • Ruaj ntseg
  • Ceev
  • Ua haujlwm nyob txhua qhov chaw ntawm lub network
  • Muab cov txheej txheem los tshuaj xyuas cov ntaub ntawv raug xa mus
  • Flow Control: muaj kev tiv thaiv thaum tus neeg xa cov ntaub ntawv xa cov ntaub ntawv nrawm heev rau tus neeg siv khoom rau npe thiab ua haujlwm.

Thiab qhov tsis zoo yog:

  • Hauv TCP koj tsis tuaj yeem tshaj tawm (Xa cov ntaub ntawv mus rau txhua lub cuab yeej ntawm lub network) thiab ntau yam (zoo ib yam tab sis txawv me ntsis- muab lub peev xwm rau txhua lub cuab yeej tshaj tawm zoo li server).
  • Kab nyob hauv koj qhov program thiab cov tsev qiv ntawv ua haujlwm (uas tswj lawv tus kheej TCP kev sib txuas lus, koj lub router yuav luag tsis muaj dab tsi tshwj tsis yog txuas ob qho [lossis ntau dua] cov cuab yeej)

Vim li cas ho tsis siv UDP, koj yuav nug? Zoo, tsis zoo li TCP, UDP tsis ua kom ntseeg tau tias koj cov neeg siv khoom tau txais cov ntaub ntawv ua ntej xa ntau dua. Zoo li xa Email thiab tsis paub yog tias tus neeg siv khoom tau txais nws. Ib qho ntxiv, UDP tsis muaj kev nyab xeeb dua. Yog xav paub ntxiv, nyeem kab ntawv no los ntawm Stack Exchange Super User

Kab lus no zoo thiab pom zoo.

Kauj ruam 12: [TCP]: Cia Ua Tus Neeg Siv Khoom

Tus neeg siv khoom (Raspberry Pi hauv peb qhov xwm txheej), uas tau txais cov ntaub ntawv los ntawm server (Peb lub PC hauv peb qhov xwm txheej) yuav tau txais cov ntaub ntawv xa mus rau Pi (Cov lus txib uas yuav ua tiav ntawm Arduino) thiab tau txais cov ntaub ntawv rov qab (Sensor Nyeem thiab tawm tswv yim ncaj qha los ntawm Arduino. Cov phiaj xwm txuas nrog qhia pom kev sib raug zoo ntawm peb.

Python Wiki TcpCommunication tsab xov xwm qhia tau hais tias nws yooj yim heev los ua kev sib txuas lus nrog ob peb kab ntawm txoj cai siv tus qauv teeb tsa hauv. Peb yuav muaj ib txoj haujlwm ntawm PC thiab lwm qhov haujlwm ntawm Pi.

Peb yuav ua haujlwm nrog kev cuam tshuam. Kawm paub ntau ntxiv hauv Cov Lus Qhia piav qhia txog lawv. Nyeem qhov ntawd txog qhov tsis zoo ib yam tam sim no, peb tuaj yeem nyeem cov ntaub ntawv peb tau siv cov ntaub ntawv = s.recv (BUFFER_SIZE) tab sis nws yuav muaj pes tsawg tus cim peb tau txhais nrog qhov khoob tom. Peb puas tuaj yeem siv kev cuam tshuam? Lwm lo lus nug: yuav tsis muaj qhov khoob lossis nws puas yuav tos tus neeg rau zaub mov xa cov ntaub ntawv ntau ntxiv nyob rau qhov twg cov neeg rau zaub mov/tus neeg siv khoom yuav pov tseg lub sijhawm tshwj tseg?

Cia peb daws qhov ntawd ib zaug. Ua ntej peb ua li ntawd, Kuv tau saib cov kab lus Wikipedia no uas teev npe siv TCP thiab UDP cov chaw nres nkoj. Tom qab saib nrawm Kuv tau txiav txim siab tias txoj haujlwm no yuav sib tham ntawm chaw nres nkoj 12298 vim tias nws tsis tau siv los ntawm Kev Ua Haujlwm thiab Kev pabcuam hauv nroog.

Kauj Ruam 13: Sim Peb Tcp Comms

Txhawm rau pom tias peb tuaj yeem siv cuam tshuam, cia ua tus neeg siv yooj yim thiab tus neeg siv khoom siv Python Command Line. Kuv yuav ua li ntawd hauv cov theem hauv qab no:

  1. Pib qhov haujlwm uas xa cov ntawv ntawm Tcp hauv lub voj los ntawm kab hlau rhuav chaw nres nkoj
  2. Pib lwm qhov haujlwm (ua ntu zus) uas nyeem tag nrho cov ntawv hauv lub voj thiab luam tawm ntawd rau lub vijtsam.

Tsuas yog ntu ntawm txoj haujlwm yuav qhia. Txhua txoj haujlwm khiav nrog Python 3. Txhua qhov haujlwm no ua yog xa cov lus txib los ntawm cov keyboard ntawm tus neeg siv PC mus rau Arduino los ntawm Pi.

  • SBcontrolPC.py - Yuav tsum khiav ntawm lub PC. Pib kev sib txuas TCP ntawm qhov chaw nyob hauv cheeb tsam thiab ntawm qhov chaw nres nkoj tshwj xeeb (Kuv siv chaw nres nkoj 12298, saib cov kauj ruam dhau los vim li cas)
  • SBcontrolPi.py - Yuav tsum khiav ntawm Pi. Nyeem nws qhov tsis nyob ib nrab ib ob (0.5 vib nas this). Pib lub plhaub tsab ntawv uas tswj hwm yam xws li cov vis dis aus thiab lwm yam.

Pom zoo: