Мазмуну:
- 1 -кадам: Сизге эмне керек…
- 2 -кадам: BME 280 Sensor Hardware Setup менен баштаңыз
- 3 -кадам: BME 280 Nodemcu ESP8266 Code
- 4 -кадам: Ийгилик BME280 сенсордук түзмөк + көйгөйлөрдү чечүү
- 5 -кадам: Soilsensor аппараттык орнотуу
- 6 -кадам: DS18B20 Nodemcu ESP8266 коду
- 7 -кадам: Ийгилик топурак сенсорлору жана көйгөйлөрдү чечүү
- 8 -кадам: Бүтүрүү
Video: Weewx үчүн Nodemcu ESP8266 узартуу сенсорлору: 8 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул 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 менен баштаңыз
Тасманы BME280ге кошуп коюңуз.
Андан кийин BMEди Nodemcuго туташтырыңыз:
BME VIN 3.3V чейин
BME GNDден GNDге
D4ке SCL
SDAдан D3кө чейин
Эгер сиз кааласаңыз, анда Түзмөктү корпуска салып коюңуз, бирок нымдуулуктун жана температуранын маанилери туура болушу үчүн корпуста кээ бир тешиктер бар экенин текшериңиз.
3 -кадам: 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 сенсордук түзмөк + көйгөйлөрдү чечүү
Сиз үчүн кээ бир кеңештер:
Шыбак аркылуу 1ден ашык консолун ачыңыз
1 консолунда өзгөртүүлөрдү киргизиңиз, ал эми башка консолдо syslog түз обонуңуз менен окуңуз:
tail -f/var/log/syslog
Эгер ката кетирсеңиз, биринчи логфайлыңызды издеңиз.
Сиздин чыгарылышыңыз мага окшош болушу керек:
5 -кадам: 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 коду
Код үчүн сиз менин 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
Сунушталууда:
Philips Hue Lightstripти бөлүү жана узартуу: 8 кадам (сүрөттөр менен)
Philips Hue Lightstripти бөлүңүз жана узартыңыз: Мен дагы " акылдуу үй " гаджеттерди үйүмө жазыңыз, мен ойногон нерселердин бири - Philips Hue Lightstrip. Бул LED чырактарынын тилкеси, аны колдонмодон же Alexa сыяктуу акылдуу жардамчыдан башкарса болот
DIY Электр узартуу тактасынын зымдары: 7 кадам (Сүрөттөр менен)
DIY Электр Кеңейтүү тактасынын зымдары: Бул Нускоодо мен сизге бул үйдө жасалган электр узартуу тактасын этап -этабы менен жасоонун бүт процессин айтып берем. Бул чынында эле абдан пайдалуу электр тактасы. Бул учурдагы чыңалууну жана амперди реалдуу убакытта керектелгенин көрсөтөт. Чыңалуу күчөгөндө
Ным сенсорлору жана ARDUINO менен бампердин түшүмүн алыңыз: 4 кадам (сүрөттөр менен)
Ным сенсорлору жана ARDUINO менен бампер эгинге ээ болуңуз: Мен башка тапшырманы жазуу үчүн Instructables боюнча акчам жок билимимди бөлүшүп туруу үчүн, жумуш менен үй тапшырмаларын аткаруунун ортосунда Instructablesга көз каранды болушум керек. Мен азыр судьямын, көптөгөн Instructables аркылуу жана Инструкцияны табыңыз
Ардуино роботтору үчүн арзан IR жакындык сенсорлору: 6 кадам (сүрөттөр менен)
Ардуино роботтору үчүн арзан IR жакындык сенсорлору: Бул инфракызыл жакындык сенсорлору кичинекей, жасоо оңой жана супер арзан! Алар роботтордо эң сонун иштешет, линияны ээрчүү, четин сезүү жана эң аз аралыкты сезүү. Алар ошондой эле абдан, абдан арзан
Ардуино роботтору үчүн арзан дүмпүрүү сенсорлору: 4 кадам (сүрөттөр менен)
Arduino роботтору үчүн арзан дүмпүрүү сенсорлору: Сиздин роботту алуу үчүн арзан, оңой булак сенсорлору керекпи? Айтайын дегеним, Arduino долбоору? Бул кичинекей сенсорлорду колдонуу оңой, жасоо оңой жана капчыкта оңой (ар бири 17 цент!), Жана микроконтроллердеги жөнөкөй тоскоолдуктарды аныктоо үчүн сонун иштейт