
¿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 ShIoTinyLa 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ículosIntroducció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): estadoEl 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.