5. Programación de firmware para Esp32

Job ID: 38093239

Budget: $30 – $250 USD

Se busca desarrollador que domine lenguajes de programación c/c++ para placas de desarrollo ESP32 que tenga conocimientos en peticiones http para conexión con base de datos de Google Realtime Database. Así mismo , quien aspire al puesto tendrá que saber sobre redes wifi hotspot y preferentemente saber hacer lecturas a los componentes de la placa ESP32. Conexión a traves de MQTT.
La PCB la tenemos fabricada, facilitaríamos esquemáticos, BOM de componentes, etc, para facilitar el entendimiento de la misma.
Imprescindible que pueda mantener una conversación hablada en Español.


EXPLICACION MAS EXTENDIDA

Probulon es un proyecto de IoT basado el EPS32 donde maneja diferentes sensores y automatiza diferentes órdenes.
Todo parte de un servidor que es Google Firebase el cual almacena datos y el usuario por medio de una aplicación móvil da instrucciones que después lee un dispositivo que está en la vivienda del usuario para ejecutarlas.
El funcionamiento habitual del sistema es a través de la conexión con el servidor, en caso de perder la conexión con dicho servidor, el sistema pasa automáticamente a modo local. Este modo local consiste en que un microcontrolador ESP32 auxiliar que contiene la PCB, genera automáticamente una red local wifi que no depende de la wifi del cliente ni del servidor. Apuntar que nunca funcionan a la vez las conexiones “servidor” y “local”, el sistema es redundante, o funciona una o funciona otra.

Conexión del Firmware con Firebase (servidor):
El firmware hace una petición GET a la base de datos en tiempo real de Firebase para leer la configuración del dispositivo dada por el usuario y el estado de las acciones que el usuario solicite.

Conexión en modo local (Wifi esp32):
A través de la red local generada por el esp32 se abre un servidor web que va a recibir instrucciones directamente desde la aplicación, la cual estará conectada a dicha red local. El protocolo de comunicación será MQTT o similar (a comentar alternativas).

El firmware se ha de poder actualizar con versiones nuevas que vayamos programando. Esta actualización se tiene que hacer por OTA, en remoto, en ningún caso se ha de tener que ir al domicilio del cliente a actualizar el firmware.

El volumen de programación, dadas las ordenes que tiene que enviar y recibir el firmware, hemos calculado que un profesional con los conocimientos necesarios y su agenda libre para las próximas semanas, seria de unos 14 días, entre programación, reuniones, pruebas, etc.
El firmware va a manejar información continuada similar a un dispositivo de domótica o un sistema de alarma. Información como Gestión de clientes (red local), alarmas, notificaciones, sensores, etc.

Gracias,
Saludos.