Orodha ya maudhui:

Suluhisho la Seeed IoTea LoRa (Sasisha 1811): Hatua 5
Suluhisho la Seeed IoTea LoRa (Sasisha 1811): Hatua 5

Video: Suluhisho la Seeed IoTea LoRa (Sasisha 1811): Hatua 5

Video: Suluhisho la Seeed IoTea LoRa (Sasisha 1811): Hatua 5
Video: How Use Stable Diffusion, SDXL, ControlNet, LoRAs For FREE Without A GPU On Kaggle Like Google Colab 2024, Novemba
Anonim
Suluhisho la Seeed IoTea LoRa (Sasisha 1811)
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.

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

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 milima mirefu kukuza thamani yao. Na alipokutana na Shabiki, ambaye alikuwa akitafuta shamba ili kutekeleza teknolojia ya IoTea ya Seeed, mechi kamili ya suluhisho ilifanywa.

Hatua ya 3: Uunganisho wa vifaa

Vifaa vya mradi huu vinaweza kugawanywa kwa sehemu 4: Nguvu, Sensorer, Node na Gateway. Ifuatayo nakala itakuonyesha jinsi ya kuikamilisha hatua kwa hatua.

Sehemu ya Nguvu

Sehemu ya Nguvu ina Jopo la Jua na Batri ya Lithiamu, ikiwa utaunda mradi huu kwa maandamano, unaweza kuwapuuza. Au unaweza kufuata mafunzo ya awali kusanikisha nguvu ya nodi.

Sehemu ya Sensorer

Katika Sehemu ya Sensorer, kwa sababu ya sensorer nyingi, tulitumia kituo cha hali ya hewa, na pia tukapanga bracket ya Acrylic kuziweka.

Picha
Picha

Kama unavyoona kwenye picha hapo juu, Sura ya Nuru ya Dijiti kila wakati iko juu, ili iweze kukusanya taa ya taa. Sensorer ambazo zitatoa joto zimewekwa katikati ya bracket ya Acrylic, kama vile O2 Sensor, Sensor Vumbi na CO2 Sensor. Mwishowe, Joto na sensorer ya unyevu chini ya bracket ya Acrylic.

Kwa kuongezea, Joto la Udongo na Sura ya Unyevu imewekwa peke yake kwenye mchanga. Sehemu ya Node

Picha
Picha

Sehemu ya Node ni Seeeduino LoRaWan ambayo imewekwa kwenye Sanduku la kuzuia maji, inaunganisha kwa nguvu na sensorer kupitia Viungo vya Maji. Miongoni mwao, Sensor ya Vumbi unganisha kwenye pini ya dijiti ya LoRaWan D3, Sensor ya CO2 unganisha kwa kubandika D4 & D5, Sensor ya Udongo unganisha kwa kubandika D6 & D7, Sensor ya O2 unganisha kwa pini ya Analog A1 na Sensor ya Mwanga & Sensor ya Barometer unganisha kwenye bandari ya I2C.

KUMBUKA: Kizuizi cha 10k kinapaswa kuongezwa kati ya kebo ya Bluu (Takwimu) ya Udongo wa Udongo na kebo Nyekundu (Vcc).

Seeeduino LoRaWan kukusanya sensorer thamani mara moja kwa wakati, na uzipeleke kwa Gateway kupitia LoRa. Muundo wa data kama hapa chini:

{

[0], / * Upepo wa hewa (℃) * / [1], / * Unyevu wa hewa (%) * / [2], / * Urefu (m) baiti ya juu * / [3], / * Urefu (m) baiti ya chini * / [4], / * mkusanyiko wa CO2 (PPM) baiti ya juu * / [5], / * mkusanyiko wa CO2 (PPM) baiti ya chini * / [6], / * Mkusanyiko wa vumbi (pcs / 0.01cf) * / [7], + [10], / * mkusanyiko wa O2 (%) * / [11], / * Joto la mchanga (℃) * / [12], / * Unyevu wa mchanga (%) * / [13], / * Voltage ya betri (V) * / [14] / * Nambari ya hitilafu ya sensorer * /}

Kila kidogo katika Baiti ya Msimbo wa Hitilafu ya Sensorer ina maana tofauti, kama ilivyo hapo chini:

{

kidogo0: 1; / * Kosa la Sensorer ya Barometer * / bit1: 1; / * Kosa la Sensorer ya CO2 * / bit2: 1; / * Kosa la Sura ya Vumbi * / bit3: 1; / * Hitilafu ya Sensorer Nuru * / bit4: 1; / * Kosa la Sensorer ya O2 * / bit5: 1; / * Kosa ya Sensorer ya Udongo * / imehifadhiwa: 2; / * Imehifadhiwa * /}

Sehemu ya Lango

Picha
Picha

Sehemu ya Lango ni Raspberry Pi ambayo ilichomeka moduli ya Gateway RHF0M301-868 na PRI 2 Bridge RHF4T002, imewekwa kwenye Sanduku la kuzuia maji na unganisha kwa nguvu na Kamera ya USB kupitia Viungo vya Maji. Kwa sababu hutumia firmware maalum, tafadhali fuata Seeed Wiki kuisanidi.

Hatua ya 4: Programu ya Programu

Kama Uunganisho wa Vifaa, Programu ya Programu pia inaweza kugawanywa, inaweza kugawanywa kwa sehemu 3: Node, Gateway na Wavuti.

Sehemu ya Node

Madereva mengi ambayo Sehemu ya Node inahitajika tayari yamo kwenye folda ya asili_dereva. Maktaba zifuatazo zinahitaji kusanikishwa kwa mikono:

Adafruit_ASFcore

Kwa sababu mradi ni ngumu, tunapendekeza utumie Studio ya Visual ya Microsoft badala ya Arduino IDE. Programu-jalizi inayoitwa Visual Micro inaweza kukusaidia kuorodhesha mradi wa Arduino kwa kutumia Studio ya Visual, bonyeza hapa kwa habari zaidi.

Kwa usomaji bora na kudumisha, tunatumia Programu inayolenga kitu wakati huu. Mchoro wa darasa la mradi huu unaonekana kama hapa chini:

Picha
Picha

Kwa sensorer hizo tayari zina dereva wa OOP, tuliiweka tena ili kubadilisha mradi huu, kwa wengine, tuliandika tena madereva yao kwa kutumia OOP. Darasa la Senseor katika safu ya kati hutumiwa kuunganisha unganisho la sensorer halisi, kwa mfano, sensor ya barometer inaweza kukusanya joto, unyevu na urefu kwa wakati mmoja, kwa hivyo ina sehemu tatu za kupata joto, unyevu na urefu. Lakini zina jina la njia tofauti, ambayo itafanya mpango wa kupata sensorer uthamini zaidi, kama hii:

barometer-> kupataTemperature ();

barometer-> getHumidity (); barometer-> getAltitude (); //… mwingine_sensor-> getSomeValue (); //…

Lakini kwa kutumia OOP, inaonekana kama hii:

kwa (auto i = 0; i GetValue ();

}

Tulipakia pia darasa la Maombi, linatumia kiolesura cha IApplication, njia ya kuanzisha () na kitanzi () katika IoTea.ino inaweza kupiga njia ya kuanzisha () na kitanzi () katika kitu cha Maombi.

KUMBUKA: USB Serial hutumiwa kutatua TU. Baada ya utatuzi, tafadhali toa maoni ni kuanzisha nambari kwa njia ya kuanzisha ().

Sehemu ya Lango

Programu ya Python ya Gateway Sehemu kwenye folda ya nyumbani hutumiwa kuchukua picha na kuzipakia kwenye Seva ya Amazon S3 kila saa. Kabla ya kuitumia, hakikisha fswebcam tayari imewekwa kwenye Raspberry Pi yako:

Sudo apt-pata sasisho && sudo apt-get kufunga fswebcam

Ikiwa unataka kupakia picha, sanidi AWS yako kwa kufuata hatua. Kwanza, weka AWS SDK na AWS CLI kwa Raspberry Pi yako kwa kutumia amri hizi:

Sudo pip kufunga boto3

Sudo pip kufunga awscli

na kisha, endesha AWS CLI:

sudo aws sanidi

Sanidi Kitambulisho chako cha Ufikiaji wa AWS, Kitambulisho cha Ufikiaji wa Siri cha AWS na jina chaguo-msingi la mkoa.

Ikiwa hupendi kupakia picha zako, unaweza kuruka hatua za usanidi wa AWS na nambari za maoni kuhusu kupakia kwenye photo.py. Kwa kuendesha programu hii baada ya kuwasha Raspberry Pi kila wakati, unaweza kuunda picha ya jina la faili katika /etc/init.d, na kuiandikia nambari ifuatayo.

#! / bin / bash

# /etc/init.d/photo ### ANZA INIT INFO # Inatoa: picha ya kuona # Inahitajika-Anza: $ remote_fs $ syslog # Inahitajika-Stop: $ remote_fs $ syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Maelezo mafupi: picha kuchukua initscript # Maelezo: Huduma hii inatumiwa kusimamia kuchukua picha ### END INIT INFO kesi "$ 1" kwa kuanza) echo "Anza kuchukua picha" /home/rxhf/photo.py &;; stop) echo "Acha kuchukua picha" kuua $ (ps aux | grep -m 1 'python3 /home/rxhf/photo.py' | awk '{print $ 2}');; *) echo "Matumizi: huduma ya kuanza picha | simama" toka 1;; esac toka 0

weka ruhusa ya utekelezaji

sudo chmod 777 /etc/init.d/photo

sudo chmod 777 / nyumba/rxhf/photo.py

na ujaribu

sudo /etc/init.d/picha kuanza

Ikiwa hakuna shida, isimamishe na uiongeze kwenye programu ya kuanza

sudo /etc/init.d/photo stop

Sasisho la sudo-rc.d chaguo-msingi za picha

KUMBUKA: Ikiwa unataka kuanza lango baada ya kupiga kura ya Raspberry Pi, ongeza nambari za kuanzia za lango katika Seeed Wiki kwa /etc/rc.local, wacha ionekane kama:

#! / bin / sh -e

# # rc.local # # Hati hii inafanywa mwishoni mwa kila runlevel ya anuwai. # Hakikisha kwamba hati "itatoka 0" kwenye mafanikio au thamani nyingine yoyote # kwa kosa. # # Ili kuwezesha au kuzima hati hii badilisha tu utekelezaji # bits. # # Kwa msingi script hii haifanyi chochote. # Chapisha anwani ya IP _IP = $ (jina la mwenyeji -I) || kweli ikiwa ["$ _IP"]; kisha chapa "Anwani yangu ya IP ni% s / n" "$ _IP" fi cd /home/rxhf/loriot/1.0.2 -kuinuka-r… -O loriot-gw.bin chmod + x loriot-gw.bin./loriot-gw.bin -f -s cn1.loriot.io toka 0

Tovuti

Tulipeleka wavuti kwenye CentOS 7. Kufuatia hatua zitakuonyesha jinsi ya kupeleka.

Hatua ya 1. Sakinisha Python3

Sudo yum -sanikisha kutolewa kwa epel

Sudo yum -iingiza python36

Hatua ya 2. Sakinisha bomba la chatu na mazingira halisi

wget

Sudo python36 get-pip.py sudo pip install virtualenv

Setp 3. Clone tovuti yetu kutoka GitHub

Sudo yum -iingiza git

clone ya git

Hatua ya 4. Unda na uwashe mazingira halisi

fadhila -p python36 iotea-hb

cd iotea-hb chanzo bin / activate

Hatua ya 5. Sakinisha maktaba tegemezi

bomba funga pymysql

pip kufunga dbutils pip install flask pip install websocket-mteja pip install cofigparser

Hatua ya 6. Unda hifadhidata

Sudo yum -sakinisha mariadb mariabd-server

Sudo systemctl kuwezesha mariadb sudo systemctl kuanza mariadb mysql -uroot -p

na kisha tumia iotea_hb.sql kuunda meza.

Hatua ya 7. Unda db.ini, na uandike nambari hizi

[db]

db_port = 3306 db_user = mzizi db_host = localhost db_pass = db_name = iotea

badilisha njia ya db.ini katika db.py

# katika db.py

# soma.

Hatua ya 8. Badilisha bandari katika programu.py na uanze wavuti:

# katika programu.py

# app.run (debug = True, port = 6000) app.run (debug = Kweli, bandari = 8080)

# katika kituo

bomba funga gunicorn gunicorn -w 5 -b 0.0.0.0:8080 programu: programu

sasa tembelea 127.0.0.1: 8080 kwenye kivinjari chako, unaweza kuona wavuti, lakini data ya wakati halisi haionyeshwi.

Hatua ya 9. Pata data ya loriot

Fungua kituo kingine, ingiza upya mazingira halisi na uanze programu ya loriot:

cd iotea-hb

chanzo bin / kuamsha gunicorn loriot: programu

Subiri kwa muda, utaona data iliyoonyeshwa kwenye wavuti, au unaweza kubadilisha wss katika loriot.py:

# katika loriot.py

#ws = kuunda_uunganisho ("wss: //cn1.loriot.io/app? tokeni = vnwEuwAAAA1jbjEubG9yaW90LmlvRpscoh9Uq1L7K1zbrcBz6w ==")

ws = unda_uunganisho ()

Hatua ya 5: Operesheni

Unaweza kutembelea wavuti zetu kutazama data ya wakati halisi:

  • Katika Ya'an
  • Kwa Maandamano

Ilipendekeza: