» Electrónica » Arduino »Cliente para openweathermap.org basado en Wemos d1 mini

Cliente para openweathermap.org basado en Wemos d1 mini


La idea está tomada del proyecto. Pantalla meteorológica ESP8266.

Decidí traerlo a mi mente.
Se establecieron las siguientes tareas:
  1. Actualizar código relacionado con el uso nueva versión bibliotecas ArduinoJson.h.
  2. Reescribe el código usando la función millis () en lugar de la función delay (). Está claro que, usando el retraso para establecer una pausa entre el cambio de información en la pantalla, es imposible implementar controles de botón;
  3. Hacer descargar bocetos a través de Wifi;
  4. Aléjese del voluminoso Wemos D1 R2 en el Wemos D1 mini;
  5. Siempre que sea posible Pantalla de Russify;
  6. Use una caja lista para usar con agujeros para botones para dispositivos basados ​​en LCD1602;
  7. Use botones estándar de 6x6 soldados a la placa de pruebas. Agregue botones de control de retroiluminación, un botón de carrusel para cambiar los datos mostrados y un botón para forzar actualizaciones de datos desde el servidor.


Se utilizaron los siguientes componentes:
  1. La caja está hecha de plástico ABS con un juego de tapas para los botones;
  2. Puntales de nylon 6 + 5 mm macho M3 negro, 4 piezas;
  3. Tuercas de nylon M3 negras, 4 piezas;
  4. Postes de nylon 6 + 5 mm macho M2 blanco, 3 piezas;
  5. Soporte de nylon 6 mm madre blanco, 1 pc;
  6. Soporte de nylon 8 mm madre blanco, 1 pc;
  7. Bastidores de nylon 10 mm madre blanco, 2 piezas;
  8. LCD 1602 (I2C), amarillo;
  9. Wemos d1 mini;
  10. Wemos d1 DC-Power escudo;
  11. Tablero de tablero 3x7;
  12. Botones 6x6, altura 7 mm, 3 piezas;
  13. Dupont cables 10cm madre-madre, 4 piezas;
  14. Cables de 24 AWG negros y rojos;
  15. Cables de silicona 20 AWG azul y blanco;
  16. Resistencias 5 kOhm - 2 pcs, 10 kOhm - 1 pc (que vino a la mano);
  17. Adaptador de corriente 9V 1A;
  18. Adhesivo epoxi de dos componentes.


El caso usado tiene varias ventajas. En primer lugar, además de la pantalla, la placa de desacoplamiento estándar 3x7 estándar, con componentes instalados en ambos lados, se ajusta perfectamente en altura. En segundo lugar, en dos extremos tiene aberturas rectangulares para enfriar. Resultó que los puentes entre estos agujeros están perfectamente cortados por mini archivos de 3 y 4 mm. Si corta un par de puentes y corta un pequeño orificio rectangular en la carcasa, el conector de alimentación DC-005 encaja perfectamente en el orificio de la geometría compleja. Además, la parte posterior de este estuche tiene un gran agujero cuadrado, que, aparentemente, se suponía que instalaba baterías.A través de él, es conveniente conectar algo dentro sin desmontar la carcasa. Posteriormente, simplemente se puede cerrar con vidrio o plástico.

Progreso de construcción:
Primero, se hizo un prototipo en una placa de pruebas.

Luego el caso se finaliza con un archivo.

Después de eso, los componentes principales se sueldan y se realiza el ajuste. Las patas estaban especialmente dobladas para que las articulaciones desmontables se ajustaran en altura. Hubo que archivar un par de bastidores de nylon para que todos los botones estuvieran a la misma altura.




Como resultado, la parte frontal de la placa con botones, resistencias y cables es la siguiente:

Como resultado, el interior del dispositivo se ve así:

Cuando está ensamblado, el dispositivo se ve así:





Superar dificultades:
  1. Durante mucho tiempo no pude entender por qué los botones no funcionaron, aunque el multímetro mostró claramente 0 cuando se presionaron los botones y 4.6 - 5.0 V cuando se presionaron (dependiendo de la fuente de alimentación). Resultó que en los dispositivos Wemos / Lolin es necesario indicar los números GPIO como números pin en el boceto. Por ejemplo, D5 es GPIO14. Así que este es el decimocuarto pin.
    const int buttonPin = 14;

  2. Para mostrar el clima, la condición es necesaria:
    currentMillis - previousMillis == weatherTime

    Correspondencia estricta, porque debe hacerse una vez.
    Para realizar una solicitud al servidor, la condición es necesaria:
    currentMillis - previousMillis> = getDataTime

    Cumplimiento flexible, porque se ejecuta hasta que se establece el indicador de "datos recibidos".
    De hecho, esto no es obvio, y para entender esto, tomó bastante tiempo.
  3. También tuve que atormentarme con la respuesta del servidor:
    Cadena weather = root ["weather"] [0] ["main"];
    Cadena description = root ["clima"] [0] ["descripción"];

    Zero era completamente obvio. Resulta que hay dos estaciones meteorológicas en Moscú, y la segunda de ellas no siempre funciona (para recibir datos de ella, debe especificar [1] si está activa).

Se encuentra el repositorio con código y bibliotecas. aqui.
5.5
8.5
10

Agrega un comentario

    • sonriesonrisasxaxaokno sabesyahoonea
      jeferascarsetontosisi-siagresivosecreto
      lo sientobailardance2dance3perdónayudabebidas
      pararamigosbuenobuenosilbatodesmayarselengua
      fumaraplaudirllorardeclararburlóndon-t_mentiondescargar
      calorfuriosorisa1mdareuniónMoskingnegativo
      not_ipalomitas de maizcastigarleerasustarasustabuscar
      burlagraciasestoto_clueumnikagudode acuerdo
      malbeeeojo negroblum3ruborpresumiraburrimiento
      censuradocortesíasecreto2amenazarvictoriaYusun_bespectacled
      shokrespektjajajaPrevedbienvenidokrutoyya_za
      ya_dobryiayudantene_huliganne_othodigolpearprohibircerrar
7 comentarios
ino53, es sorprendente que nos hayamos encontrado en ausencia, leyendo un artículo que no trata sobre amplificadores y BP. Aunque no es sorprendente. Y alrededor de un año lo adiviné durante mucho tiempo. Tengo 67 años, pero ese no es el punto.
Gracias, sabré algo bueno.
Chicos, mi apodo son las iniciales y el año de nacimiento, 1953. Tengo 42 años de experiencia en ingeniería en mi registro de trabajo, no sé acerca de aficionados: papá (no Lukashenko, no tenemos Roma), dijo que comencé a tomar el soldador antes de hablar. No entendí nada escrito, pero este es un paso más, bien hecho.
El autor
Yo lo hago En el nabo http: //arduino.esp8266.com / stable / package_esp8266com_index.json tiene soporte para estas placas.
Y puedes programar usando uno Arduino IDE?
El autor
Bueno, personalmente pedí dos placas Wemos D1 R2 v2.1.0 hace un año (funcionan con el controlador cp210x). Y dos Wemos d1 mini hace medio año. Uno de los D1 R2 vino con una resistencia caída de un circuito de suministro de 12 voltios. Bueno, miré el circuito, encontré una resistencia, soldada, funcionó. De lo contrario, todavía no he notado ningún problema. En términos de popularidad, es aproximadamente como NodeMCU, es extraño que no lo hayan escuchado.
Aprendí sobre Wemos en su artículo, el precio y las características son atractivas, pero ¿qué pasa con la durabilidad?

Le recomendamos que lea:

Pásalo por el teléfono inteligente ...