Cov txheej txheem:
- Kauj Ruam 1: Yam Khoom Siv Hauv Txoj Haujlwm no
- Kauj ruam 2: Zaj dab neeg
- Kauj Ruam 3: Kev Kho Vajtse Txuas
- Kauj ruam 4: Software Programming
- Kauj ruam 5: Kev ua haujlwm
Video: Pom IoTea LoRa Tshuaj (Hloov Kho Xyoo 1811): 5 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Internet+ yog lub tswv yim nrov tam sim no. Lub sijhawm no peb tau sim Internet ntxiv rau kev ua liaj ua teb kom ua kom cov tshuaj yej vaj loj hlob tuaj hauv Internet Tshuaj yej.
Kauj Ruam 1: Yam Khoom Siv Hauv Txoj Haujlwm no
Cov khoom siv kho vajtse
- Grove - Cov pa roj carbon dioxide (MH -Z16)
- Grove - Digital Lub Teeb Sensor
- Grove - Plua Plav Sensor (PPD42NS)
- Grove-Pa Pa Sensor (ME2-O2-Ф20)
- Av noo & Kub Sensor
- LoRa LoRaWAN Gateway - 868MHz Cov Khoom Siv nrog Raspberry Pi 3
- Grove - Temp & Humi & Barometer Sensor (BME280)
Software apps thiab cov kev pabcuam online
Microsoft Visual Studio 2015
Kauj ruam 2: Zaj dab neeg
Ntawm Mengding Roob sab qaum teb sab hnub tuaj ntawm Ya'an, Sichuan, lub roob toj siab khiav sab hnub poob mus rau sab hnub tuaj hauv hiav txwv ntsuab. Qhov no yog qhov pom tshaj plaws rau Deng uas muaj hnub nyoog 36 xyoos, yog ib tus neeg ua haujlwm Mengding tshuaj yej tsawg heev ntawm nws tiam, nrog rau kev cog 50mu (= 3.3 hectares) nyob ntawm 1100m saum hiav txwv. Deng los ntawm tsev neeg ua cov tshuaj yej, tab sis nqa hauv tsev neeg cov keeb kwm tsis yog ib txoj haujlwm yooj yim. "Peb cov tshuaj yej tau loj hlob ntawm qhov siab nyob hauv ib puag ncig cov organic kom ntseeg tau tias nws muaj txiaj ntsig zoo. Tab sis nyob rau tib lub sijhawm, kev loj hlob ntom ntom yog qis, tus nqi siab thiab tawg paj tsis sib xws, ua tshuaj yej nyuaj rau sau. Tias yog vim li cas cov tshuaj yej saum toj roob hauv pes feem ntau yog sau me me thiab lawv qhov txiaj ntsig tsis tau xav txog ntawm kev ua lag luam. "Tau ob xyoos dhau los, Deng tau sim ua kom cov neeg siv khoom paub txog cov tshuaj yej toj siab los txhawb lawv tus nqi. Thiab thaum nws ntsib Fan, uas tab tom nrhiav kev cog ntoo los siv Seeed's IoTea thev naus laus zis, kev sib tw zoo tshaj plaws rau kev daws teeb meem tau ua.
Kauj Ruam 3: Kev Kho Vajtse Txuas
Cov cuab yeej kho vajtse ntawm qhov haujlwm no tuaj yeem faib ua 4 ntu: Lub Hwj Chim, Cov Kws Nyuaj Siab, Node thiab Gateway. Kab lus hauv qab no yuav qhia koj yuav ua li cas ua kom tiav nws ib qib zuj zus.
Fais Fab Tshooj
Lub Hwj Huam Feem ntau muaj Hnub Ci Vaj Huam Sib Luag thiab Roj Teeb Lithium, yog tias koj tsuas yog tsim txoj haujlwm no rau kev ua qauv qhia, koj tuaj yeem tsis quav ntsej lawv. Lossis koj tuaj yeem ua raws li kev qhia yav dhau los txhawm rau teeb tsa lub zog.
Sensors Tshooj
Hauv Sensors Ib feem, vim muaj ntau qhov kev ntsuas, peb tau siv lub chaw nres tsheb huab cua, thiab tseem tau ua lub ntsej muag Acrylic los teeb tsa lawv.
Raws li koj pom hauv daim duab saum toj no, Digital Light Sensor ib txwm nyob rau sab saum toj, yog li nws tuaj yeem sau cov ntaub ntawv teeb pom kev zoo. Cov ntsuas cua uas yuav ua kom sov tau teeb tsa nruab nrab ntawm Acrylic bracket, xws li O2 Sensor, Plua Plav Sensor thiab CO2 Sensor. Thaum kawg, Kub thiab Vaum Sensor nyob hauv qab ntawm Acrylic bracket.
Dhau li ntawd, Cov av Kub thiab Vaum Sensor tau teeb tsa ib leeg hauv av. Node Tshooj
Node Part yog Seeeduino LoRaWan uas tau teeb tsa hauv Lub Thawv Tsis Muaj Dej, nws txuas rau lub zog thiab lub ntsuas pa ntawm Dej Sib Koom. Ntawm lawv, Dust Sensor txuas rau LoRaWan tus lej digital D3, CO2 Sensor txuas rau tus pin D4 & D5, Av Sensor txuas rau tus pin D6 & D7, O2 Sensor txuas rau analog pin A1 thiab Lub Teeb Sensor & Barometer Sensor txuas rau I2C chaw nres nkoj.
NCO TSEG: Ib tus 10k Resistor yuav tsum tau ntxiv nruab nrab ntawm Cov Av Sensor Cov Xiav (Cov Ntaub Ntawv) cable thiab Liab (Vcc) cable.
Seeeduino LoRaWan sau cov khoom ntsuas tus nqi ib ntus, thiab xa lawv mus rau Rooj vag ntawm LoRa. Cov ntaub ntawv hom zoo li hauv qab no:
{
[0], /* Huab cua huab cua (℃)* /[1], /* Huab cua huab cua (%)* /[2], /* Qhov siab (m) siab byte* /[3], /* Qhov siab (m) tsawg byte */[4],/ * CO2 concentration (PPM) siab byte */[5],/ * CO2 concentration (PPM) qis byte */[6],/ * Cov hmoov av concentration (pcs/0.01cf) siab byte */[7],/ *Cov hmoov av ntau (pcs/0.01cf) qis byte */[8],/ *Lub teeb pom kev zoo (lux) siab byte */[9],/ *Lub teeb siv (lux) qis byte */ [10], /* O2 concentration (%)* /[11], /* Av kub (℃)* /[12], /* Av av noo (%)* /[13], /* Roj teeb voltage (V) */ [14]/ *Sensor yuam kev code */}
Txhua qhov me me hauv Sensor Error Code byte muaj lub ntsiab lus sib txawv, ib yam li hauv qab no:
{
nqi 0: 1;. / * Barometer Sensor Error */ ntsis1: 1; / * CO2 Sensor yuam kev */ ntsis2: 1; / * Dust Sensor Error */ ntsis3: 1; / * Lub teeb Sensor yuam kev */ ntsis4: 1; / * O2 Sensor yuam kev */ ntsis5: 1; / * Av Sensor Error */ tseg tseg: 2; / * Tshwj tseg */}
Rooj vag Tshooj
Rooj vag Ib feem yog Raspberry Pi uas txuas rau Gateway module RHF0M301-868 thiab PRI 2 Choj RHF4T002, nws tau teeb tsa hauv Lub Thawv Tsis Muaj Dej thiab txuas rau lub zog & USB Lub Koob Yees Duab ntawm Dej Sib Koom. Vim tias nws siv cov software tshwj xeeb, thov ua raws Seeed Wiki txhawm rau teeb tsa nws.
Kauj ruam 4: Software Programming
Raws li Khoos Phis Tawj Kev Sib Txuas, Software Programming kuj tseem tuaj yeem sib cais, nws tuaj yeem faib ua 3 ntu: Node, Gateway thiab Website.
Node Tshooj
Feem ntau ntawm cov tsav tsheb uas Node Part xav tau twb muaj nyob hauv daim ntawv keeb kwm_driver. Cov tsev qiv ntawv hauv qab no yuav tsum tau teeb tsa manually:
Adafruit_ASFcore
Vim tias txoj haujlwm nyuaj, peb pom zoo kom koj siv Microsoft Visual Studio hloov chaw ntawm Arduino IDE. Ib lub plugin hu ua Visual Micro tuaj yeem pab koj ua qhov project Arduino los ntawm kev siv Visual Studio, nyem qhov no kom paub ntau ntxiv.
Rau kev nyeem tau zoo dua thiab tswj tau zoo, peb siv Lub Hom Phiaj-Oriented Programming lub sijhawm no. Cov duab hauv chav kawm ntawm txoj haujlwm no zoo li hauv qab no:
Rau cov ntsuas no twb muaj OOP tus tsav tsheb, peb rov muab nws hloov kho txoj haujlwm no, rau lwm tus, peb rov sau lawv cov tsav tsheb los ntawm kev siv OOP. Cov chav kawm Sensor hauv qib nruab nrab yog siv los koom ua ke cuam tshuam ntawm cov cuab yeej tiag tiag, piv txwv li, ntsuas lub ntsuas cua tuaj yeem khaws qhov ntsuas kub, av noo thiab qhov siab nyob rau tib lub sijhawm, yog li nws muaj 3 qhov cuam tshuam kom tau txais qhov kub, av noo thiab qhov siab. Tab sis lawv muaj qhov sib txawv lub npe, uas yuav ua rau txoj haujlwm tau txais cov txiaj ntsig txiaj ntsig nyuaj dua, ib yam li qhov no:
ntsuas ntsuas-> getTemperature ();
barometer-> getHumidity (); barometer-> tauAltitude (); //… another_sensor-> getSomeValue (); //…
Tab sis siv OOP, nws zoo li qhov no:
rau (pib kuv = 0; kuv getValue ();
}
Peb kuj tau ntim Daim Ntawv Thov hauv chav kawm, nws siv IApplication interface, teeb tsa () thiab voj () txoj hauv kev IoTea.ino tuaj yeem hu teeb tsa () thiab voj () txoj hauv kev thov khoom.
NCO TSEG: USB Serial siv los debug XWB. Tom qab kev debugging, thov tawm tswv yim nws yog pib ua cov cai hauv teeb () txoj hauv kev.
Rooj vag Tshooj
Gateway Part's Python program hauv tsev yog siv los thaij duab thiab xa lawv mus rau Amazon S3 Server txhua teev. Ua ntej koj siv nws, nco ntsoov fswebcam twb tau teeb tsa hauv koj li Raspberry Pi:
sudo apt-tau hloov tshiab && sudo apt-tau nruab fswebcam
Yog tias koj xav xa cov duab, teeb tsa koj AWS raws li hauv qab no. Ua ntej, teeb tsa AWS SDK thiab AWS CLI rau koj li Raspberry Pi los ntawm kev siv cov lus txib no:
sudo pip nruab boto3
sudo pip nruab awscli
thiab tom qab ntawd, khiav AWS CLI:
sudo aws configure
Configure your AWS Access Key ID, AWS Secret Access ID and Default region name.
Yog tias koj tsis nyiam upload koj cov duab, koj tuaj yeem hla AWS cov txheej txheem teeb tsa thiab tawm tswv yim tus lej hais txog kev rub tawm hauv photo.py. Txhawm rau khiav qhov haujlwm no tom qab pib Raspberry Pi txhua lub sijhawm, koj tuaj yeem tsim daim ntawv npe duab hauv /etc/init.d, thiab sau cov cai hauv qab no rau nws.
#!/bin/tsoo
# /etc/init.d/photo ### BEGIN INIT INFO # Muab: seeed_photo # Yuav tsum-Pib: $ remote_fs $ syslog # Yuav tsum-Nres: $ remote_fs $ syslog # Default-Pib: 2 3 4 5 # Default-Stop: 0 1 6 # Nqe lus piav qhia luv luv: thaij duab initscript # Nqe lus piav qhia: Qhov kev pabcuam no yog siv los tswj kev yees duab ### Xaus INIT INFO rooj plaub "$ 1" thaum pib) ncha "Pib thaij duab" /home/rxhf/photo.py &;; nres) ncha "Nres duab" tua $ (ps aux | grep -m 1 'python3 /home/rxhf/photo.py' | awk '{print $ 2}');; *) ncha "Siv: kev pabcuam yees duab pib | nres" tawm 1; esac Exit 0
teem kev tso cai
sudo chmod 777 /etc/init.d/photo
sudo chmod 777 /home/rxhf/photo.py
thiab sim nws
sudo /etc/init.d/photo pib
Yog tias tsis muaj teeb meem, nres nws thiab ntxiv rau qhov pib thov
sudo /etc/init.d/photo nres
sudo hloov tshiab-rc.d daim duab tsis raug
NCO TSEG: Yog tias koj xav pib lub qhov rooj tom qab Raspberry Pi booting, ntxiv lub qhov rooj pib cov lej hauv Pom Wiki rau /etc/rc.local, cia nws zoo li:
#!/bin/sh -e
# # rc.local # # Tsab ntawv no tau ua tiav ntawm qhov kawg ntawm txhua qhov kev ua haujlwm ntau ntau # Nco ntsoov tias tsab ntawv yuav "tawm 0" ntawm kev ua tiav lossis lwm yam # tus nqi ntawm kev ua yuam kev. # # Txhawm rau pab lossis lov tes taw tsab ntawv no tsuas yog hloov qhov ua tiav # khoom. # # Los ntawm lub neej ntawd tsab ntawv no tsis ua dab tsi. # Luam tus IP chaw nyob _IP = $ (hostname -I) || muaj tseeb yog tias ["$ _IP"]; ces printf "Kuv tus IP chaw nyob yog %s / n" "$ _IP" fi cd /home/rxhf/loriot/1.0.2 sudo systemctl nres pktfwd sudo gwrst wget https://cn1.loriot.io/home/gwsw/loriot -risinghf-r… -O loriot-gw.bin chmod +x loriot-gw.bin./loriot-gw.bin -f -s cn1.loriot.io tawm 0
Lub Vev Xaib
Peb tau siv lub vev xaib ntawm CentOS 7. Cov hauv qab no yuav qhia koj yuav siv li cas.
Kauj Ruam 1. Nruab Python3
sudo yum -y nruab epel -tso tawm
sudo yum -y nruab python36
Kauj Ruam 2. Nruab Python pip thiab virtual enviroment
wget
sudo python36 get-pip.py sudo pip nruab virtualenv
Setp 3. Clone peb lub vev xaib los ntawm GitHub
sudo yum -y nruab git
git clone
Kauj Ruam 4. Tsim thiab qhib qhov chaw ib puag ncig virtual
virtualenv -p python36 iotea -hb
cd iotea-hb source bin/qhib
Kauj Ruam 5. Txhim kho cov tsev qiv ntawv
pip nruab pymysql
pip nruab dbutils pip nruab flask pip nruab websocket-client pip nruab cofigparser
Kauj Ruam 6. Tsim database
sudo yum -y nruab mariadb mariabd -server
sudo systemctl pab mariadb sudo systemctl pib mariadb mysql -uroot -p
thiab tom qab ntawd siv iotea_hb.sql los tsim lub rooj.
Kauj Ruam 7. Tsim db.ini, thiab sau cov lej no rau nws
[db] Cov
db_port = 3306 db_user = hauv paus db_host = localhost db_pass = db_name = iotea
hloov db.ini txoj hauv db.py
# hauv db.py
#cf.read ("/data/www/python3_iotea_hb/iotea/conf/db.ini") cf.read ("/home // iotea-hb/db.ini")
Kauj Ruam 8. Hloov chaw nres nkoj hauv app.py thiab pib lub vev xaib:
# hauv app.py
#app.run (debug = Tseeb, chaw nres nkoj = 6000) app.run (debug = Tseeb, chaw nres nkoj = 8080)
# hauv davhlau ya nyob twg
pip nruab gunicorn gunicorn -w 5 -b 0.0.0.0:8080 app: app
tam sim no mus ntsib 127.0.0.1:8080 hauv koj lub vev xaib, koj tuaj yeem pom lub vev xaib, tab sis cov ntaub ntawv ntawm lub sijhawm tiag tiag tsis tshwm.
Kauj ruam 9. Tau txais cov ntaub ntawv loriot
Qhib lwm lub davhlau ya nyob twg, rov nkag rau ib puag ncig virtual thiab pib loriot app:
cd io-hb
qhov chaw rau hauv/qhib cov phom tua phom loriot: app
Tos ib pliag, koj yuav pom cov ntaub ntawv tso tawm hauv lub vev xaib, lossis koj tuaj yeem hloov wss hauv loriot.py:
# hauv loriot.py
#ws = create_connection ("wss: //cn1.loriot.io/app? token = vnwEuwAAAA1jbjEubG9yaW90LmlvRpscoh9Uq1L7K1zbrcBz6w ==")
ws = create_connection ()
Kauj ruam 5: Kev ua haujlwm
Koj tuaj yeem mus ntsib peb lub vev xaib los saib cov ntaub ntawv ntawm lub sijhawm tiag:
- Hauv Ya'an
- Rau Kev Ua Phem
Pom zoo:
YUAV TSUM HNOV TSHUAJ TIV THAIV TSHUAJ TIV THAIV TSHUAJ TIV THAIV LAMP: 8 Kauj Ruam
YUAV UA LI CAS YUAV TSHUAJ TSEEB TSHUAB PLASTICS RAU DESKTOP LAMP: hauv cov lus qhia no kuv yuav qhia koj yuav ua li cas thiaj ua rau koj tus kheej lub teeb pom kev zoo siv cov khoob yas khoob khoob
Pom LoRa IoTea Tshuaj: 5 Kauj Ruam
Pom LoRa IoTea Tshuaj: Cov ntaub ntawv khaws cia tsis siv neeg siv rau kev cog tshuaj yej. Nws yog ib feem ntawm cov ntaub ntawv ua liaj ua teb ntse
Pom IoTea LoRa Tshuaj (nrog Azure, Hloov Kho 1812): 5 Cov Kauj Ruam
Pom IoTea LoRa Tshuaj (nrog Azure, Hloov Kho 1812): Microsoft Azure yog huab kev pabcuam uas muab lub zog muaj zog thiab ruaj khov dua. Lub sijhawm no peb tau sim xa peb cov ntaub ntawv IoTea rau nws
Pom Qhov Pom Pom Pom Pom Lub Koob Yees Duab (TfCD): 15 Kauj Ruam (nrog Duab)
Pom Qhov Pom Pom Pom Pom Lub Koob Yees Duab (TfCD): Cov kev pabcuam paub uas tuaj yeem paub txog kev xav, ntsej muag ntawm tib neeg lossis cov khoom yooj yim tam sim no tseem nyob rau theem pib ntawm kev txhim kho, tab sis nrog kev kawm tshuab, thev naus laus zis no tau nce zuj zus. Peb tuaj yeem cia siab tias yuav pom ntau ntxiv ntawm cov khawv koob no hauv
Kev Sib Hloov Hloov Kho Hloov Kho rau Qub Guitar Amps: 11 Cov Kauj Ruam (nrog Duab)
Kev Sib Hloov Hloov Kho Hloov Kho rau Qub Guitar Amps: Txuag koj cov tawv nqaij! Txhim kho qhov kev txaus ntshai qub amp nrog kev hloov pauv cais. Muaj ob peb lub suab nrov qub (thiab xov tooj cua) rov qab nyob rau hauv ib hnub rub lub zog los ntawm kev kho tsev neeg ncaj qha " lub ntsiab " xov hlau Qhov no yog kev xyaum tsis nyab xeeb. Feem ntau