Hackear el módulo ESP más extraño

A veces veo un artículo lo suficientemente extraño como para comprarlo solo para ver si realmente puedo hacer algo con él. Ese es el caso del ejemplo de hoy, el ESP-14. A primera vista, se preguntará qué piensa AI Thinker, el creador de muchos de los módulos ESP8266 más populares.

El ESP-14 toma el chip ESP8266 extraordinariamente poderoso y lo esconde debajo de uno de los microcontroladores más baratos que existen: el chip de "línea de valor" STM8S003 de 8 bits. Casi todos los pines del chip ESP están bloqueados dentro de la caja de metal de la caja de RF; solo se ven los pines de encendido, arranque y serie TX / RX durante el día, y los pines TX / RX se comparten con el STM8S. El resto de pines del módulo están dedicados al STM8S. La esclavitud del ESP8266 al STM8S es como tomar un Ferrari y envolverlo en un VW Beetle.

Nunca antes había tocado un chip STM8 y solo quería ver qué podía hacer con esta extraña bestia. Al final, irónicamente, terminé haciendo algo que no iría demasiado lejos en Alibaba, pero con algunos giros muy cotidianos: un monitor para nuestra lavadora y secadora que informa un uso potente sobre MQTT, programado en Forth con un WiFi transparente. Puente serial en el chip a para depuración interactiva sin hinchamiento hacia el sótano. Todo está abierto, modificable y la implementación de Forth para el STM8S incluso se ha desarrollado aquí en La-Tecnologia.io.

Es un proyecto extraño para el más extraño de los módulos ESP. Pensé en explicarte y ver si te motiva a encontrar algunos usos alternativos para el extraño par ESP8266-y-STM8S, que es el ESP-14.

Poner un chip estúpido en la red

La serie STM8S de 8 bits es, bueno, barata. Por tanto aparecen en todo tipo de productos comerciales donde se requiera un microcontrolador mínimo. Y en consecuencia, hay muchos diseñadores chinos que conocen el chip, y aquí las cosas vuelven a tener sentido. De acuerdo con la hoja de datos ESP-14 (un espejo PDF de una hoja de datos que descargamos de Watterott), el uso previsto es proporcionar conectividad WiFi al pequeño STM8S, a través de UART y usar el comando AT predeterminado del ESP8266. Lo que quiere decir que si ya tiene un proyecto de interruptor de luz un poco elegante que usa STM8, está a solo unos pocos comandos AT de tener un interruptor de luz IoT súper inteligente con el ESP-14.

Y todos los módulos ESP8266 tienen un talón Aillesilla: el único canal ADC. Entonces, si deseaba crear un dispositivo en red que lea más de un valor analógico, tenía que agregar su propio circuito multicomputador. O utilícelo en combinación con un microcontrolador barato común con un ADC incorporado y algunos pines libres. Y así, suponemos, nació el extraño ESP-14.

Recursos y el plan

El STM8S proporciona varios ADC, y el ESP8266 trae conectividad WiFi y mucha memoria a la mezcla. Intenté idear un proyecto para esta combinación. Casi al mismo tiempo, mi esposa quería una pantalla que le dijera cómo estaba funcionando la lavadora y la secadora sin tener que caminar hasta el sótano. Se necesitarían dos ADC, uno para cada dispositivo. Perfecto. ¡No puedo hacer eso con ESP-12!

ST tiene una biblioteca periférica Norman bastante completa en C para la serie STM8, lo que debería facilitar la tarea. Si está buscando otros recursos, The Registry Path está lleno de buenos ejemplos funcionales para la mayoría de los rincones del hardware STM8S. La compilación para STM8S es compatible con SDCC, y la carga de código a través de dongles baratos ST-Link es compatible con stm8flash. Probablemente también desee la hoja de datos y el manual de referencia.

Pero este es un proyecto extraño, y eso significa un lenguaje de programación extraño. He estado jugando mucho con Forth últimamente y [Thomas] importó el entorno Forth al STM8S en La-Tecnologia.io. Si no le gusta Forth, es un lenguaje de programación interactivo que se encuentra en algún lugar entre Python y ensamblador, pero con la sintaxis de una calculadora TI antigua. Tiene un sabor adquirido, pero al ser interactivo significa que necesita una conexión en serie para programar.

El enlace esp de JeeLab es una gran herramienta en su caja. El software transforma cualquier módulo ESP estándar de malvavisco en un puente transparente de WiFi a serie, y agrega todo tipo de campanas y silbidos. Estos incluyen proporcionar el microcontrolador MQTT conectado y la funcionalidad REST a través de una interfaz SLIP. Para este proyecto, es apropiado: la mitad ESP8266 del módulo ESP-14 me permitiría llamar al intérprete Forth que se ejecuta en el STM8 y proporcionarle un medio "simple" para enviar la lavadora y la secadora. utilizar para el corredor MQTT. Esto significa que podría construir el circuito, instalarlo en el sótano y cortar la comodidad de mi oficina. Casi.

Restaurar y operar

Programar en Forth, al menos cuando lo hago, significa presionar mucho el botón de reinicio; los bloqueos duros suelen dejar caer el shell interactivo que opera en el microcontrolador. Afortunadamente, esp-link proporciona una función de reconfiguración de la interfaz web del ESP8266, y es posible reasignar esto al único pin ESP8266 expuesto (GPIO0) de la interfaz web del esp-link. El resultado final es que el STM8S se puede reiniciar enviando una solicitud POST al ESP: curl -XPOST "http://${ip}/pgm/sync" si te importa. Después de unos segundos, todo vuelve a estar bien.

Como se muestra en el diagrama, hay puentes en todo este proyecto en este momento, pero todos son útiles, especialmente porque las líneas comunes RX / TX hacen que sea difícil hablar con un chip sin que el otro escuche o interrumpa. Por ejemplo, para encender el ESP8266, puede desconectar la energía eléctrica del STM8, usar la camiseta del programa para bajar el pin de encendido del ESP8266 y luego transmitir su programa. Para programar el STM8, puede usar la interfaz SWIM o desconectar el pin de alimentación del ESP8266, encender los cables TX-RX y tendrá una conexión en serie directa. Y corriendo, con todas las camisetas en su lugar, todo funciona a través de la red. Dulce. Si quisiera construir una placa de escape ESP-14, este sería un buen lugar para comenzar.

Otro hardware y seguridad

Tenía dos transformadores de potencia de alta corriente en mi contenedor, así que fue fácil. Casi. Al insertar una bombilla vieja de luz blanca con potencia conocida, el transformador emite solo una pequeña señal, en decenas de milivoltios. Agregué tantos bucles de alambre de cobre grueso de los dispositivos como pude en los toroides fuertes, y eso solo debería funcionar. Al final, tanto la lavadora como la secadora leen aproximadamente 500 mV pico a pico en la salida de los transformadores, por lo que es fácilmente legible por un ADC que usa un voltaje de referencia de 3.3 V, incluso si no es ideal. Los transformadores de corriente adecuados ayudarían: tienen amperios nominales si los compra en el estante. Planifique con anticipación.

La parte de voltaje principal de este proyecto está sellada dentro de una caja de sándwich de IKEA por "seguridad". Dado que este era mi primer proyecto basado en PCB que había construido desde que me mudé a 230 V, en realidad estaba buscando las regulaciones y permití un poco más de margen de seguridad: 1 cm en el PCB entre la red eléctrica y algunas otras almohadillas. Se sacrificaron dos cables de extensión y se soldaron a la PCB para proporcionar una conexión a la pared y una para lavadora y secadora.

Las salidas de los transformadores de corriente y el suministro de 3.3 V para el Snake ESP-14 fuera de la caja para los circuitos lógicos de bajo voltaje. Esta es la única parte del diseño que me da un respiro; Si el alto voltaje alguna vez opera en los cables de bajo voltaje, el ESP-14 fuera de la caja puede calentarse. Separé todo con la mayor cantidad de espacio de aire que pude y apliqué cantidades abundantes de pegamento caliente para mantenerlo completamente en su lugar. Sin embargo, trataré este tema con respeto cuando tenga que lidiar con él. Tal como está, al menos está escondido detrás de la lavadora.

Debido a que la señal de los transformadores de corriente es CA (de bajo voltaje) y simétrica alrededor de tierra, un capacitor y un divisor de voltaje devuelven la compensación a un rango aceptable para el ADC del STM8. Hice esto en el mismo PCB que el circuito de alto voltaje, pero en retrospectiva pude hacer todo el procesamiento de señales de bajo voltaje de la caja. El PCB fue un módulo útil para probar en el banco con algunas bombillas y mi osciloscopio durante la fase de prototipo del transformador.

Firmware

Quería hacer detección de picos en hardware con un diodo y algunos condensadores, pero la pequeña señal de voltaje lo impidió, así que lo hago en software.

Carga en la lavadora

Los cables que salen de la caja sándwich tienen un voltaje centrado aproximadamente a la mitad entre cero y 3.3 V, y forman una onda sinusoidal aproximada de 50 Hz. La magnitud de esta onda sinusoidal es proporcional al flujo que fluye a través de la lavadora o secadora. No me interesa la potencia RMS real, como saber cuándo está funcionando la lavadora o la secadora, por lo que un algoritmo de detección de picos funcionaría bien.

Una señal de 50 Hz es ridículamente lenta para un ADC, que puede extraer decenas de kiloshercios sin sudar, por lo que hay mucho espacio para sobremuestrear y promediar, lo cual es bueno porque la señal sin procesar es bastante ruidosa. Probé algunos esquemas, pero el más simple de ellos fue tomar un promedio móvil ponderado exponencialmente de dieciséis valores y rastrear los valores promedio máximo y mínimo durante dos períodos del flujo de corriente. La diferencia entre el máximo y el mínimo es un excelente indicador de la cantidad de energía que usan los dispositivos. Este es el valor enviado al corredor MQTT.

MQTT

Dado que el software esp-link tiene un cliente MQTT en su interior, solo queda hablar con él. Utiliza un Protocolo de Internet de línea serie (SLIP), que puede que no le resulte familiar si no ha creado una red telefónica desde la década de 1990, pero que no podría ser más sencillo. Básicamente, simplemente lo etiqueta SLIP END un cartel al final de cada paquete. Puede ser bueno saber cuándo también se inicia un paquete, por lo que los SLIP modernos solo ponen otro END firmar también al principio: los paquetes con longitud cero se eliminan silenciosamente. También hay versiones fugitivas y fugitivas de los personajes fugitivos y finales, pero no las necesitaba.

Esp-link también usa un formato de datos separado que está diseñado para funcionar bien con código C y punteros de función. También tiene un CRC en todo el paquete para suspender conversaciones que accidentalmente parecen un mensaje SLIP. Si usa código C / C ++, incluida la escritura para Arduinos, existen bibliotecas y ejemplos que facilitan la comunicación con servidores MQTT / REST o sobre sockets UDP y TCP generales, y todo esto al mismo tiempo que funciona. el puente WiFi.

Para resumir el historial de MQTT, tuve que configurar los paquetes de datos para que coincidieran con lo que quería el enlace esp, calcular CRC en los datos y luego envolverlo en el SLIP END caracteres. El STM8 simplemente envía esto al puerto serie a 115.200 baudios y todo es genial.

El firmware completo se comparte a través de varios archivos Forth. Vea si está interesado. La mqtt.fs archivo y power_meter.fs Los archivos tienen casi todo el vocabulario fácil de usar y el resto es soporte. El resultado final es así mqtt.preamble washer.topic 42 message.value qos.and.retain send envía el número 42 (en ASCII) al corredor a través de la emisión MQTT de la lavadora, nivel de calidad de servicio 0 y sin bandera de retención.

Show

Finalizando el proyecto hay una pantalla que nos avisa cuando la lavadora o secadora está terminada. Actualmente es un cliente MQTT simple construido en un aburrido módulo ESP-12 que lee los problemas de la lavadora y secadora del corredor y muestra los datos como un gráfico de barras de color en una tira de LED WS2812. Es básicamente una versión multi-LED del nodo de pantalla que construí para esta columna usando MQTT con NodeMCU.

Inventos y dimensiones

El propósito de este proyecto era hacer algo extraño con una parte extraña. Con ese fin, creo que es un éxito desigual. El dispositivo final es bastante peatonal en esta era del hogar conectado: un monitor de energía de dos canales que se refiere a la nube (local). Pero bajo el capó, es ridículo.

Se agradece la mitad de esa ridiculez [Thomas] para su STM8 Forth. Y con la conexión esp que hace el trabajo pesado de WiFi y también proporciona un reinicio remoto, es un sueño procesar el código de forma remota. Si no está seguro de lo ridículo que es esto, haga clic en la imagen de la derecha para verme iniciar sesión en el STM8, enviar valores arbitrarios y luego restablecerlo a su modo de control predeterminado.

Por supuesto, podría simplemente usar el ESP-14 como estaba previsto: un firmware C precompilado que se ejecuta en el STM8 y usa el firmware de comando AT estándar en el ESP8266. Probablemente podría obtener exactamente el mismo dispositivo al mismo tiempo si conociera las bibliotecas STM8. Debería escribir los bits del protocolo MQTT usted mismo, pero en realidad no es tan difícil para mensajes simples como estos.

Pero es solo un poco de contenido geek sobre tomar un módulo que tiene muy poco sentido, rehacer ambas piezas por dentro y armar algo extraño pero funcional. Puedo hacer telnet en un microcontrolador de cincuenta centavos en mi sótano y preguntarle cuánta energía usa la lavadora. ¡En el puerto 23! ¿Cuan genial es eso?

Realmente, pirateé esto en unas pocas horas repartidas en una semana, y llegué a la fase de producción mínima factible. El uso del diseño a lo largo del tiempo le dirá qué bordes duros necesitan lijar y cuáles no funcionan. Lo cierto es que tengo que usar el módulo ESP más extraño que he visto, y aunque es es ridículo, puede ser útil. ¿Qué harías con un pequeño microcontrolador conectado a un módulo ESP8266?

  • Reg dice:

    No recuerdo que TI alguna vez ofreciera una calculadora RPN. HP hizo eso. TI siempre ha sido una notación algebraica.

    • biblioteca electrónica dice:

      sí, sí, casi al mismo tiempo tenían una excelente calculadora de conversión base que realizaba operaciones booleanas.

      carcasa negra, carátula de aluminio, pantalla de burbujas LED de 7 segmentos, alimentada por batería PP3 9V

  • A. Watterott dice:

    El enlace de descarga en la página del producto tiene una vida útil breve para evitar enlaces activos.

  • Alphatek dice:

    No muy lejos de un tablero extraño. De hecho exactamente lo que quieres. El ESP es un animal hambriento de poder, así que manténgalo alejado a menos que sea necesario y use el STM frugal para vigilar los IO y la gestión. Y listo, duración decente de la batería en su dispositivo IoT.

    • METRO dice:

      Problemas de batería en particular, siempre que haya mucha energía disponible (como un enchufe de pared de fácil acceso), me sentiría tentado a hacer lo contrario de lo que se hizo aquí, y convertir el chip más pequeño en una interfaz transparente para todo el GPIO. Entonces podría programar el ESP a mi gusto, con firmware escrito en C, o interactivamente a través de la red con un micrófono, y haría todo lo pesado.

      Sin embargo, tu idea es buena, tendré que recordarla para más tarde, ya que me encontré con el hecho de que el ESP8266 es un cerdo absolutamente poderoso cuando trato de armar pequeños sensores que se rompen fácilmente.

      • Elliot Williams dice:

        "Me sentiría tentado a hacer lo contrario de lo que se hizo aquí ..."

        El plan original era hacer 3-fer: STM8 a través de ESP, ESP a través de STM8 y ambos en colaboración. Terminó lo suficientemente difícil como para lograr solo una de las ideas en un artículo (¿aún demasiado largo? ¿Cómo está su atención?) Artículo.

        ¡Pero si! Compre uno, hágalo y envíenos un correo electrónico. Me encantaría ver proyectos hechos con esta pequeña cosa.

    • lwatcdr dice:

      Por lo tanto, esto sería bueno para sistemas de monitoreo como un sensor de alarma o temperatura, pero no para un sistema de control típico. También puede usarlo para actualizar un sistema típico como un reloj.

      • Alphatek dice:

        Depende de la “urgencia” del sistema de control. Para algo como un controlador doméstico, mire rápidamente la "nube" para ver si hay un nuevo comando que solo necesita hacer cada minuto. Sin embargo, para algo como un interruptor de luz, no sería bueno.

        • Martín dice:

          No me gustaría tener mi sistema de calefacción "en la nube" conectado. Ningún extraño debería jugar.

  • W dice:

    Por eso es bueno ver que reconoce los peligros de las redes principales, pero lo mejor es leer los estándares de UL. Arrastrarse y drenar es un comienzo, pero también debe usar los correctos (listados por UL) para cualquier cosa crítica para la seguridad, es decir, para cualquier cosa que se divida entre una red eléctrica y cualquier cosa que una persona pueda tocar. Comience con UL 62368.

    La regla básica es que al menos dos cosas completamente independientes deben fallar antes de que haya peligro.

    Construir un dispositivo de Clase I (con conexión a tierra) es bastante fácil: tiene un chasis metálico con conexión a tierra y todos los controles de usuario también están conectados. Si algo vuela dentro de la caja, se acortará hasta el suelo y hará estallar una mecha o ELCB / RCD, y nadie morirá. Para que un dispositivo de Clase I se vuelva peligroso, las dos fallas necesarias tienen que ver con el sistema terrestre y algo más.

    Sin embargo, básicamente ha construido un dispositivo de Clase II para el cual la regla es de "doble aislamiento", por lo que debe haber dos pasos formales de aislamiento entre la red y el usuario. Demostrar que hay dos aislamientos en todos los sentidos es un poco difícil, por lo que crear un aparato de Clase II como el bricolaje no es la mejor idea. Lo que construiste allí ciertamente no encaja, aunque poner la parte principal en resina ayudaría mucho a hacerlo más seguro. Ver UL-1310.

    https://eo.wikipedia.org/wiki/Appliance_classes

    • Luke Weston dice:

      También debe recordarse que UL 60950-1 define diferentes clases de aislamiento, y las distancias de flujo libre correspondientes difieren para las diferentes clases si el entrehierro actúa como aislamiento.

      Por ejemplo, un espacio entre activo y neutro en el lado caliente de una placa SMPS debería ser un aislamiento funcional, con requisitos menos exigentes para una hipótesis, pero la liberación entre el lado caliente y el lado frío de un SELV-SMPS aislado debería ser más exigente. estándar hipotético - es un "aislamiento reforzado" según 60950. Entre un conductor activo y un conductor activo cambiado, por ejemplo, el requisito de aislamiento funcional es mucho menos difícil en comparación con la barrera de aislamiento frío-calor de seguridad crítica en SMPS.

      Y no se trata solo de la configuración de la placa de circuito impreso (PCB), siguiendo el ejemplo de SMPS, los materiales del transformador y el aislamiento del devanado, el optoacoplador y cualquier otro componente que se encuentre en la barrera de aislamiento deben cumplir los mismos requisitos de resistencia del aislamiento galvánico; de lo contrario, es completamente discutible independientemente de lo bueno que sea el diseño de su PCB.

      Un transformador de corriente sería otro buen ejemplo de esto, ya que también forma una barrera de aislamiento crítica para la seguridad entre un sistema SELV y el circuito vivo de BT. (el aislamiento del cable eléctrico también juega un papel importante).
      Ese transformador de corriente (junto con un cable central específico con algo de aislamiento) también sería un "aislamiento reforzado", con algunos requisitos hipotéticos si tuviera que llevar un producto al mercado.

      La definición de “doblemente aislado” es algo complicada y difícil de entender en algunos casos. Cable aislado dentro de una caja de plástico aislada: seguro, con doble aislamiento, eso tiene sentido. Pero también es bastante común que los productos de consumo eléctrico lineal lleven voltaje lineal a una PCB en una carcasa de plástico moldeado. Pero hay un voltaje de línea en las almohadillas en la parte inferior de la PCB, por lo que no está doblemente aislado, ¿verdad? Pero no obstante lo es.

      Buen proyecto tambien.

      • Elliot Williams dice:

        ¡Gracias por eso! Gran información para la tripulación de EE. UU.

        Aunque estoy en Alemania. Tu UL es inútil para mí, y nos estamos burlando de tu travieso 120V.

        Lo que es menos sarcástico, las pistas deben estar más separadas, los cables más gruesos, etc. Tuve que mirar las cosas para asegurarme de que no estaba haciendo nada estúpido. Puede que todavía haya cometido errores ... Está en una caja. 🙂

      • Otro nombre de pantalla dice:

        Está construyendo un proyecto casero. dispositivo que no consume ....

        • jawnhenry dice:

          No importa; Este problema se abordó en una publicación anterior en la-tecnologia.com, y se puede resumir de la siguiente manera: si construye algo que esté conectado a la energía eléctrica principal, está sujeto a todas las reglas, regulaciones, restricciones, condiciones y otras que rigen CUALQUIER COSA a dispositivo creado por cualquier persona. entidad, para la conexión a la red. Otra forma de decir esto es que cualquier electrodoméstico que construya pertenece a la agencia reguladora correspondiente. CUÁNTO LO VINCULA CON EL JEFE.

          "La originalidad no es una excusa para la ignorancia". - Fred Brooks

          • Miguel dice:

            "La ignorancia es una excusa matutina para la ignorancia". ~ Yo

        • Elliot Williams dice:

          Más precisamente, aunque estaría más feliz de saber que mi proyecto hecho en casa era al menos tan seguro como un dispositivo de consumo.

    • Thomas dice:

      W, con el debido respeto, lo primero que aprendí en Medical Devices 101 fue que la práctica del "chasis de metal con conexión a tierra" mató a muchas personas (debido a, sorprendentemente a menudo, contactos de tierra defectuosos en el enchufe de la pared) y conectores estadounidenses , que no exponen

      El método de uso de Elliot, la transmisión inalámbrica, es completamente seguro siempre que nadie abra la caja. El fuego causado por la resistencia de contacto es un poco preocupante. Asegúrese de que el enchufe que va a la caja pueda soportar la carga de la lavadora y la secadora al mismo tiempo.

      @Elliot: ¿Sería posible ver los diagramas completos? Los PNG en GitHub terminan en el encabezado analógico 🙂

  • Napervillian dice:

    Estoy distrayendo un proyecto similar para mi arrendador, tenemos lavadoras / secadoras Speedqueen, que son máquinas de monedas digitales ...
    El motivo de la publicación es que hay optoacopladores abiertos en esas máquinas, sí para mí ...
    Por lo tanto, desea buscar un manual de servicio o un esquema en línea. Encuentra un sobre de papel en la máquina con un esquema que tiene la información ... Si sus máquinas tienen temporizadores mecánicos, entonces su solución es más universal y el camino a seguir ...
    Muchos dispositivos aquí en los estados tienen un paquete de servicio dentro de la máquina, bueno, no estoy trabajando en nada nuevo, pero creo que sigue siendo válido ...
    Entonces, si alguien que no quiere trabajar con una red eléctrica, verifique el optoacoplador en el esquema, el Speedqeen tiene un conector Molex 2 al que puedo conectarme, probablemente usado para control ...
    Mi diagrama también dice que el transistor óptico se apaga cuando se enciende la máquina ...
    Me espero que la publicación sea útil ...

    mas tarde

  • elektrobob dice:

    Tenía la intención de hacer algo similar, tal vez con un pequeño micrófono. La idea sería un "ayudante" para ESP que pudiera hacer algunas cosas mientras el código principal todavía estaba en el sp: más canales ADC, algunos PWM, algunos más pines de activación, algunos RTC que se queman menos. Pero al final, todos los programas que construí requerían un micrófono más potente, por lo que la mayoría de los códigos terminaban con eso.

    De hecho, me sorprende que no exista una combinación de un módulo arduino nano + esp muy barato en los sitios web habituales, solo lo he visto de tipos caros que los venden por ~ 20, lo cual no es tan atractivo considerando que puedes tener ambos para ~ 2 y necesitan algunos cables solo para conectarse.

    • Elliot Williams dice:

      Totalmente de acuerdo. Pensé que el Arduino WiFi es brillante (se maneja Uno + ESP8266) hasta que vi el precio. Es incluso más fácil / más limpio / más rápido que implementar su propia solución, por supuesto. Pero, ¿por qué nadie hizo que el tablero combinado obvio me sorprendiera?

      Ahora que lo pienso, la forma obvia de hacer esto _ ahora mismo_ es crear un Arduino en un factor de forma mini Wemos D1. O una tabla en forma de UNO con una mancha para enchufar D1 en ella. Conecta la fuente de alimentación y la puerta en serie, agrega algunos pines adicionales y entrega tantos picos como sea posible desde el ESP Tendrías un ganador épico.

      Quien haga esto y gane millones me debe una cerveza.

      • Paul Slootman dice:

        Algo como https://www.aliexpress.com/item/Free-Shipping-Smart-Electronics-ESP-12E-WeMos-D1-WiFi-uno-based-ESP8266-shield-for-arduino-Compatible/32664054861.html usted ¿malo? (primer éxito, hay muchos)

        • Elektrobob dice:

          No, eso reemplaza el atmega328 con el esp.
          Casi toma una de las pequeñas arduinas y agrégale un sp.

  • Rando dice:

    ¡Maldita sea, si no haces los proyectos más geniales! Fuera de la escala C ^ 3 (Clear, Cool, Cheap) ¿Su archivo github-ar contiene el binario de la imagen STM8? No me importaría tener una imagen más clara de cómo configuraste tu tablero y los archivos CAD de la computadora para el desgaste que usaste. Definitivamente quiero construir esto.

    • Elliot Williams dice:

      ¡Vut!

      El auge del ESP-14 está en Github, pero sin los extras adicionales: camisetas y elementos de potencia. Realmente debería crear un tablero que agregue las buenas piezas; hice el esquema _después_ del proto-string, por lo que todavía no hay un diseño para ello.

      Creo que puse la imagen de STM8 Forth en el repositorio. Sin embargo, no es muy diferente al de Thomas (consulte el enlace HaD.io para STM8eForth).

      Debo decir que los documentos sobre esto están un poco a mitad de camino. Realmente no esperaba que nadie lo reconstruyera. Si hay interés, arreglaré las cosas.

  • Thomas dice:

    ¡Hola Elliot, gran artículo! ¡Intentaré esto lo antes posible!

    PD: me vinculé a su artículo en el protocolo del proyecto HaD.io y a su repositorio de GitHub en Wiki STM8EF 🙂
    PPS: gracias por el tráfico adicional - su artículo de HaD causó un buen golpe en las estadísticas de tráfico de GitHub 🙂

  • Dr.Tune dice:

    Este STM8S003 es en realidad un chip muy bueno por el precio: lo vi hasta 15 centavos, lo cual es muy barato para cualquier MCU, especialmente uno con flash de 8k, ram de 1k, etc., varios temporizadores, UART, I2C, ADC, conjunto de instrucciones decente , R / C interno, etc. El precio / rendimiento es excelente, por lo que ahora estoy proyectando uno en un producto (volumen muy alto); es mucho más capaz que decir ATTiny y mucho más barato. . Es mejor cpu que 8051 (ugh). Existe un caso de uso para conectar uno al ESP: el ESP usa una potencia tremenda cuando está activo, y si solo lo necesita como un UART Wifi para uso ocasional, es bastante justo.

    • Dr.Tune dice:

      También atraviesa una tensión bastante amplia; el único inconveniente que encontré fue que no tenía una referencia de ancho de banda interna para los ADC.

      • Dr.Tune dice:

        Por cierto, algo así como una diferencia de 10 centavos es muy importante cuando estás haciendo cosas baratas de alto volumen; por ejemplo, ahora codifico STM8 para reemplazar tanto la EEPROM como el controlador LED en el producto, y ahorrará alrededor de 20 centavos, o 2/3 del costo, algo muy importante. Además, puedo obtener una resolución de intensidad LED mucho mejor del STM8 que el disco LED al que reemplaza, por lo que el desvanecimiento del color es mucho más suave. La muy baja lista de materiales del mercado es un lugar interesante para trabajar.

        • Thomas dice:

          @ Dr.Tune: ¿puedo tener uno? Me encantaría traer STM8EF 🙂

          • Dr.Tune dice:

            ¿Lo es? Según https://github.com/TG9541/stm8ef, funciona completamente en el STM8S003F3P6, del que estoy hablando.

          • Thomas dice:

            Seguro, funcionará en el STM8S003F3P6 listo para usar. Algunos programas requieren un código de soporte de placa (por ejemplo, un carácter personalizado I / 0).

  • wjr dice:

    ¿Qué versión de esp-link estás usando?
    Traté de usar tu biblioteca con
    esp-link v2.2.3 - 21/06/2016 21:58:48 - 1bcdc62
    (en mecrisp stellaris FORTH ejecutándose en STM32, pero eso no duele)
    y continúa fallando la comunicación esp-link.

    Puedo "transmitir" cadenas ordinarias desde la pila, pero cuando quiera
    'sync sync mqtt.washer $ 45 $ 46 $ 43 value' No veo ninguna reacción.

    • Elliot Williams dice:

      ¡Hola! No he mirado esta base de código durante 2 años. ¡Oh mi!

      : value ( preamble topic n -- )
      message.value qos.and.retain send ;

      Parece que ha tenido éxito, excepto que "valor" quiere enviar un valor en lugar de tres. Interpreta los $ 45 y $ 46 respectivamente como un preámbulo y un nombre temático, y eso ciertamente no funciona correctamente con el enlace ESP.

      Intentalo sync sync mqtt.washer $45 value?

      Ajá. Dado que el problema SLIP / MQTT de esp-link necesita un prefacio especial y algunos bytes completados, escribí esto message.value función para tomar un solo número, convertirlo en tres caracteres ASCII y luego empaquetarlos en el formato de paquete correcto.

      Si desea enviar, por ejemplo, tres bytes de datos, deberá consultar el formato del paquete. (O solo una cuna mía message.off una rutina que envía "out" y reemplaza sus tres bytes en lugar de las letras ASCII "o", "f" y "f".) Estas funciones están todas en messages.fs, y recuerdo vagamente que codificarlas me llevó más en por la noche, solo para averiguar el formato del paquete del enlace esp.

Eva Jiménez
Eva Jiménez

Deja una respuesta

Tu dirección de correo electrónico no será publicada.