Paso 6: Firmware - ESP8266
El firmware para este módulo se puede encontrar en el directorio esp8266 del repositorio de código fuente. Este código está escrito en C, debe ser compilado utilizando el SDK de Espressif y XTensa herramientas GCCy puede ser flasheado al chip con esptool y un 3.3V USB to Serial Converter. Esto es no el código de Arduino.
El código presentado es construido de otro Instructable escribí anteriormente. Otra vez, le animo a tomar algún tiempo para leer a través de esa guía, ya que muestra cómo configurar el entorno de desarrollo, flash chip los detalles del código en uso así como cómo escribir tu propia biblioteca de PubNub.
En el arranque, llevará a cabo las siguientes acciones:
- Inicializa los pines UART y de la entrada-salida
- Conectar a red WiFi
- Conectarse a PubNub
- Habilitar un recurrente 1 ms temporizador
La 1ms temporizador puede servir como un lazo principal, medida que se repite cada 1ms. Es aquí que se solicitar información acerca de la escala o solicitar un reinicio de la Atmel ATmega328p. La aplicación entera de bit-bang I2C también es manejada aquí por utilizar varias banderas del estado y establecer las líneas de reloj y datos HI o LO en consecuencia. Después han sido leer dos bytes de datos que representa los dígitos de la escala, los valores concatenados y usados para construir una cadena JSON a publicar en la función publishMsg() .
Aviso, los datos sólo se publicaron si es nuevo! No tiene sentido que constantemente envíe bytes repetidos o irrelevantes. Sin embargo, un contador asegura que al menos un mensaje es publicado cada pocos minutos, sirviendo como una señal de latido del corazón . Usted tendrá que introducir su propia PubNub claves y credenciales personales de WiFi en el código fuente. Esto se explica en la guía comenzada que escribí.