ShIoTiny: actualizaciones y notificaciones



¿De qué trata este artículo?


Continuamos la serie de artículos sobre ShIoTiny , un controlador visualmente programable basado en el chip ESP8266 .

Este artículo habla sobre lo que ha cambiado desde el firmware anterior de ShIoTiny : cómo ha cambiado la interfaz de usuario; cómo reasignar "piernas" y otras cosas menos importantes, pero no menos esperadas.

El artículo presenta algo así como una " hoja informativa " sobre el estado de las cosas en el campo del desarrollo de firmware ShIoTiny . Aquellos que no estén interesados ​​en mi desarrollo de este artículo pueden omitir este artículo con la conciencia tranquila.

Aquellos que no saben de qué están hablando, pero quieren averiguarlo, pueden leer mis artículos anteriores sobre el firmware ShIoTiny o consultar la documentación .

Sitio del proyecto ShIoTiny

La versión en línea del editor ElDraw es exactamente la misma que en el firmware, como referencia.

Enlaces a esquemas, firmware y más: en el sitio web de ShIoTiny en la sección de documentación.

Artículos anteriores de ShIoTiny y mis otros artículos

Introducción para tranquilizar al venerable público


Dio la casualidad de que el cuarto trimestre es un apuro permanente. Por lo tanto, algunos camaradas ya han comenzado a enterrar el proyecto ShIoTiny y a escribirme por correo, me dicen: "¡Hola, autor, ¿dónde estás?" ¿Por qué no escribes? ¡Estamos usando su firmware aquí! y no eres un solo artículo nuevo! "
Por supuesto, eso fue de una manera educada, pero en términos de significado lo fue. Algunos, por el contrario, escribieron sugerencias y comentarios, que ayudaron mucho en la captura de pulgas de software. Gracias chicos Siempre es bueno que no cocines en tu propio jugo, sino que tengas personas con ideas afines.

Amigos! Les recuerdo que mi proyecto es un hobby y además tengo un trabajo, una esposa e hijos. Así que te lo ruego: sé indulgente. El autor escribe cómo puede y puede :)

Me apresuro a tranquilizar a todos: ¡el proyecto no está muerto ! Capturé bastantes pulgas del código y, además, rehice el sitio del proyecto (aunque todavía no lo he terminado, lleno el sitio con contenido).

Desde el punto de vista de la mayoría de las enseñanzas filosóficas del mundo, no hay nada permanente. Incluso nuestro universo está evolucionando. ¿Qué podemos decir sobre el firmware del microcontrolador o el sitio web del proyecto?

Los cambios clave en el firmware de ShIoTiny afectaron principalmente dos cosas: la posibilidad de redefinir las patas y la página de estado del controlador. Hablaremos de ellos. En cuanto al nuevo diseño del sitio del proyecto, no lo tocaré aquí: cualquiera que tenga curiosidad vendrá, mirará y criticará.

Redefiniendo las piernas ESP8266


Entonces, las piernas o son - GPIO . Inicialmente, las patas del microcontrolador ESP866 no estaban destinadas a ser redefinidas. Fueron clavados rígidamente a las entradas y salidas de la placa ESP-07 (cualquier persona interesada, todo está en el sitio web del proyecto).

¡Pero de repente resultó que mi firmware sin ninguna alteración va no solo en el módulo ESP-07 con 1MB FLASH, sino también en el ESP-01 , ESP-12 e incluso en el ESP-8285 !

La pregunta que surgió correctamente fue que uno necesita 5 entradas y una salida, las otras 6 salidas y ninguna entrada, y los terceros tres termómetros al mismo tiempo.

¡Una ola de cartas del público indignado casi oscureció los restos de mi mente! Mi esposa ya se estaba preparando para llamarme ayudantes con una camisa de la muerte ... ¡Pero resultó ser un loco!
Apretando los dientes y bebiendo tres litros de café, recogí los restos del cerebro, que por casualidad no estaban borrachos en el cuerpo estudiantil, y descubrí cómo implementar el truco redefiniendo las piernas para que todos se sintieran bien.

No aburriré al lector con la cocina interna del programa. Desde el punto de vista del usuario, todo parece extremadamente simple: presiona el mouse en un nodo que está conectado a cualquier rama del módulo GPIO y selecciona una rama de la lista de posibles. Aproximadamente como se muestra en la figura a continuación.



N / A : significa que el pie no está seleccionado.
Si hay un nodo en el circuito con un tramo N / A no seleccionado, entonces dicho circuito no se puede cargar en el dispositivo; el editor de ElDraw no lo permitirá. Pero dicho esquema puede descargarse en el disco para continuar editándolo "en algún momento posterior".

Todo es muy simple, pero hay matices.

En primer lugar , lo cual es muy conveniente en mi opinión, solo las piernas no utilizadas se muestran en la lista. Es decir, elegir una pierna dos veces es imposible.

En segundo lugar , la pata GPIO15 está reservada para el botón AP y no puede usarse para otros fines. Lo siento, pero de lo contrario, de ninguna manera ...

En tercer lugar , el tramo GPIO16 no se puede utilizar como una entrada binaria regular (nodo de entrada ).

Cuarto , las patas GPIO9 y GPIO10 solo se pueden usar en el módulo ESP-8285 . En otros módulos, el resultado será desastroso: ¡dependencia total y reinicio sin fin!

El último punto: el bloqueo de algunos módulos al elegir las patas GPIO9 y GPIO10 me hizo pensar mucho. Después de todo, ¡no quiero alterar el controlador cada vez si las patas se seleccionan incorrectamente! Y se me ocurrió una nueva y modificada forma de ingresar al modo de configuración.

Nueva forma de ingresar al modo de configuración


Si alguien leyó mis artículos anteriores, entonces recuerda que el modo de configuración de firmware ShIoTiny es el modo en que el chip ESP8266 se convierte en un punto de acceso abierto, y el circuito del programa no se inicia automáticamente después de reiniciar. Y si no se inicia, no se bloqueará al elegir las patas GPIO .

Es decir, en el modo de configuración, puede cambiar las patas problemáticas de GPIO9 y GPIO10 a otras. ¡Pero el problema es que puede ingresar al modo de configuración solo presionando el botón AP durante aproximadamente 4 segundos! ¡Y durante este tiempo, el controlador tendrá tiempo para comenzar a ejecutar el programa del circuito "curva" y congelarse!

Para resolver este problema, se me ocurrió un intervalo de protección de medio segundo después de reiniciar el controlador. Si se presiona el botón AP dentro de 0,5 segundos después de reiniciar el controlador, el controlador se reiniciará inmediatamente en el modo de configuración. Al mismo tiempo, durante el intervalo de protección de medio segundo, el esquema del programa no se inicia. Y eso significa que no se puede colgar.

Las desventajas son obvias: el programa no se inicia de inmediato, sino medio segundo después. Las ventajas son mucho más sustanciales: si selecciona las "patas equivocadas" o el programa del circuito se congela por algún otro motivo, siempre puede pasar al modo de configuración y solucionar la situación sin parpadear el controlador.

En la práctica, todo parece más simple que un nabo al vapor: presionamos el botón Restablecer y, soltando el botón Restablecer allí mismo, sin interferir, presionamos el botón AP . Inmediatamente durante aproximadamente medio segundo, el LED azul de ESTADO se ilumina (si, por supuesto, lo ha soldado a GPIO0 ) y el controlador se reiniciará en modo de configuración.

Si el circuito del programa funciona normalmente, siempre puede cambiar al modo de configuración de la manera "antigua", presionando y manteniendo presionado el botón AP durante aproximadamente 4 segundos (hasta que se encienda el LED azul de ESTADO ).

Página de estado de ShIoTiny


La capacidad de conectar las patas por voluntad del usuario ha llevado a una revisión de la página de información principal del firmware ShIoTiny .

Después de una intensa deliberación, llegué a la conclusión de que la página debería ser a) informativa yb) no contener demasiado.

Lo que obtuve se muestra en la figura a continuación.



Hay dos secciones en la página de información principal: Información : información general y GPIO usados : información sobre el uso de patas de E / S. Consideremos con más detalle.

Sección de información


Nombre: esp_8266_155da4 : un nombre único para el dispositivo. Se genera automáticamente y no se puede cambiar.

Ver: 2019-10-22 22:54:51 +0700 6b5ee82 clean - versión de firmware (fecha de compilación e identificador de confirmación).

MQTT: conectado a: 192.168.1.2:21064, SSL : conexión al servidor MQTT. Muestra la dirección IP o URL del servidor, el puerto del servidor y el modo SSL si se utiliza una conexión segura. Recuerde que si el programa del circuito no contiene nodos para trabajar con MQTT, ¡entonces la conexión nunca se establecerá!

WiFi: STA ip: 192.168.1.134. - Modo de operación WiFi ESP8266 : STA - estación, AP - punto de acceso. Se pueden seleccionar ambos modos con diferentes direcciones IP al mismo tiempo.

Ahora: mié, 30 de octubre de 2019 21:49:28 GMT + 0700 - hora actual. ¡Se muestra que solo hay un tiempo establecido por el nodo Set Time ! De lo contrario, se indicará que la hora no está sincronizada ni configurada.

Sección de GPIO usados


Esta sección muestra todas las patas del módulo utilizadas en el diagrama del programa y su estado actual.

El formato de salida es obvio: GPIO <número de pierna> (función): estado
El número de tramo es el número o, para el ADC , en lugar del número será la inscripción adc .
Función: Entrada - entrada binaria; Relé - salida binaria; ADC - ADC o tipo de sensor: DS182x o DHTxx .

Campo "estado": depende del propósito de la pierna.
Para entradas y salidas binarias: 0 o 1.
Para sensores: temperatura, humedad.
Para el ADC: sus lecturas se volvieron a calcular de acuerdo con la fórmula dada (consulte la descripción del trabajo con el ADC en las instrucciones).

En mi opinión, la página principal contiene toda la información necesaria sobre el funcionamiento del controlador.

Conclusión


Aquí, de hecho, están todos los principales cambios en el firmware de hoy. Además de estas innovaciones, se corrigieron docenas de cinco errores menores.

Como de costumbre: instrucciones detalladas en el sitio web de ShIoTiny en la sección de documentación o aquí .

Sugerencias, deseos, críticas, dinero, regalos, etc. Envíenme un comentario o correo electrónico: shiotiny@yandex.ru .

Esperando comentarios y sugerencias.

Source: https://habr.com/ru/post/473832/


All Articles