Índice:

Tweeting da estação meteorológica: 8 etapas (com fotos)
Tweeting da estação meteorológica: 8 etapas (com fotos)
Anonim
Tweeting estação meteorológica
Tweeting estação meteorológica

Sempre quis monitorar as condições climáticas atuais, a pegada de carbono, os níveis de ruído e de poluição da sua cidade? Você quer ser um Cruzado pelas Mudanças Climáticas ou configurar sua própria Estação Meteorológica Tweeting e compartilhar suas condições climáticas locais com o mundo?

Conheça a Tweeting Weather IoT Station, também conhecida como TWIST - uma plataforma de aquisição de dados meteorológicos e monitoramento ambiental de código-fonte aberto. O objetivo do TWIST é que os indivíduos e as comunidades possam coletar dados sobre o que está realmente acontecendo em seu ambiente e compartilhar esses dados nas redes sociais, como o Twitter.

  • TWIST é uma plataforma baseada na Internet das Coisas (IoT).
  • O cérebro do TWIST é uma placa Intel Edison.
  • O TWIST é compatível com uma variedade de sensores.
  • Todos os códigos, arquivos de design (esquemas e layout de PCB) são de código aberto. Isso significa que qualquer pessoa pode contribuir para a plataforma TWIST compartilhando código e esquemas para diferentes sensores.

O TWIST consiste em três camadas tecnológicas:

A primeira camada é uma placa de hardware que contém todos os sensores climáticos e ambientais conhecidos como 'Placa de sensor'. Como o nome sugere, ele carrega sensores que medem a composição do ar, temperatura, umidade, chuva. Sensores adicionais como atividade sísmica, índice UV, pressão barométrica, altitude, lux (luminosidade), níveis de som, velocidade e direção do vento, etc. também podem ser adicionados. Uma vez configurado, o Sensor Board é capaz de transmitir dados medidos pelos sensores para a segunda camada. A segunda camada é a Intel Edison Board que recebe dados da Sensor Board, os processa e envia para a próxima camada. A terceira camada conecta sua placa Edison à Internet por Wi-Fi usando o módulo sem fio na placa Edison e Tweet as condições climáticas e ambientais atuais.

A energia para o dispositivo pode ser fornecida por um painel solar ou um adaptador AC.

Repositórios controlados por versão

Todas as três camadas tecnológicas do TWIST são Open-Source e, portanto, todos os arquivos que usamos para código, desenvolvimento de PCB, design mecânico, etc, estão prontamente disponíveis em nosso repositório Github.

Inscrições no concurso

Intel IoT Invitational

Gostaria de agradecer a Intel + Instructables por me fornecer a placa Intel Edison. Estou pensando em fazer muito mais Instructables relacionados à IoT usando a placa Edison.

#iotweatherstn

Se você fizer TWIST, não se esqueça de twittar a previsão do tempo usando #iotweatherstn. #iotweatherstn pode ser uma hashtag usada por todas as estações meteorológicas tweetadas com IoT.

Etapa 1: peças e materiais

Peças e Materiais
Peças e Materiais
Peças e Materiais
Peças e Materiais
Peças e Materiais
Peças e Materiais

QuantityPartDetails 1

Intel Edison

com Arduino Breakout Board

1

MQ2 Sensor de Gás Combustível

1

YL-83

Sensor de chuva

1

SL-HS-220

Sensor de temperatura e umidade

1

Resistor

32K

4,7 K

3 Metal Standoff 1 polegada

1

Resistor

32K

4,7 K

2

Folha de madeira tamanho A4

Posteriormente pode ser cortado no tamanho

3

Standoff de metal

1 polegada

Etapa 2: Projeto elétrico

Poder

Todo o sistema é alimentado por uma fonte de alimentação 5V 1A. Os sensores (Temperatura, Umidade, Chuva, Gás) consomem aproximadamente 200 mA, o Edison em torno de 500 mA. Visto que a corrente total necessária é inferior a 1 ampere, uma fonte de 1 ampere deve funcionar bem. O LED verde embutido no pino digital 13 da placa Edison é usado para mostrar o status de energia.

ControlAn Intel Edison comanda o show para a TWIST. O Edison é montado em uma placa de breakout Arduino, o que facilita a leitura dos sinais digitais e analógicos dos sensores. O Edison é conectado ao trilho de 5 V por meio de um cabo micro USB. O Edison possui um rádio Wi-Fi integrado, que permite a conexão com o Twitter sem a necessidade de nenhum hardware adicional.

Relógio em tempo real (RTC)

Uma vez que a marcação de tempo realizada automaticamente pelo Twitter para cada tweet tem uma resolução limitada ao número total de dias desde a hora do tweeting, um relógio em tempo real é usado para registrar a data e hora com precisão na hora-minuto- Segundo formato. O relógio de tempo real usado na plataforma TWIST é o módulo DS-1307 RTC.

SensoresA configuração mais básica deste sistema tem quatro sensores (Temperatura, Umidade, Chuva, Gás) que se conectam ao Edison. Sensores adicionais podem ser adicionados, como ruído, vento, etc. Cada sensor é alimentado diretamente do trilho 5V e tem seu pino de sinal conectado respectivamente aos pinos analógicos A0 a A2 e pino digital 2 na placa breakout Edison. Cada um dos sensores também possui um potenciômetro de ajuste de sensibilidade montado em cada placa do sensor; O MQ-2 é um sensor de gás combustível (gás liquefeito de petróleo, propano, hidrogênio e metano) que emite uma tensão analógica proporcional à concentração de gases em partes por milhão. O SL-HS-220 possui um termistor que fornece o valor da temperatura. Como a saída do termistor não é linear, a tabela de temperatura correspondente é fornecida no repositório do sensor. O termistor requer um circuito divisor de tensão quando conectado à placa Edison, conforme mostrado no diagrama do circuito. O SL-HS-220 também possui um higrômetro embutido que mede a umidade e emite uma tensão analógica que corresponde a um valor de umidade fixo. A tabela de umidade-tensão também é fornecida no repositório de sensores. Um substituto comum para o SL-HS-220 é o sensor DHT11. O sensor de chuva / sensor de água possui um potenciômetro que é ajustado para dar uma saída digital para uma determinada quantidade de chuva cuja sensibilidade pode ser ajustada pelo usuário.

Weather Station.fzz

Etapa 3: Projeto Mecânico

O corpo do TWIST é feito de duas placas de madeira. Embora eu tenha usado compensado de 1/4 ", o design pode ser montado com qualquer material em folha, pois o espaçamento (mantido por suportes de alumínio de 1") é o único elemento crítico. Anexei os arquivos vetoriais para download acima.

Corte a laser

Para todos aqueles que desejam cortar as duas placas a laser, anexei os arquivos do cortador a laser para download abaixo. Ele também inclui um sensor adicional de qualidade do ar em seu design. Portanto, você pode usar um módulo de sensor MQ2 ou um módulo de sensor de qualidade do ar, dependendo de sua escolha.

Etapa 4: Montagem da estrutura: Face e base

Faceplate

Os sensores se encaixam em seus orifícios e recortes correspondentes e podem ser fixados com parafusos ou cola.

Placa de Base

Os espaçadores da placa Edison são aparafusados na placa de base. O conversor analógico-digital (ADC) que está conectado ao sensor de chuva também pode ser aparafusado na placa de base.

Componentes adicionais como campainhas ou o circuito regulador de tensão para a entrada solar também podem ser aparafusados na placa de base.

A placa de base e a placa frontal são separados por espaçadores de 1.

Etapa 5: Eletrônica e montagem do sensor

Poder

A energia para o sistema é fornecida por um adaptador de parede com uma tomada cilíndrica padrão que é conectada diretamente ao conector Barrel Edison. O sistema também pode ser alimentado pela porta USB na placa Edison. Você também pode alimentar a placa a partir de um painel solar externo.

Sensores

Os sensores são presos a placas de breakout com conectores machos e, portanto, podem ser conectados diretamente ao Edison por meio de fios de jumper macho-fêmea.

Etapa 6: configuração do Twitter

Para twittar, estamos usando um aplicativo de terceiros desenvolvido pela NeoCat que obtém o token do Twitter de que você precisará para twittar com sua placa Edison. Os tokens também podem ser obtidos na página de desenvolvedores do Twitter.

Então, para começar, visite o site do NeoCat, siga seu tutorial para obter a biblioteca do Twitter e seu token do Twitter. Como a NeoCat mencionou em seu site, por favor, não abuse do serviço. Mantenha seus tweets esparsos. Se você precisa de algo que tweeta a cada 6 segundos, deve configurar seu próprio servidor e aplicativo de Twitter e, portanto, o código que escrevi garante que o servidor do NeoCat não sobrecarregue (twitta TWIST a cada 6 horas).

A biblioteca usa o site deste NeoCat como um servidor proxy para coisas OAuth. Seu tweet não pode ser aplicado durante a manutenção deste site da NeoCat. O Twitter parece rejeitar tweets repetidos com o mesmo conteúdo (retorna o erro 403).

Token do Twitter

Arduino Tweet Library

Etapa 7: Software e configuração

Siga o guia de configuração da Intel para o Intel Edsion antes de começar a codificar.

O programa é um esboço do Arduino rodando no Edison. Eu expliquei cada um dos principais blocos de código abaixo.

O código inclui algumas constantes predefinidas, declarações de pinos e algumas instruções de impressão serial que ajudam na solução de problemas.

Atraso do Tweet

Como o Twitter filtra os tweets que têm o mesmo conteúdo e são tweetados em curtos períodos de tempo entre cada um deles, foi definido um atraso padrão de 3 horas (10800000 milisegundos) entre cada tweet.

tweetMessage ();

atraso (10800000);

Fundição de Tipo

Muitas das leituras que obtemos dos sensores estão no tipo de dados 'int' ou 'float'. Mas como estamos tweetando esses valores, precisamos convertê-los em um tipo de dados 'String'. Para isso, usamos uma técnica especial de fundição de tipo.

char * dtostrf (double val,igned char width, unsigned char prec, char * sout) {

char fmt [100]; sprintf (fmt, "%%% d.% df", largura, prec); sprintf (sout, fmt, val); retorno sout; }

Token do Twitter

O token do Twitter é criado no site da NeoCat e deve ser colado no espaço do token aqui.

void tweetMessage () {

Twitter twitter ("ENTRE O TOKEN DO TWITTER AQUI");

Tweeting Sensor Values

Para tweetar o valor do sensor, primeiro incluímos o tipo de sensor; Exemplo: "Umidade". Isso é seguido por uma declaração de caractere e uma linha de código necessária para a conversão de tipos. Em seguida, adicionamos uma declaração para a unidade de medida; Exemplo: "% RH". Podemos continuar adicionando valores de outros sensores também de maneira semelhante.

umidade(); flutuar úmido;

// Mensagem do Twitter String stringMsg = "Umidade:"; char tmp [10]; dtostrf (úmido, 1, 2, tmp); stringMsg + = tmp; stringMsg + = "% RH";

Localização e marcação da estação meteorológica

Em seguida, marcamos o local (cidade, localidade, etc) e outras marcas como #iotweatherstn.

stringMsg + = "#Mumbai #Bandra #iotweatherstn";

Relógio em tempo real (RTC)

Conforme explicado anteriormente, o TWIST também pode tweetar os dados do relógio em tempo real. Abaixo está um exemplo do bloco de código do parâmetro 'dia' do RTC. O recurso Real Time Clock é opcional na plataforma TWIST, pois o módulo vem separadamente. Portanto, há uma ramificação separada criada no repositório TWIST para o código e os esquemas da ramificação Real Time Clock.

TwistDateTime (); DateTime now = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; char ds1307day [10]; dtostrf (twistday, 1, 0ds1307day); stringMsg + = ds1307day; stringMsg + = "/";

Limite de 140 caracteres

Este bloco de código cobre a matriz de string em uma matriz de 140 caracteres pronta para tweetar.

char msg [140];

stringMsg.toCharArray (msg, 140);

Solução de problemas de mensagem e conexão

Este bloco de código imprime algumas linhas de texto no Monitor Serial para ajudar o usuário a verificar a mensagem e o status do tweet.

// Tweet aquele otário!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("OK."); Serial.println ("Mensagem tweetada"); } else {// Teste de conexão Serial.print ("falhou: código"); Serial.println ("Mensagem não tweetada"); Serial.println (status); }} else {Serial.println ("conexão falhou."); Serial.println ("Mensagem não tweetada"); }

Todos os outros blocos de código simplesmente convertem a leitura analógica ou digital dos sensores em dados utilizáveis.

O código pode ser baixado daqui ou do repositório principal:

Weather Station.ino

Etapa 8: Contribuindo para o Repositório de Sensores

Você é um programador, engenheiro ou designer que tem uma ótima ideia para um novo recurso no TWIST? Talvez você tenha uma boa ideia para corrigir um bug? Sinta-se à vontade para pegar nosso código, esquemas e arquivos CAD do Github e mexer com eles.

TWIST GitHub

Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational

Segundo prêmio no Intel® IoT Invitational

Recomendado: