Përmbajtje:

Sensorë shtesë për Nodemcu ESP8266 për Weewx: 8 hapa (me fotografi)
Sensorë shtesë për Nodemcu ESP8266 për Weewx: 8 hapa (me fotografi)

Video: Sensorë shtesë për Nodemcu ESP8266 për Weewx: 8 hapa (me fotografi)

Video: Sensorë shtesë për Nodemcu ESP8266 për Weewx: 8 hapa (me fotografi)
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, Nëntor
Anonim
Sensorë shtesë për Nodemcu ESP8266 për Weewx
Sensorë shtesë për Nodemcu ESP8266 për Weewx

Ky është një udhëzues për të shtuar sensorë në programin e stacionit të motit weewx.

Nëse nuk keni weewx, mund të mësoni disa gjëra në këtë tutorial.

keni nevojë për disa njohuri bazë të kodit Arduino dhe si të ngarkoni në një pajisje.

Ju gjeni informacione të ndryshme këtu:

Ajo që ndërtoni është 2 pajisje:

1 Pajisja dërgon Temperaturë dhe Lagështi në softuerin weewx.

1 Pajisja dërgon Temperaturat e Tokës në thellësi të ndryshme të tokës në programin weewx.

Pajisja jonë e parë është një sensor BME 280.

Pajisja jonë e dytë është një zinxhir prej 3 sensorë DS18B20 Temperatur. (Nëse dëshironi, mund të shtoni më shumë).

Le të fillojmë:

Hapi 1: Çfarë ju nevojitet…

Ajo që ju nevojitet…
Ajo që ju nevojitet…
Ajo që ju nevojitet…
Ajo që ju nevojitet…
Ajo që ju nevojitet…
Ajo që ju nevojitet…

Weewx në funksionim + qasje në serverin weewx. (për shembull një PI mjedër 3).

2 module Nodemcu ESP8266

3 ose më shumë sensorë DS18B20

1 Sensor kombinues BME 280

1 Tub alumini ose i ngjashëm me një diametër prej 10 mm dhe 1 mm trashësi muri dhe ca. 1 metër i gjatë

1 Kase e papërshkueshme nga uji me gjëndër kabllo dhe arrë bllokimi.

1 Burim energjie 5V (Ngarkuesi celular për shembull).

Disa tela dhe sende saldimi.

Ju gjeni sensorin BME280 dhe modulet Nodemcu në ebay.

Për tubat e aluminit unë zgjedh një dyqan lokal të pajisjeve

Për rastin DS18B20 dhe të papërshkueshëm nga uji unë përdor www.reichelt.de

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

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

dhe grupi i gjëndrës kabllore me arra bllokimi

www.reichelt.de/Kabelverschraubungen-Bopla…

Për bme280 ju mund të përdorni opsionalisht një kanaçe degëzimi

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

Hapi 2: Filloni me Konfigurimin e Pajisjeve të Sensorit BME 280

Filloni me Konfigurimin e Pajisjeve të Sensorit BME 280
Filloni me Konfigurimin e Pajisjeve të Sensorit BME 280

Ngjiteni shiritin në BME280.

Pastaj lidhni BME në Nodemcu:

BME VIN në 3.3V

BME GND në GND

SCL në D4

SDA në D3

Nëse ju pëlqen mund ta vendosni Pajisjen në një strehë, por sigurohuni që disa vrima të jenë në kuti, në mënyrë që vlerat e lagështisë dhe temperaturës të jenë të sakta.

Hapi 3: BME 280 Nodemcu ESP8266 Kodi

BME 280 Nodemcu ESP8266 Kodi
BME 280 Nodemcu ESP8266 Kodi
BME 280 Nodemcu ESP8266 Kodi
BME 280 Nodemcu ESP8266 Kodi
BME 280 Nodemcu ESP8266 Kodi
BME 280 Nodemcu ESP8266 Kodi

Për kodin mund të përdorni depot e mia github:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Skedari ino ka nevojë për disa futje nga ju:

Adresa IP e serverit ose URL -së tuaj weewx

dhe rruga ku keni skedarin php, sigurohuni që zona të shkruhet.

Unë zgjedh public_html dir sepse është një server në shtëpi.

nëse doni të klononi depot e git dhe keni git të instaluar në serverin tuaj, mund të klononi me komandën:

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

Tani duhet të bëjmë disa gjëra në serverin tonë weewx.

Ju duhet të bëni shtigjet për cilësimet tuaja!

/home/weewx/public_html

krijoni një të dhënë të dosjes

në dosjen e të dhënave krijoni një bme.txt për shembull me:

nano bme.txt

skedari duhet të jetë bosh.

bëjeni të shkrueshëm me:

chmod -R 777 bme.txt

(kurrë nuk e bëni këtë në një server që është i aksesueshëm në internet!)

në dosje

/home/weewx/public_html

ju vendosni bme.php të repos sime github.

Truku është se skedari INO dërgon vlera në bme.php dhe bme.php shkruan të dhënat në bme.txt

Më tej ne duhet të shtojmë shërbimin në weewx

vendosni bme.py në dosje

/home/weewx/bin/përdorues

hapni weewx.conf tuaj në dosje

/shtëpi/weewx

është gjithmonë mirë të keni një kopje rezervë para se të redaktoni këtë skedar!

zbritni tek Engine line dhe bëni që linja të duket si e imja:

[Motori]

# Ky seksion specifikon shërbimet që duhet të ekzekutohen. Ata janë

# grupuar sipas llojit, dhe rendin e shërbimeve brenda secilit grup

# përcakton rendin në të cilin do të funksionojnë shërbimet.

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

rinisni weewx me:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

me komandën

bisht -f/var/log/syslog

mund të shikoni në dosjen e regjistrit për gabime ose sukses, kërkoni një dalje bme: vlera e gjetur e…

Jepini serverit tuaj disa minuta për të krijuar, në weewx.conf "tim" çdo 5 minuta vjen një dalje.

Nëse keni një mesazh gabimi kontrolloni shtigjet tuaja.

Nëse keni vlera, mund të shkoni për t'i shfaqur në faqen në internet:

lëkurë e hapur.konf në

/home/weewx/skins/Standard

shko tek:

# Ky ndoshta është specifik për stacionin tim! Shto

extraTemp3 = Temperatura BME1 ekstraHumid1 = Lagështia BME1

ruani skedarin dhe hapeni në të njëjtën dosje

index.html.tmpl

kërkoni një rresht:

#if $ day.extraTemp..

#fund nëse

pas përfundimit të parë #nëse gjeni, vendosni sensorin tuaj BME me:

^^ me fal por nuk eshte e mundur ta vendos kete si tekst:(ruani skedarin dhe dilni.

nuk ka nevojë të rifilloni weewx.

Tani ju duhet të ushqeni NODEMCU ESP8266 me skedarin Arduino.

Mos harroni të konfiguroni wifi dhe adresat tuaja në skedar.

Pas ngarkimit kontrolloni daljen serike për gabime.

Pas një periudhe të shkurtër ju duhet të shihni vlerat në faqen tuaj të internetit weewx.

Hapi 4: Suksesi Pajisja Sensore BME280 + Zgjidhja e problemeve

Suksesi Pajisja e sensorit BME280 + Zgjidhja e problemeve
Suksesi Pajisja e sensorit BME280 + Zgjidhja e problemeve
Suksesi Pajisja e sensorit BME280 + Zgjidhja e problemeve
Suksesi Pajisja e sensorit BME280 + Zgjidhja e problemeve

Disa këshilla për ju:

Hapni më shumë se 1 tastierë përmes stuko

në 1 tastierë bëni ndryshimet tuaja, dhe në tastierën tjetër lexoni syslog -in tuaj drejtpërdrejt me:

bisht -f/var/log/syslog

Nëse keni një gabim, shikoni së pari logfile -in tuaj.

Prodhimi juaj duhet të duket i ngjashëm me timen:

Hapi 5: Konfigurimi i pajisjes Soilsensor

Konfigurimi i pajisjes Soilsensor
Konfigurimi i pajisjes Soilsensor
Konfigurimi i pajisjes Soilsensor
Konfigurimi i pajisjes Soilsensor
Konfigurimi i pajisjes Soilsensor
Konfigurimi i pajisjes Soilsensor

Për Sensorin DS18B20 duhet të bëjmë një Sistem autobusi me disa tela dhe saldim.

Kontrolloni DS18B20 tuaj

T D DHNA, GND, KQV

Midis VCC dhe DATA keni nevojë për një Rezistencë 4.7K. Isshtë e mjaftueshme nëse keni rezistencë në DS18B20 të parë

DS18B20 të tjera janë paralele me njëra -tjetrën.

Matni gjatësinë për nevojat tuaja. Bashkoj një zinxhir së bashku, unë i kam siguruar kunjat me një tub që zvogëlohet.

Për një TEST ju lidhni DATA me D3 dhe VCC me VCC (3.3V) dhe GND me GND.

Për opsionin e gjumit të thellë ju duhet të lidhni një urë midis RST dhe D0 (GPIO16)

Ju nuk duhet ta vendosni zinxhirin në tubin e Aluminit tani, bëni testet tuaja më parë!

Hapi 6: Kodi DS18B20 Nodemcu ESP8266

Kodi DS18B20 Nodemcu ESP8266
Kodi DS18B20 Nodemcu ESP8266

Për kodin mund të përdorni depot e mia GITHUB:

github.com/Landixus/multipleDS18B20WeeWX

Gjithashtu skedari ino ka nevojë për disa futje nga ju: Adresa IP e serverit ose URL -së tuaj weewx dhe rruga ku keni vendosur skedarin php, sigurohuni që zona të shkruhet, unë zgjedh public_html dir sepse është një server në shtëpi.

Nëse dëshironi të klononi depot e git dhe të keni git të instaluar në serverin tuaj, mund të klononi me komandën git clone

Tani duhet të bëjmë disa gjëra që të gjitha po punojnë në serverin tonë weewx.

Ju duhet të bëni shtigjet për cilësimet tuaja në

/home/weewx/public_html

krijoni një dosje "të dhëna" në dosjen e të dhënave krijoni një ds18b20.txt për shembull nano ds18b20.txt txt duhet të jetë emtpy. bëjeni të shkrueshëm me chmod -R 777 ds18b20.txt (ju kurrë nuk e bëni këtë në një server që është i arritshëm në internet!) në dosjen/home/weewx/public_html ju vendosni terrenin. php të përfaqësuesit tim të github. Truku qëndron në faktin se skedari INO dërgon vlera në ground.php dhe ground.php shkruan të dhënat në ds18b20.txt më pas duhet të shtojmë shërbimin në weewx vendosni ds18b20.py në dosje/home/weewx/bin/ përdorues

hapni weewx.conf tuaj në dosjen /home /weewx

është gjithmonë mirë të keni një kopje rezervë para se të redaktoni këtë skedar!

zbres në linjë:

[Motori]

# grupuar sipas llojit, dhe rendin e shërbimeve brenda secilit grup

# përcakton rendin në të cilin do të funksionojnë shërbimet.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 shtoni inline pas një presje

"user.ds18b20.ds18b20" duhet të duket si rreshti i sipërm ^^

rinisni weewx me:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

me komandën tail -f/var/log/syslog ju mund të kërkoni në logfile për gabime ose sukses për të kërkuar një dalje ds18b20: vlera e gjetur e Jepini serverit tuaj disa minuta për të gjeneruar, në weewx.conf tim çdo 5 minuta të dalë një vënë Nëse keni një mesazh gabimi kontrolloni shtigjet tuaja. Nëse keni vlera, mund të shkoni për t'i shfaqur në faqe: hapur

skin.conf në/shtëpi/weewx/lëkurat/Standard shkoni te:

# Ky ndoshta është specifik për stacionin tim!

shto

dheuTemp1 = DS18B201

dheuTemp2 = DS18B202

dheuTemp3 = DS18B203

ruani skedarin dhe hapeni në të njëjtën dosje index.html.tmpl kërkoni një rresht:

#if $ day.extraTemp..…

#fund nëse

pas #përfundimit të parë nëse gjeni vendosni sensorin tuaj GroundSensor me:

^^ më falni por nuk është e mundur ta vendosni këtë si tekst: (ruani skedarin dhe dilni. nuk ka nevojë të rinisni weewx. Tani ju duhet të ushqeni NODEMCU ESP8266 me skedarin Arduino.

Mos harroni të konfiguroni wifi dhe adresat tuaja në skedar. Pas ngarkimit kontrolloni daljen serike për gabime.

Pas një periudhe të shkurtër ju duhet të shihni vlerat në faqen tuaj të internetit weewx.

Hapi 7: Suksesi Soilsensor dhe Zgjidhja e problemeve

Suksesi Soilsensor dhe Zgjidhja e problemeve
Suksesi Soilsensor dhe Zgjidhja e problemeve

Nëse të gjithë keni punë dhe shihni vlera, atëherë dilni jashtë dhe vendosni tubin e Aluminit në tokë.

Një mënyrë e mirë është të vendosni zam të nxehtë në 1 anë të tubit dhe pastaj të shtypni tubin së bashku, atëherë keni një majë të këndshme për ta sjellë më lehtë në tokë.

Vendosni së pari tubin tuaj në tokë, mund të çekiçoni butë me një dërrasë druri.

Nëse tubi është mjaft i thellë, mund të vendosni zinxhirin tuaj ds18b20 dhe telat e energjisë në kutinë e papërshkueshme nga uji.

Sigurohuni që wifi juaj po punon në këtë vend!

Nëse nuk e dini se sa i thellë është sensori, ka 2 mundësi.

Faza e provës vendos 1 ds18b20 midis gishtit tuaj, temperatura shkon më e lartë për këtë.

Kur tubi është tashmë në tokë, atëherë normalisht është vlera më e lartë pika më e thellë.

Hapi 8: Përfundoni

Përfundo
Përfundo

Vetëm fundi

Postoni pyetjet tuaja dhe tregoni temperaturën tuaj bazë në komente!

Për më shumë ndihmë bashkohuni me grupet weewx google në:

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

Recommended: