Мазмуну:

Weewx үчүн Nodemcu ESP8266 узартуу сенсорлору: 8 кадам (сүрөттөр менен)
Weewx үчүн Nodemcu ESP8266 узартуу сенсорлору: 8 кадам (сүрөттөр менен)

Video: Weewx үчүн Nodemcu ESP8266 узартуу сенсорлору: 8 кадам (сүрөттөр менен)

Video: Weewx үчүн Nodemcu ESP8266 узартуу сенсорлору: 8 кадам (сүрөттөр менен)
Video: Extract GPS location in Arduino with Ublox Neo-6 and Neo 7m GPS modules 2024, Ноябрь
Anonim
Weewx үчүн Nodemcu ESP8266 кеңейтүү сенсорлору
Weewx үчүн Nodemcu ESP8266 кеңейтүү сенсорлору

Бул Weewx аба ырайы станциясынын программасына сенсорлорду кошуу үчүн көрсөтмө.

Эгерде сизде wewex жок болсо, анда бул окуу куралынан кээ бир нерселерди биле аласыз.

сизге Arduino коду жана түзмөккө кантип жүктөө керектиги жөнүндө негизги билим керек.

Wewex маалыматын бул жерден таба аласыз:

Сиз курган 2 Түзмөк:

1 түзмөк Weewx программасына Температураны жана Нымдуулукту жөнөтөт.

1 түзмөк Weewx программасына ар кандай тереңдиктеги топурактын температурасын жөнөтөт.

Биринчи түзмөгүбүз BME 280 сенсору.

Экинчи түзмөгүбүз 3 DS18B20 Температура сенсорунун чынжыры. (Кааласаңыз дагы кошо аласыз).

Баштайлы:

1 -кадам: Сизге эмне керек…

Сизге эмне керек…
Сизге эмне керек…
Сизге эмне керек…
Сизге эмне керек…
Сизге эмне керек…
Сизге эмне керек…

Weewx иштеп жатат + weewx серверине кирүү. (мисалы, малина PI 3).

2 Nodemcu ESP8266 модулдары

3 же андан көп DS18B20 сенсорлору

1 BME 280 айкалышкан сенсор

1 Алюминий чоор же окшош диаметри 10 мм жана 1 мм дубалдын калыңдыгы жана болжол менен. 1 метр узун

1 Суу өткөрбөөчү корпус кабелдик гайка жана гайка менен.

1 5V энергия булагы (мисалы, мобилдик жүктөгүч).

Кээ бир зымдар жана ширетүүчү нерселер.

Сиз eBayден BME280 сенсорун жана Nodemcu модулдарын таба аласыз.

Алюминий чоор үчүн мен жергиликтүү жабдык дүкөнүн тандайм

DS18B20 жана суу өткөрбөй турган корпус үчүн мен www.reichelt.de колдоном

www.reichelt.de/DS-18B20/3/index.html?ACTI…

www.reichelt.de/EL-FK-110/3/index.html?ACT…

жана гайкалар менен кабелдик бездин тобу

www.reichelt.de/Kabelverschraubungen-Bopla…

Bme280 үчүн сиз кааласаңыз бутактануучу идишти колдонсоңуз болот

www.reichelt.de/Installationsmaterial/EL-D…

2 -кадам: BME 280 Sensor Hardware Setup менен баштаңыз

BME 280 Sensor Hardware Setup менен баштаңыз
BME 280 Sensor Hardware Setup менен баштаңыз

Тасманы BME280ге кошуп коюңуз.

Андан кийин BMEди Nodemcuго туташтырыңыз:

BME VIN 3.3V чейин

BME GNDден GNDге

D4ке SCL

SDAдан D3кө чейин

Эгер сиз кааласаңыз, анда Түзмөктү корпуска салып коюңуз, бирок нымдуулуктун жана температуранын маанилери туура болушу үчүн корпуста кээ бир тешиктер бар экенин текшериңиз.

3 -кадам: BME 280 Nodemcu ESP8266 Code

BME 280 Nodemcu ESP8266 Code
BME 280 Nodemcu ESP8266 Code
BME 280 Nodemcu ESP8266 Code
BME 280 Nodemcu ESP8266 Code
BME 280 Nodemcu ESP8266 Code
BME 280 Nodemcu ESP8266 Code

Код үчүн сиз менин github репозиторийлеримди колдоно аласыз:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Ino файлына сизден кээ бир кошумчалар керек:

Weewx серверинин же URLнин IP дареги

жана php файлыңыз бар маршрут, бул аймак жазылаарын текшериңиз.

Мен public_html dir тандайм, анткени ал үй сервери.

эгер сиз git репозиторийлерин клондоштурууну кааласаңыз жана сервериңизде git орнотулган болсо, анда сиз төмөнкү буйрук менен клондоштурсаңыз болот:

"git clone" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"

Эми биз weewx серверибизде кандайдыр бир нерселерди жасашыбыз керек.

Жөндөөлөрүңүзгө жол ачышыңыз керек!

ичинде

/home/weewx/public_html

папка маалыматын түзүү

маалымат папкасында bme.txt түзүңүз, мисалы:

nano bme.txt

файл бош болушу керек.

менен жазууга болот:

chmod -R 777 bme.txt

(сиз муну интернетке жеткиликтүү болгон серверде эч качан кылбайсыз!)

папкада

/home/weewx/public_html

сен менин github репоумдун bme.phpин койдуң.

Айла -амал - INO файлы bme.phpге баалуулуктарды жөнөтөт жана bme.php bme.txt маалыматын жазат.

Кийинкиде биз кызматты weewxке кошушубуз керек

bme.py папкасына салыңыз

/home/weewx/bin/user

weewx.conf папкаңыздан ачыңыз

/үй/weewx

бул файлды түзөтүүдөн мурун анын камдык көчүрмөсү болгону жакшы!

Engine линиясына түшүп, линияны меникине окшош кылыңыз:

[Мотор]

# Бул бөлүмдө иштөө керек болгон кызматтар көрсөтүлгөн. Алар

# түрү жана ар бир топтун ичиндеги кызмат тартиби боюнча топтолгон

# кызматтардын иштөө тартибин аныктайт.

data_services = user.pond. PondService, user.bme.bme

weewxти кайра баштоо:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx баштоо

буйругу менен

tail -f/var/log/syslog

каталар же ийгиликтер үчүн логфайлды издесеңиз болот, bme чыгымын издей аласыз: табылган мааниси…

Сервериңизге генерациялоо үчүн бир нече мүнөт бериңиз, "менин" weewx.conf файлында ар бир 5 мүнөт сайын жыйынтык чыгат.

Эгер ката бар болсо, жолдоруңузду текшериңиз.

Эгерде сизде баалуулуктар бар болсо, аны веб -баракчадан көрсөтүү үчүн барсаңыз болот:

ачык тери

/home/weewx/skins/Standard

баруу:

# Бул, балким, менин станцияма тиешелүү! Кошуу

extraTemp3 = BME1 TemperatureextraHumid1 = BME1 нымдуулугу

файлды сактап, ошол эле папкада ачыңыз

index.html.tmpl

сызык издеңиз:

#If $ day.extraTemp..

#бар болсо

биринчи #аяктагандан кийин, эгерде тапсаңыз, BME сенсорун коюңуз:

^^ Кечиресиз, бирок муну текст катары берүү мүмкүн эмес:(файлды сактоо жана чыгуу.

weewxти кайра баштоонун кажети жок.

Эми сиз NODEMCU ESP8266ны Arduino файлы менен азыктандырышыңыз керек.

Файлдагы wifi жана даректериңизди орнотууну унутпаңыз.

Жүктөөдөн кийин, каталардын сериялык чыгарылышын текшериңиз.

Кыска убакыттан кийин weewx веб -сайтыңыздагы баалуулуктарды көрүшүңүз керек.

4 -кадам: Ийгилик BME280 сенсордук түзмөк + көйгөйлөрдү чечүү

Ийгилик BME280 сенсордук түзмөк + көйгөйлөрдү чечүү
Ийгилик BME280 сенсордук түзмөк + көйгөйлөрдү чечүү
Ийгилик BME280 сенсордук түзмөк + көйгөйлөрдү чечүү
Ийгилик BME280 сенсордук түзмөк + көйгөйлөрдү чечүү

Сиз үчүн кээ бир кеңештер:

Шыбак аркылуу 1ден ашык консолун ачыңыз

1 консолунда өзгөртүүлөрдү киргизиңиз, ал эми башка консолдо syslog түз обонуңуз менен окуңуз:

tail -f/var/log/syslog

Эгер ката кетирсеңиз, биринчи логфайлыңызды издеңиз.

Сиздин чыгарылышыңыз мага окшош болушу керек:

5 -кадам: Soilsensor аппараттык орнотуу

Soilsensor аппараттык орнотуу
Soilsensor аппараттык орнотуу
Soilsensor аппараттык орнотуу
Soilsensor аппараттык орнотуу
Soilsensor аппараттык орнотуу
Soilsensor аппараттык орнотуу

DS18B20 сенсору үчүн биз кээ бир зымдар жана ширетүү менен автобус системасын жасашыбыз керек.

DS18B20 түзмөгүңүздү текшериңиз

DATA, GND, VCC

VCC менен DATAнын ортосунда сизге 4.7K резистор керек. Биринчи DS18B20до резисторуңуз болсо жетиштүү

Башка DS18B20 бири -бирине параллель.

Сиздин муктаждыктарыңыз үчүн узундугун өлчөңүз. Чынжырды чогуу ээрчиңиз, мен казыктарды кыскарган түтүк менен бекиттим.

Сыноо үчүн DATAны D3кө жана VCCге VCCге (3.3V) жана GNDге GNDге туташтырасыз.

Терең уйку үчүн RST менен D0 (GPIO16) ортосундагы көпүрөнү тиркөө керек.

Сиз чынжырды азыр алюминий түтүккө салбаңыз, сыноолорду мурун жасаңыз!

6 -кадам: DS18B20 Nodemcu ESP8266 коду

DS18B20 Nodemcu ESP8266 коду
DS18B20 Nodemcu ESP8266 коду

Код үчүн сиз менин GITHUB репозиторийлеримди колдоно аласыз:

github.com/Landixus/multipleDS18B20WeeWX

Ошондой эле ino файлына сизден кээ бир кошумчалар керек: Wewex серверинин же URLнин IP дареги жана PHP файлын койгон маршрутуңуз, аймактын жазылаарын текшериңиз, мен public_html dir тандайм, анткени ал үй сервери.

Эгерде сиз гиттин репозиторийлерин клондоштурууну жана сервериңизде гиттин орнотулушун кааласаңыз, "git clone https://github.com/Landixus/multipleDS18B20WeeWX" командасы менен клондоштурсаңыз болот.

Эми биз баарыбыздын Weewx серверибизде иштеп жаткан нерселерди жасашыбыз керек.

Жөндөөлөрүңүзгө жолдорду киргизишиңиз керек

/home/weewx/public_html

папканы "маалыматтар" папкасында түзүү ds18b20.txt түзүү nano ds18b20.txt txt emtpy болушу керек. chmod -R 777 ds18b20.txt менен жазылуучу кылуу (сиз муну интернетке кирүүчү серверде эч качан кылбайсыз!) Айла, INO файлы баалуулуктарды ground.phpге жөнөтөт жана ground.php ds18b20.txt файлын кийинки жерге жазат, биз сервисти weewxке кошуубуз керек, ds18b20.py папкасына/home/weewx/bin/ колдонуучу

weewx.conf папкаңыздан /home /weewxтен ачыңыз

бул файлды түзөтүүдөн мурун анын камдык көчүрмөсү болгону жакшы!

сапка түшүү:

[Мотор]

# түрү жана ар бир топтун ичиндеги кызмат тартиби боюнча топтолгон

# кызматтардын иштөө тартибин аныктайт.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 үтүрдөн кийин сапты кошуу

"user.ds18b20.ds18b20" жогорку сызыкка окшош болушу керек ^^

weewxти кайра баштоо:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx баштоо

буйругу менен tail -f/var/log/syslog каталар файлын издей аласыз же ийгилик ds18b20 издей аласыз: табылган мааниге сервериңизге бир нече мүнөт бергиле, менин weewx.conf файлымда ар 5 мүнөт сайын чыгып туруңуз коюу. Эгер ката бар болсо, жолдоруңузду текшериңиз. Эгерде сизде баалуулуктар бар болсо, аны бетте көрсөтүү үчүн барсаңыз болот: ачык

skin.conf in/home/weewx/skins/Стандартка өтүү:

# Бул, балким, менин станцияма тиешелүү!

кошуу

tuproqTemp1 = DS18B201

tuproqTemp2 = DS18B202

tuproqTemp3 = DS18B203

файлды сактаңыз жана index.html.tmpl папкасында ачыңыз, бир сапты издеңиз:

#If $ day.extraTemp..…

#бар болсо

биринчи #аяктагандан кийин, эгерде GroundSensor сенсорун коюңуз:

^^ Кечиресиз, бирок муну текст катары коюу мүмкүн эмес: (файлды сактаңыз жана чыгыңыз. weewxти кайра баштоонун кажети жок. Эми NODEMCU ESP8266ны Arduino файлы менен азыктандырышыңыз керек.

Файлдагы wifi жана даректериңизди орнотууну унутпаңыз. Жүктөөдөн кийин, каталардын сериялык чыгарылышын текшериңиз.

Кыска убакыттан кийин weewx веб -сайтыңыздагы баалуулуктарды көрүшүңүз керек.

7 -кадам: Ийгилик топурак сенсорлору жана көйгөйлөрдү чечүү

Ийгилик Топурак сенсору жана Мүчүлүштүктөрдү Оңдоо
Ийгилик Топурак сенсору жана Мүчүлүштүктөрдү Оңдоо

Эгерде сизде баардык нерселер бар жана баалуулуктарды көрүп жатсаңыз, анда сыртка чыгып, алюминий түтүгүн жерге салыңыз.

Жакшы ыкма - чоордун 1 жагына ысык клей салып, анан түтүктү чогуу басыңыз, ошондо сиз аны жерге түшүрүү үчүн жакшы үстүңүз бар.

Биринчи кезекте чооруңузду жерге коюңуз, жыгач тактай менен жумшак балка чабасыз.

Эгерде түтүк жетишерлик терең болсо, анда сиз ds18b20 чынжырыңызды жана электр өткөргүчтөрүн суу өткөрбөй турган кутуга сала аласыз.

Wi -Fi бул жерде иштеп жаткандыгын текшериңиз!

Эгер сенсор канчалык терең экенин билбесеңиз, анда 2 мүмкүнчүлүк бар.

Мен сыноо фазасы манжаңыздын ортосуна 1 ds18b20 койду, бул үчүн температура жогорулайт.

Түтүк жерге түшкөндө, нормалдуу эң жогорку чекиттин эң терең жери.

8 -кадам: Бүтүрүү

Бүтүрүү
Бүтүрүү

Жөн эле аягы

Суроолоруңузду жазыңыз жана комментарийлерде өзүңүздүн негизги температураңызды көрсөтүңүз!

Көбүрөөк жардам алуу үчүн weewx google Groups га кошулуңуз:

groups.google.com/forum/#!forum/weewx-user

Сунушталууда: