Sisällysluettelo:
- Vaihe 1: Tässä projektissa käytetyt asiat
- Vaihe 2: Tarina
- Vaihe 3: Laitteistoyhteys
- Vaihe 4: Ohjelmointi
- Vaihe 5: Käyttö
Video: Nähtiin IoTea LoRa -ratkaisu (päivitys 1811): 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Internet+ on nyt suosittu käsite. Tällä kertaa kokeilimme Internetiä ja maataloutta teepuutarhan kasvattamiseksi kasvaa Internet -teetä.
Vaihe 1: Tässä projektissa käytetyt asiat
Laitteiston osat
- Grove - hiilidioksidianturi (MH -Z16)
- Grove - digitaalinen valotunnistin
- Grove - Pölyanturi (PPD42NS)
- Grove-happianturi (ME2-O2-Ф20)
- Maaperän kosteus- ja lämpötila -anturi
- LoRa LoRaWAN -yhdyskäytävä - 868 MHz: n sarja ja Raspberry Pi 3
- Grove - lämpötila- ja humi- ja ilmanpainemittari (BME280)
Ohjelmistosovellukset ja verkkopalvelut
Microsoft Visual Studio 2015
Vaihe 2: Tarina
Mengding -vuorella Yaichista koilliseen, Sichuanissa, vuoristoharja kulkee länteen itään vihreässä meressä. Tämä on tutuin näky 36-vuotiaalle Dengille, joka on yksi harvoista sukupolvensa Mengding-teenkeittimistä ja jonka istutusalue on 50 m (= 3,3 hehtaaria) 1100 m merenpinnan yläpuolella. Deng tulee teekoneiden perheestä, mutta perheen perinnön jatkaminen ei ole helppo tehtävä.”Teemme on kasvatettu korkealla luonnonmukaisessa ympäristössä sen erinomaisen laadun varmistamiseksi. Mutta samaan aikaan kasvutiheys on alhainen, kustannukset ovat korkeat ja orastaminen on epätasaista, mikä tekee teestä vaikean sadon. Siksi korkean vuoren teet ovat yleensä pieniä satoja, eikä niiden arvot näy markkinoilla.”Deng on kahden viime vuoden ajan pyrkinyt lisäämään kuluttajien tietoisuutta korkean vuoren teestä edistääkseen niiden arvoa. Ja kun hän tapasi Fanin, joka etsi istutusta Seeedin IoTea -tekniikan toteuttamiseen, ratkaisu löytyi täydellisesti.
Vaihe 3: Laitteistoyhteys
Tämän projektin laitteisto voidaan jakaa neljään osaan: teho, anturit, solmu ja yhdyskäytävä. Seuraava artikkeli näyttää sinulle, kuinka se suoritetaan vaihe vaiheelta.
Virtaosa
Virtaosa sisältää pääasiassa aurinkopaneelin ja litiumakun, jos vain rakennat tämän projektin esittelyä varten, voit jättää ne huomiotta. Tai voit seurata solmun tehon noudattamista edellisen opetusohjelman avulla.
Anturit Osa
Anturien osassa käytimme monien antureiden vuoksi sääasemaa ja teimme myös akryylikannattimen niiden asentamiseen.
Kuten yllä olevasta kuvasta näkyy, digitaalinen valotunnistin on aina päällä, jotta se voi kerätä valaistustietoja. Lämpöä tuottavat anturit asennetaan akryylipidikkeen keskelle, kuten O2 -anturi, pölyanturi ja CO2 -anturi. Lopuksi lämpötila- ja kosteusanturi akryylipidikkeen pohjassa.
Lisäksi maaperän lämpötila- ja kosteusanturi asennetaan yksin maaperään. Solmun osa
Solmun osa on Seeeduino LoRaWan, joka on asennettu vedenkestävään laatikkoon, ja se kytketään sähköön ja antureihin vesiliitosten kautta. Niistä pölyanturi kytketään LoRaWanin digitaaliseen nastaan D3, CO2 -anturi liitetään nastoihin D4 ja D5, maaperäanturi liitetään nastoihin D6 ja D7, O2 -anturi yhdistetään analogiseen nastaan A1 ja valoanturi ja ilmanpainemittari yhdistetään I2C -porttiin.
HUOMAUTUS: 10k vastus on lisättävä maaperäanturin sinisen (data) kaapelin ja punaisen (Vcc) kaapelin väliin.
Seeeduino LoRaWan kerää välillä antureiden arvon ja lähettää ne Gatewaylle LoRan kautta. Tietomuoto kuten alla:
{
[0], /* Ilman lämpötila (℃)* /[1], /* Ilmankosteus (%)* /[2], /* Korkeus (m) korkea tavu* /[3], /* Korkeus (m) pieni tavu */[4],/ * CO2 -pitoisuus (PPM) korkea tavu */[5],/ * CO2 -pitoisuus (PPM) pieni tavu */[6],/ * Pölypitoisuus (kpl/0,01 cf) korkea tavu */[7],/ *Pölypitoisuus (kpl/0,01 cf) pieni tavu */[8],/ *Valon voimakkuus (lux) korkea tavu */[9],/ *Valon voimakkuus (lux) pieni tavu */ [10], /* O2 -pitoisuus (%)* /[11], /* Maaperän lämpötila (℃)* /[12], /* Maaperän kosteus (%)* /[13], /* Akun jännite (V) */ [14]/ *Anturin virhekoodi */}
Jokaisella anturin virhekooditavun bitillä on erilainen merkitys, kuten alla:
{
bitti 0: 1; / * Barometrin anturivirhe */ bit1: 1; / * CO2 -anturivirhe */ bit2: 1; / * Pölyanturivirhe */ bit3: 1; / * Valoanturivirhe */ bit4: 1; / * O2 -anturivirhe */ bit5: 1; / * Maaperäanturivirhe */ varattu: 2; / * Varattu */}
Yhdyskäytävän osa
Gateway Part on Raspberry Pi, johon on liitetty yhdyskäytävämoduuli RHF0M301–868 ja PRI 2 Bridge RHF4T002, joka on asennettu vedenpitävään laatikkoon ja yhdistetty virtalähteeseen ja USB -kameraan vesiliitosten kautta. Koska se käyttää erikoisohjelmistoa, määritä se Seeed Wikin ohjeiden mukaisesti.
Vaihe 4: Ohjelmointi
Koska laitteistoyhteys, ohjelmisto -ohjelmointi voidaan myös jakaa, se voidaan jakaa kolmeen osaan: solmu, yhdyskäytävä ja verkkosivusto.
Solmun osa
Useimmat solmun osan edellyttämät ohjaimet sisältyvät jo alkuperän_ohjaimen kansioon. Seuraavat kirjastot on asennettava manuaalisesti:
Adafruit_ASFcore
Koska projekti on monimutkainen, suosittelemme käyttämään Microsoft Visual Studiota Arduino IDE: n sijasta. Visual Micro -laajennus voi auttaa sinua muodostamaan Arduino -projektin Visual Studion avulla, napsauta tästä saadaksesi lisätietoja.
Luettavuuden ja ylläpidettävyyden parantamiseksi käytämme tällä kertaa olio-ohjelmointia. Tämän projektin luokkakaavio näyttää tältä:
Niille antureille, joilla on jo OOP -ajuri, pakkasimme sen uudelleen tämän projektin mukauttamiseksi, muille kirjoitimme niiden ohjaimet uudelleen OOP: n avulla. Väliohjelmistokerroksen anturiluokkaa käytetään oikeiden antureiden rajapintojen yhdistämiseen, esimerkiksi ilmanpainemittari voi kerätä lämpötilan, kosteuden ja korkeuden samanaikaisesti, joten siinä on 3 rajapintaa lämpötilan, kosteuden ja korkeuden mittaamiseen. Mutta niillä on erotusmenetelmän nimi, mikä tekee anturien arvo -ohjelman monimutkaisemmaksi, kuten tämä:
barometri-> getTemperature ();
barometri-> getHumidity (); barometri-> getAltitude (); //… toinen_anturi-> getSomeValue (); //…
Mutta käyttämällä OOP: ta, se näyttää tältä:
for (auto i = 0; i getValue ();
}
Pakkasimme myös sovellusluokan, se toteuttaa IApplication -käyttöliittymän, setup () - ja loop () -menetelmän IoTea.ino -sivustossa.
HUOMAUTUS: USB Serialia käytetään VAIN virheenkorjaukseen. Kommentoi virheenkorjauksen jälkeen sen alustuskoodia setup () -menetelmässä.
Yhdyskäytävän osa
Gateway Partin Python -ohjelmaa kotikansiossa käytetään valokuvien ottamiseen ja lataamiseen Amazon S3 Serveriin joka tunti. Ennen kuin käytät sitä, varmista, että fswebcam on jo asennettu Raspberry Pi -laitteeseesi:
sudo apt-get update && sudo apt-get install fswebcam
Jos haluat ladata valokuvia, määritä AWS seuraavasti. Asenna ensin AWS SDK ja AWS CLI Raspberry Pi -laitteeseen seuraavilla komennoilla:
sudo pip asenna boto3
sudo pip asenna awscli
ja suorita sitten AWS CLI:
sudo aws configure
Määritä AWS -käyttöavaintunnuksesi, AWS -salaisen käyttöoikeustunnuksesi ja oletusalueen nimi.
Jos et halua ladata valokuviasi, voit ohittaa AWS -määritysvaiheet ja kommenttikoodit lataamisesta osoitteessa photo.py. Jos haluat käyttää tätä ohjelmaa Raspberry Pi: n käynnistämisen jälkeen joka kerta, voit luoda tiedostonimen valokuvan /etc/init.d ja kirjoittaa siihen seuraavan koodin.
#!/bin/bash
# /etc/init.d/photo ### BEGIN INIT INFO # Tarjoaa: seeed_photo # Required-Start: $ remote_fs $ syslog # Required-Stop: $ remote_fs $ syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Lyhyt kuvaus: valokuvien ottaminen kirjoitettuna # Kuvaus: Tätä palvelua käytetään valokuvien ottamisen hallintaan. &;; stop) echo "Lopeta valokuvien ottaminen" kill $ (ps aux | grep -m 1 'python3 /home/rxhf/photo.py' | awk '{print $ 2}');; *) kaiku "Käyttö: huoltokuvan aloitus | pysäytys" Lopeta 1;; esac exit 0
aseta suoritusoikeus
sudo chmod 777 /etc/init.d/photo
sudo chmod 777 /home/rxhf/photo.py
ja testaa se
sudo /etc/init.d/photo start
Jos ongelmaa ei ole, lopeta se ja lisää se käynnistyssovellukseen
sudo /etc/init.d/photo stop
sudo update-rc.d -valokuvan oletusasetukset
HUOMAUTUS: Jos haluat käynnistää yhdyskäytävän Raspberry Pi -käynnistyksen jälkeen, lisää yhdyskäytävän aloituskoodit Seeed Wikissä hakemistoon /etc/rc.local, anna sen näyttää tältä:
#!/bin/sh -e
# # rc.local # # Tämä komentosarja suoritetaan jokaisen monikäyttäjän ajotason lopussa. # Varmista, että komentosarja "poistuu 0" onnistumisesta tai mikä tahansa muu # arvo virheestä. # # Jotta voit ottaa tämän skriptin käyttöön tai poistaa sen käytöstä, muuta vain suoritus # bittiä. # # Oletuksena tämä skripti ei tee mitään. # Tulosta IP -osoite _IP = $ (isäntänimi -I) || tosi jos ["$ _IP"]; sitten printf "IP -osoitteeni on %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
Verkkosivusto
Otimme verkkosivuston käyttöön CentOS 7: ssä. Seuraavat vaiheet osoittavat, kuinka ottaa käyttöön.
Vaihe 1. Asenna Python3
sudo yum -y asenna epel -release
sudo yum -y asenna python36
Vaihe 2. Asenna Python pip ja virtuaalinen ympäristö
wget
sudo python36 get-pip.py sudo pip asenna virtualenv
Asetus 3. Kloonaa verkkosivustomme GitHubista
sudo yum -y asenna git
git-klooni
Vaihe 4. Luo ja aktivoi virtuaalinen ympäristö
virtualenv -p python36 iotea -hb
cd iotea-hb lähdesäiliö/aktivoi
Vaihe 5. Asenna riippuvaisia kirjastoja
pip asenna pymysql
pip install dbutils pip install pullo pip install websocket-client pip install cofigparser
Vaihe 6. Luo tietokanta
sudo yum -y asenna mariadb mariabd -server
sudo systemctl ota käyttöön mariadb sudo systemctl käynnistä mariadb mysql -uroot -p
ja luo sitten taulukko käyttämällä iotea_hb.sql.
Vaihe 7. Luo db.ini ja kirjoita siihen koodit
[db]
db_port = 3306 db_user = root db_host = localhost db_pass = db_name = iotea
muuta db.ini -polkua db.py -tiedostossa
# db.py
#cf.read ("/data/www/python3_iotea_hb/iotea/conf/db.ini") cf.read ("/home // iotea-hb/db.ini")
Vaihe 8. Vaihda portti sovelluksessa.py ja käynnistä verkkosivusto:
# sovelluksessa.py
#app.run (debug = True, port = 6000) app.run (debug = True, port = 8080)
# terminaalissa
pip install gunicorn gunicorn -w 5 -b 0.0.0.0:8080 app: app
käy nyt osoitteessa 127.0.0.1:8080 selaimessasi, näet sivuston, mutta reaaliaikaisia tietoja ei näytetä.
Vaihe 9. Hanki loriot -tiedot
Avaa toinen pääte, kirjoita virtuaalinen ympäristö uudelleen ja käynnistä loriot -sovellus:
cd iotea-hb
lähdelaatikko/aktivoi gunicorn loriot: sovellus
Odota hetki, näet tiedot verkkosivustolla tai voit muuttaa wss -tiedostoa osoitteessa loriot.py:
# in loriot.py
#ws = create_connection ("wss: //cn1.loriot.io/app? token = vnwEuwAAAA1jbjEubG9yaW90LmlvRpscoh9Uq1L7K1zbrcBz6w ==")
ws = create_connection ()
Vaihe 5: Käyttö
Voit tarkastella reaaliaikaista tietoa verkkosivuillamme:
- Ya'anissa
- Esittelyä varten
Suositeltava:
Halpa akkuporakoneen päivitys!: 4 vaihetta
Halpa akkuporakoneen päivitys!: Tällä kertaa kerron kuinka päivittää halpa akkuporakone. Ainoa asia, jota päivitämme, on vain itse akku, koska halvalla poralla on pieni akun kapasiteetti. ! Lisäominaisuudet: Lataa akku
Logitech G930 -akun päivitys: 5 vaihetta
Logitech G930 -akun päivitys: Lyhyt opas langattoman logitech G930 -kuulokkeen akun päivittämiseen
Kilpa -drone -päivitys: 10 vaihetta
Kilpa -drone -päivitys: Tämä on askel askeleelta prosessini siitä, miten päivitin kilpa -dronin
Blu Media Robot (päivitys): 7 vaihetta
Blu Media Robot (päivitys): blu on robotti, joka työskentelee makeblock -emolevyn ja vadelman kanssa elektroniikassa. eri osa tulostamaan ne
ESP8266 POV -tuuletin kellolla ja verkkosivun tekstin päivitys: 8 vaihetta (kuvilla)
ESP8266 POV -tuuletin kellolla ja verkkosivun tekstin päivityksellä: Tämä on muuttuva nopeus, POV (Persistence Of Vision), tuuletin, joka näyttää ajoittain ajan, ja kaksi tekstiviestiä, jotka voidaan päivittää "lennossa". on myös yhden sivun verkkopalvelin, jonka avulla voit vaihtaa kaksi tekstiä minulle