Índice:

Sensores de extensão Nodemcu ESP8266 para Weewx: 8 etapas (com imagens)
Sensores de extensão Nodemcu ESP8266 para Weewx: 8 etapas (com imagens)

Vídeo: Sensores de extensão Nodemcu ESP8266 para Weewx: 8 etapas (com imagens)

Vídeo: Sensores de extensão Nodemcu ESP8266 para Weewx: 8 etapas (com imagens)
Vídeo: NodeMCU ESP8266: Detalhes e Pinagem 2024, Julho
Anonim
Sensores de extensão Nodemcu ESP8266 para Weewx
Sensores de extensão Nodemcu ESP8266 para Weewx

Este é um instrutível para adicionar sensores ao software da estação meteorológica weewx.

Se você não tiver weewx, você pode aprender algumas coisas neste tutorial.

você precisa de algum conhecimento básico do código do Arduino e de como fazer upload em um dispositivo.

Você encontra informações weewx aqui:

O que você constrói são 2 dispositivos:

1 O dispositivo envia temperatura e umidade para o software weewx.

1 Dispositivo envia temperaturas do solo de diferentes profundidades do solo para o software weewx.

Nosso primeiro dispositivo é um sensor BME 280.

Nosso segundo dispositivo é uma cadeia de 3 sensores de temperatura DS18B20. (Você pode adicionar mais se quiser).

Vamos começar:

Etapa 1: O que você precisa …

O que você precisa…
O que você precisa…
O que você precisa…
O que você precisa…
O que você precisa…
O que você precisa…

Weewx instalado e funcionando + acesso ao servidor weewx. (por exemplo, uma framboesa PI 3).

2 módulos Nodemcu ESP8266

3 ou mais sensores DS18B20

1 sensor combo BME 280

1 Tubo de alumínio ou similar com diâmetro de 10 mm e espessura de parede de 1 mm e ca. 1 metro de comprimento

1 Caixa à prova d'água com prensa-cabo e contraporca.

1 Fonte de alimentação 5V (carregador móvel, por exemplo).

Alguns fios e material de solda.

Você encontra o sensor BME280 e os módulos Nodemcu no ebay.

Para tubos de alumínio, eu escolho uma loja de ferragens local

Para o DS18B20 e a caixa à prova d'água, eu uso www.reichelt.de

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

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

e o grupo de prensa-cabo com contraporcas

www.reichelt.de/Kabelverschraubungen-Bopla…

Para o bme280, você pode usar opcionalmente uma lata de ramificação

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

Etapa 2: Comece com a configuração do hardware do sensor BME 280

Comece com a configuração do hardware do sensor BME 280
Comece com a configuração do hardware do sensor BME 280

Solde a tira no BME280.

Em seguida, conecte o BME ao Nodemcu:

BME VIN para 3,3V

BME GND para GND

SCL para D4

SDA para D3

Se desejar, pode colocar o Dispositivo em um invólucro, mas certifique-se de que alguns furos estejam no invólucro, para que os valores de umidade e temperatura estejam corretos.

Etapa 3: Código BME 280 Nodemcu ESP8266

Código BME 280 Nodemcu ESP8266
Código BME 280 Nodemcu ESP8266
Código BME 280 Nodemcu ESP8266
Código BME 280 Nodemcu ESP8266
Código BME 280 Nodemcu ESP8266
Código BME 280 Nodemcu ESP8266

Para o código, você pode usar meus repositórios github:

github.com/Landixus/BME280_TO_SERVER_WEEWX

O arquivo ino precisa de algumas inserções de você:

O endereço IP do seu servidor weewx ou URL

e a rota onde você tem o arquivo php, certifique-se de que a área é gravável.

eu escolho o dir public_html porque é um servidor doméstico.

se quiser clonar os repositórios git e ter o git instalado em seu servidor, você pode clonar com o comando:

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

Agora precisamos fazer algumas coisas em nosso servidor weewx.

Você precisa fazer os caminhos para suas configurações!

no

/ home / weewx / public_html

criar uma pasta de dados

na pasta de dados, crie um bme.txt, por exemplo com:

nano bme.txt

o arquivo deve estar vazio.

torná-lo gravável com:

chmod -R 777 bme.txt

(você nunca faz isso em um servidor acessível pela Internet!)

na pasta

/ home / weewx / public_html

você coloca o bme.php do meu repositório github.

O truque é que o arquivo INO envia valores para o bme.php e o bme.php grava os dados no bme.txt

Em seguida, precisamos adicionar o serviço em weewx

coloque o bme.py na pasta

/ home / weewx / bin / user

abra seu weewx.conf na pasta

/ home / weewx

é sempre bom ter um backup antes de editar este arquivo!

desça para a linha Motor e faça a linha parecida com a minha:

[Motor]

# Esta seção especifica os serviços que devem ser executados. Eles são

# agrupado por tipo e a ordem dos serviços em cada grupo

# determina a ordem em que os serviços serão executados.

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

reinicie o weewx com:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

com o comando

tail -f / var / log / syslog

você pode procurar no arquivo de log por erros ou sucesso, procure uma saída bme: found value of …

Dê ao seu servidor alguns minutos para gerar, em "meu" weewx.conf a cada 5 minutos vem uma saída.

Se você receber uma mensagem de erro, verifique seus caminhos.

Se você tiver valores, você pode ir para exibi-los na página da web:

abra skin.conf em

/ home / weewx / skins / Standard

vamos para:

# Este provavelmente é específico da minha estação! Add

extraTemp3 = Temperatura BME1extraHumid1 = Umidade BME1

salve o arquivo e abra na mesma pasta

index.html.tmpl

procure uma linha:

#if $ day.extraTemp..

#fim se

após o primeiro #end se você encontrar, coloque seu sensor BME com:

^^ desculpe, mas não é possível colocar isso como um texto:(Salve o arquivo e saia.

não há necessidade de reiniciar o weewx.

Agora você precisa alimentar o NODEMCU ESP8266 com o arquivo Arduino.

Não se esqueça de configurar seu wi-fi e endereços no arquivo.

Após o carregamento, verifique se há erros na saída serial.

Após um curto período, você deverá ver os valores em seu site weewx.

Etapa 4: Dispositivo de sensor BME280 de sucesso + solução de problemas

Dispositivo de sensor BME280 de sucesso + solução de problemas
Dispositivo de sensor BME280 de sucesso + solução de problemas
Dispositivo de sensor BME280 de sucesso + solução de problemas
Dispositivo de sensor BME280 de sucesso + solução de problemas

Algumas dicas para você:

Abra mais de 1 consoles via massa

em um console faça suas alterações e no outro console leia seu syslog ao vivo com:

tail -f / var / log / syslog

Se você tiver um erro, verifique primeiro o seu arquivo de log.

Sua saída deve ser semelhante à minha:

Etapa 5: configuração do hardware do sensor de solo

Configuração do Hardware do Soilsensor
Configuração do Hardware do Soilsensor
Configuração do Hardware do Soilsensor
Configuração do Hardware do Soilsensor
Configuração do Hardware do Soilsensor
Configuração do Hardware do Soilsensor

Para o Sensor DS18B20 precisamos fazer um sistema de barramento com alguns fios e solda.

Verifique seu DS18B20

DATA, GND, VCC

Entre VCC e DATA, você precisa de um resistor de 4.7K. É o suficiente se você tiver o resistor no primeiro DS18B20

Os outros DS18B20 são paralelos entre si.

Meça o comprimento de acordo com suas necessidades. Solde uma corrente, prendi os pinos com um tubo retrátil.

Para um TESTE, você conecta DATA a D3 e VCC a VCC (3,3V) e GND a GND.

Para a opção de sono profundo, você precisa conectar uma ponte entre RST e D0 (GPIO16)

Você não deve colocar a corrente no tubo de Alumínio agora, faça seus testes antes!

Etapa 6: Código DS18B20 Nodemcu ESP8266

Código DS18B20 Nodemcu ESP8266
Código DS18B20 Nodemcu ESP8266

Para o código, você pode usar meus repositórios GITHUB:

github.com/Landixus/multipleDS18B20WeeWX

Além disso, o arquivo ino precisa de algumas inserções de você: O endereço IP do seu servidor weewx ou URL e a rota onde você colocou o arquivo php, certifique-se de que a área é gravável, eu escolho o diretório public_html porque é um servidor doméstico.

Se você deseja clonar os repositórios git e ter o git instalado em seu servidor, você pode clonar com o comando git clone

Agora precisamos fazer algumas coisas para que tudo esteja funcionando em nosso servidor weewx.

Você precisa fazer os caminhos para suas configurações em

/ home / weewx / public_html

crie uma pasta "dados" na pasta de dados crie um ds18b20.txt por exemplo nano ds18b20.txt o txt deve estar vazio. torne-o gravável com chmod -R 777 ds18b20.txt (você nunca faz isso em um servidor acessível pela Internet!) Na pasta / home / weewx / public_html você coloca o ground.php do meu representante no github. O truque é que o arquivo INO envia valores para o ground.php e o ground.php escreve os dados em ds18b20.txt a seguir precisamos adicionar o serviço no weewx colocar o ds18b20.py na pasta / home / weewx / bin / do utilizador

abra seu weewx.conf na pasta / home / weewx

é sempre bom ter um backup antes de editar este arquivo!

desça para a linha:

[Motor]

# agrupado por tipo e a ordem dos serviços em cada grupo

# determina a ordem em que os serviços serão executados.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 adicione o inline após uma vírgula

"user.ds18b20.ds18b20" deve ser semelhante à linha superior ^^

reinicie o weewx com:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

com o comando tail -f / var / log / syslog você pode procurar no arquivo de log por erros ou sucesso, procurar uma saída ds18b20: valor encontrado de Dê ao seu servidor alguns minutos para gerar, no meu weewx.conf a cada 5 minutos sai por. Se você receber uma mensagem de erro, verifique seus caminhos. Se você tem valores, pode ir para mostrá-los na página: abrir

skin.conf em / home / weewx / skins / Standard vá para:

# Este provavelmente é específico da minha estação!

adicionar

soloTemp1 = DS18B201

soloTemp2 = DS18B202

soloTemp3 = DS18B203

salve o arquivo e abra na mesma pasta index.html.tmpl procure uma linha:

#if $ day.extraTemp..…

#fim se

após o primeiro #end se você achar que coloque seu Sensor GroundSensor com:

^^ desculpe, mas não é possível colocar isso como um texto: (salve o arquivo e saia. não há necessidade de reiniciar o weewx. Agora você precisa alimentar o NODEMCU ESP8266 com o arquivo Arduino.

Não se esqueça de configurar seu wi-fi e endereços no arquivo. Após o carregamento, verifique se há erros na saída serial.

Após um curto período, você deverá ver os valores em seu site weewx.

Etapa 7: Sensor de solo de sucesso e solução de problemas

Sucesso Soilsensor e solução de problemas
Sucesso Soilsensor e solução de problemas

Se você tem tudo funcionando e vê os valores, saia e coloque o tubo de alumínio no chão.

Uma boa maneira é colocar cola quente em um lado do cano e, em seguida, pressionar o cano um contra o outro, então você tem um bom topo para colocá-lo mais facilmente no solo.

Coloque primeiro o seu cachimbo no chão, você pode martelar macio com uma tábua de madeira.

Se o tubo for profundo o suficiente, você pode colocar sua corrente ds18b20 e os fios de alimentação na caixa à prova d'água.

Verifique se o seu wi-fi está funcionando neste lugar!

Se você não sabe qual é a profundidade do sensor, existem 2 possibilidades.

Na fase de teste coloco 1 ds18b20 entre o dedo, a temperatura sobe para este.

Quando o tubo já está no solo, normalmente o valor mais alto é o ponto mais profundo.

Etapa 8: Concluir

Terminar
Terminar

Apenas o fim

Poste suas perguntas e mostre seus temporários nos comentários!

Para obter mais ajuda, participe do weewx google Groups em:

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

Recomendado: