Cov txheej txheem:

IoT Dual Kub Cov Ntaub Ntawv Kub: 12 Cov Kauj Ruam (nrog Duab)
IoT Dual Kub Cov Ntaub Ntawv Kub: 12 Cov Kauj Ruam (nrog Duab)

Video: IoT Dual Kub Cov Ntaub Ntawv Kub: 12 Cov Kauj Ruam (nrog Duab)

Video: IoT Dual Kub Cov Ntaub Ntawv Kub: 12 Cov Kauj Ruam (nrog Duab)
Video: Dais thiab nab qa sib xeem tsheb kauj vab 2024, Hlis ntuj nqeg
Anonim
IoT Dual Kub Cov Ntaub Ntawv Kub
IoT Dual Kub Cov Ntaub Ntawv Kub

Nov yog kuv thawj zaug ntawm kev sau Ntawv Qhia thiab yog li thov mus yooj yim rau kuv! Yog tias koj xav tias qhov no tsis phem heev, ces thov pov npav rau kuv hauv Thawj Thawj Tus Kws Sib Tw.

Nov yog kuv qhov Xauv-phiaj xwm txhawm rau saib xyuas 2 qhov kub nyob hauv tsev cog khoom, ib qho nyob hauv theem thiab ib qho nyob hauv qab lub ru tsev. Txawm hais tias kuv tau siv Raspberry Pi's (RPi) ua ntej, txoj haujlwm no koom nrog ntau lub ntsiab lus uas kuv tsis tau siv thiab raws txoj kev, Kuv pom ntau qhov kev qhia uas dhau los lossis tsis yog lawm. Nov yog kuv cov ntaub ntawv qhia kev paub txhawm rau ua haujlwm ua haujlwm ob lub ntsuas cua sov los ntawm Pi Zero & 2 DS18B20+ Ib Tus Hlau Digital Cov Kub Kub Sensor uas tau txais los ntawm txoj kev.

Yam kuv kawm txog:

  • Ua cov ntaub ntawv muaj los ntawm lub cuab yeej ua ib feem ntawm Internet ntawm Yam (IoT)
  • 1-Hlau interface nrog 2 khoom siv
  • Cov ntaub ntawv
  • Cov ntaub ntawv JSON
  • Teeb tsa UFW firewall
  • Siv Freeboard.io los tso saib cov ntaub ntawv
  • Kev teeb tsa RPi kom rov pib qhov haujlwm

Muaj cov ntaub ntawv ntau heev uas tuaj yeem nrhiav tau nrog kev tshawb nrhiav yooj yim ntawm txhua cov ncauj lus no, tab sis dab tsi tsis meej yog yuav ua li cas ua ke tag nrho cov ntsiab lus sib cais no.

Khoom siv

  • Koj yuav xav tau Raspberry Pi (nrog tus saib xyuas, nas & keyboard rau teeb tsa tab sis tsis yog thaum ua tiav txoj haujlwm tiav)
  • Kev ua haujlwm internet txuas.
  • PSU nrog Micro USB txuas
  • 2 ntawm DS18B20+ Ib Tus Hlau Digital Cov Kub Kub. Kuv pom Amazon yog qhov pheej yig tshaj
  • 4K7 ohm resistor lossis kuv siv 2 10K ohm resistors.
  • Cov ntawv me me thiab ob peb tus txiv neej/poj niam xov hlau rau ntsuas ntawm lub rooj ntev zaum
  • Daim ntawv me me ntawm kab txaij rau kev sib dhos zaum kawg
  • Cov cuab yeej yooj yim rau cov laug thiab xaim hlua.
  • Lub thawv yas me me rau lub tsev tsim tiav

Kauj ruam 1: Kho vajtse

Kho vajtse
Kho vajtse
Kho vajtse
Kho vajtse

Kuv twb muaj Raspberry Pi Zero W (nrog wireless) tab sis kuv paub tseeb tias txoj haujlwm yooj yim no yuav ua haujlwm zoo ntawm ib qho ntawm RPIs. Lub thawv ntawv txawv ntawm cov khoom siv hluav taws xob hauv kuv lub rooj cob qhia muaj txhua yam ntxiv (cov ntawv ci, xaim, PSU thiab lwm yam) thiab yog li txhua yam kuv yuav tsum tau yog ob 2 x DS18B20 lub ntsuas cua los ntawm Amazon. Cov no yog cov khoom qub DS18B20 ib txwm yooj yim ntsia hauv lub tsev tsis muaj dej thiab 3m cable. Muaj 3 xov hlau los ntawm kab:

  • Liab - fais fab - txuas rau 3.3v tus pin 1
  • Dub - rov qab - txuas rau hauv av tus pin 6
  • Daj - cov ntaub ntawv - txuas rau GPIO4 tus pin 7

Cov cuab yeej siv 1-Hlau interface thiab yooj yim heev rau kev sib txuas thiab tau txais cov ntaub ntawv los ntawm. Muaj ntau nplooj ntawv hauv Web nrog cov ntsiab lus rau kev sib txuas ntawm 1 lub cuab yeej tab sis tsawg heev ntawm kev txuas 2 (lossis ntau dua).

Txhawm rau ntsuas ntawm lub rooj ntev zaum, lub rooj sib tham tau sib sau ua ke siv lub khob cij. Cov kev qhia qhia kuv pom tau hais kom siv 4K7 tus neeg tawm tsam kom ntxeev cov kab ntawv, tab sis kuv nrhiav tsis tau ib qho & yog li siv 2* 10K ua ke & nws ua haujlwm zoo xwb. Muaj ntau qhov peev txheej ntawm Lub Vev Xaib rau siv lub khob cij los sib sau ua ke RPi thiab yog li kuv yuav tsis rov hais dua ntawm no.

Diagram tsim los siv Circuit Diagram

Kauj ruam 2: Raspberry Pi OS Software Setup

Raspberry Pi OS Software teeb tsa
Raspberry Pi OS Software teeb tsa
Raspberry Pi OS Software teeb tsa
Raspberry Pi OS Software teeb tsa
Raspberry Pi OS Software teeb tsa
Raspberry Pi OS Software teeb tsa

Raws li kuv tau siv RPi no ua ntej, Kuv txiav txim siab pib nrog kev teeb tsa huv ntawm OS, Kuv hloov kho daim npav SD thiab teeb tsa ib qho huv ntawm NOOBS. Kuv mam li teeb tsa lub khoos phis tawj tag nrho ntawm Raspian (qhov kev xaiv sab saum toj) raws li qhov no tseem yuav nruab PIP & GIT uas cov ntawv lite tsis ua. Txawm hais tias kuv tsis xav tau Kev Siv Cov Duab Sib Txuas (GUI) rau txoj haujlwm, nws yog txoj hauv kev yooj yim los teeb tsa txhua qhov kev xaiv thiab nrog 16gb SD daim npav tsis muaj qhov chaw tsis txaus.

Kuv teeb tsa WI-FI nkag mus ces khiav tag nrho kev teeb tsa & tom qab ntawd tus wizard nrog hloov tshiab & hloov kho tshiab thiab lwm yam. Kuv tau mus rau lub qhov rai teeb tsa los ntawm cov ntawv qhia zaub mov thiab tom qab ntawd:

  • Ntawm kab ntawv kab ke, kuv hloov tus password, teeb rau khau raj rau CLI thiab tsis txheeb xyuas Auto Login
  • Ntawm qhov cuam tshuam tab, Kuv tau qhib 1-xaim
  • Nyem ok & rov pib dua

Yog tias koj xav tau rov qab mus rau GUI txhua lub sijhawm tsuas yog ntaus startx ntawm CLI

pib x

Kauj Ruam 3: Teeb Cov Ntaub Ntawv kom Tso Cai Nkag Mus Siv

Teeb Dataplicity Kom Tso Cai Nkag Mus Siv
Teeb Dataplicity Kom Tso Cai Nkag Mus Siv
Teeb Dataplicity Kom Tso Cai Nkag Mus Siv
Teeb Dataplicity Kom Tso Cai Nkag Mus Siv
Teeb Dataplicity Kom Tso Cai Nkag Mus Siv
Teeb Dataplicity Kom Tso Cai Nkag Mus Siv

Kuv pom qhov nkag blog tau txais txiaj ntsig zoo ntawm Dataplicity site ntawm https://blog.dataplicity.com/how-to-build-a-raspb… thiab siv qee qhov ntawm qhov no. Ntu 3 ntawm blog piav qhia teeb tsa Dataplicity rau kev nkag mus rau RPi. Kuv tsis tau siv Dataplicity ua ntej, tab sis yuav tsum tau hais, Kuv ua tib zoo qhia nws ua ib qho cuab yeej yooj yim nkag tau yooj yim. Txawm hais tias cov duab screenshots (hauv blog saum toj no) me ntsis dhau ntawm hnub tim, txoj hauv kev yog qhov zoo.

Hauv koj lub PC, mus rau Dataplicity.com thiab tsim tus as khauj (koj tuaj yeem siv qhov browser hauv GUI, tab sis qeeb ntawm RPi Zero). Tom qab ntawd nyem rau "ntxiv cov cuab yeej tshiab" khawm thiab kab ntawm kab ntawv tau tshwm rau hauv lub qhov rai qhib. Tom qab ntawd mus rau CLI ntawm RPi thiab ntaus kab kab ntawv. Yog tias txhua yam ua tau zoo, Daim ntawv Dataplicity lub logo yuav tshwm thiab qhov program teeb tsa yuav ua haujlwm.

Rov qab rau hauv koj lub PC, lub cuab yeej tshiab yuav tsum tam sim no tshwm ntawm Dataplicity lub vev xaib. Nyem rau lub cuab yeej thiab koj yuav tsum pom lub vijtsam dav dav rau koj RPi.

Muaj ob peb yam yuav tau ceeb toom ntawm no:

  • Txhawm rau nkag mus, ntaus "su pi" (rau kev siv superuser) thiab koj yuav raug ceeb toom rau tus password (raws li teeb tsa ua ntej)
  • Koj yuav tsum pab kom Wormhole (siv tom qab)
  • Koj yuav xav tau Wormhole chaw nyob los tso saib cov ntaub ntawv tom qab (nyem-nyem rau luam thaum xav tau)

Koj tuaj yeem siv qhov kev nkag mus deb no rau txhua qib hauv qab no thiab yooj yim dua rau kev luam cov ntaub ntawv, cov haujlwm thiab lwm yam tshaj li ncaj qha rau ntawm RPi.

Kauj Ruam 4: Txheeb Cov Sensors

Tam sim no koj tuaj yeem siv Dataplicity nkag mus rau RPI rau txhua ntu tom ntej.

Yog tias txhua yam tam sim no txuas nrog, koj yuav tsum tuaj yeem pom qhov kub tau rov qab los ntawm DS18B20's. Kuv tau ua haujlwm dhau los ntawm Pi Hut qhia tab sis feem ntau qhov no tsis xav tau. Yog tias koj xav tau cov ncauj lus kom ntxaws lawv tuaj yeem pom ntawm no:

Cov khoom tseem ceeb yog mus rau cov npe khoom siv & ua kom ntseeg tau 2 lub cim sib txawv tau pom.

cd/sys/npav/w1/khoom siv/

Qhov no yuav tsum qhia 2 lub cuab yeej pib nrog 28- thiab tus tswv tsheb npav. Kuv qhia:

28-011453ebfdaa 28-0114543d5daa w1_bus_master1

Cov lej 2 tus lej no tseem ceeb thiab yuav xav tau tom qab! Tom qab ntawd hloov mus rau ib qho ntawm cov ntawv teev npe sensor:

cd 28-011453ebfdaa

(piv txwv) thiab tom qab ntawv nyeem tus nqi los ntawm lub ntsuas cua

miv w1_slave

Yuav tsum muaj 2 kab ntawm cov ntawv qhia:

53 01 4b 46 7f ff 0c 10 2d: crc = 2d YES

53 01 4b 46 7f ff 0c 10 2d t = 21187

YES qhia pom lub ntsuas ntsuas nyeem tau raug thiab 21187 qhia qhov ntsuas kub hauv Celsius ntawm 21.187 (faib los ntawm 1000) Rov ua qhov no txhawm rau txheeb xyuas qhov ntsuas thib ob. Yog tias ob leeg nyeem tau zoo ces peb tuaj yeem txav mus nyeem cov ntaub ntawv nrog Python3.

Kuv tau theej thiab yoog raws cov cai hauv qab no uas kuv pom hauv Web tab sis kuv nco tsis tau qhov twg los. Yog tias qhov no zoo li koj cov cai, tom qab ntawd kuv thov txim raws li tsis muaj kev dag ntxias; thov qhia rau kuv paub & kuv yuav lees paub koj txoj haujlwm.

Tsim cov npe hu ua cov haujlwm thiab hloov mus rau cov npe ntawd.

mkdir ~/cov haujlwm

cd ~/cov haujlwm

Hauv cov npe no, siv cov ntawv sau (nano) los tsim thiab kho cov ntaub ntawv hu ua thermo-test.py

sudo nano thermo-test.py

Qhov no yuav tsum tau qhib tus kws kho mob thiab raws li koj siv Dataplicity, koj tuaj yeem yooj yim luam cov cai hauv qab no (thermo-test.py) thiab muab tshuaj txhuam rau hauv tus khoos phis tawj. Koj yuav tsum hloov kho 2 lub npe ntaus ntawv (pib 28-…) rau cov uas tau sau tseg saum toj no. Thaum txhua yam zoo li raug, nias ctrl+X kom tiav, Y kom txuag & rov qab los siv lub npe uas twb muaj lawm. Yog tias koj xav siv GUI ces Thonny yuav ua ib yam.

Txhawm rau khiav qhov kev xeem:

sudo python3 thermo-test.py

Txhua yam ua tau zoo, qhov no yuav tsum ua cov ntaub ntawv siv sej 3 thiab luam tawm mus rau lub vijtsam 2 qhov kub thiab txias txhua 10 vib nas this. Koj tuaj yeem sim txhua yam yog qhov zoo los ntawm kev tso 1 lub ntsuas dej rau hauv dej txias lossis ua kom sov sov nrog lub tshuab ziab plaub hau. Yog tias txhua yam zoo li zoo, ces peb tuaj yeem txav mus!

Kauj Ruam 5: UFW Firewall

UFW Firewall
UFW Firewall

Raws li qhov RPi no tau txuas nrog txuas mus tas li rau hauv internet Kuv txiav txim siab Firewall yuav yog lub tswv yim zoo thiab ib qho yooj yim siv yog Uncomplicated Firewall (ufw). Muaj kev qhia yooj yim heev ntawm no

Kuv tsis nkag mus tob tob li qhov no tsis yog lub hom phiaj ntawm Cov Lus Qhia no, tab sis luv luv:

Nruab firewall nrog:

sudo apt-tau nruab ufw

Teem txoj cai pib:

sudo ufw default cia tawm

sudo ufw default tsis lees txais

Qhib chaw nres nkoj 80 rau Dataplicity

sudo ufw tso cai 80

Pab kom lub firewall

sudo ufw pab kom

Txheeb xyuas xwm txheej thiab xyuas kom txhua yam ua haujlwm

sudo ufw xwm txheej

Kauj Ruam 6: S xaus Cov Ntaub Ntawv Kub Raws li JSON

S xaus Cov Ntaub Ntawv Kub Raws li JSON
S xaus Cov Ntaub Ntawv Kub Raws li JSON

Rov qab mus rau Tim Fernando qhov blog thiab ntu 5.

Ua raws cov theem raws li tau hais tseg (tshwj tsis yog peb twb tau tsim cov npe hauv cov haujlwm) thiab txhua yam yuav tsum ua haujlwm zoo. Siv GIT koj yuav rub Tim cov ntawv thov & PIP yuav ua kom ntseeg tau tias txhua qhov haujlwm xav tau raug teeb tsa rau koj li RPi. Kuv pom tom qab ntawd kuv xav tau rov pib dua kom paub tseeb tias pob ntawv tau teeb tsa kom raug.

Tom qab ntawd khiav Tim qhov haujlwm thiab koj RPi yuav tsum muab JSON cov ntaub ntawv rau thawj lub ntsuas.

cd tsev/pi/cov haujlwm/kub-pabcuam-pi

sudo gunicorn kub: app -b 0.0.0.0:80

Koj tuaj yeem nqa mus los ntawm blog mus rau ntu 6 qhov twg koj yuav pom cov ntaub ntawv tau muab rau 1 ntawm cov ntsuas.

Koj kuj tseem tuaj yeem siv JSON Viewer los saib cov ntaub ntawv https://codebeautify.org/jsonviewer Nyem lub pob "thauj URL" thiab muab tshuaj txhuam rau hauv qhov chaw nyob Wormhole tau sau tseg ua ntej. Nyob rau sab laug, koj yuav tsum pom ob qhov nkag, ib qho rau Celsius & ib qho rau Fahrenheit.

Kauj Ruam 7: Xa Cov Ntaub Ntawv Los Ntawm Ob Tus Kheej

Xa Cov Ntaub Ntawv Los Ntawm Ob Lub Cev
Xa Cov Ntaub Ntawv Los Ntawm Ob Lub Cev

Raws li cov cai hauv temperature.py thiab thermo-test.py, Kuv tsim 2temps.py Hloov kho ua ntej hauv /cov phiaj xwm /ntsuas kub-pabcuam-pi phau ntawv teev npe, muab tso rau hauv cov cai thiab khaws tseg. Kuv mam li khiav

sudo gunicorn 2temps: app -b 0.0.0.0:80

Tam sim no thaum kuv rov khiav JSON Viewer Kuv tau txais txiaj ntsig rau temp1 & temp2

Kev vam meej:)

Kauj ruam 8: Pib Pib

Pib Pib
Pib Pib

Raws li lub zog rau lub tsev cog khoom raug kaw qee zaum, Kuv xav kom RPi cia li thauj lub program thiab pib ua pov thawj cov ntaub ntawv. Txoj kev yooj yim tshaj plaws zoo li yog kho cov ntaub ntawv rc.local thiab ntxiv cov cai uas xav tau hauv qab tsuas yog siab dua qhov tawm 0 kab.

cd lwm

sudo nan rc.local

ces ntxiv-nyob rau hauv

ntxhi 10

cd tsev/pi/cov haujlwm/kub-pabcuam-pi sudo gunicorn temp04: app -b 0.0.0.0:80 &

  • Qhov kawg thiab qhia rau lub khoos phis tawj kom khiav cov ntawv hauv lub plhaub sub kom koj lub khoos phis tawj tsis tos kom lub luag haujlwm xaus thiab yuav txuas ntxiv nrog khau raj
  • Pw tsaug zog 10 [vib nas this] ua kom ntseeg tau tias txhua qhov haujlwm yav dhau los tau ua tiav ua ntej pib qhov kev pabcuam.

Tawm thiab txuag zoo li ua ntej. Tom qab ntawd rov pib dua thiab rov ua haujlwm JSON Viewer los tshuaj xyuas txhua yam yog qhov zoo.

Yog tias koj xav tau cov ntaub ntawv ntau ntxiv ntawm cov haujlwm pib ua haujlwm muaj kev qhia zoo ntawm no

Kauj Ruam 9: Muab Cov Ntaub Ntawv ntawm Freeboard.io (1)

Zaub Cov Ntaub Ntawv ntawm Freeboard.io (1)
Zaub Cov Ntaub Ntawv ntawm Freeboard.io (1)

Cov kauj ruam hauv Tim's blog ua haujlwm tau zoo, hauv cov ntsiab lus; tsim ib tus as khauj ntawm www.freeboard.io thiab tom qab ntawd tsim Freeboard tshiab, Kuv hu kuv li SHEDTEMPERATURES.

Ua ntej tshaj, muab cov ntaub ntawv khaws cia, nyem ADD nyob rau sab saum toj sab xis thiab los ntawm cov pop-up xaiv JSON raws li hom, muab cov ntaub ntawv cov ntaub ntawv lub npe, ntxiv qhov chaw nyob ntawm kab ua ntej los ntawm qhov URL thiab nyem TSIS rau TRY THINGPROXY. Qhov kub tsuas yog hloov pauv qeeb heev thiab yog li REFRESH EVERY 15 SECONDS yog qhov zoo. Nyem Txuag.

Kauj Ruam 10: Muab Cov Ntaub Ntawv ntawm Freeboard.io (2)

Zaub Cov Ntaub Ntawv ntawm Freeboard.io (2)
Zaub Cov Ntaub Ntawv ntawm Freeboard.io (2)
Zaub Cov Ntaub Ntawv ntawm Freeboard.io (2)
Zaub Cov Ntaub Ntawv ntawm Freeboard.io (2)
Zaub Cov Ntaub Ntawv ntawm Freeboard.io (2)
Zaub Cov Ntaub Ntawv ntawm Freeboard.io (2)
Zaub Cov Ntaub Ntawv ntawm Freeboard.io (2)
Zaub Cov Ntaub Ntawv ntawm Freeboard.io (2)

Nyem ADD PANE thiab tom qab ntawv + ntxiv thawj tus widget. Koj tuaj yeem xaiv thiab ua si nrog ntau yam ntawm TYPEs tab sis kuv pom Gauge tsuas yog zoo. Muab cov npe tsim nyog, UNITS (C), MINIMUM thiab MAXIMUM kom haum rau koj daim ntawv thov. Txog DATASOURCE, nyem rau + thiab lub hauv paus tsim saum toj no yuav tshwm.

Kev nqis tes tam sim no yuav tsum qhia 2 JSON cov ntaub ntawv cov ntaub ntawv (temp2 & temp2) ua ua ntej. Xaiv qhov tsim nyog thiab nyem txuag.

Rov ua qhov no rau qhov ntsuas thib ob thiab peb txhua tus tau teeb tsa.

Tam sim no cov ntaub ntawv yuav tsum tau muab tso tawm ntawm 2 ntsuas thiab yog tias koj tseem muaj PRi txuas nrog lub ntsuas, koj yuav tsum pom cov lus thov los ntawm Freeboard.io thaum lawv tuaj txog.

Kauj Ruam 11: Tsim Txoj Haujlwm Rau Hauv Lub Thawv

Tsim Txoj Haujlwm Rau Hauv Lub Thawv
Tsim Txoj Haujlwm Rau Hauv Lub Thawv
Tsim Txoj Haujlwm Rau Hauv Lub Thawv
Tsim Txoj Haujlwm Rau Hauv Lub Thawv
Tsim Txoj Haujlwm Rau Hauv Lub Thawv
Tsim Txoj Haujlwm Rau Hauv Lub Thawv
Tsim Txoj Haujlwm Rau Hauv Lub Thawv
Tsim Txoj Haujlwm Rau Hauv Lub Thawv

Txog rau tam sim no, RPi thiab lwm yam khoom siv tau tag nrho tau sib sau ua ke ntawm lub rooj ntev zaum uas siv lub khob cij. Ib daim me me ntawm kab txaij tom qab ntawd tau siv los hloov lub khob cij thiab cov txhuas ua cov laug rau hauv qhov chaw.

Ib lub paj yeeb me me Lego lub thawv ntim khoom tau pom tias muaj chaw txaus thiab qhov twg RPI yuav tsis kub heev. cov qhov tau raug laum mus rau ob sab ntawm lub thawv & 3 hli nylon mounting ncej tau siv los tuav RPi thiab kab txaij rau hauv qhov chaw.

Tsuas muaj 3 qhov kev sib txuas xav tau los ntawm GPIO, 3.3v, GND & cov ntaub ntawv.

  • 3.3 vdc pin 1
  • GND pin 6
  • Cov ntaub ntawv (GPIO4) tus pin 7

Qhov tseem tau ntxiv rau hauv lub thawv rau USB lub zog thiab cov xov txuas rau qhov ntsuas kub. Thaum txhua yam tau teeb tsa rau hauv qhov chaw, ib qho me me rau silicone sealant tau ntxiv los xyuas kom kab laug sab tsis xav tias nws yog qhov chaw sov zoo rau siv lub caij ntuj no!

Kauj ruam 12: Tiav lawm

Tiav lawm
Tiav lawm
Tiav lawm
Tiav lawm

Lub thawv tau muab tso rau hauv lub tsev cog khoom thiab siv los ntawm USB them nyiaj. Ob lub ntsuas hluav taws xob tau muab tso rau ib qho ze rau sab saum toj ntawm lub tsev cog khoom thiab lwm qhov mus rau lub lauj kaub cog kom txheeb xyuas seb tsob ntoo tau txias li cas thaum tsaus ntuj.

Nov yog kuv thawj Kev Qhia thiab kuv vam tias koj xav tias nws zoo. Yog tias koj pom muaj qhov yuam kev thov qhia rau kuv paub & kuv yuav hloov kho qhov uas xav tau. Cov kauj ruam tom ntej yuav yog teev cov ntaub ntawv txhua (hais) 60 vib nas this, tab sis qhov no yuav tuaj tom qab.

Pom zoo: