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: Szoftverprogramozás
- 5. lépés: Művelet
Videó: Látta az IoTea LoRa megoldást (1811 frissítés): 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Az Internet+ ma már népszerű koncepció. Ezúttal kipróbáltuk az internetet és a mezőgazdaságot, hogy teakertet készítsünk az Internet Tea -ból.
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
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 50mu (= 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ákra, 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.
3. lépés: Hardvercsatlakozás
Ennek a projektnek a hardvere 4 részre osztható: tápellátás, érzékelők, csomópont és átjáró. A következő cikk lépésről lépésre bemutatja, hogyan kell befejezni.
Teljesítmény rész
A tápegység főleg napelemet és lítium akkumulátort tartalmaz, ha ezt a projektet csak demonstrációra építi, figyelmen kívül hagyhatja őket. Vagy kövesse az előző útmutatót a csomópont -teljesítmény telepítéséhez.
Érzékelők rész
Az érzékelők részben a sok érzékelő miatt időjárás állomást használtunk, és egy akril konzolt is készítettünk a telepítéshez.
Amint a fenti képen látható, a digitális fényérzékelő mindig a tetején van, így képes megvilágítani a világítást. A hőt termelő érzékelők az akril tartó közepére vannak felszerelve, mint például az O2 érzékelő, a porérzékelő és a CO2 érzékelő. Végül a hőmérséklet és páratartalom érzékelő az akril konzol alján.
Ezenkívül a talajhőmérséklet- és páratartalom -érzékelőt egyedül telepítik a talajba. Csomópont rész
A Node Part egy Seeeduino LoRaWan, amely vízálló dobozba van szerelve, és a vízcsatlakozásokon keresztül csatlakozik az áramhoz és az érzékelőkhöz. Közülük a Porérzékelő csatlakozik a LoRaWan digitális D3 tűjéhez, a CO2 érzékelő a D4 és D5 tűhöz, a Talajérzékelő a D6 és D7 érintkezőhöz, az O2 érzékelő az analóg A1 tűhöz, a Fényérzékelő és Barométer érzékelő pedig az I2C porthoz.
MEGJEGYZÉS: 10 k -es ellenállást kell hozzáadni a Talajérzékelő kék (adat) és piros (Vcc) kábeleihez.
A Seeeduino LoRaWan időnként összegyűjti az érzékelők értékét, és elküldi azokat a Gateway -re a LoRa -n keresztül. Az alábbi adatformátum:
{
[0], /* Levegő hőmérséklet (℃)* /[1], /* Levegő páratartalom (%)* /[2], /* Magasság (m) magas bájt* /[3], /* Magasság (m) alacsony bájt */[4],/ * CO2 -koncentráció (PPM) magas bájt */[5],/ * CO2 -koncentráció (PPM) alacsony bájt */[6],/ * Porkoncentráció (db/0,01 cf) magas bájt */[7],/ *Porkoncentráció (db/0,01 cf) alacsony bájt */[8],/ *Fényerősség (lux) magas bájt */[9],/ *Fényerősség (lux) alacsony bájt */ [10], /* O2 koncentráció (%)* /[11], /* Talaj hőmérséklete (℃)* /[12], /* Talaj páratartalma (%)* /[13], /* Akkumulátor feszültsége (V) */ [14]/ *Érzékelő hibakód */}
Az érzékelő hibakód -bájtjában lévő bitek mindegyike eltérő jelentéssel bír, mint az alábbiakban:
{
bit0: 1; / * Barométer érzékelő hiba */ bit1: 1; / * CO2 érzékelő hiba */ bit2: 1; / * Porérzékelő hiba */ bit3: 1; / * Fényérzékelő hiba */ bit4: 1; / * O2 érzékelő hiba */ bit5: 1; / * Talajérzékelő hiba */ fenntartva: 2; / * Fenntartva */}
Átjáró rész
A Gateway Part egy Raspberry Pi, amely csatlakoztatta az RHF0M301-868 és a PRI 2 Bridge RHF4T002 átjárómodult, vízálló dobozba telepítve, és a vízcsatlakozásokon keresztül csatlakozik az áramellátáshoz és az USB -kamerához. Mivel speciális firmware -t használ, kérjük, kövesse a Seeed Wiki konfigurációját.
4. lépés: Szoftverprogramozás
Mivel a hardverkapcsolat, a szoftverprogramozás is felosztható, három részre osztható: csomópont, átjáró és webhely.
Csomópont rész
A csomópont -részhez szükséges illesztőprogramok többsége már megtalálható az origin_driver mappában. Az alábbi könyvtárakat manuálisan kell telepíteni:
Adafruit_ASFcore
Mivel a projekt bonyolult, javasoljuk, hogy a Microsoft Visual Studio alkalmazást használja az Arduino IDE helyett. A Visual Micro nevű beépülő modul segíthet egy Arduino projekt létrehozásában a Visual Studio használatával, kattintson ide további információkért.
A jobb olvashatóság és karbantarthatóság érdekében ezúttal objektumorientált programozást használunk. A projekt osztálydiagramja az alábbiak szerint néz ki:
Azoknak az érzékelőknek, amelyek már rendelkeznek OOP illesztőprogrammal, újracsomagoltuk, hogy adaptálhassuk ezt a projektet, mások számára átírtuk az illesztőprogramjaikat az OOP használatával. A köztes szoftveres rétegben található érzékelőosztály a valódi érzékelők interfészeinek egységesítésére szolgál, például egy barométer -érzékelő egyszerre képes gyűjteni a hőmérsékletet, a páratartalmat és a magasságot, így 3 interfésszel rendelkezik a hőmérséklet, a páratartalom és a magasság meghatározásához. De van különböző módszer nevük, ami bonyolultabbá teszi az érzékelők értékének megszerzésére irányuló programot, a következőképpen:
barométer-> getTemperature ();
barométer-> getHumidity (); barométer-> getAltitude (); //… another_sensor-> getSomeValue (); //…
De az OOP használatával így néz ki:
for (auto i = 0; i getValue ();
}
Csomagoltunk egy Application osztályt is, amely megvalósítja az IApplication felületet, a setup () és a loop () metódust az IoTea.ino -ban.
MEGJEGYZÉS: Az USB Serial CSAK hibakeresésre használható. A hibakeresés után kérjük, írja meg megjegyzéseit, hogy inicializáló kódja van a setup () metódusban.
Átjáró rész
A Gateway Part Python programja az otthoni mappában fényképek készítésére és feltöltésére szolgál az Amazon S3 Serverre óránként. Használat előtt győződjön meg arról, hogy az fswebcam már telepítve van a Raspberry Pi -be:
sudo apt-get update && sudo apt-get install fswebcam
Ha fényképeket szeretne feltölteni, konfigurálja az AWS -t a következő lépésekkel. Először telepítse az AWS SDK -t és az AWS CLI -t Raspberry Pi készülékére a következő parancsok használatával:
sudo pip telepítse a boto3 -at
sudo pip telepítse awscli
majd futtassa az AWS CLI -t:
sudo aws configure
Állítsa be az AWS hozzáférési kulcs azonosítóját, az AWS titkos hozzáférési azonosítóját és az alapértelmezett régiónevet.
Ha nem szereti feltölteni fényképeit, kihagyhatja az AWS konfigurációs lépéseit és a photo.py fájlba történő feltöltéssel kapcsolatos megjegyzéskódokat. Ha a Raspberry Pi minden indítása után szeretné futtatni ezt a programot, létrehozhat egy fájlnévfotót az /etc/init.d mappában, és beírhatja a következő kódot.
#!/bin/bash
# /etc/init.d/photo ### BEGIN INIT INFO # Biztosítja: seeed_photo # Kötelező-Start: $ remote_fs $ syslog # Kötelező-Stop: $ remote_fs $ syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Rövid leírás: fénykép készítése incript &;; stop) echo "A fotózás leállítása" kill $ (ps aux | grep -m 1 'python3 /home/rxhf/photo.py' | awk '{print $ 2}');; *) echo "Használat: szervizfotó start | stop" kilépés 1;; esac kilépés 0
végrehajtási engedély megadása
sudo chmod 777 /etc/init.d/photo
sudo chmod 777 /home/rxhf/photo.py
és tesztelje
sudo /etc/init.d/photo start
Ha nincs probléma, állítsa le, és adja hozzá az indítási alkalmazáshoz
sudo /etc/init.d/photo stop
sudo update-rc.d fotó alapértelmezett beállításai
MEGJEGYZÉS: Ha a Raspberry Pi indítása után szeretné elindítani az átjárót, adja hozzá az átjáró kezdő kódjait a Seeed Wiki -ben a /etc/rc.local fájlhoz, így nézzen ki:
#!/bin/sh -e
# # rc.local # # Ez a szkript minden többfelhasználós futási szint végén kerül végrehajtásra. # Győződjön meg arról, hogy a szkript sikeresen "0" lesz, vagy hiba esetén más # érték. # # A szkript engedélyezéséhez vagy letiltásához csak módosítsa a végrehajtási # biteket. # # Alapértelmezés szerint ez a szkript nem tesz semmit. # Nyomtassa ki az IP -címet _IP = $ (gazdagépnév -I) || igaz, ha ["$ _IP"]; majd printf "Az IP -címem %s / n" "$ _IP" fi cd /home/rxhf/loriot/1.0.2 sudo systemctl stop 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 exit 0
Weboldal
A webhelyet a CentOS 7 rendszeren telepítettük. A következő lépések bemutatják a telepítés módját.
1. lépés: Telepítse a Python3 programot
sudo yum -y telepítse az epel -release programot
sudo yum -telepítse a python36 programot
2. lépés: Telepítse a Python pip és a virtuális környezetet
wget
sudo python36 get-pip.py sudo pip install virtualenv
3. beállítás: Klónozza honlapunkat a GitHubból
sudo yum -y telepítse a git -et
git klón
4. lépés: Hozzon létre és aktiváljon virtuális környezetet
virtualenv -p python36 iotea -hb
cd iotea-hb forrás bin/aktiválás
5. lépés: Függő könyvtárak telepítése
pip install pymysql
pip install dbutils pip install flask pip install websocket-client pip install cofigparser
6. lépés. Adatbázis létrehozása
sudo yum -y telepítse a mariadb mariabd -server -t
sudo systemctl engedélyezze a mariadb -t sudo systemctl indítsa el a mariadb mysql -uroot -p
majd az iotea_hb.sql használatával hozzon létre egy táblázatot.
7. Létrehozás db.ini, és írja be ezeket a kódokat
[db]
db_port = 3306 db_user = root db_host = localhost db_pass = db_name = iotea
módosítsa a db.ini útvonalát a db.py fájlban
# db.py -ben
#cf.read ("/data/www/python3_iotea_hb/iotea/conf/db.ini") cf.read ("/home // iotea-hb/db.ini")
8. lépés: Cserélje ki az app.py portját, és indítsa el a webhelyet:
# in app.py
#app.run (debug = True, port = 6000) app.run (debug = True, port = 8080)
# a terminálban
pip install gunicorn gunicorn -w 5 -b 0.0.0.0:8080 app: kb
most látogasson el a 127.0.0.1:8080 böngészőbe, láthatja a webhelyet, de a valós idejű adatok nem jelennek meg.
9. lépés. Loriot adatok beszerzése
Nyisson meg egy másik terminált, lépjen be újra a virtuális környezetbe, és indítsa el a loriot alkalmazást:
cd iotea-hb
forrás bin/aktiválja a gunicorn loriot: kb
Várjon egy kicsit, és az adatok megjelennek a webhelyen, vagy módosíthatja a wss fájlt a loriot.py fájlban:
# in loriot.py
#ws = create_connection ("wss: //cn1.loriot.io/app? token = vnwEuwAAAA1jbjEubG9yaW90LmlvRpscoh9Uq1L7K1zbrcBz6w ==")
ws = create_connection ()
5. lépés: Művelet
Látogassa meg weboldalainkat valós idejű adatok megtekintéséhez:
- Ya'anban
- Demonstrációra
Ajánlott:
Olcsó akkus fúró frissítés!: 4 lépés
Olcsó akkus fúrógép frissítés!: Ezúttal megosztom az olcsó akkus fúróelem frissítésének módját. Az egyetlen dolog, amit frissíteni fogunk, csak maga az akkumulátor, mivel az olcsó fúró kis kapacitással rendelkezik. Hozzáadunk néhány funkciót az akkumulátorhoz ! Hozzáadott funkciók: Töltse fel a
(FRISSÍTÉS - KÖVETKEZŐ KÉRDÉS) USB JÁTÉKVEZÉRLŐ PC -hez: 10 lépés (képekkel)
(FRISSÍTÉS - EZ KÖVETKEZŐ KÉRDÉS) USB JÁTÉKVEZÉRLŐ PC -hez: JÁTÉKVEZÉRLŐ BÁRMILYEN JÁTÉKHOZ (szinte)
Látta a LoRa IoTea megoldást: 5 lépés
Látta a LoRa IoTea megoldást: Automatikus információgyűjtő rendszer a teaültetvényeken. Ez az intelligens mezőgazdasági információgyűjtés része
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