Índice:
- Etapa 1: O que você precisa …
- Etapa 2: Comece com a configuração do hardware do sensor BME 280
- Etapa 3: Código BME 280 Nodemcu ESP8266
- Etapa 4: Dispositivo de sensor BME280 de sucesso + solução de problemas
- Etapa 5: configuração do hardware do sensor de solo
- Etapa 6: Código DS18B20 Nodemcu ESP8266
- Etapa 7: Sensor de solo de sucesso e solução de problemas
- Etapa 8: Concluir
Vídeo: Sensores de extensão Nodemcu ESP8266 para Weewx: 8 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
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 …
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
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
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
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
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
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
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
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:
Usando a Extensão do Baú de Hope para Encontrar o Trabalho de Ordenança do Templo Incompleto em Sua Árvore Familiar na Pesquisa Familiar: 11 Passos
Usando a Extensão do Baú de Hope para Encontrar o Trabalho de Ordenança do Templo Incompleto em Sua Árvore Familiar no Family Search: O objetivo deste manual é demonstrar como pesquisar em sua árvore genealógica no Family Search por antepassados com ordenanças do templo incompletas usando a extensão do Hope's Chest. Usar o Baú da Esperança pode acelerar muito sua busca por incomp
Placa de extensão RaspberryPi 3/4 para adicionar recursos extras ao Raspberry Pi: 15 etapas (com imagens)
Placa de extensão RaspberryPi 3/4 para adicionar recursos extras ao Raspberry Pi: sabemos que raspberry pi 3/4 não vem com ADC (conversor analógico para digital) e RTC (relógio em tempo real) embutidos, então eu projetei um PCB que contém 16 canal 12bit ADC, RTC, módulo SIM7600 4G, botões, relés, saída de alimentação USB, saída de 5 V, alimentação de 12 V
Extensão para qualquer software de DJ que você quiser !: 6 etapas
Extensão para qualquer software de DJ que você quiser !: Nem todo mundo pode simplesmente pular para o primeiro dia de DJ e esperar ter todos os mixers, toca-discos e hot cues pad prontos no primeiro dia, mas sejamos realistas aqui: mixar em um laptop é uma merda. É para isso que serve, para resolver todas as suas preocupações financeiras com
Extensão sensorial Cat Whisker Vestível (2.0): 6 etapas (com imagens)
Cat Whisker Sensory Extension Wearable (2.0): Este projeto é uma continuação e reimaginação do " Whisker Sensory Extension Wearable " do meu ex-colega (metaterra). O objetivo deste projeto era focar na criação de novas "extensões sensoriais" enriquecidas computacionalmente que
Mod 3.3 V para Sensores Ultrassônicos (prepare HC-SR04 para 3.3 V Logic em ESP32 / ESP8266, Particle Photon, Etc.): 4 etapas
3.3 V Mod para Sensores Ultrassônicos (prepare HC-SR04 para 3.3 V Logic em ESP32 / ESP8266, Particle Photon, Etc.): TL; DR: No sensor, corte o traço para o pino Echo, em seguida, reconecte-o usando um divisor de tensão (rastreamento de eco - > 2,7kΩ - > pino de eco - > 4,7kΩ - > GND) .Editar: Houve algum debate sobre se o ESP8266 é realmente tolerante a 5 V no GPIO em