RinGPT, IA en el timbre de la casa

Roni Bandini
4 min readJul 7, 2024

--

RinGPT, timbre antirobo con IA

Según parece, la tecnología del timbre eléctrico desarrollada en 1831 por Joseph Henry está necesitando una actualización.

Esquemas del rinGPT

Este es un pequeño proyecto de fin de semana con las siguientes funciones:

. Detectar la presión del botón conectado a GPIO
. Contestar automáticamente “¿Quién es?”
. Grabar y reconocer el texto de la respuesta
. Enviar la “desgrabación” por Telegram
. Usar la IA, específicamente ChatGPT, para responder
. Grabar un archivo de registro log.txt

Código Python para el Unihiker
Lo que informa el visitante se “desgraba” y se envía por Telegram

Para reconocer la voz usé la librería Speech Recognition con un servicio de Google. Para responder, chatGPT. Para generar voz decente, aunque no tan argentina, edge_tts.

Esquema funcional

En cuanto al hardware usé la placa Unihiker que tiene micrófono integrado. La salida del audio la envío por Bluetooth a un pequeño parlante paireado con los siguientes comandos.

bluetoothctl
default-agent
power on
trust 00:00:00:00:00:00
pair 00:00:00:00:00:00
connect 00:00:00:00:00:00

El parlante BT y el Unihiker caben en la caja del timbre marca Porterito

Dependencias

Estas dependencias son requeridas por el programa Python del timbre.

pip install SpeechRecognition
apt-get install flac
pip install openai
pip install edge-tts
pip install art

Preguntas frecuentes

  1. ¿Puede ser más natural y argentina la voz? En la demo de TikTok usé la voz Onyx de OpenAI que tiene acento neutro. En la demo de YouTube implementé una mejora vía ES_AR de edge_tts
  2. ¿Cuál es el prompt que genera las respuestas? El prompt y la temperatura (creatividad) de la respuesta son configurables. A modo de ejemplo, un prompt usado en las pruebas fue “La semana pasada intentaron violentar la puerta. Toca el timbre un desconocido y dice:”
  3. ¿Hace falta conexión a Internet? RinGPT necesita conexión a Internet ya que manda notificaciones por Telegram y se comunica con la API de OpenAI.
  4. Qué pasa si visita la casa alguien que efectivamente está invitado? La versión actual permite configurar respuestas predeterminadas, por ejemplo: recon = [‘Hola Jorge’,,’cuchillo’], answers = [‘llamarAlWhatsApp.mp3’,’MensajeAfilador.mp3’]
  5. ¿Cómo se compara RinGPT con los timbres que llaman al dueño vía Smartphone? Con esos timbres no siempre se puede responder inmediatamente (viajes, ascensor, por la noche)
  6. ¿Por qué dice “esperá que ya estoy con vos?” o “aguarde un momento”? La aplicación se ejecuta en un pequeño dispositivo que debe grabar audio, extraer el texto, enviarlo a un servidor remoto y obtener la respuesta. Para dinamizar la demora se reproduce ese audio intermedio.
  7. ¿Por qué RinGPT está presentado como un dispositivo de seguridad? En ciertas geografías y circunstancias no responder el timbre es un riesgo.
  8. ¿Cuánto cuesta RinGPT? Es un proyecto experimental de fin de semana. No está a la venta. Los interesados en montar RinGPT pueden hacerlo por su cuenta o anotarse en los talleres de Contracultura Maker.
  9. ¿De qué forma usa la IA RinGPT? En algunas notas se indica que RinGPT reconoce caras con Machine Learning. Sin embargo RinGPT no tiene cámara y tampoco usa Machine Learning. RinGPT usa IA generativa — chatGPT vía la API de OpenAI — para crear las respuestas.

Demo

Código fuente y tutorial

Botón verde undocumented feature
  1. El tutorial está publicado en Hackaday
  2. El código fuente está publicado en Github

Referencias

https://platform.openai.com/docs/overview

https://pypi.org/project/edge-tts/

https://pypi.org/project/SpeechRecognition/

Vista de la consola

Otros proyectos con IA

El Unthing

Reggaeton Be Gone

Taquistoscopio de adoctrinamiento

Poetry Wall

Artículos sobre RinGPT

Charla de Contracultura Maker en Nerdearla

--

--

Roni Bandini

Contracultura maker 🛠️ Arte electrónico 💡Inteligencia Artificial