Orodha ya maudhui:
- Hatua ya 1: Vitu vinavyotumiwa katika Mradi huu
- Hatua ya 2: Hadithi
- Hatua ya 3: Uunganisho wa vifaa
- Hatua ya 4: Usanidi wa Programu
- Hatua ya 5: Ujenzi wa Wavuti
Video: Suluhisho la LoRa IoTea la Seeed: Hatua 5
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:52
Mfumo wa kukusanya habari moja kwa moja unaotumika kwenye shamba la chai. Ni sehemu ya mkusanyiko wa habari ya kilimo yenye akili.
Hatua ya 1: Vitu vinavyotumiwa katika Mradi huu
Vipengele vya vifaa
- Grove - sensorer ya kaboni ya kaboni (MH-Z16)
- Grove - Sura ya Nuru ya Dijiti
- Grove - Sura ya Vumbi (PPD42NS)
- Grove - Sensor ya oksijeni (ME2-O2--20)
- Unyevu wa Udongo & Sensorer ya Joto
- Lango la LoRa LoRaWAN - Kitanda cha 868MHz na Raspberry Pi 3
- Grove - Temp & Humi & Barometer Sensor (BME280)
Programu za programu na huduma za mkondoni
Studio ya Visual ya Microsoft 2015
Hatua ya 2: Hadithi
Kilimo mahiri ni kutumia mtandao wa teknolojia ya Vitu kwa kilimo cha jadi, kwa kutumia sensorer na programu kudhibiti uzalishaji wa kilimo kupitia majukwaa ya rununu au kompyuta, na kufanya kilimo cha jadi kuwa "smart" zaidi.
Kwenye Mlima wa Mengding kaskazini mashariki mwa Ya'an, Sichuan, mlima wa mlima huenda magharibi kuelekea mashariki katika bahari ya kijani kibichi. Huu ni mwonekano unaofahamika zaidi kwa Deng mwenye umri wa miaka 36, mmoja wa watunga chai wa Mengding wa kizazi chake, na shamba la 50mu (= hekta 3.3) lililoko 1100m juu ya usawa wa bahari. Deng hutoka kwa familia ya watengenezaji wa chai, lakini kutekeleza urithi wa familia sio kazi rahisi. "Chai zetu hupandwa katika urefu wa juu katika mazingira ya kikaboni ili kuhakikisha ubora wake. Lakini wakati huo huo, wiani wa ukuaji ni mdogo, gharama ni kubwa na chipukizi hazitoshi, na kufanya chai kuwa ngumu kuvuna. Ndio maana chai ya mlima mrefu kawaida huwa mavuno madogo na maadili yake hayaonekani sokoni. " Kwa miaka miwili iliyopita, Deng amekuwa akijaribu kukuza uelewa wa watumiaji juu ya chai ya mlima mrefu ili kukuza thamani yao. Na alipokutana na Shabiki, ambaye alikuwa akitafuta shamba ili kutekeleza teknolojia ya IoTea ya Seeed, mechi kamili ya suluhisho ilifanywa. Suluhisho la Seeed IoTea linalenga kusaidia wakulima wa chai kusimamia vyema mashamba bila kubadilisha mazoea ya jadi ya kilimo cha chai, na kuwasilisha data ya mazingira ya wakati halisi kutoka kwenye shamba kwenye jukwaa wazi.
Inayojumuisha sensorer, nodi, na malango, IoTea hukusanya data ya wakati halisi wa sababu ambazo zinaweza kuathiri ubora wa chai wakati wa kulima na michakato ya uzalishaji, pamoja na joto na unyevu, CO2, O2, PM, na mwanga. Takwimu hukusanywa na sensorer, zilizotumwa na nodi kwenye lango na mwishowe kwenye wingu, na inafanywa kupatikana kwa kumaliza wateja kwenye ukurasa wa wavuti.
Hatua ya 3: Uunganisho wa vifaa
Hatua ya 1: Uunganisho wa lango
Lango limewekwa kando kwenye sanduku. Kuzingatia shida ya utaftaji wa joto, tumeongeza mashabiki 2. Moja ni kwa utaftaji wa joto wa Raspberry Pi, nyingine ni ya mzunguko wa hewa wa ndani na nje. Sanduku la lango limewekwa katika nyumba ya mkulima, kwa hivyo hatuitaji kuzingatia shida yake ya umeme.
Step2: Uunganisho wa Node
Node ni mwisho wa data, na data zote za asili zinapatikana kutoka hapa. Kuna sensorer 6 zilizounganishwa na node. Kwa kuongeza unyevu wa mchanga na sensorer ya joto, tunaweka sensorer zingine ndani ya sanduku la louver.
Node imewekwa kwenye sanduku lisilo na maji. Ili kuwa na unganisho bora kwa node, tunafanya bodi ya adapta. Mwishowe, tutatoa kiunga cha upakuaji wa bodi hii. Kama inavyoonyeshwa hapa chini, nyaya za sensorer zimechomekwa kwenye bodi ya adapta kupitia vizuizi vya wastaafu. Tunatumia zilizopo 3 za MOS (SI2301) kujenga nyaya za kubadili kudhibiti na kuzima kwa sensorer na shabiki. Shabiki hutumiwa kupoa. Tuna sensor ya joto (DS18B20) iliyowekwa kwenye ubao. Inaweza kutuambia joto la ndani la sanduku, na kisha mdhibiti mdogo anaamua ikiwa awasha shabiki. Tunatumia vipingaji kadhaa kutengeneza mzunguko wa mgawanyiko wa voltage kupima voltage ya asidi-asidi ya risasi. Mwishowe, tunahifadhi miingiliano 3 ya IIC na bandari ya serial kwenye bodi kwa upanuzi wa baadaye na utatuaji.
Wacha tuzungumze juu ya shida ya usambazaji wa umeme wa node. Node imewekwa kwenye shamba la chai kwa nasibu, kwa hivyo njia ya jadi ya usambazaji wa umeme haitumiki tena. Kutumia suluhisho la nguvu ya jua ni wazo nzuri. Kuna suluhisho nyingi zinazotolewa kwenye soko kwa sasa. Tunaweza kuchagua moja yao ambayo yanakidhi mahitaji yetu. Kuna sehemu 3 katika suluhisho tulilochagua: jopo la jua, mdhibiti wa malipo ya jua na betri ya asidi inayoongoza. Ili kunasa nishati ya jua vizuri, tunaweka paneli ya jua juu ya bracket na kurekebisha pembe yake ili kuhakikisha kuwa inakabiliwa na jua. Tuliweka mtawala wa malipo ya jua kwenye sanduku moja na node. Kwa sababu hakuna nafasi ya ziada ndani ya sanduku, ilibidi tutafute sanduku jipya lisilo na maji ili kuweka betri ya asidi inayoongoza.
Hatua ya 4: Usanidi wa Programu
Nodi
Katika sehemu hii, tutaanzisha usanidi wa programu haswa wa nodi.
Takwimu
Takwimu zilizopakiwa na node kwenye lango:
char iliyosajiliwa Lora_data [15] = {0, 1, 2, 3,, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
Maana ya kila data kidogo:
Lora_data [0]: Joto la hewa, ℃
Lora_data [1]: Unyevu wa hewa,%
Lora_data [2]: Urefu urefu wa nane, m
Lora_data [3]: Urefu chini wa nane
Lora_data [4]: mkusanyiko wa CO2 juu ya nane, ppm
Lora_data [5]: mkusanyiko wa CO2 chini ya nane
Lora_data [6]: Mkusanyiko wa vumbi juu nane, pcs / 0.01cf
Lora_data [7]: Mkusanyiko wa vumbi chini ya nane
Lora_data [8]: Mwangaza wa kiwango cha juu cha nane, lux
Lora_data [9]: Nguvu nyepesi chini ya nane
Lora_data [10]: Mkusanyiko wa O2,% (data ghafi imegawanywa na 1000)
Lora_data [11]: Joto la mchanga, ℃
Lora_data [12]: Unyevu wa udongo,%
Lora_data [13]: Voltage ya betri, v
Lora_data [14]: Nambari ya makosa ya sensorer
Nambari ya hitilafu:
Lora_data [14] = [bit7, bit6, bit5, bit4, bit3, bit2, bit1, bit0]
Maana ya kila kidogo:
kidogo 0: 1 ---- Hitilafu ya Temp & Humi & Barometer Sensor (BME280)
kidogo 1: 1 ---- Hitilafu ya sensorer ya dioksidi ya kaboni (MH-Z16)
kidogo 2: 1 ---- Sura ya Vumbi) kosa la PPD42NS.
kidogo 3: 1 ---- Hitilafu ya Sura ya Nuru ya Dijiti
kidogo 4: 1 ---- Hitilafu ya Sensorer ya Oksijeni (ME2-O2-Ф20)
kidogo 5: 1 - Hitilafu ya Unyevu wa Udongo na Joto
kidogo 6: Imehifadhiwa
kidogo 7: Imehifadhiwa
Tumefanya Error_code_transform.exe, kuifungua na kuingiza nambari ya makosa katika hexadecimal, utajua haraka ni sensor ipi ni makosa. Kiungo cha kupakua ni mwisho wa nakala hii.
Marekebisho ya parameta: a) Mzunguko wa usafirishaji wa data
// sawedtea.ino
#defineinterval_time 600 // sekunde
Kigezo hiki kinaweza kutofautiana kubadilisha mzunguko wa usafirishaji wa data. Katika kila mzunguko, upatikanaji wa data unachukua kama dakika 1. Kwa hivyo, haipendekezi kubadilisha thamani hii kuwa chini ya sekunde 60.
b) Wakati wa joto wa sensor ya vumbi
//seeedtea.ino
#definePreheat_time 30000 // Wakati wa joto wa vumbi, milliseond //Dust_other.cpp #finesinesampletimeime_ms 30000 // wakati wa sampuli30s
c) Mgawo wa Voltage
//POWER_Ctrl.cpp
#defineBattery_coefficient 0.159864 // ADC value × Battery_coefficient = betri_voltage #defineSolar_coefficient 0.22559 // Thamani ya ADC × Solar_coefficient = Solar_voltage
Vigezo hivi viwili vinahesabiwa kulingana na mzunguko wa mgawanyiko wa voltage.
d) Kizingiti cha joto la kufungua shabiki
//POWER_Ctrl.cpp
#defineFan_start_temp 45 45 // kiwango cha joto #fafanuaFan_start_light 500 // nguvu ndogo
Wakati joto halisi linazidi kizingiti, shabiki ataanza kupoa.
e) Kigezo cha uanzishaji wa sensorer O2
// Oksijeni.cpp
# fafanuaO2_percentage 208.00 //20.8%
f) Kubadilisha Macro
//seeedtea.ino
#fafanuaLORA_RUN // Baada ya maoni, uanzishaji wa Lora na usambazaji wa data utasimamisha #fafanuaSENSOR_RUN // Baada ya maoni, waulizaji wa nje wataacha kufanya kazi //POWER_Ctrl.cpp #fineFAN_ON // Kujizuia tu, maombi ya vitendo yanahitajika kutolewa maoni / **** Modi ya kudhibiti DS18B20 ********************** / #fafanuaPolepole_Mode // Hali polepole ili kupunguza joto. Kutoa maoni ni hali ya haraka
g) Ramani ya pini
D2: Kiashiria cha LED na udhibiti mdogo wa nje microcontrollerIIC: SCL na SDA
//Vumbi_lingine.h
#defineVust_pin 3 // sensor vumbi //CO2.cpp # defineCO2_serial Serial1 // tumia bandari ngumu (D0 & D1) //seeedtea.ino #definedataPin 6 // Siri ya udongo #defineclockPin 7 // Siri ya saa ya udongo // POWER_Ctrl. h # defineDS18B20_pin 8 // DS18B20 #defineFan_pin 9 // Shabiki #defineAir_CtrlPin 10 // Pini ya kudhibiti sensorer zilizowekwa kwenye louverbox #defineSoil_CtrlPin 11 // Unyevu wa mchanga na sensorer ya sensorer ya Joto #defineBattery_pin A2 // Pima nguvu ya betri # / Pima upepo wa umeme wa jua // Oxygen.h # defineO2_pin A1 // O2 sensor
h) Kipima muda cha mwangalizi
Kipima muda cha mwangalizi kinatumika kufuatilia hali ya mfumo. Wakati mfumo unafanya kazi isivyo kawaida, node itawekwa upya, ili iweze kuendelea kwa muda mrefu.
Maktaba itakayotajwa:
- Adafruit_SleepyDog.h imeongezwa kwenye mradi huo
- Adafruit_ASFcore-master.zip imewekwa kwenye folda ya mradi na inahitaji kuongezwa kwa mikono kwa IDE ya Arduino.
Kazi zinazohusiana:
Wezesha mbwa wa kutazama
int WatchdogSAMD:: wezesha (int maxPeriodMS, bool isForSleep)
Vigezo vya kuingiza:
Int maxPeriodMS: Wakati wa kusubiri kwa milliseconds. Upeo unaoruhusiwa ni milisekunde 16000.
Thamani ya kurudisha:
Aina ya Int, rudisha wakati halisi wa kusubiri
Weka upya mbwa wa kutazama
utupu wa mwangaliziSAMD:: reset ()
Piga kazi hii kuweka upya kipima saa cha mwangalizi, kinachojulikana kama "kulisha mbwa." Kuzidi wakati wa kusubiri bila kuweka upya kutasababisha nodi kuanza upya.
Acha mbwa wa kutazama
utupu wa KuangaliaSAMD:: afya ()
Lango
Katika sehemu hii tutaanzisha jinsi ya kuungana na seva ya Loriot.
Step1: Usajili wa Langoot Server Gateway
a) Mtumiaji mpya anahitaji kujiandikisha akaunti kwanza, bonyeza anwani ya usajili. Jaza Jina la Mtumiaji, Nenosiri na anwani ya barua pepe kujiandikisha, baada ya usajili barua pepe itatumwa kwako, tafadhali fuata maagizo kwenye barua pepe ili kuamsha.
b) Baada ya kufanikisha uanzishaji, bonyeza hapa kuingia. Kiwango chaguomsingi ni "Mtandao wa Jumuiya", inasaidia 1 Gateway (RHF2S001) na nodi 10.
c) Ingiza Dashibodi -> Gateway, bonyeza Ongeza Gateway anza kuongeza Gateway.
d) Chagua Raspberry Pi 3
e) Weka kama ilivyo hapo chini:
- Mbele ya redio -> RHF2S001 868/915 MHz (SX1257)
- BASI -> SPI
f) Jaza anwani ya MAC ya RHF2S001 yako, inapaswa kuwa katika muundo wa b8: 27: eb: xx: xx: xx. Na pia ingiza habari ya Mahali pa Gateway.
g) Bonyeza "Sajili Raspberry Pi lango" kumaliza usajili.
h) Bonyeza lango lililosajiliwa ili kuingia ukurasa wa usanidi, badilisha "Mpango wa Frequency" kwa mikono, mpango wako hapa umeamuliwa na aina ya aina yako ya RHF2S001, mpango unaopatikana ni CN470, CN473 , CN434 , CN780 , EU868, baada ya kuchaguliwa tafadhali onyesha ukurasa upya kupata kituo halisi. Katika wiki hii tunachagua EU868.
i) Endesha amri katika kituo cha putty:
cd / nyumba/rxhf/loriot/1.0.2
Sudo systemctl acha pktfwd sudo gwrst wget > -O loriot-gw.bin chmod +x loriot-gw.bin./loriot-gw.bin -f -s cn1.loriot.io
j) Finish gateway registration. You will see the gateway is Connected now. Next is to register node.
Step2: Kifaa cha Nodi ya Unganisha Loriot
a) Pata njia zinazopatikana za lango
Njia za sasa za lango zinaweza kupatikana kutoka kwa Dashibodi -> Lango -> Lango lako, unaweza kuona vituo vinavyopatikana kama picha hapa chini.
b) Usanidi wa Seeeduino LoRAWAN GPS (RHF3M076)
Fungua mfuatiliaji wa mfululizo wa ArduinoIDE, gonga amri hapa chini.
saa + ch
Ili kudhibitisha kituo chaguomsingi cha Seeeduino_LoRAWAN GPS yako, utapata vituo 3. Ikiwa hakuna kituo kinachopatikana, unaweza kubadilisha vituo vya Seeeduino_LoRAWAN kwa amri hapa chini.
saa + ch = 0, 868.1
kwa + ch = 1, 868.3 kwa + ch = 2, 868.5
Basi unaweza kutumia + ch tena kuangalia.
c) Ongeza Seeeduino_LoRAWAN GPS kama ABP NodeLog katika seva ya Loriot, Bonyeza Bodi ya Dash -> Maombi -> SimpleApp. Bonyeza Ingiza ABP, pembejeo chini ya vitu
- DevAddr: Seeeduino_LoRAWAN GPS ipitie amri ya "AT + ID" (Kumbuka: Loriot haiungi mkono kiunganishi cha koloni, inahitaji kuondoa mwenyewe)
- FCntUp: Setto 1
- FCntDn: Setto 1
- NWKSKEY: Defaultvalue 2B7E151628AED2A6ABF7158809CF4F3C
- APPSKEY: Defaultvalue 2B7E151628AED2A6ABF7158809CF4F3C
- EUI: DEVEUI, Seeeduino_LoRAWAN GPS kupitia amri ya "AT + ID"
Bonyeza kitufe cha Ingiza Kifaa kumaliza uingizaji wa kifaa. Sasa chagua Dashibodi-> Maombi -> SampuliApp, utaona Node mpya ya ABP ambayo umeongeza tu.
d) Tuma data kutoka Seeeduino_LoRAWAN
UMAKINI! Huu ni mtihani tu.
Rudi kwa mfuatiliaji wa mfululizo wa ArduinoIDE, tuma amri:
AT + CMSGHEX = "0a 0b 0c 0d 0e"
Kisha nenda kwenye Dashibodi -> Maombi -> SampuliApp -> Kifaa, bofya Kifaa cha Node EUI au DevAddr, utapata data ambayo umetuma hapa.
Kwa maelezo, tafadhali rejea wiki hii.
Hatua ya 5: Ujenzi wa Wavuti
Zana zinazohusiana
- fadhila
- Python3
- Gunicorn
- Msimamizi
- Nginx
- MySQL
Tunatumia CentOS7 kama mazingira ya kupelekwa kwa mtihani
fadhila
Tumia fadhila kujenga mazingira ya uzalishaji wa chatu3
a) kusakinisha
bomba funga fadhila
b) unda mazingira halisi ya python3
fadhila -p python3 iotea
c) anza mazingira halisi na ingiza saraka ya iotea
chanzo bin / activate
d) kuwepo kwa mazingira
zima
Python3
a) kufunga
yum kufunga kutolewa kwa epel
yum kufunga python36
b) kusanikisha maktaba tegemezi PyMySQL, DBUtils, Flask, websocket-mteja, configparser
bomba funga pymysql
pip install dbutils pip install flask pip install websocket-mteja pip install configparser
Gunicorn
a) kusanikisha (chini ya mazingira ya Python3)
bomba kufunga gunicorn
b) kuendesha mradi wa chupa (chini ya saraka ya mradi wa iotea)
gunicorn -w 5 -b 0.0.0.0:5000 programu: programu
c) endesha websocket-clint kupata data ya loriot
gunicorn loriot: programu
d) angalia mti wa mchakato wa Gunicorn
pstree -ap | grep gunicorn
Msimamizi
a) kusanikisha (mtumiaji wa mizizi)
msimamizi wa kufunga bomba
b) toa faili za usanidi
echo_supervisord_conf> /etc/supervisord.conf
c) kuunda saraka na kuanzisha usanidi wa saraka
mkdir -p /etc/supervisor/conf.d
Hariri /etc/supervisord.conf na urekebishe uwanja wa faili chini [ujumuishe] mwishoni mwa faili.
Kumbuka kuwa unahitaji kuondoa ';' mbele ya mistari hii miwili, ambayo ni tabia ya maoni.
[pamoja na]
Faili = /etc/supervisor/conf.d/*.conf
Inamaanisha kuanzisha /etc/supervisor/conf.d/. Faili ya usanidi ifuatayo hutumiwa kama faili ya usanidi wa mchakato (inayofuatiliwa na msimamizi).
d) usanidi unaoingia (chini ya saraka ya iotea)
cp iotea.conf /etc/supervisor/conf.d/
cp loriot.conf /etc/supervisor/conf.d/
e) kufungua iotea kutumika
superviosrctl pakia tena #pakia tena faili ya usanidi
superviosrctl anza loriot #fungua loriot data mapokezi superviosrctl anza iotea #ufungue programu ya iotea flask
f) shughuli zingine za kawaida
msimamizi pakia upya # pakia tena faili ya usanidi
sasisha supervisorctl supervisorctl kuanza xxx supervisorctl stop xxx supervisorctl status xxx supervisorctl help # view more command
Nginx
a) kufunga
yum kufunga -y nginx
b) usanidi
cp NginxIotea.conf /etc/nginx/conf.d/
c) anza Nginx
systemctl kuanza nginx.huduma
MySQL
a) vigezo vinavyohusiana
mtumiaji = 'mzizi'
passwd = '1234' db = 'bandari ya iotea' = 3306
b) faili
iotea_iotea.sql
c) faili ya usanidi
db.ini
Ilipendekeza:
Unganisha na urejeshe suluhisho zako zilizounganishwa na Hologram Nova na Ubidots: Hatua 9
Unganisha na urejeshe suluhisho zako zilizounganishwa na Hologram Nova na Ubidots: Tumia Hologram Nova yako kurudisha miundombinu. Sanidi Hologram Nova ukitumia Raspberry Pi kutuma data (ya joto) kwa Ubidots.Katika mwongozo ufuatao, Ubidots itaonyesha jinsi ya kusanidi Hologram Nova kwa kutumia Raspberry Pi na kuonyesha te
Suluhisho la Uchafuzi wa Nuru - Artemi: Hatua 14
Suluhisho la Uchafuzi wa Nuru - Artemi: Uchafuzi wa nuru ni kitu kinachoathiri sisi wote ulimwenguni. Tangu taa ya taa iligunduliwa, taa imekuwa maarufu zaidi na imekuwa ikitumika katika miji mikubwa kama New York City na Chicago. Nuru hii yote inaweza kuelezea
Suluhisho la Seeed IoTea LoRa (Sasisha 1811): Hatua 5
Suluhisho la Seeed IoTea LoRa (Sasisha 1811): Internet + ni dhana maarufu sasa. Wakati huu tulijaribu mtandao pamoja na kilimo kutengeneza bustani ya chai inakua nje ya Chai ya Mtandaoni
Suluhisho la Seeed IoTea LoRa (na Azure, Sasisha 1812): Hatua 5
Suluhisho la Seeed IoTea LoRa (na Azure, Sasisha 1812): Microsoft Azure ni huduma ya wingu ambayo hutoa nguvu zaidi na thabiti ya kompyuta. Wakati huu tulijaribu kutuma data yetu ya IoTea kwake
Mradi wa Arduino: Moduli ya Mtihani wa LoRa RF1276 ya Suluhisho la Kufuatilia GPS: Hatua 9 (na Picha)
Mradi wa Arduino: Moduli ya Mtihani wa LoRa Moduli RF1276 ya Ufumbuzi wa Kufuatilia GPS: Uunganisho: USB - SerialNeed: Chrome Browser Haja: 1 X Arduino Mega Haja: 1 X GPS Haja: 1 X SD Haja: 2 X LoRa Modem RF1276 Kazi: Arduino Tuma Thamani ya GPS kwa msingi kuu - Data kuu ya duka kuu katika Moduli ya Serverino ya Dataino: Masafa marefu