Tabla de contenido:

EasyTalk: Comunicación sencilla y un calendario a tu lado: 6 pasos
EasyTalk: Comunicación sencilla y un calendario a tu lado: 6 pasos

Video: EasyTalk: Comunicación sencilla y un calendario a tu lado: 6 pasos

Video: EasyTalk: Comunicación sencilla y un calendario a tu lado: 6 pasos
Video: Izo Talks #11 - Transformación de la Ciudad del Saber hacia la Experiencia del Ciudadano 2024, Noviembre
Anonim
EasyTalk: comunicación sencilla y un calendario a tu lado
EasyTalk: comunicación sencilla y un calendario a tu lado
EasyTalk: comunicación sencilla y un calendario a tu lado
EasyTalk: comunicación sencilla y un calendario a tu lado

Mi nombre es Kobe Marchal, estudio en Howest, Bélgica y soy un estudiante de Tecnología de Comunicación y Multimedia (MCT). Para mi asignación final de mi primer año, tuve que hacer un dispositivo IoT.

En casa tenemos el problema de que mi hermano siempre está jugando y cuando mi madre necesita decirle algo desde abajo, necesita gritar porque él usa auriculares y no puede oír nada. Quería resolverle este problema, así que construí un dispositivo al que puedes enviar mensajes desde un sitio web. También se utiliza como un calendario en el que puede almacenar sus propios eventos o importar un calendario externo a través de una URL. Este dispositivo también almacena valores de temperatura y calidad del aire para que pueda ver qué tan saludable es cuando está jugando o trabajando porque a menudo no se da cuenta.

Este dispositivo se llama EasyTalk y resuelve este problema. Es un pequeño dispositivo que usa una pantalla OLED para que puedas ver tus eventos, la hora o temperatura y la calidad del aire en este momento. Cuando se envía un mensaje, lo advierte con un sonido de notificación y muestra el mensaje en la pantalla donde puede responder con sí o no.

Si quieres construir esto o quieres ver cómo se hace, te sugiero que sigas leyendo. Si quieres saber más sobre mí, puedes ir a mi portafolio.

Paso 1: Materiales

Materiales
Materiales
Materiales
Materiales
Materiales
Materiales

El primer paso es reunir todos los materiales para utilizar en este proyecto. Voy a ser honesto contigo. Este no es un dispositivo barato, el costo total es de 271 €. A continuación se muestra una lista de ellos y algunas fotos para aclarar.

  • Raspberry Pi 4 Modelo B - 4GB
  • Pibow Coupé 4 - Ninja
  • 12 x Tira de cables de puente premium - 40 estuches - M / M - 20cm
  • 6 x Tira de cables de puente premium - 40 estuches - M / F - 20cm
  • 2 x cabezal de apilamiento de 36 pines
  • Cabezal de caja macho de 40 pines
  • 40 pines Regenboog GPIO kabel
  • Kit de módulo de pantalla gráfica OLED monocromática de 2,42 "128x64
  • Altavoz Kleine Metalen con Draadjes - 8 ohmios 0,5 W
  • Versterker de audio Adafruit Mono 2.5W Clase D
  • Cable de conector auxiliar de 3,5 mm
  • Botón pulsador momentáneo de rosca de 7 mm
  • Tuimelschakelaar
  • Sensor de comportamiento PIR
  • Sensor de temperatura digital DS18B20
  • Grove - sensor Lucht kwaliteit v1.3
  • Grove - I2C ADC
  • Conexión Raspberry Pi 4 USB-C
  • Mini estatuilla Flexibel
  • Resistencias de 470 ohmios
  • Resistencia de 4, 7K Ohm
  • Tubo termoretráctil
  • 6 x tornillos M2 x 6 mm
  • 6 x tornillos M2 x 8 mm
  • 3 x tornillos M2 x 16 mm
  • Aluminiombuis 3 mm

También hice una lista de materiales (BOM) para que pueda ver cuánto pagué por todos los materiales y dónde los obtuve.

Paso 2: Raspberry Pi

Para este proyecto, usamos una Raspberry Pi porque es fácil de configurar y se puede usar para muchas cosas. Es perfecto para lo que queremos hacer.

Descargue el SO de escritorio Raspberry Pi e instálelo en su Raspberry Pi. Debe habilitar SPI, I2C y One Wire en raspi-config. Sugiero deshabilitar algunas cosas en las Opciones de arranque también para que arranque más rápido. Aparte de eso, utilizo algunas bibliotecas que tienes que instalar con pip para que esto funcione.

instalación de pip3:

  • circuito adafruit python-ssd1305
  • ics
  • Matraz
  • Matraz-Cors
  • Matraz-JWT-Extendido
  • mysql-conector-python

También necesita apache2 para configurar un sitio web, aquí usamos apt:

sudo apt install apache2 -y

Debe configurar la conexión inalámbrica porque no puede obtener un cable UTP en la Raspberry Pi cuando está en el estuche.

También deberá configurar MariaDB para poder acceder a la base de datos.

Paso 3: cableado

Alambrado
Alambrado
Alambrado
Alambrado

El siguiente paso es conectar todo y probar si todos los componentes funcionan. Creé una PCB para quitar la placa de pruebas y hacer que el cableado sea más pequeño para que el dispositivo pueda ser más pequeño. Esto es necesario porque se colocará junto a su monitor y no puede ocupar mucho espacio, por lo que no lo distrae de su trabajo.

Paso 4: base de datos

Base de datos
Base de datos

Este dispositivo hace uso de una base de datos MySQL normalizada para almacenar toda su información y mostrarla en el sitio web y en el propio dispositivo. Lo creé en MySQL Workbench.

Hay 5 tablas en esta base de datos.

Table Activiteiten (= actividades, eventos) se utiliza para almacenar todos los eventos del calendario. Esto también incluye todos los eventos importados de otro calendario.

Table Apparaten (= dispositivos) se utiliza para almacenar los diferentes tipos de dispositivos que se utilizan en la tabla Historiek (= historial). Hay dos sensores que se utilizan en este proyecto, un sensor de temperatura y un sensor de calidad del aire, pero también tengo un tercer "dispositivo", el sitio web en sí mismo para almacenar los mensajes enviados desde el sitio web al dispositivo.

Table Gebruikers (= usuarios) almacena los usuarios. Pueden iniciar sesión con su contraseña y especificar un apodo que aparece con un mensaje cuando se envía al dispositivo.

Table Historiek (= historial) se utiliza para almacenar los valores del sensor y los mensajes enviados al dispositivo.

Y, finalmente, la tabla de enlaces (= URL) almacena todas las URL del calendario externo.

Paso 5: Código

Código
Código
Código
Código
Código
Código

Recomiendo hacer un nuevo usuario ya que es una buena práctica, pero no es necesario, también puede usar el usuario pi predeterminado.

El código de la interfaz se coloca en la carpeta html predeterminada de apache2. Puede encontrar esta carpeta en / var / www / html.

Para el backend, debe crear una carpeta en su carpeta de inicio y poner todo el código allí.

También necesitamos cambiar algunos valores en este código. Primero vaya a app.py. En la línea 23, configure el nombre del sensor de temperatura de un cable. Probablemente esto sea algo diferente para ti. Para encontrar el nombre correcto, abra una terminal y escriba:

ls / sys / bus / w1 / dispositivos

y busque una cadena que consta de varios números diferentes y reemplace el de la línea 23.

La otra cosa que debemos cambiar es en el archivo config.py, cambiar la contraseña de la base de datos.

Si desea que esto se ejecute en el arranque, también debe cambiar el archivo EasyTalk.service. Simplemente cambie el directorio de trabajo y el usuario. Tienes que copiar este archivo con el siguiente comando:

sudo cp EasyTalk.service / etc / systemd / system / EasyTalk.service

Entonces ejecútalo:

sudo systemctl iniciar EasyTalk.service

Y luego habilítelo para que se inicie en el arranque

sudo systemctl habilita EasyTalk.service

Paso 6: Caso

Caso
Caso
Caso
Caso
Caso
Caso
Caso
Caso

Decidí imprimir la carcasa en 3D para que sea lo más pequeña posible. La impresión consta de 3 partes, la caja en sí, una tapa y un soporte para altavoz porque no tiene agujeros para atornillar.

También necesitarás algo de negrita para atornillar todo.

  • 6 x tornillos M2 x 6 mm
  • 6 x tornillos M2 x 8 mm
  • 3 x tornillos M2 x 16 mm

Aunque seré honesto. Me tomó de 4 a 5 horas construir esta cosa. Debido a que es tan pequeño, todo encaja y es difícil atornillar las negritas a veces, pero funciona si lo haces con cuidado.

También diseñé una PCB para reemplazar la placa de prueba, primero necesita soldar los encabezados y 5 resistencias (4 x 470 Ohm, 1 x 4.7K Ohm).

Cuando tenga la PCB, sugiero comenzar soldando cables a todo lo que se supone que debe conectarse a la PCB.

Una vez hecho esto, atornillará la pantalla OLED en su lugar y le conectará la PCB. La pantalla contiene la PCB. Utiliza tornillos de 6 mm para esto.

Luego, atornilla el sensor de calidad del aire donde se supone que debe ir, pero esto es un poco complicado porque el ADC se conecta a él. Para hacer esto correctamente para que los dos componentes no se toquen, use tornillos de 16 mm con tubos de aluminio de 3 x 5 mm que debe cortar. Hice esto con dos tornillos porque no pude alcanzar el tercero. Conecta los 4 cables donde se supone que deben ir en el PCB.

Luego, conecta el amplificador de audio a la PCB y coloca el altavoz en su lugar con el soporte impreso en 3D.

Después de estos pasos, las partes más difíciles han terminado y puede conectar todo lo demás a la PCB y atornillarlo en su lugar. Tenga en cuenta que en las fotos que ven utilizo un sensor de temperatura diferente, para el producto final, utilicé el sensor de temperatura con un cable largo que sale de la caja porque estaba midiendo el calor desde el interior de la caja.

Cuando todos estos están en su lugar, tienes que atornillar la Raspberry Pi. Utilizo el estuche para esto porque no confío en el calor que produce, este estuche está ahí para protegerlo para que la impresión 3D no se derrita. Antes de atornillarlo en su lugar, debe conectar el cable de alimentación y el cable auxiliar (al que debe abrir y soldar un cable y luego conectarlo de Raspberry Pi a PCB) porque no puede alcanzarlo después.

Luego, simplemente conecte el cable de encabezado GPIO de la PCB a la Raspberry Pi y pruebe si todo funciona antes de cerrar la tapa.

En la parte inferior hay un orificio donde se puede conectar un trípode, pero esto es opcional.

¡Eso es todo! ¡Espero que hayas disfrutado leyendo este artículo! -Kobe

Recomendado: