Мазмуну:
- 1 -кадам: Бул долбоордо колдонулган нерселер
- 2 -кадам: Окуя
- 3 -кадам: Аппараттык туташуу
- 4 -кадам: Программалык камсыздоо
- 5 -кадам: операция
Video: Seeed IoTea LoRa Solution (Update 1811): 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Интернет+ азыр популярдуу түшүнүк. Бул жолу биз Интернетти жана айыл чарбасын чай бакчасы Интернет чайынан өстүрүүгө аракет кылдык.
1 -кадам: Бул долбоордо колдонулган нерселер
Аппараттык компоненттер
- Grove - Көмүр кычкыл газы сенсору (MH -Z16)
- Grove - Санариптик Жарык сенсору
- Grove - Чаң сенсору (PPD42NS)
- Grove-кычкылтек сенсору (ME2-O2-Ф20)
- Топурактын нымдуулугу жана температура сенсору
- LoRa LoRaWAN Gateway - Raspberry Pi 3 менен 868MHz комплект
- Grove - Temp & Humi & Barometer Sensor (BME280)
Программалык камсыздоо жана онлайн кызматтары
Microsoft Visual Studio 2015
2 -кадам: Окуя
Сичуань Яандын түндүк -чыгышындагы Мендинг тоосунда, тоо кыркасы батыштан чыгышка карай жашыл деңизде өтөт. Бул деңиз деңгээлинен 1100м бийиктикте жайгашкан 50му (= 3,3 гектар) плантациясы бар 36 жаштагы Дэнг, өзүнүн муунунун чанда аз сандагы чай кайнатуучуларынын бири үчүн эң тааныш көрүнүш. Дэн чай кайнатуучулардын үй -бүлөсүнөн чыккан, бирок үй -бүлөлүк мурасты улантуу оңой иш эмес. «Биздин чайлар мыкты сапатын камсыз кылуу үчүн органикалык чөйрөдө бийик тоолуу жерде өстүрүлөт. Бирок, ошол эле учурда, өсүмдүктүн тыгыздыгы төмөн, баасы жогору жана бүчүрлөрү бирдей эмес, чайды оруп -жыюу кыйын. Ошондуктан бийик тоолуу чайлар адатта кичинекей түшүм болуп саналат жана алардын баалуулуктары рынокто чагылдырылбайт.”Акыркы эки жылдан бери Дэн керектөөчүлөрдүн бийик тоолуу чай тууралуу маалыматын жогорулатуу үчүн аракет кылып келет. Жана ал Seeedдин IoTea технологиясын ишке ашыруу үчүн плантация издеп жүргөн Фан менен жолукканда, чечимге эң сонун дал келген.
3 -кадам: Аппараттык туташуу
Бул долбоордун аппараттык жабдууларын 4 бөлүккө бөлүүгө болот: Power, Sensors, Node жана Gateway. Кийинки макалада аны этап -этабы менен кантип бүтүрүү керектиги көрсөтүлөт.
Power Part
Power Part негизинен күн панелин жана литий батареясын камтыйт, эгерде сиз бул долбоорду жөн эле демонстрация үчүн курсаңыз, аларды этибарга албай койсоңуз болот. Же түйүндүн кубатын орнотуу үчүн Мурунку окуу куралын ээрчип алсаңыз болот.
Sensors Part
Сенсорлор бөлүгүндө, сенсорлордун көптүгүнөн, биз метеорологиялык станцияны колдонуп, ошондой эле аларды орнотуу үчүн акрил кронштейн жасадык.
Жогорудагы сүрөттө көрүнүп тургандай, Digital Light Sensor дайыма жарыктын маалыматын чогулта алат. Жылуулукту чыгаруучу сенсорлор акрил кронштейнинин ортосуна орнотулат, мисалы O2 сенсор, чаң сенсор жана CO2 сенсор. Акыры, температура жана нымдуулук сенсору акрил кронштейндин түбүндө.
Мындан тышкары, Топурактын температурасы жана нымдуулугу сенсору топуракка жалгыз орнотулган. Node Part
Түйүндүн бөлүгү - бул суу өткөрбөй турган кутуга орнотулган Seeeduino LoRaWan, ал суу муундары аркылуу күчкө жана сенсорлорго туташат. Алардын арасында Чаң сенсору LoRaWan санариптик D3 туташуусуна, CO2 сенсор D4 жана D5 түйүнүнө, D6 & D7 топурагына туташуу үчүн, O2 сенсору аналог пин A1ге жана Light Sensor & Barometer Sensor I2C портуна туташат.
ЭСКЕРТҮҮ: Топурак сенсорунун Көк (Маалымат) кабели менен Кызыл (Vcc) кабелинин ортосуна 10k резистор кошулушу керек.
Seeeduino LoRaWan сенсорлордун маал -маалы менен чогултуп, LoRa аркылуу шлюзга жөнөтөт. Маалымат форматы төмөндөгүдөй:
{
[0], /* Абанын температурасы (℃)* /[1], /* Абанын нымдуулугу (%)* /[2], /* Бийиктик (м) бийик байт* /[3], /* Бийиктик (м) аз байт */[4],/ * CO2 концентрациясы (PPM) жогорку байт */[5],/ * CO2 концентрациясы (PPM) төмөн байт */[6],/ * Чаңдын концентрациясы (шт./0.01cf) жогорку байт */[7],/ *Чаңдын концентрациясы (шт./0.01cf) аз байт */[8],/ *Жарык интенсивдүүлүгү (люкс) жогорку байт */[9],/ *Жарык интенсивдүүлүгү (люкс) төмөн байт */ [10], /* O2 концентрациясы (%)* /[11], /* Топурактын температурасы (℃)* /[12], /* Топурактын нымдуулугу (%)* /[13], /* Батарея чыңалуусу (V) */ [14]/ *Сенсор катасынын коду */}
Sensor Error Code байтындагы ар бир бит төмөндөгүдөй айырмачылыкка ээ:
{
bit0: 1; / * Барометрдин сенсорунун катасы */ bit1: 1; / * CO2 Sensor Error */ bit2: 1; / * Чаң сенсорунун катасы */ bit3: 1; / * Жарык сенсорунун катасы */ bit4: 1; / * O2 Sensor Error */ bit5: 1; / * Топурак сенсорунун катасы */ корголгон: 2; / * Корголгон */}
Gateway бөлүгү
Gateway Part - бул RHF0M301–868 Gateway модулун жана PRI 2 Bridge RHF4T002 туташтырылган Raspberry Pi, ал суу өткөрбөй турган кутуга орнотулган жана суу түйүндөрү аркылуу электр жана USB камерасына туташат. Ал адистештирилген программалык камсыздоону колдонгондуктан, аны конфигурациялоо үчүн Seeed Wiki'ди ээрчиңиз.
4 -кадам: Программалык камсыздоо
Аппараттык туташуу катары Программалык камсыздоону да бөлүүгө болот, аны 3 бөлүккө бөлүүгө болот: түйүн, шлюз жана вебсайт.
Node Part
Түйүн бөлүгүнө талап кылынган драйверлердин көбү orig_driver папкасында камтылган. Төмөнкү китепканалар кол менен орнотулушу керек:
Adafruit_ASFcore
Долбоор татаал болгондуктан, Arduino IDE ордуна Microsoft Visual Studio колдонууну сунуштайбыз. Visual Micro деп аталган плагин Visual Studioну колдонуу менен Arduino долбоорун түзүүгө жардам берет, көбүрөөк маалымат алуу үчүн бул жерди басыңыз.
Жакшыраак окуу жана тейлөө үчүн, биз бул жолу Объектке багытталган программалоону колдонобуз. Бул долбоордун класс диаграммасы төмөндөгүдөй көрүнөт:
Бул сенсорлордо OOP драйвери бар болгондуктан, биз бул долбоорду ыңгайлаштыруу үчүн аны кайра таңгактадык, башкалары үчүн драйверлерин OOP аркылуу кайра жаздык. Орто программалык катмардагы Sensor классы чыныгы сенсорлордун интерфейстерин бириктирүү үчүн колдонулат, мисалы, барометрдин сенсору бир эле убакта температураны, нымдуулукту жана бийиктикти чогулта алат, андыктан температураны, нымдуулукту жана бийиктикти алуу үчүн 3 интерфейси бар. Бирок алардын айырмачылык методунун аталышы бар, ал сенсорлордун баалуулугун алуу программасын ушул сыяктуу татаалдаштырат:
барометр-> getTemperature ();
барометр-> getHumidity (); барометр-> getAltitude (); //… another_sensor-> getSomeValue (); //…
Бирок OOPту колдонуп, мындай көрүнөт:
үчүн (авто i = 0; i getValue ();
}
Биз ошондой эле Application классын толтурдук, ал IApplication интерфейсин, IoTea.inoдогу setup () жана loop () методун ишке ашырат, Application объектисинде setup () жана loop () ыкмаларын чакыра алат.
ЭСКЕРТҮҮ: USB Serial гана мүчүлүштүктөрдү оңдоо үчүн колдонулат. Мүчүлүштүктөрдү оңдогондон кийин, setup () методунда кодду баштоо боюнча комментарий бериңиз.
Gateway бөлүгү
Gateway Part's Python программасы үй папкасында сүрөткө тартып, аларды Amazon S3 Serverге саат сайын жүктөө үчүн колдонулат. Аны колдонуудан мурун, fswebcam сиздин Raspberry Piге орнотулганын текшериңиз:
sudo apt-get update && sudo apt-get fswebcam орнотуу
Эгерде сиз сүрөттөрдү жүктөгүңүз келсе, AWSти төмөнкү кадамдар менен конфигурациялаңыз. Биринчиден, AWS SDK жана AWS CLIди Raspberry Piге төмөнкү буйруктарды колдонуу менен орнотуңуз:
sudo pip орнотуу boto3
sudo pip орнотуу awscli
анан AWS CLI иштетүү:
sudo aws конфигурациялоо
AWS кирүү ачкычынын IDсин, AWS жашыруун кирүү IDсин жана демейки аймактын атын конфигурациялаңыз.
Эгерде сиз сүрөттөрүңүздү жүктөөнү жактырбасаңыз, анда AWS конфигурация кадамдарын жана photo.pyде жүктөө тууралуу комментарий коддорун өткөрүп жибере аласыз. Бул программаны Raspberry Pi жүктөгөндөн кийин иштетүү үчүн, /etc/init.d файлдын аталышын түзүп, ага төмөнкү кодду жазсаңыз болот.
#!/bin/bash
# /etc/init.d/photo ### INIT INFO БАШТОО # Берет: seeed_photo # Милдеттүү-Баштоо: $ remote_fs $ syslog # Милдеттүү-Токтоо: $ remote_fs $ syslog # Демейки-Баштоо: 2 3 4 5 # Default-Stop: 0 1 6 # Кыскача сүрөттөмө: сүрөт тартуу initscript # Description: Бул кызмат сүрөт тартууну башкаруу үчүн колдонулат ### END INIT INFO case "$ 1" башталганда) echo "Сүрөт тартууну баштаңыз" /home/rxhf/photo.py &;; stop) echo "Сүрөткө тартууну токтот" өлтүрүү $ (ps aux | grep -m 1 'python3 /home/rxhf/photo.py' | awk '{$ 2 басып чыгаруу');; *) echo "Use: service photo start | stop" чыгуу 1;; esac чыгуу 0
аткарууга уруксат берүү
sudo chmod 777 /etc/init.d/photo
sudo chmod 777 /home/rxhf/photo.py
жана сынап көрүңүз
sudo /etc/init.d/photo баштоо
Эгер эч кандай көйгөй жок болсо, аны токтотуп, баштоо колдонмосуна кошуңуз
sudo /etc/init.d/photo stop
sudo update-rc.d фото демейки
ЭСКЕРТҮҮ: Эгерде сиз Raspberry Pi жүктөлгөндөн кийин шлюзду иштеткиңиз келсе, Seeet Wikiдеги шлюздун баштапкы коддорун /etc/rc.local'ге кошуңуз, ал окшош болсун:
#!/bin/sh -e
# # rc.local # # Бул скрипт ар бир көп колдонуучунун деңгээлинин аягында аткарылат. # Скрипт ийгиликке же ката боюнча башка # мааниге "0 чыгарын" текшериңиз. # # Бул сценарийди иштетүү же өчүрүү үчүн аткарууну # битти өзгөртүү керек. # # Демейки боюнча бул скрипт эч нерсе кылбайт. # IP адресин басып чыгарыңыз _IP = $ (хосттун аты -I) || эгер туура болсо "" $ _IP "]; анда printf "Менин IP дарегим %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 чыгуу 0
Вебсайт
Биз веб -сайтты CentOS 7ге жайгаштырдык. Кийинки кадамдар кантип жайылтууну көрсөтөт.
Кадам 1. Python3 орнотуу
sudo yum -y орнотуу epel -release
sudo yum -y python36 орнотуу
Кадам 2. Python пипин жана виртуалдык чөйрөнү орнотуңуз
wget
sudo python36 get-pip.py sudo pip орнотуу virtualenv
Орнотуу 3. GitHubдан веб -сайтыбызды клондоштуруңуз
sudo yum -y орнотуу git
git клону
4 -кадам. Виртуалдык чөйрөнү түзүү жана иштетүү
virtualenv -p python36 iotea -hb
CD iotea-hb булагы бин/активдештирүү
Кадам 5. Көз каранды китепканаларды орнотуу
pymysql орнотуу
pip install dbutils pip орнотуу колбасы пип орнотуу websocket-client pip cofigparser орнотуу
Кадам 6. Маалыматтар базасын түзүү
sudo yum -y mariadb mariabd -серверин орнотуңуз
sudo systemctl иштетүү mariadb sudo systemctl баштоо mariadb mysql -uroot -p
анан стол түзүү үчүн iotea_hb.sql колдонуңуз.
Step 7. db.ini түзүңүз жана ага бул коддорду жазыңыз
[db]
db_port = 3306 db_user = root db_host = localhost db_pass = db_name = iotea
db.iniдеги db.ini жолун өзгөртүү
# db.py ичинде
#cf.read ("/data/www/python3_iotea_hb/iotea/conf/db.ini") cf.read ("/home // iotea-hb/db.ini")
Кадам 8. app.pyдеги портту өзгөртүп, вебсайтты баштаңыз:
# in app.py
#app.run (мүчүлүштүктөрдү чыгаруу = Туура, порт = 6000) app.run (мүчүлүштүктөрдү чыгаруу = Чын, порт = 8080)
# терминалда
пип орнотуу gunicorn gunicorn -w 5 -b 0.0.0.0:8080 колдонмо: колдонмо
азыр веб-браузериңизде 127.0.0.1:8080 зыярат кылыңыз, сиз вебсайтты көрө аласыз, бирок реалдуу убакыт маалыматтары көрсөтүлбөйт.
Кадам 9. loriot маалыматтарды алуу
Башка терминалды ачыңыз, виртуалдык чөйрөнү кайра киргизиңиз жана loriot колдонмосун баштаңыз:
cd iotea-hb
булак бин/жандандыруу gunicorn loriot: колдонмо
Бир аз күтө туруңуз, сиз веб -сайтта көрсөтүлгөн маалыматтарды көрөсүз, же loriot.pyдеги wssти өзгөртө аласыз:
# in loriot.py
#ws = create_connection ("wss: //cn1.loriot.io/app? токен = vnwEuwAAAA1jbjEubG9yaW90LmlvRpscoh9Uq1L7K1zbrcBz6w ==")
ws = create_connection ()
5 -кадам: операция
Сиз реалдуу убакыт маалыматтарды көрүү үчүн биздин веб-сайттарга кире аласыз:
- Яанда
- Демонстрация үчүн
Сунушталууда:
Үй шаймандарын LoRa үстүнөн көзөмөлдөө - LoRa үйдөгү автоматташтырууда - LoRa Remote Control: 8 кадам
Үй шаймандарын LoRa үстүнөн көзөмөлдөө | LoRa үйдөгү автоматташтырууда | LoRa Remote Control: Электр приборлоруңузду алыс аралыктан (Километр) интернеттин катышуусуз көзөмөлдөңүз жана автоматташтырыңыз. Бул LoRa аркылуу мүмкүн! Эй, эмне болду, балдар? Akarsh бул жерде CETech.This PCB ошондой эле OLED дисплейи жана 3 релеси бар, алар
Толук Arduino Rotary Solution: 5 кадам
Толук Arduino Ротари Чечими: Ротари коддогучтар - бул электрондук долбоорлордун айлануучу башкаруу туткалары, көбүнчө Arduino үй -бүлөлүк микроконтроллери менен колдонулат. Алар параметрлерди тууралоодо, менюларда чабыттоодо, экранда объекттерди жылдырууда, ар кандай маанилерди коюуда колдонулушу мүмкүн. Алар жалпы алмаштыруучулар
See LoRa IoTea Solution: 5 кадам
Seeed LoRa IoTea Solution: Чай плантациясына колдонулган автоматтык маалымат чогултуу системасы. Бул акылдуу айыл чарба маалымат чогултуунун бир бөлүгү
Seeed IoTea LoRa Solution (Azure менен, Жаңыртуу 1812): 5 кадам
Көрүлгөн IoTea LoRa Solution (Azure менен, Жаңыртуу 1812): Microsoft Azure - булут кызматы, ал күчтүү жана туруктуу эсептөө кубатын камсыздайт. Бул жолу биз ага IoTea маалыматыбызды жөнөтүүгө аракет кылдык
Arduino долбоору: GPS Tracking Solution үчүн Test Range LoRa Module RF1276: 9 кадам (Сүрөттөр менен)
Arduino Project: Test Range LoRa Module GPS Tracking Solution: Connection: USB - SerialNeed: Chrome Browser Need: 1 X Arduino Mega Need: 1 X GPS Need: 1 X SD card Need: 2 X LoRa Modem RF1276 Функция: Arduino GPS маанисин жөнөтүү негизги базага - Dataino Server Lora Module'деги негизги база дүкөнү: Ультра узак аралык