» Eletrônicos » Arduino »Cliente para openweathermap.org baseado no Wemos d1 mini

Cliente para openweathermap.org baseado no Wemos d1 mini


A ideia é emprestada do projeto. ESP8266 Weather Display.

Eu decidi trazer isso à mente.
As seguintes tarefas foram definidas:
  1. Atualizar código relacionado ao uso nova versão bibliotecas ArduinoJson.h.
  2. Reescreva o código usando a função millis () em vez da função delay (). É claro que, usando o atraso para definir uma pausa entre as informações alteradas no visor, é impossível implementar controles de botão;
  3. Fazer baixar esboços via Wifi;
  4. Afaste-se do volumoso Wemos D1 R2 no Wemos D1 mini;
  5. Sempre que possível Exibição Russify;
  6. Use uma caixa pronta com orifícios para botões para dispositivos baseados no LCD1602;
  7. Use os botões 6x6 padrão soldados na placa de ensaio. Adicione botões de controle de luz de fundo, um botão de carrossel para alterar os dados exibidos e um botão para forçar atualizações de dados do servidor.


Os seguintes componentes foram usados:
  1. O estojo é feito de plástico ABS com um conjunto de capas para os botões;
  2. Suporte de nylon 6 + 5 mm macho M3 preto, 4 peças;
  3. Porcas de nylon M3 pretas, 4 peças;
  4. Espigões de nylon 6 + 5 mm macho M2 branco, 3 peças;
  5. Suporte de nylon 6 mm branco mãe, 1 pc;
  6. Suporte de nylon 8 mm branco mãe, 1 pc;
  7. Prateleiras de nylon 10mm branco mãe, 2 peças;
  8. LCD 1602 (I2C), amarelo;
  9. Wemos d1 mini;
  10. Wemos d1 Blindagem de energia DC;
  11. Tábua de pão 3x7;
  12. Botões 6x6, altura 7 mm, 3pcs;
  13. Dupont fios 10cm mãe-mãe, 4 peças;
  14. 24 AWG fios preto e vermelho;
  15. Fios de silicone 20 AWG azul e branco;
  16. Resistores 5 kOhm - 2 peças, 10 kOhm - 1 peça (que veio à mão);
  17. Adaptador de energia 9V 1A;
  18. Adesivo epóxi bicomponente.


O caso usado tem várias vantagens. Em primeiro lugar, além da tela, a tábua de pão de desacoplamento padrão 3x7 padrão, com componentes instalados nos dois lados, se encaixa perfeitamente na altura. Em segundo lugar, nas duas extremidades, possui aberturas retangulares para resfriamento. Verificou-se que os jumpers entre esses orifícios são perfeitamente cortados por mini-limas de 3 e 4 mm. Se você cortar alguns jumpers e fizer um pequeno orifício retangular no gabinete, o conector de força DC-005 entrará perfeitamente no orifício formado por geometria complexa. Além disso, a parte de trás deste gabinete possui um grande buraco quadrado, que aparentemente deveria instalar baterias.Através dele, é conveniente conectar algo dentro sem desmontar o gabinete. Posteriormente, pode simplesmente ser fechado com vidro ou plástico.

Progresso da construção:
Primeiro, um protótipo foi feito em uma tábua de pão.

Em seguida, o caso é finalizado com um arquivo.

Depois disso, os principais componentes são soldados e o encaixe é realizado. As pernas foram especialmente dobradas para que as articulações destacáveis ​​se ajustassem à altura. Um par de racks de nylon teve que ser arquivado para que todos os botões estivessem na mesma altura.




Como resultado, a parte frontal da placa com botões, resistores e fios é a seguinte:

Como resultado, a parte interna do dispositivo fica assim:

Quando montado, o dispositivo fica assim:





Superando dificuldades:
  1. Durante muito tempo, não entendi por que os botões não funcionavam, embora o multímetro mostrasse claramente 0 quando os botões foram pressionados e 4,6 - 5,0 V quando pressionados (dependendo da fonte de alimentação). Verificou-se que nos dispositivos Wemos / Lolin é necessário indicar números GPIO como números de pinos no esboço. Por exemplo, D5 é GPIO14. Então este é o 14º pino.
    const int buttonPin = 14;

  2. Para mostrar o clima, a condição é necessária:
    currentMillis - previousMillis == weatherTime

    Correspondência estrita, porque deve ser feita uma vez.
    Para fazer uma solicitação ao servidor, a condição é necessária:
    currentMillis - previousMillis> = getDataTime

    Fraca conformidade, porque é executada até que o sinalizador "dados recebidos" seja definido.
    De fato, isso não é óbvio e, para entender isso, levou muito tempo.
  3. Eu também tive que me atormentar com a resposta do servidor:
    String weather = root ["weather"] [0] ["main"];
    Descrição da string = root ["weather"] [0] ["description"];

    Zero era completamente óbvio. Acontece que existem duas estações meteorológicas em Moscou, e a segunda nem sempre funciona (para receber dados dela, você deve especificar [1] se estiver ativo).

O repositório com código e bibliotecas está localizado aqui.
5.5
8.5
10

Adicionar um comentário

    • sorrirsorrisosxaxaoknão seiyahoonea
      chefearranhartolosimsim simagressivosegredo
      desculpedançardance2dance3perdãoajudabebidas
      pararamigosbomgoodgoodapitodesmaiarlíngua
      fumaçapalmascraydeclararirônicodon-t_mentionbaixar
      calorirritantelaugh1mdareuniãomoskingnegativo
      not_ipipocapunirlerassustarsustospesquisar
      provocarthank_youistoto_clueumnikagudoconcordar
      malbeeeblack_eyeblum3corargabar-setédio
      censuradobrincadeirasecret2ameaçarvitóriayusun_bespectacled
      sacudirrespektlolpreviubem vindoKrutoyya_za
      ya_dobryiajudantene_huliganne_othodifludproibirfechar
7 comentários
ino53, é surpreendente que nos encontremos à revelia, lendo um artigo não sobre amplificadores e pressão arterial. Embora não seja surpreendente. E cerca de um ano, adivinhei por um longo tempo. Tenho 67 anos, mas esse não é o ponto.
Obrigado, vou saber sobre uma coisa boa.
Gente, meu apelido é as iniciais e o ano de nascimento, 1953. Tenho 42 anos de experiência em engenharia no meu registro de trabalho, não sei sobre amador - pai (não Lukashenko, não temos ciganos), disse que comecei a pegar o ferro de soldar antes de conversar. Não entendi nada escrito, mas este é um passo adiante, bem feito.
O autor
Eu faço isso No nabo http: //arduino.esp8266.com / stable / package_esp8266com_index.json possui suporte para essas placas.
E você pode programar usando um Arduino IDE?
O autor
Bem, eu pedi pessoalmente duas placas Wemos D1 R2 v2.1.0 há um ano (elas funcionam com o driver cp210x). E dois Wemos d1 mini meio ano atrás. Um dos D1 R2 veio com um resistor caído de um circuito de alimentação de 12 volts. Bem, olhei para o circuito, encontrei um resistor, soldado, funcionou. Caso contrário, ainda não notei nenhum problema. Em termos de popularidade, é aproximadamente como o NodeMCU, é estranho que eles não tenham ouvido.
Aprendi sobre o Wemos com seu artigo, o preço e os recursos são atraentes, mas e a durabilidade?

Aconselhamos que você leia:

Entregue-o para o smartphone ...