Tabla de contenido:

Detección de intrusos HiFive1 Arduino con alertas MQTT usando ESP32 o ESP8266: 6 pasos
Detección de intrusos HiFive1 Arduino con alertas MQTT usando ESP32 o ESP8266: 6 pasos

Video: Detección de intrusos HiFive1 Arduino con alertas MQTT usando ESP32 o ESP8266: 6 pasos

Video: Detección de intrusos HiFive1 Arduino con alertas MQTT usando ESP32 o ESP8266: 6 pasos
Video: IOT, Servidor Web, Email, Twitter - Integración de Servicios 2024, Noviembre
Anonim
Detección de intrusos HiFive1 Arduino con alertas MQTT usando ESP32 o ESP8266
Detección de intrusos HiFive1 Arduino con alertas MQTT usando ESP32 o ESP8266

La HiFive1 es la primera placa basada en RISC-V compatible con Arduino construida con CPU FE310 de SiFive. La placa es aproximadamente 20 veces más rápida que Arduino UNO, pero al igual que la placa UNO, carece de conectividad inalámbrica.

Afortunadamente, existen varios módulos económicos en el mercado para mitigar esta limitación. En este tutorial utilicé un ESP32 o un ESP8266 para obtener conectividad inalámbrica. A pesar de lo barato que es el ESP-01, debido a la necesidad de programarlo con un boceto de Arduino, el ESP-01 fue una solución menos práctica. Para programar el ESP-01, se necesita un adaptador USB a ESP-01 externo que no tenía al momento de realizar este tutorial. (Si está interesado en usar un HiFive1 con el ESP-01, siga este enlace) También contemplé el uso de un Arduino Shield, pero terminé quedándome con el ESP8266 / 32 debido al precio relativamente caro que tienen la mayoría de los escudos.

Este proyecto se enfocará en la creación de un Sistema de Detección de Intrusos que operará enviando una notificación a MQTT Broker cada vez que el sensor ultrasónico (SRF05) detecte un objeto que cruce su línea de visión.

Materiales necesarios para este proyecto:

  • Placa HiFive1 (se puede comprar aquí)
  • Módulo de desarrollo ESP32 o ESP8266 NodeMCU 1.0
  • Resistencia de 10k x 2
  • Resistencia de 1k
  • Tablero de circuitos
  • cable de puente x 6
  • Módulo ultrasónico SRF05
  • Dispositivo móvil

Paso 1: Configurar el entorno

Configurar el entorno
Configurar el entorno

Instale el IDE de Arduino

1. Siga las instrucciones para instalar el paquete Arduino de la placa HiFive1 y el controlador USB.

2. Instale el paquete de la placa ESP32 o ESP8266 agregando una URL adecuada en "Archivo-> Preferencias-> Administrador de placas adicionales":

  • ESP8266 -
  • ESP32:

Paso 2: cableado del ESP32

Cableado del ESP32
Cableado del ESP32
Cableado del ESP32
Cableado del ESP32

Si está utilizando un ESP8266, vaya al paso 3.

Importante: El SRF05 viene en 2 versiones de pinout que son versiones duplicadas entre sí, asegúrese de tener el mismo módulo que el mío usando el enlace a continuación.

Para obtener más detalles técnicos sobre el SRF05, siga este enlace.

GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI / O 11 (HiFive1) -> Pin de disparo (SRF05) DI / O 12 (HiFive1) -> Pin de eco (SRF05) DI / O 5 (HiFive1) -> Tx (ESP32) DI / O 6 (HiFive1) -> Rx (ESP32)

Nota: asegúrese de que el puente IOREF esté configurado en 3.3v.

Paso 3: cableado del ESP8266

Cableado del ESP8266
Cableado del ESP8266
Cableado del ESP8266
Cableado del ESP8266

Importante: El SRF05 viene en 2 versiones de pinout que son versiones duplicadas entre sí, asegúrese de tener el mismo módulo que el mío usando el enlace a continuación.

Para obtener más detalles técnicos sobre el SRF05, siga este enlace

GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI / O 11 (HiFive1) -> Pin de disparo (SRF05) DI / O 12 (HiFive1) -> Pin de eco (SRF05) DI / O 5 (HiFive1) -> Tx (ESP8266) DI / O 6 (HiFive1) -> Rx (ESP8266)

Nota: asegúrese de que el puente IOREF esté configurado en 3.3v.

Paso 4: programación

Código HiFive1:

Antes de programar, configure "Tools-> Board" en HiFive1, "Tools-> CPU Clock Frequency" en "256MHz PLL", "Tools-> Programmer" en "SiFive OpenOCD" y se selecciona el puerto serie correcto.

También necesitará descargar esta biblioteca ultrasónica y este PubSubClient y extraerlos en su carpeta de bibliotecas Arduino que se encuentra en "Usuario-> Documentos-> Arduino-> Bibliotecas".

ESP32 / 8266 Código:

Durante la programación, la placa ESP debe tener los pines Rx y Tx del hardware desconectados. Después de que el código se cargó con éxito, vuelva a cablear los pines Rx y Tx en el ESP para asegurar la comunicación entre el HiFive1 y el ESP.

Para ESP32: establezca "Herramientas-> Placa" en "Módulo de desarrollo ESP32", "Herramientas-> Programador" en "AVRISP mkll" y seleccione el puerto serie correcto.

Para ESP8266 - Establezca "Herramientas-> Placa" en "NodeMCU 1.0 (Módulo ESP-12E)", "Herramientas-> Programador" en "AVRISP mkll" y seleccione el puerto serie correcto.

El código de boceto se tomó prestado de aquí con modificaciones para convertirlo en un sistema de detección de intrusos.

Paso 5: Configurar el cliente

Configuración del cliente
Configuración del cliente
Configuración del cliente
Configuración del cliente
Configuración del cliente
Configuración del cliente
Configuración del cliente
Configuración del cliente

Usé un MQTT Broker basado en la nube (este) y un teléfono Android con esta aplicación.

Para configurar todo, deberá abrir una cuenta.

Utilice las capturas de pantalla proporcionadas para configurar CloudMQTT y la aplicación.

Paso 6: Resultado final

Resultado final
Resultado final
Resultado final
Resultado final
Resultado final
Resultado final
Resultado final
Resultado final

Nota: Debe establecer la velocidad en baudios de su monitor en serie en 115200, ya que es la velocidad en baudios que usamos en nuestro esquema.

Su resultado final debe ser similar a las capturas de pantalla finales.

Recomendado: