Tartalomjegyzék:
- 1. lépés: A projektben használt dolgok
- 2. lépés: Történet
- 3. lépés: Hardvercsatlakozás
- 4. lépés: Szoftver konfigurálása
- 5. lépés: Weboldal készítés
Videó: Látta a LoRa IoTea megoldást: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Automatikus információgyűjtő rendszer a teaültetvényeken. Ez az intelligens mezőgazdasági információgyűjtés része.
1. lépés: A projektben használt dolgok
Hardver alkatrészek
- Grove - Szén -dioxid érzékelő (MH -Z16)
- Grove - Digitális fényérzékelő
- Grove - Porérzékelő (PPD42NS)
- Grove-oxigénérzékelő (ME2-O2-Ф20)
- Talaj nedvesség és hőmérséklet érzékelő
- LoRa LoRaWAN átjáró - 868 MHz -es készlet Raspberry Pi 3 -mal
- Grove - Temp & Humi és barométer érzékelő (BME280)
Szoftveralkalmazások és online szolgáltatások
Microsoft Visual Studio 2015
2. lépés: Történet
Az intelligens mezőgazdaság a tárgyak internetének technológiáját alkalmazza a hagyományos mezőgazdaságban, érzékelők és szoftverek segítségével irányítja a mezőgazdasági termelést mobil vagy számítógépes platformokon keresztül, így a hagyományos mezőgazdaság „okosabb” lesz.
A Mengding -hegyen, Ya'an -tól északkeletre, Szecsuánban a hegygerinc nyugatról keletre, zöld tengerben fut. Ez a leghíresebb látnivaló a 36 éves Deng számára, aki egyike azon kevés Mengding teafőzőknek, akiknek 50 m-es (= 3,3 hektár) ültetvénye 1100 m tengerszint feletti magasságban található. Deng teafőző családból származik, de a családi örökség továbbvitele nem könnyű feladat. „Teáinkat nagy tengerszint feletti magasságban, organikus környezetben termesztik, hogy kiváló minőségűek legyenek. Ugyanakkor a növekedési sűrűség alacsony, a költségek magasak és a bimbózás egyenetlen, ami megnehezíti a tea betakarítását. Ezért a magashegyi teák általában kis termésűek, és értékeik nem tükröződnek a piacon.” Az elmúlt két évben a Deng arra törekedett, hogy felhívja a fogyasztók figyelmét a magashegyi teára, hogy népszerűsítse azok értékét. És amikor találkozott Fannel, aki ültetvényt keresett Seeed IoTea technológiájának megvalósítására, tökéletesen megfelelt a megoldásnak. A Seeed IoTea Solution célja, hogy segítse a teagazdálkodókat az ültetvények jobb kezelésében anélkül, hogy megváltoztatná a hagyományos teagyártási gyakorlatokat, és valós időben mutatná be az ültetvények környezeti adatait egy nyílt platformon.
Az érzékelőkből, csomópontokból és átjárókból álló IoTea valós idejű adatokat gyűjt azokról a tényezőkről, amelyek befolyásolhatják a tea minőségét a termesztés és a gyártási folyamatok során, beleértve a hőmérsékletet és a páratartalmat, a CO2-t, az O2-t, a PM-et és a fény expozícióját. Az adatokat az érzékelők gyűjtik, a csomópontok elküldik az átjáróhoz és végül a felhőbe, és hozzáférhetővé teszik a végfelhasználók számára egy weboldalon.
3. lépés: Hardvercsatlakozás
1. lépés: Átjárókapcsolat
Az átjárót külön dobozba kell felszerelni. Tekintettel a hőelvezetési problémára, 2 ventilátort adtunk hozzá. Az egyik a Raspberry Pi hőelvezetésére szolgál, a másik a belső és külső légáramlásra. Az átjáró dobozt a gazda otthonában helyezzük el, így nem kell figyelembe vennünk az áramellátási problémáját.
2. lépés: Csomópont csatlakoztatása
A csomópont az adatok terminálja, és az összes eredeti adat innen származik. A csomóponthoz 6 érzékelő csatlakozik. A talajnedvesség- és hőmérséklet -érzékelőn kívül más érzékelőket is elhelyezünk a lamellás dobozban.
A csomópont vízálló dobozba kerül. Annak érdekében, hogy jobb legyen a kapcsolat a csomóponttal, készítünk egy adapterlapot. Végül megadjuk a tábla sematikus letöltési linkjét. Amint az alább látható, az érzékelők kábelei a sorkapcsokon keresztül csatlakoznak az adapterlaphoz. 3 MOS csövet (SI2301) használunk kapcsolóáramkörök kiépítésére az érzékelők és a ventilátor be- és kikapcsolásának vezérlésére. A ventilátort hűtésre használják. A hőmérséklet -érzékelő (DS18B20) van felszerelve a táblára. Meg tudja mondani a doboz belső hőmérsékletét, majd a mikrokontroller eldönti, hogy bekapcsolja -e a ventilátort. Több ellenállást használunk feszültségosztó áramkör készítéséhez az ólom-sav akkumulátor feszültségének mérésére. Végül 3 IIC interfészt és soros portot tartunk fenn a táblán a későbbi bővítéshez és hibakereséshez.
Beszéljünk a csomópont tápellátási problémájáról. A csomópont véletlenszerűen kerül a teaültetvénybe, így a hagyományos áramellátási módszer már nem alkalmazható. A napelemes megoldás használata jó ötlet. Jelenleg számos megoldás áll rendelkezésre a piacon. Kiválaszthatunk közülük egyet, amely megfelel az igényeinknek. Az általunk választott megoldásnak 3 része van: napelem, napelemes töltésszabályozó és ólomakkumulátor. A napenergia jobb elnyerése érdekében napelemeket helyezünk a konzol tetejére, és úgy állítjuk be a szögét, hogy a nap felé nézzen. A napelemes töltésszabályozót ugyanabba a dobozba helyeztük a csomóponttal. Mivel nincs több hely a dobozban, új vízálló dobozt kellett találnunk az ólomakkumulátor elhelyezéséhez.
4. lépés: Szoftver konfigurálása
Csomópont
Ebben a részben bemutatjuk a csomópont elsősorban szoftver konfigurációját.
DataFormat
A csomópont által az átjáróra feltöltött adatok:
előjel nélküli karakter Lora_data [15] = {0, 1, 2, 3,, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};
Az egyes adatbitek jelentése:
Lora_data [0] : Levegő hőmérséklet, ℃
Lora_data [1] : Légnedvesség, %
Lora_data [2] : Magasság magas nyolc, m
Lora_data [3] low Alacsony magasság nyolc
Lora_data [4] : CO2 -koncentráció magas nyolc, ppm
Lora_data [5] : CO2 koncentráció alacsony nyolc
Lora_data [6] high Porkoncentráció magas nyolc, db/0,01 cf
Lora_data [7] low Porkoncentráció alacsony nyolc
Lora_data [8] : Fényintenzitás magas nyolc, lux
Lora_data [9] low Fényintenzitás alacsony nyolc
Lora_data [10] : O2 koncentráció, % (nyers adatok osztva 1000 -el)
Lora_data [11] : Talajhőmérséklet, ℃
Lora_data [12] : Talaj páratartalma, %
Lora_data [13] : Akkumulátor feszültsége, v
Lora_data [14] : Érzékelők hibakódja
Hibakód:
Lora_data [14] = [bit7, bit6, bit5, bit4, bit3, bit2, bit1, bit0]
Minden bit jelentése:
bit 0: 1 ---- Temp & Humi & Barometer Sensor (BME280) hiba
bit 1: 1 ---- Szén-dioxid-érzékelő (MH-Z16) hiba
bit 2: 1 ---- Porérzékelő (PPD42NS) hiba
bit 3: 1 ---- Digitális fényérzékelő hiba
bit 4: 1 ---- Oxigénérzékelő (ME2-O2-Ф20) hiba
bit 5: 1 ---- Talajnedvesség és hőmérsékletérzékelő hiba
6. bit: fenntartva
bit 7: Fenntartva
Készítettünk egy Error_code_transform.exe fájlt, nyissuk meg és írjuk be a hibakódot hexadecimális formában, így gyorsan tudni fogjuk, melyik érzékelő a hiba. A letöltési link a cikk végén található.
Paraméterbeállítás: a) Adatátviteli ciklus
// seeedtea.ino
#defineinterval_time 600 // másodperc
Ez a paraméter változtatható az adatátviteli ciklus megváltoztatásához. Minden ciklusban az adatgyűjtés körülbelül 1 percet vesz igénybe. Tehát nem ajánlott ezt az értéket 60 másodpercnél rövidebbre módosítani.
b) A porérzékelő bemelegedési ideje
//seeedtea.ino
#definePreheat_time 30000 // DustSensor bemelegedési idő, ezredmásodperc // Dust_other.cpp #definesampletime_ms 30000 // samplingtime30s
c) Feszültségi együttható
//POWER_Ctrl.cpp
#defineBattery_coefficient 0,159864 // ADC -érték × Battery_coefficient = akkumulátor_feszültség #defineSolar_coefficient 0,22559 // ADC -érték × Solar_coefficient = szolár_feszültség
Ezt a két paramétert a feszültségosztó áramkör alapján számítják ki.
d) A ventilátor nyitási hőmérsékletének küszöbértéke
//POWER_Ctrl.cpp
#defineFan_start_temp 45 // hőmérsékletküszöb #defineFan_start_light 500 // fényerősség
Amikor a tényleges hőmérséklet meghaladja a küszöbértéket, a ventilátor lehűlni kezd.
e) O2 érzékelő inicializáló paramétere
// Oxigén.cpp
#defineO2_percentage 208.00 // 20.8%
f) Makró kapcsoló
//seeedtea.ino
#defineLORA_RUN // A megjegyzés után leáll a Lora inicializálása és az adatátvitel *** DS18B20 vezérlési mód **********************/ #defineSlower_Mode // Lassú üzemmód a hőmérséklet beállításához. A megjegyzés gyors mód
g) Csaptérképezés
D2: LED kijelző és külső reset mikrokontroller IIC: SCL és SDA
// Por_más.h
#defineDust_pin 3 // Porérzékelő //CO2.cpp #defineCO2_serial Serial1 // hardverreserációs port használata (D0 & D1) //seeedtea.ino #definedataPin 6 // Talajadatcsap #defineclockPin 7 // Talaj óracsap // POWER_Ctrl. h #defineDS18B20_pin 8 // DS18B20 #defineFan_pin 9 // Ventilátor #defineAir_CtrlPin 10 // Vezérlőcsap a zsaluzatba helyezett érzékelőkhöz #defineSoil_CtrlPin 11 // Talajnedvesség és hőmérsékletérzékelő kapcsolócsap #defineBattery_pin A2 // A3 /A3 akkumulátor mérése /A napelem feszültségének mérése // Oxigén.h #defineO2_pin A1 // O2 érzékelő
h) Watchdog időzítő
A watchdog időzítő a rendszer futási állapotának figyelésére szolgál. Ha a rendszer rendellenesen fut, a csomópont alaphelyzetbe áll, így hosszú ideig folyamatosan futhat.
A hivatkozott könyvtár:
- Adafruit_SleepyDog.h hozzáadásra került a projekthez
- Az Adafruit_ASFcore-master.zip a projekt mappába van csomagolva, és manuálisan kell hozzáadni az Arduino IDE-hez.
Kapcsolódó funkciók:
A watchdog engedélyezése
int WatchdogSAMD:: engedélyezés (int maxPeriodMS, bool isForSleep)
Bemeneti paraméterek:
Int maxPeriodMS: Várakozási idő ezredmásodpercben. A megengedett maximális időtartam 16 000 ezredmásodperc.
visszatérési érték:
Int típus, adja vissza a tényleges várakozási időt
A figyelő visszaállítása
void WatchdogSAMD:: reset ()
Hívja ezt a funkciót a "kutya etetése" néven ismert őrszem időzítőjének visszaállításához. Ha a várakozási idő túllépi visszaállítás nélkül, a csomópont újraindul.
Állj őrt
void WatchdogSAMD:: letiltás ()
Átjáró
Ebben a részben bemutatjuk, hogyan lehet csatlakozni a Loriot szerverhez.
1. lépés: Loriot Server Gateway regisztráció
a) Az új felhasználónak először regisztrálnia kell egy fiókot, kattintson a regisztrációs címre. A regisztrációhoz töltse ki a felhasználónevet, a jelszót és az e -mail címet, a regisztráció után e -mailt küldünk Önnek. Kérjük, kövesse az e -mailben található utasításokat az aktiváláshoz.
b) A sikeres aktiválás után kattintson ide a bejelentkezéshez. Az alapértelmezett szint a „Community Network”, 1 átjárót (RHF2S001) és 10 csomópontot támogat.
c) Lépjen be az Irányítópultba -> Átjáró, kattintson az Átjáró hozzáadása elemre az átjáró hozzáadásához.
d) Válassza a Raspberry Pi 3 lehetőséget
e) Állítsa be az alábbiak szerint:
- Rádió kezelőfelülete -> RHF2S001 868/915 MHz (SX1257)
- BUS -> SPI
f) Töltse ki az RHF2S001 MAC -címét, b8: 27: eb: xx: xx: xx formátumban. És adja meg az átjáró helyadatait is.
g) Kattintson a „Raspberry Pi gateway regisztrálása” gombra a regisztráció befejezéséhez.
h) Kattintson a regisztrált átjáróra a konfigurációs oldalra való belépéshez, váltson manuálisan a „Frekvenciaterv” lehetőségre, itt a tervét az RHF2S001 típusa határozza meg, a rendelkezésre álló terv CN470 , CN473 , CN434 , CN780 , EU868, a kiválasztás után frissítse az oldalt hogy megkapja a pontos csatornát. Ebben a wikiben az EU868 -at választjuk.
i) Futtassa a parancsot a gittterminálban :
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.
2. lépés: Loriot Server Connect Node eszköz
a) Szerezze be az elérhető átjáró csatornákat
Az aktuális átjáró csatornákat a Dashboard -> Gateway -> Your Gateway -ről szerezheti be, az alábbi képen láthatja a rendelkezésre álló csatornákat.
b) Seeeduino LoRAWAN GPS (RHF3M076) konfiguráció
Nyissa meg az ArduinoIDE soros monitorát, érintse meg az alábbi parancsot.
+ch
A Seeeduino_LoRAWAN GPS alapértelmezett csatornájának megerősítéséhez 3 csatornát kap. Ha nincs elérhető csatorna, az alábbi paranccsal megváltoztathatja a Seeeduino_LoRAWAN csatornáit.
+ch = 0, 868,1
+ch = 1, 868,3+ch = 2, 868,5
Ezután ismét használhatja a+ch gombot a ellenőrzéshez.
c) Adja hozzá a Seeeduino_LoRAWAN GPS -t ABP NodeLogként a Loriot szerverhez, kattintson a Dash Board -> Applications -> SimpleApp elemre. Kattintson az ABP importálása , bemenet elemre az elemek alatt
- DevAddr: Seeeduino_LoRAWAN GPS átjut az "AT+ID" parancson (Megjegyzés: A Loriot nem támogatja a vastagbél csatlakozót, manuálisan kell eltávolítani)
- FCntUp : Állítsa 1 -re
- FCntDn : 1
- NWKSKEY : Alapértelmezett érték 2B7E151628AED2A6ABF7158809CF4F3C
- APPSKEY : Alapértelmezett érték 2B7E151628AED2A6ABF7158809CF4F3C
- EUI : DEVEUI, Seeeduino_LoRAWAN GPS átjut az "AT+ID" parancson
Kattintson az Eszköz importálása gombra az eszközimportálás befejezéséhez. Most válassza a Dashboard-> Applications -> SampleApp parancsot, és látni fogja az újonnan hozzáadott ABP csomópontot.
d) Adatok küldése a Seeeduino_LoRAWAN -tól
FIGYELEM! Ez csak egy teszt.
Vissza az ArduinoIDE soros monitorához, küldjön parancsot:
AT+CMSGHEX = "0a 0b 0c 0d 0e"
Ezután lépjen a Dashboard -> Applications -> SampleApp -> Device menüpontra, kattintson a Node Device EUI vagy DevAddr elemre, itt megtalálja az éppen elküldött adatokat.
Részletekért tekintse meg ezt a wikit.
5. lépés: Weboldal készítés
Kapcsolódó eszközök
- virtualenv
- Python3
- Gunicorn
- Felügyelő
- Nginx
- MySQL
A CentOS7 -et tesztelési környezetként használjuk
virtualenv
A virtualenv használatával önálló python3 termelési környezetet hozhat létre
a) telepíteni
pip install virtualenv
b) hozzon létre egy python3 virtuális környezetet
virtualenv -p python3 iotea
c) indítsa el a virtuális környezetet, és lépjen be az iotea könyvtárba
forrás bin/aktiválás
d) létezik környezet
deaktiválja
Python3
a) telepíteni
yum install epel-release
yum telepítse a python36 -ot
b) függő PyMySQL, DBUtils, Flask, websocket-client, configparser könyvtár telepítése
pip install pymysql
pip install dbutils pip install flask pip install websocket-client pip install configparser
Gunicorn
a) telepítés (Python3 környezetben)
pip install gunicorn
b) futtassa a lombikprojektet (az iotea projektkönyvtárában)
gunicorn -w 5 -b 0.0.0.0:5000 app: kb
c) futtassa a websocket-clint programot, hogy loriot adatokat kapjon
gunicorn loriot: kb
d) a Gunicorn folyamatfa megtekintése
pstree -ap | grep gunicorn
Felügyelő
a) telepítés (root felhasználó)
pip install felügyelő
b) konfigurációs fájlok létrehozása
echo_supervisord_conf> /etc/supervisord.conf
c) hozzon létre egy könyvtárat, és vezessen be egy könyvtárkonfigurációt
mkdir -p /etc/supervisor/conf.d
Szerkessze az /etc/supervisord.conf fájlt, és módosítsa a fájlok mezőjét a [include] alatt a fájl végén.
Ne feledje, hogy el kell távolítania a ';' e két sor előtt, ami a megjegyzés karakter.
[tartalmazza]
Fájlok = /etc/supervisor/conf.d/*.conf
Az /etc/supervisor/conf.d/ bevezetésének eszközei. A következő konfigurációs fájl szolgál folyamatkonfigurációs fájlként (a felügyelő figyeli).
d) bejövő konfiguráció (az iotea könyvtár alatt)
cp iotea.conf /etc/supervisor/conf.d/
cp loriot.conf /etc/supervisor/conf.d/
e) nyitott iotea tálalás
superviosrctl reload #reload a konfigurációs fájl
superviosrctl start loriot #open loriot adatfogadás superviosrctl start iotea #open the iotea flask application
f) egyéb közös műveletek
supervisorctl reload # reload a konfigurációs fájl
supervisorctl frissítés supervisorctl start xxx supervisorctl stop xxx supervisorctl állapot xxx supervisorctl help # további parancs megtekintése
Nginx
a) telepíteni
yum install -y nginx
b) konfiguráció
cp NginxIotea.conf /etc/nginx/conf.d/
c) indítsa el az Nginx programot
systemctl indítsa el az nginx.szolgáltatást
MySQL
a) kapcsolódó paraméterek
user = 'root'
passwd = '1234' db = 'iotea' port = 3306
b) reszelő
iotea_iotea.sql
c) konfigurációs fájl
db.ini
Ajánlott:
ESP32 E32-433T LoRa modul bemutatóval - LoRa Arduino interfész: 8 lépés
ESP32 E32-433T LoRa modul bemutatóval | LoRa Arduino interfész: Hé, mi újság, srácok! Akarsh itt a CETech-től. Ez a projektem összekapcsolja az eByte E32 LoRa modulját, amely egy nagy teljesítményű 1 wattos adó-vevő modul ESP32-vel Arduino IDE használatával. Utolsó oktatóanyagunkban megértettük az E32 működését
Háztartási gépek vezérlése a LoRa felett - LoRa az otthonautomatizálás területén - LoRa távirányító: 8 lépés
Háztartási gépek vezérlése a LoRa felett | LoRa az otthonautomatizálás területén | LoRa távirányító: Irányítsa és automatizálja elektromos készülékeit nagy távolságokról (kilométerek) az internet jelenléte nélkül. Ez a LoRa -n keresztül lehetséges! Hé, mi újság, srácok? Akarsh itt a CETech -től. Ez a NYÁK OLED kijelzővel és 3 relével is rendelkezik, amelyek egy
Látta az IoTea LoRa megoldást (1811 frissítés): 5 lépés
Látta az IoTea LoRa megoldást (1811 frissítés): Az Internet+ most népszerű koncepció. Ezúttal kipróbáltuk az internetet és a mezőgazdaságot, hogy teakertet készítsünk, az internetes teából
Látta az IoTea LoRa megoldást (az Azure -val, 1812 frissítés): 5 lépés
Látható IoTea LoRa megoldás (Azure -val, 1812 -es frissítés): A Microsoft Azure egy felhőszolgáltatás, amely nagyobb és stabilabb számítási teljesítményt biztosít. Ezúttal megpróbáltuk elküldeni az IoTea adatainkat
Látta a Studio CAN -BUS V2.0 Hackelést - Az első lépések: 5 lépés
Látta a Studio CAN -BUS V2.0 Hackelést - Kezdő lépések: Ez az oktató azoknak a kezdőknek szól, akik már ismerik az Arduino -t. A kezdeti tudás, hogyan kell elindulni, mindig fájdalmas és időigényes minden projektben. De amíg nem ismered az utadat, szinte mindig azt szeretnéd, ha lenne valakid, akit el kell