Sadržaj:
- Korak 1: Stvari koje se koriste u ovom projektu
- Korak 2: Priča
- Korak 3: Povezivanje hardvera
- Korak 4: Konfiguracija softvera
- Korak 5: Izrada web stranice
Video: Vidjeli LoRa IoTea rješenje: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Automatski sistem prikupljanja informacija primijenjen na plantaži čaja. To je dio inteligentnog prikupljanja poljoprivrednih informacija.
Korak 1: Stvari koje se koriste u ovom projektu
Hardverske komponente
- Grove - Senzor ugljičnog dioksida (MH -Z16)
- Grove - digitalni svjetlosni senzor
- Grove - Senzor prašine (PPD42NS)
- Grove-Senzor kisika (ME2-O2-F20)
- Senzor vlage i temperature tla
- LoRa LoRaWAN pristupnik - 868MHz komplet sa Raspberry Pi 3
- Grove - Senzor za temp i Humi i barometar (BME280)
Softverske aplikacije i mrežne usluge
Microsoft Visual Studio 2015
Korak 2: Priča
Pametna poljoprivreda treba primijeniti tehnologiju Interneta stvari u tradicionalnoj poljoprivredi, koristeći senzore i softver za kontrolu poljoprivredne proizvodnje putem mobilnih ili računarskih platformi, čineći tradicionalnu poljoprivredu "pametnijom".
Na planini Mengding sjeveroistočno od Ya’ana, u Sečuanu, planinski greben ide zapadno -istočno u zelenom moru. Ovo je najpoznatiji prizor za 36-godišnjeg Denga, jednog od rijetkih proizvođača čaja u Mengdingu svoje generacije, sa plantažom od 50mu (= 3,3 hektara) smještenom na 1100m nadmorske visine. Deng dolazi iz porodice proizvođača čajeva, ali nošenje porodičnog naslijeđa nije lak zadatak. „Naši čajevi uzgajaju se na velikim nadmorskim visinama u organskom okruženju kako bi se osigurala njihova izvrsna kvaliteta. Ali u isto vrijeme, gustoća rasta je niska, troškovi su visoki i pupoljci su neujednačeni, što otežava berbu čaja. Zato su čajevi s visokih planina obično male berbe i njihove vrijednosti se ne odražavaju na tržištu.” Posljednje dvije godine Deng pokušava podići svijest potrošača o planinskim čajevima kako bi promovirao njihovu vrijednost. A kad je upoznao Fan, koji je tražio plantažu za implementaciju Seeed -ove IoTea tehnologije, napravljeno je savršeno rješenje. Rješenje Seeed IoTea ima za cilj pomoći uzgajivačima čaja da bolje upravljaju plantažama bez mijenjanja tradicionalnih praksi uzgoja čaja, te predstaviti podatke o okolišu u stvarnom vremenu sa plantaža na otvorenoj platformi.
Sastoji se od senzora, čvorova i pristupnika, IoTea prikuplja podatke u stvarnom vremenu o faktorima koji mogu utjecati na kvalitetu čaja tokom procesa uzgoja i proizvodnje, uključujući temperaturu i vlažnost, CO2, O2, PM i izloženost svjetlu. Podaci se prikupljaju senzorima, čvorovi ih šalju na pristupnik i na kraju u oblak, te su dostupni krajnjim korisnicima na web stranici.
Korak 3: Povezivanje hardvera
Korak 1: Povezivanje mrežnog prolaza
Gateway se instalira zasebno u kutiji. S obzirom na problem odvođenja topline, dodali smo 2 ventilatora. Jedan je za odvođenje topline Raspberry Pi, drugi je za unutarnju i vanjsku cirkulaciju zraka. Priključna kutija je smještena u poljoprivrednom domu, tako da ne moramo uzeti u obzir njen problem s napajanjem.
Korak 2: Povezivanje čvora
Čvor je terminal podataka, a svi izvorni podaci se dobivaju odavde. Na čvor je spojeno 6 senzora. Osim senzora vlažnosti tla i temperature, unutar kutije za žaluzine stavljamo i druge senzore.
Čvor je smješten u vodootpornu kutiju. Kako bismo imali bolju vezu s čvorom, izrađujemo adaptersku ploču. Na kraju ćemo dati vezu za preuzimanje sheme ove ploče. Kao što je dolje prikazano, kabeli senzora priključeni su u adaptersku ploču kroz priključne blokove. Koristimo 3 MOS cijevi (SI2301) za izradu sklopnih krugova za kontrolu uključivanja i isključivanja senzora i ventilatora. Ventilator se koristi za hlađenje. Imamo senzor temperature (DS18B20) montiran na ploču. Može nam reći unutrašnju temperaturu kutije, a zatim mikrokontroler odlučuje hoće li uključiti ventilator. Koristimo nekoliko otpornika za izradu kruga razdjelnika napona za mjerenje napona olovne baterije. Konačno, rezerviramo 3 IIC sučelja i serijski port na ploči za kasnije proširenje i otklanjanje grešaka.
Razgovarajmo o problemu napajanja čvora. Čvor se nasumično postavlja u plantažu čaja, pa tradicionalna metoda napajanja više nije primjenjiva. Korištenje rješenja za solarnu energiju dobra je ideja. Trenutno na tržištu postoji mnogo rješenja. Možemo odabrati jednu od njih koja zadovoljava naše potrebe. U rješenju koje smo odabrali postoje 3 dijela: solarni panel, solarni regulator punjenja i olovna baterija. Kako bismo bolje uhvatili solarnu energiju, stavljamo solarnu ploču na vrh držača i prilagođavamo njen kut kako bismo bili sigurni da je okrenuta prema suncu. Stavili smo solarni regulator punjenja u istu kutiju sa čvorom. Budući da unutar kutije nema dodatnog prostora, morali smo pronaći novu vodootpornu kutiju za postavljanje olovne baterije.
Korak 4: Konfiguracija softvera
Node
U ovom odjeljku predstavit ćemo uglavnom softversku konfiguraciju čvora.
DataFormat
Podaci koje je čvor otpremio na gateway:
nepotpisani char Lora_data [15] = {0, 1, 2, 3,, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
Značenje svakog bita podataka:
Lora_data [0]: Temperatura zraka, ℃
Lora_data [1]: Vlažnost zraka, %
Lora_data [2]: Visina osam, m
Lora_data [3]: Visina niska osam
Lora_data [4]: Koncentracija CO2 velika osam, ppm
Lora_data [5]: Koncentracija CO2 niska osam
Lora_data [6]: Koncentracija prašine osam, kom/0,01 cf
Lora_data [7]: Koncentracija prašine niska osam
Lora_data [8]: Intenzitet svjetla veliki osam, lux
Lora_data [9]: Intenzitet svjetla nizak osam
Lora_data [10]: Koncentracija O2, % (sirovi podaci podijeljeni s 1000)
Lora_data [11]: Temperatura tla, ℃
Lora_data [12]: Vlažnost tla, %
Lora_data [13]: Napon baterije, v
Lora_data [14] : Kôd greške senzora
Kôd greške:
Lora_data [14] = [bit7, bit6, bit5, bit4, bit3, bit2, bit1, bit0]
Značenje svakog bita:
bit 0: 1 ---- Greška senzora temp. i Humi & barometra (BME280)
bit 1: 1 ---- Greška senzora ugljičnog dioksida (MH-Z16)
bit 2: 1 ---- Greška senzora prašine, PPD42NS
bit 3: 1 ---- Greška senzora digitalnog svjetla
bit 4: 1 ---- Greška senzora kisika (ME2-O2-F20)
bit 5: 1 ---- Greška senzora vlage i temperature tla
bit 6: Rezervisano
bit 7: Rezervisano
Napravili smo Error_code_transform.exe, otvorili ga i unijeli kôd greške u heksadecimalni broj, brzo ćete znati koji je senzor greška. Link za preuzimanje nalazi se na kraju ovog članka.
Podešavanje parametara: a) Ciklus prijenosa podataka
// seeedtea.ino
#defineinterval_time 600 // sekunda
Ovaj parametar se može mijenjati za promjenu ciklusa prijenosa podataka. U svakom ciklusu prikupljanje podataka traje oko 1 minute. Stoga se ne preporučuje mijenjanje ove vrijednosti na manje od 60 sekundi.
b) Vrijeme zagrijavanja senzora za prašinu
//seeedtea.ino
#definePreheat_time 30000 // Vrijeme zagrijavanja DustSensor-a, miliseond //Dust_other.cpp #definesampletime_ms 30000 // samplingtime30s
c) Koeficijent napona
//POWER_Ctrl.cpp
#defineBattery_coefficient 0,159864 // ADC vrijednost × koeficijent baterije = napon baterije #defineSolarni koeficijent 0,22559 // vrijednost ADC × solarni koeficijent = solarni napon
Ova dva parametra izračunavaju se na temelju kruga razdjelnika napona.
d) Prag temperature otvaranja ventilatora
//POWER_Ctrl.cpp
#defineFan_start_temp 45 // temperaturni prag #defineFan_start_light 500 // intenzitet svjetla
Kada stvarna temperatura pređe prag, ventilator će se početi hladiti.
e) Parametar inicijalizacije O2 senzora
//Oxygen.cpp
#defineO2_percentage 208.00 //20.8%
f) Makro prekidač
//seeedtea.ino
#defineLORA_RUN // Nakon komentara, inicijalizacija Lore i prijenos podataka će prestati #defineSENSOR_RUN // Nakon komentara, vanjski senzori će prestati raditi //POWER_Ctrl.cpp #defineFAN_ON // Samo testiranje, Praktičnu aplikaciju je potrebno komentirati /**** *** DS18B20 način upravljanja **********************/ #defineSlower_Mode // Spori način rada za postizanje temperature. Komentar je brz način rada
g) Pin mapiranje
D2: LED indikator i vanjski mikrokontroler za resetiranjeIIC: SCL i SDA
//Dust_other.h
#defineDust_pin 3 // Senzor prašine //CO2.cpp #defineCO2_serial Serial1 // koristi hardverski serijski port (D0 & D1) //seeedtea.ino #definedataPin 6 // Pin podataka o tlu #defineclockPin 7 // Igla sata tla // POWER_Ctrl. h #defineDS18B20_pin 8 // DS18B20 #defineFan_pin 9 // Ventilator #defineAir_CtrlPin 10 // Kontrolni pin za senzore postavljene u žaluzinu #defineSoil_CtrlPin 11 // Sklopka osjetnika osjetnika vlage i temperature tla #defineBattery_pin A2 /Mjeri napon baterije /Izmjerite napon solarne ploče //Kisik.h #defineO2_pin A1 // Senzor O2
h) Mjerač vremena čuvara
Mjerač vremena čuvara koristi se za praćenje statusa sistema. Kada sistem radi neuobičajeno, čvor će se resetirati, tako da može raditi kontinuirano dugo vremena.
Biblioteka na koju se treba pozvati:
- Adafruit_SleepyDog.h je dodan u projekat
- Adafruit_ASFcore-master.zip je upakovan u fasciklu projekta i mora se ručno dodati u Arduino IDE.
Povezane funkcije:
Omogući nadzornika
int WatchdogSAMD:: enable (int maxPeriodMS, bool isForSleep)
Ulazni parametri:
Int maxPeriodMS: Vrijeme čekanja u milisekundama. Maksimalno dozvoljeno je 16000 milisekundi.
povratna vrijednost:
Int type, vraća stvarno vrijeme čekanja
Poništite nadzornog psa
void WatchdogSAMD:: reset ()
Pozovite ovu funkciju da biste poništili mjerač vremena čuvara, koji se naziva "hranjenje psa". Prekoračenje vremena čekanja bez resetiranja uzrokovat će ponovno pokretanje čvora.
Zaustavi stražara
void WatchdogSAMD:: disable ()
Gateway
U ovom odjeljku ćemo predstaviti kako se povezati s Loriot serverom.
Korak 1: Registracija Loriot pristupnika servera
a) Novi korisnik mora prvo registrirati račun, kliknite na adresu za registraciju. Ispunite korisničko ime, lozinku i adresu e -pošte za registraciju, nakon registracije će vam biti poslana e -poruka, slijedite upute u e -pošti za aktivaciju.
b) Nakon uspješne aktivacije, kliknite ovdje za prijavu. Zadani nivo je „Mreža zajednice“, podržava 1 pristupnik (RHF2S001) i 10 čvorova.
c) Uđite na nadzornu ploču -> Gateway, kliknite Dodaj Gateway za početak dodavanja Gateway -a.
d) Odaberite Raspberry Pi 3
e) Postavite kako slijedi:
- Radio prednji -> RHF2S001 868/915 MHz (SX1257)
- AUTOBUS -> SPI
f) Unesite MAC adresu vašeg RHF2S001, treba biti u formatu b8: 27: eb: xx: xx: xx. Također unesite informacije o lokaciji pristupnika.
g) Kliknite na „Register Raspberry Pi gateway“da biste dovršili registraciju.
h) Kliknite na registrirani pristupnik za ulazak na stranicu sa konfiguracijom, ručno prebacite „Plan učestalosti“, vaš plan ovdje ovisi o vrsti vašeg RHF2S001, raspoloživi plan je CN470 , CN473 , CN434 , CN780 , EU868, nakon odabira osvježite stranicu da dobijete tačan kanal. Na ovoj wiki stranici odabiremo EU868.
i) Pokrenite naredbu na terminalu za kit:
cd /home/rxhf/loriot/1.0.2
sudo systemctl stop 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.
Korak 2: Loriot Server Connect Node uređaj
a) Nabavite dostupne gateway kanale
Trenutni kanali pristupnika mogu se dobiti s nadzorne ploče -> Gateway -> Your Gateway, dostupne kanale možete vidjeti kao na slici ispod.
b) Seeeduino LoRAWAN GPS (RHF3M076) konfiguracija
Otvorite serijski monitor ArduinoIDE -a, dodirnite naredbu ispod.
na+ch
Da biste potvrdili zadani kanal vašeg Seeeduino_LoRAWAN GPS -a, dobit ćete 3 kanala. Ako nema dostupnih kanala, možete promijeniti kanale Seeeduino_LoRAWAN pomoću naredbe ispod.
pri+ch = 0, 868.1
pri+ch = 1, 868,3 pri+ch = 2, 868,5
Zatim možete ponovo koristiti tipku+ch za provjeru.
c) Dodajte Seeeduino_LoRAWAN GPS kao ABP NodeLog na poslužitelju Loriot, kliknite Nadzorna ploča -> Aplikacije -> SimpleApp. Pritisnite Uvezi ABP , unesite ispod stavki
- DevAddr: Seeeduino_LoRAWAN GPS dobija naredbu "AT+ID" (Napomena: Loriot ne podržava konektor za dvotočku, potrebno ga je ukloniti ručno)
- FCntUp: Setto 1
- FCntDn: Setto 1
- NWKSKEY: Zadana vrijednost 2B7E151628AED2A6ABF7158809CF4F3C
- APPSKEY: Zadana vrijednost 2B7E151628AED2A6ABF7158809CF4F3C
- EUI: DEVEUI, Seeeduino_LoRAWAN GPS prođite kroz naredbu "AT+ID"
Pritisnite dugme Uvezi uređaj da biste dovršili uvoz uređaja. Sada odaberite Nadzorna ploča-> Aplikacije -> SampleApp, vidjet ćete novi čvor ABP -a koji ste upravo dodali.
d) Slanje podataka sa Seeeduino_LoRAWAN -a
PAŽNJA! Ovo je samo test.
Natrag na serijski monitor ArduinoIDE -a, pošaljite naredbu:
AT+CMSGHEX = "0a 0b 0c 0d 0e"
Zatim idite na Nadzornu ploču -> Aplikacije -> SampleApp -> Uređaj, kliknite NI Device EUI ili DevAddr, ovdje ćete pronaći podatke koje ste upravo poslali.
Za detalje, pogledajte ovu wiki.
Korak 5: Izrada web stranice
Povezani alati
- virtualenv
- Python3
- Gunicorn
- Supervizor
- Nginx
- MySQL
CentOS7 koristimo kao okruženje za testiranje implementacije
virtualenv
Koristite virtualenv za izgradnju samostalnog Python3 proizvodnog okruženja
a) instalirati
pip install virtualenv
b) kreirajte python3 virtualno okruženje
virtualenv -p python3 iotea
c) pokrenite virtualno okruženje i unesite iotea direktorij
izvor kanta/aktiviranje
d) postojeće okruženje
deaktivirati
Python3
a) instalirati
yum instalirajte epel-release
yum install python36
b) instalirajte zavisnu biblioteku PyMySQL, DBUtils, Flask, websocket-client, configparser
pip install pymysql
pip install dbutils pip install flask pip install websocket-client pip install configparser
Gunicorn
a) instalirajte (u Python3 okruženju)
pip install gunicorn
b) pokrenite flask project (u iotea direktoriju projekta)
gunicorn -w 5 -b 0.0.0.0:5000 app: app
c) pokrenite websocket-clint da biste dobili loriot podatke
gunicorn loriot: app
d) pogledajte drvo procesa Gunicorn
pstree -ap | grep top
Supervizor
a) instaliraj (root korisnik)
pip install supervizor
b) generiranje konfiguracijskih datoteka
echo_supervisord_conf> /etc/supervisord.conf
c) kreiranje direktorija i uvođenje konfiguracije direktorija
mkdir -p /etc/supervisor/conf.d
Uredite /etc/supervisord.conf i izmijenite polje datoteka pod [uključi] na kraju datoteke.
Imajte na umu da morate ukloniti ';' ispred ova dva reda, što je karakter komentara.
[uključi]
Datoteke = /etc/supervisor/conf.d/*.conf
Sredstva za uvođenje /etc/supervisor/conf.d/. Sljedeća konfiguracijska datoteka koristi se kao konfiguracijska datoteka procesa (nadgleda ju nadzornik).
d) dolazna konfiguracija (u direktoriju iotea)
cp iotea.conf /etc/supervisor/conf.d/
cp loriot.conf /etc/supervisor/conf.d/
e) otvoren iotea servis
superviosrctl reload #reload konfiguracijske datoteke
superviosrctl start loriot #open loriot prijem podataka superviosrctl start iotea #open aplikacija iotea flask
f) druge uobičajene operacije
nadzornik reload # ponovno učitavanje konfiguracijske datoteke
supervizorctl ažuriranje supervizorctl početak xxx supervizorctl stop xxx nadzorni status xxx supervizor pomoć # pogledajte više naredbi
Nginx
a) instalirati
yum install -y nginx
b) konfiguracija
cp NginxIotea.conf /etc/nginx/conf.d/
c) pokrenite Nginx
systemctl pokrenite nginx.service
MySQL
a) povezani parametri
user = 'root'
passwd = '1234' db = 'iotea' port = 3306
b) dosije
iotea_iotea.sql
c) konfiguracioni fajl
db.ini
Preporučuje se:
Upravljajte kućanskim aparatima preko LoRa - LoRa u kućnoj automatizaciji - LoRa daljinski upravljač: 8 koraka
Upravljajte kućanskim aparatima preko LoRa | LoRa u kućnoj automatizaciji | LoRa daljinski upravljač: Upravljajte i automatizujte svoje električne uređaje na velike udaljenosti (kilometre) bez prisustva interneta. To je moguće putem LoRa! Hej, šta ima momci? Akarsh ovdje iz CETech -a. Ova PCB također ima OLED ekran i 3 releja koji
Vidjeli IoTea LoRa rješenje (ažuriranje 1811): 5 koraka
Vidjeli IoTea LoRa rješenje (ažuriranje 1811): Internet+ je sada popularan koncept. Ovaj put smo pokušali putem Interneta i poljoprivrede napraviti vrt iz čaja iz interneta
Vidjeli IoTea LoRa rješenje (sa Azure, ažuriranje 1812): 5 koraka
Vidjeli IoTea LoRa rješenje (s Azureom, ažuriranje 1812): Microsoft Azure je usluga u oblaku koja pruža snažniju i stabilniju računalnu snagu. Ovaj put smo pokušali poslati svoje IoTea podatke
Arduino projekt: LoRa modul za testiranje RF1276 za rješenje za GPS praćenje: 9 koraka (sa slikama)
Arduino projekt: Testni domet LoRa modul RF1276 za GPS praćenje Rješenje: Povezivanje: USB - SerijskiPotrebno: Chrome preglednik Potreban: 1 X Arduino Mega potreba: 1 X GPS potreba: 1 X SD kartica Potreba: 2 X LoRa modem RF1276Funkcija: Arduino Pošalji GPS vrijednost na glavnu bazu - Glavna baza čuva podatke u Dataino Server Lora modulu: Ultra veliki domet
Savršena sadnica - najpametniji sadnjak koji ste ikada vidjeli: 6 koraka
Savršena sadilica - najpametniji sadnjak koji ste ikada vidjeli: Ova sadilica je vjerojatno jedna od najpametnijih sadnica koje ste ikada vidjeli. Sve u svom elegantnom i modernom dizajnu, ova sadilica se može pohvaliti senzorom tla koji detektira kada je vaše tlo suho. Kad se osuši, uključuje se peristaltička pumpa i automatski zalijeva