Você pode encontrar excelentes analistas de febre do feno online que se baseiam em fatores como temperatura, vento e precipitação. No entanto, esses radares polínicos não levam em consideração as espécies de plantas, ao passo que uma alergia freqüentemente ocorre em espécies específicas. Nós construímos um alarme de pólen que só avisa sobre pólen das plantas escolhidas em uma determinada quantidade.
Lista de compras
Por exemplo em Martoparts.nl
1 módulo NodeMCU (€ 10)
Por exemplo em Conrad.nl
1 alívio de tensão M10 (€ 1, -)
1 PCB 80 × 50 mm (€ 3,30)
1 Caixa de plástico 85 × 56 × 39 mm (€ 4,25)
1 terminal de parafuso de 2 pólos (€ 0,20)
1 adaptador de rede 5 V, 1 A (€ 6, -)
1 LED vermelho (€ 0,10)
1 LED verde (€ 0,10)
2 resistores de 100 ohms (€ 0,10)
Outros suprimentos: ferro de solda e lata de solda, alicate, chave de fenda, furadeira, lima, supercola, cabo monopolar (30 cm), multímetro (opcional).
Custos totais: aproximadamente € 24,75
Durante o "inverno" passado, muitos pacientes com febre do feno já apresentavam queixas. Quem é alérgico ao pólen do amieiro ou da avelã o experimentou sem precedentes no início deste ano e parece que teremos que nos acostumar com as plantas, árvores e gramíneas que florescem o ano todo. Felizmente, a maioria das pessoas que sofrem de alergia ao pólen só se revezam durante o período de florescimento de uma cepa específica. Um alarme de pólen, portanto, só faz sentido se levar isso em consideração.
É claro que começa com dados confiáveis obtidos a partir da detecção de pólen. Nossa fonte é o Leiden University Medical Center, cujo Departamento de Doenças Pulmonares analisa amostras de ar semanalmente. Isso é artesanato tradicional: as amostras de ar consistem em sete tiras de fita adesiva (uma para cada dia da semana) que são examinadas ao microscópio! Os resultados da contagem semanal são publicados no site do LUMC.
Claro, essa contagem é específica do local e a quantidade de grãos de pólen detectada em Leiden pode diferir muito daquela em Limburg, apenas para citar alguns. No entanto, dá uma boa indicação e experimentando as quantidades, os dados também podem ser usados para outros locais. Usamos os números da tabela para determinar se uma planta excede um determinado padrão. Nesse caso, um LED vermelho acende e um aviso é enviado por e-mail. Se o valor cair abaixo do padrão novamente, o LED vermelho apaga e um e-mail segue com a mensagem de que o aviso foi retirado.
Hardware
Em termos de hardware e habitação, este projeto prima pela simplicidade. É necessário um adaptador de rede, uma caixa compacta e um alívio de tensão, um módulo NodeMCU, dois LEDs, dois resistores e uma placa de circuito para soldar tudo. Este é, portanto, um circuito muito adequado para aqueles que estão apenas começando a soldar.
O LED verde indica que o sistema está operacional e capaz de recuperar os dados da fonte; o LED vermelho acende quando o padrão de pólen definido para as plantas selecionadas é excedido. O circuito é alimentado por um adaptador de força simples de 5 volts, pelo menos 1 amp. Também pode ser um com uma conexão USB, nesse caso, você ainda precisa de um cabo USB adequado. O todo está alojado em uma caixa de plástico compacta, para a qual você também pode fazer ou reutilizar algo por conta própria. Finalmente, o alívio de tensão evita que o cabo de alimentação seja puxado no caso de uma força não intencional ser aplicada a ele.
Instale o ambiente de desenvolvimento
O módulo ESP é mais fácil de programar usando o ambiente de desenvolvimento Arduino (IDE). Você pode baixar isso aqui. Uma vez que este IDE não se destina principalmente a este módulo, você precisará instalar alguns componentes adicionais necessários. Clique em Arquivo / Preferências e entrar na aba Instituições Abelha URLs adicionais de gerenciamento de placa o url //arduino.esp8266.com/stable/package_esp8266com_index.json no. Escolha agora Ferramentas / Conselho: / Gerenciamento do Conselho ... e digite esp. Agora preste atenção: instale a versão 2.4.2 para a versão mail do programa, devido à incompatibilidade da biblioteca sendemail.h com versões mais recentes. Para a versão sem correio, escolha a versão mais recente.
Selecione o módulo via Ferramentas / Placa / NodeMCU 1.0 (Módulo ESP-12E). Conecte o módulo ESP via cabo USB e selecione a porta correta no Arduino IDE (Ferramentas / Porta, escolha a porta de comunicação com o número mais alto). Se tudo correr bem, sua configuração está pronta para iniciar a programação.
Mudar o código
Você pode baixar o programa pronto aqui. Existem até duas variantes: para aqueles que estão satisfeitos com o LED de aviso e não acham necessário receber um e-mail, está disponível uma versão simplificada. Isso evita o trabalho de criar uma conta em um provedor de e-mail. Baixe o arquivo pollen.zip e extraia-o para qualquer pasta. Abra o arquivo pollen.ino para a versão sem correio, ou pollenmail.ino para a versão com função mail (clicando duas vezes no arquivo, ele abre automaticamente no IDE do Arduino, veja também o box 'Instalar ambiente de desenvolvimento'). A explicação abaixo é baseada na variante do mail, já que logicamente essa é a versão que mais tem a contar.
Completar ssid e senha Digite o nome da rede sem fio e a senha, respectivamente. Abra //sec.lumc.nl/pollenwebextern em um navegador e determine os números de linha das plantas que deseja monitorar. A primeira linha dos nomes das colunas não conta, então a Hazel é a linha 1, o Amieiro é a linha 2 e assim por diante. O código de amostra lista os valores para as plantas mais notórias. É mais conveniente substituí-los pelas espécies que você deseja observar. Preencha o código Flora[] insira os números das linhas correspondentes da tabela, separados por vírgulas e em limiar[] o valor de cada planta. Determinar isso é uma questão de experimentação: em 0, cada grão de pólen de uma determinada planta resulta em um alarme e em 100 há um limite significativo. Se você é altamente alérgico ao pólen de amieiro e em menor grau ao pólen de bétula, Flora[] os valores {2, 8} e com limiar[] por exemplo os valores {0, 20}. Certifique-se de que o número de números em ambas as linhas seja o mesmo.
Baixe um dos dois programas prontos de pcmweb.nlConfigurar conta de e-mail
Você precisa de um servidor de e-mail para enviar e-mails. Você pode instalá-lo no módulo, mas quase certamente terá problemas com ele. Os filtros de spam não confiam em e-mails de fontes desconhecidas e as mensagens enviadas diretamente do módulo não chegarão à maioria dos destinatários. Esse problema pode ser contornado usando um provedor (gratuito), como o Mailjet.
Vá para www.mailjet.com e crie uma nova conta clicando em Cadastre-se gratuitamente. Para usar sua nova conta, você deve confirmar seu endereço de e-mail clicando no botão ou no link no e-mail de confirmação.
Faça login no Mailjet e clique no topo Transacional / SMTP. abaixo Credenciais você vê nome do usuário e senha, ambos são necessários em seu programa. Copie a string em Usuário em server_login ao invés de NOME DO USUÁRIO (entre as aspas duplas). A corda sob senha junta-se à linha Senha do servidor ao invés de SENHA. O servidor smtp (inv3.mailjet.com) e o número da porta (587) já estão preenchidos. Preencha o lugar de [email protected] Digite o endereço de e-mail que você usa para sua conta Mailjet.
Você também pode enviar e-mail pelo Gmail. Para usar o servidor smtp, você precisará diminuir a segurança da conta. Clique no ícone da sua conta e depois Gerencie sua conta / segurança do Google e trocar Acesso por aplicativos menos seguros no. No programa, você usa seu próprio endereço de remetente e a senha correspondente, smtp.gmail.com Abelha server_host e portão 465 Abelha porta do servidor.
Código de explicação
O código começa incorporando duas bibliotecas: ESP8266WiFi.h e sendemail.h. O primeiro lida com a conexão à rede sem fio e lida com o tráfego da web. Graças a este programa, o módulo pode ser conectado à rede com algumas linhas de código e utilizado como cliente web. A segunda biblioteca controla a conexão com o servidor de e-mail, permitindo que o programa envie mensagens.
Declaramos algumas constantes e variáveis, as mais importantes das quais já foram discutidas nos parágrafos anteriores. No processamento de dados, os LEDs são desligados e o módulo se conecta ao WiFi. Se for bem-sucedido, o LED verde acenderá.
Processando os dados
A função obter informação() é o coração do programa. É aqui que a página da web que contém a tabela é recuperada e analisada. A variável alarme de pólen obtém o valor falso e eu obtém o valor 0. Enquanto o alarme de pólen for falso, a página da web será lida linha por linha, verificando se há string de cada vez pólen total ocorre nele. Essa é a última coluna da tabela, que lista todos os grãos de pólen de uma planta que foram contados na semana anterior. Variável eu é incrementado em um e agora tem o valor 1. Este loop atravessa as linhas da tabela. Variável j é declarado e obtém valor 0. Isso é parte de um segundo loop que extrai todos os elementos de Flora[] e limiar[] ser encerrado.
Agora, os elementos da linha Flora[] um por um em comparação com eu para determinar quais plantas estão envolvidas. Além disso, flora [0] para o primeiro elemento na linha, então se houver 1 (Hazel na tabela) todas as condições são atendidas neste exemplo. Em seguida, é lida a próxima linha, que contém os números. A função toInt () serve para filtrar espaços e outras porcarias, deixando apenas um inteiro para ser atribuído à variável pólen. Se esse número for maior que o valor correspondente na linha limiar[] (neste caso, o primeiro valor da linha), o alarme de pólen torna-se verdadeiro e a função para. Se não então j aumentado em um e os seguintes elementos são eliminados Flora[] e limiar[] comparado com eu até que não haja mais elementos. Então. Se torna eu incrementado em um e as linhas seguintes são lidas da tabela. Uma vez que toda a tabela tenha sido processada, os dados variáveis internos receberão o status verdadeiro e o LED verde acenderá.
Alerta ou não?
As características alarme() e noalarm () servem apenas para enviar e-mails, o primeiro faz isso com um novo alarme. A função email.send () dá um valor verdade retorna se o envio foi bem sucedido e um valor falso se algo der errado. A construção usa testes para isso e retorna a variável alarme enviado o Estado verdade. Quando o alarme é liberado, a função noalarm () executado da mesma maneira. Se for executado com sucesso, alarme enviado o Estado falso. Como resultado, um e-mail só será enviado se o status mudar, independentemente da frequência com que esta função é executada.
Dê uma olhada a cada hora
Depois de correr obter informação() esta função olha para as variáveis alarme de pólen, datain e alarme enviado. Se os dois primeiros forem verdadeiros, há um alarme. O LED vermelho acenderá e, caso ainda não o tenha feito, será enviado um e-mail de alarme. Isso é seguido por um intervalo de uma hora. Tem datain O valor que verdade e o pólen alarma o valor falso, então não há alarme e o LED vermelho apaga. Tem alarme enviado O valor que verdade (um e-mail de alarme foi enviado), então um e-mail seguirá sobre o cancelamento do alarme e você receberá alarme enviado o Estado falso. Há também um intervalo de uma hora. Tem datain o Estado falso, então algo deu errado ao recuperar os dados. O LED verde apaga para indicar que o sistema (temporariamente) não está funcionando e há uma pausa de uma hora, após a qual andar() reiniciar.
Faça upload e teste de software
Se o arquivo pollen_mail.ino personalizado no ambiente de desenvolvimento Arduino e o módulo NodeMCU conectado, o upload pode começar. Para testar se funciona, você pode adicionar temporariamente uma planta (ou árvore) que certamente tem pólen na mesa naquele momento. Abra o monitor serial com Ctrl + Shift + M e carregue o programa com Ctrl + U.
Após a conclusão do upload, você deve ver como o módulo se conecta primeiro à rede sem fio e, em seguida, ao servidor web. Em seguida, segue a primeira planta, o valor limite aplicável e o valor medido. Em seguida, os valores para as seguintes plantas. Se um dos valores medidos exceder o limite definido para aquela planta, a mensagem. Alerta de pólen!, seguido pela Correio com alerta de pólen enviado. Se todos os valores permanecerem abaixo dos limites definidos, você só verá Sem alarme de pólen. Está tudo funcionando até agora? Então você pode desconectar o módulo.
Para testar você pode adicionar temporariamente uma planta cujo pólen está na tabelaPreparação
Primeiro, faça três furos na caixa: dois de 5 milímetros para os LEDs e um de 10 milímetros para o alívio de tensão. Menor também é possível, com uma lima que você pode fazer o furo no tamanho certo. Instale o alívio de tensão e verifique se os LEDs se encaixam. Cole-os na caixa com supercola. Solde também os fios aos LEDs, para que você possa soldá-los à placa de circuito impresso mais tarde.
Construindo o circuito
Conforme observado, o hardware deste projeto é limitado. O módulo NodeMCU, os dois resistores e o terminal de parafuso vêm no PCB. Comece perfurando orifícios de 5 milímetros nos cantos da placa de circuito para que eles se encaixem nos orifícios dos parafusos da caixa.
Colocando os componentes de maneira inteligente, eles podem ser interconectados com solda. Lembre-se de que (dependendo das pistas na placa de circuito) o módulo pode sentar-se transversalmente na caixa e há pouca margem! Portanto, primeiro coloque o módulo na placa de circuito e veja se ele se encaixa na caixa antes de continuar. Em seguida, fixe o módulo dobrando os pinos em cada canto um pouco para fora na parte inferior, por exemplo, com a extremidade plana de uma chave de fenda. Em seguida, coloque os resistores perto dos pinos D5 e D6 e, finalmente, o terminal de parafuso do outro lado do módulo. No exemplo, ele possui quatro conexões, mas apenas duas são necessárias. Os resistores e o terminal de parafuso também ficam no lugar melhor se você dobrar um pouco as pernas. Agora corte todas as pernas (incluindo as do módulo) em um comprimento de cerca de dois milímetros com alicate de corte e solde as peças e os pinos a serem conectados. Solde também os quatro pinos de canto do módulo, dos quais apenas um está conectado ao terminal de parafuso pelo caminho. Para dicas sobre soldagem, consulte este guia completo.
Conectar
O acabamento ficou mais fácil do que nunca, porque graças à caixa pronta, tudo já está no lugar. Resta conectar o adaptador de rede e os LEDs. Para começar, corte o plugue redondo do cabo. Se você estiver usando um adaptador de alimentação USB, corte o conector micro-USB do cabo USB. Descasque os fios individuais em um comprimento de cerca de meio centímetro e estanhe as pontas. Se você tiver um multímetro, pode verificar a polaridade (mais e menos) das conexões. Se você não tiver um, pode ver se há uma impressão em (um dos) fios. Outra possibilidade é conectar um LED com resistor de 220 ohms em uma das pernas. Conecte um dos fios do adaptador ao resistor e o outro fio à perna livre do LED. O fio conectado à perna longa do LED é o ponto positivo. Marque este tópico. Insira as extremidades estanhado através do alívio de tensão do lado de fora e prenda-as no terminal de parafuso no PCB, com o fio positivo ligado FIN vem e o quadro mental GND.
Por fim, conecte os LEDs com pedaços de arame, cujas pontas você tinge. Conecte os cátodos (pernas curtas) de ambos os LEDs para GND, conecte o ânodo (perna longa) do LED verde ao resistor no pino D5 e o ânodo do led vermelho no resistor em D6.
Comissionamento
O circuito e o programa já foram testados, portanto o adaptador pode ser conectado na tomada da parede. Não há monitor serial agora, então você não vê nada acontecendo inicialmente. O LED verde deve acender em alguns segundos. Se isso não acontecer depois de um minuto, provavelmente há um problema com o Wi-Fi e você precisará mover o circuito para mais perto de um ponto de acesso.
Se o padrão de pólen especificado no código for excedido, o LED vermelho também acenderá e você receberá o e-mail de aviso. Embora o programa recupere os dados a cada hora, é bom perceber que, por enquanto, eles são atualizados apenas uma vez por semana (terça-feira à tarde) pelo LUMC. O status permanece o mesmo nos outros dias, infelizmente isso não é diferente. Só por esse motivo, certamente é recomendável não deixar o limite muito alto, para que você receba um aviso em tempo útil.
Vamos torcer por um ano sem pólen com poucos e-mails!