Taula de continguts:

EasyTalk: comunicació fàcil i calendari al costat: 6 passos
EasyTalk: comunicació fàcil i calendari al costat: 6 passos

Vídeo: EasyTalk: comunicació fàcil i calendari al costat: 6 passos

Vídeo: EasyTalk: comunicació fàcil i calendari al costat: 6 passos
Vídeo: Learning a language? Speak it like you’re playing a video game | Marianna Pascal | TEDxPenangRoad 2024, Desembre
Anonim
EasyTalk: fàcil comunicació i un calendari al vostre costat
EasyTalk: fàcil comunicació i un calendari al vostre costat
EasyTalk: fàcil comunicació i un calendari al vostre costat
EasyTalk: fàcil comunicació i un calendari al vostre costat

Em dic Kobe Marchal, estudi a Howest, Bèlgica i sóc estudiant de Tecnologia de Comunicació i Multimèdia (MCT). Per a la meva tasca final del meu primer any, vaig haver de fer un dispositiu IoT.

A casa tenim aquest problema: el meu germà sempre juga i quan la meva mare necessita dir-li alguna cosa des de baix, ha de cridar perquè porta uns auriculars i no sap res. Volia resoldre-li aquest problema, de manera que vaig crear un dispositiu on podeu enviar missatges des d’un lloc web. També s’utilitza com a calendari on podeu emmagatzemar els vostres propis esdeveniments o importar un calendari extern a través d’un URL. Aquest dispositiu també emmagatzema els valors de la temperatura i de la qualitat de l’aire perquè pugueu veure com és de saludable quan esteu jugant o treballant, perquè sovint no se n’adona.

Aquest dispositiu es diu EasyTalk i resol aquest problema. És un dispositiu petit que utilitza una pantalla OLED perquè pugueu veure els vostres esdeveniments, l’hora o la temperatura i la qualitat de l’aire en aquest moment. Quan s’envia un missatge, es nota amb un so de notificació i mostra el missatge a la pantalla on podeu respondre amb sí o no.

Si voleu construir aquesta cosa o voleu veure com es fabrica, us recomano continuar llegint. Si voleu saber més sobre mi, podeu anar a la meva cartera.

Pas 1: materials

Materials
Materials
Materials
Materials
Materials
Materials

El primer pas és reunir tots els materials per utilitzar en aquest projecte. Seré honest amb tu. No és un dispositiu barat, el cost global és de 271 €. A continuació es mostra una llista d’ells i algunes fotos per aclarir.

  • Raspberry Pi 4 Model B - 4 GB
  • Pibow Coupé 4 - Ninja
  • 12 x tira opcional Premium Jumperwires - 40 estudiants - M / M - 20cm
  • 6 x tira opcional Premium Jumperwires - 40 estudiants - M / F - 20cm
  • Capçal d'apilament de 2 x 36 pines
  • Capçalera de caixa masculina de 40 pins
  • 40 pins Regenboog GPIO
  • Kit de mòduls de pantalla gràfica OLED monocrom de 2,42 "de 128 x 64
  • Kleine Metalen Speaker va reunir Draadjes - 8 ohm 0,5W
  • Adafruit Mono 2.5W Classe D Versterker d'àudio
  • Cable de presa auxiliar de 3,5 mm
  • Polsador momentani de fil de 7 mm
  • Tuimelschakelaar
  • PIR Bewegingssensor
  • DS18B20 Sensor de temperatura digital
  • Grove - Lucht kwaliteit sensor v1.3
  • Grove - I2C ADC
  • Raspberry Pi 4 USB-C Voeding
  • Mini-estatief Flexibel
  • Resistències de 470 Ohm
  • Resistència de 4,7 Ohm
  • Tubs termorretractables
  • 6 x Cargols M2 x 6mm
  • 6 x Cargols M2 x 8mm
  • 3 x Cargols M2 x 16mm
  • Aluminiumbuis de 3 mm

També he fet una declaració de materials (BOM) perquè pugueu veure quant he pagat per tots els materials i d’on els he obtingut.

Pas 2: Raspberry Pi

Per a aquest projecte, fem servir un Raspberry Pi perquè és fàcil de configurar i es pot utilitzar per a moltes coses. És perfecte per al que volem fer.

Baixeu-vos el sistema operatiu d'escriptori Raspberry Pi i instal·leu-lo al vostre Raspberry Pi. Heu d’habilitar SPI, I2C i One Wire al raspi-config. Us suggereixo que també desactiveu algunes coses a les Opcions d'arrencada per arrencar més ràpidament. A part d'això, faig servir algunes biblioteques que heu d'instal·lar amb pip per fer que això funcioni.

instal·lar pip3:

  • adafruit-circuitpython-ssd1305
  • ics
  • Flascó
  • Flask-Cors
  • Flask-JWT-Extended
  • mysql-connector-python

També necessiteu apache2 per configurar un lloc web, aquí fem servir apt:

sudo apt install apache2 -y

Heu de configurar la connexió sense fils perquè no podeu obtenir un cable UTP al Raspberry Pi quan hi sigui.

També haureu de configurar MariaDB per poder accedir a la base de dades.

Pas 3: cablejat

Cablejat
Cablejat
Cablejat
Cablejat

El següent pas és connectar-ho tot i provar si tots els components funcionen. Vaig crear un PCB per treure el tauler i reduir el cablejat perquè el dispositiu sigui més petit. Això és necessari perquè es mantindrà al costat del monitor i no pot ocupar molt d’espai, de manera que no us distreu del vostre treball.

Pas 4: base de dades

Base de dades
Base de dades

Aquest dispositiu fa servir una base de dades MySQL normalitzada per emmagatzemar tota la seva informació i mostrar-la al lloc web i al mateix dispositiu. El vaig crear a MySQL Workbench.

Hi ha 5 taules en aquesta base de dades.

Table Activiteiten (= activitats, esdeveniments) s’utilitza per emmagatzemar tots els esdeveniments del calendari. Això també inclou tots els esdeveniments importats d'un altre calendari.

Table Apparaten (= dispositius) s’utilitza per emmagatzemar els diferents tipus de dispositius que s’utilitzen a la taula Historiek (= historial). Hi ha dos sensors utilitzats en aquest projecte, un sensor de temperatura i un sensor de qualitat de l’aire, però també tinc un tercer “dispositiu”, el propi lloc web per emmagatzemar els missatges que s’envien des del lloc web al dispositiu.

Table Gebruikers (= usuaris) emmagatzema els usuaris. Poden iniciar la sessió amb la seva contrasenya i especificar un sobrenom que aparegui amb un missatge quan s’enviï al dispositiu.

Table Historiek (= historial) s’utilitza per emmagatzemar els valors del sensor i els missatges que s’envien al dispositiu.

I, finalment, la taula Enllaços (= URL) emmagatzema tots els URL externs del calendari.

Pas 5: Codi

Codi
Codi
Codi
Codi
Codi
Codi

Recomano crear un usuari nou, ja que és una bona pràctica, però no és necessari, també podeu utilitzar l’usuari pi predeterminat.

El codi de la interfície es posa a la carpeta html per defecte des de apache2. Podeu trobar aquesta carpeta a / var / www / html.

Per al dorsal, heu de crear una carpeta a la carpeta inicial i posar-hi tot el codi.

També hem de canviar alguns valors d’aquest codi. Primer aneu a app.py. A la línia 23, configureu el nom del sensor de temperatura d’un fil. Probablement això serà diferent per a vosaltres. Per trobar el nom correcte, obriu un terminal i escriviu:

ls / sys / bus / w1 / dispositius

i cerqueu una cadena que consti de múltiples nombres diferents i substituïu la de la línia 23.

L’altra cosa que hem de canviar és al fitxer config.py, canvieu la contrasenya de la base de dades.

Si voleu que s'executi a l'arrencada, també heu de canviar el fitxer EasyTalk.service. Només cal canviar el WorkingDirectory i l’usuari. Heu de copiar aquest fitxer amb l'ordre següent:

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

A continuació, executeu-lo:

sudo systemctl inicia EasyTalk.service

A continuació, activeu-lo perquè comenci a arrencar

sudo systemctl habilita EasyTalk.service

Pas 6: cas

Caixa
Caixa
Caixa
Caixa
Caixa
Caixa
Caixa
Caixa

Vaig decidir imprimir la funda en 3D perquè fos el més petita possible. La impressió consta de 3 parts, la caixa en si, una tapa i un suport per a altaveus perquè no té forats per cargolar els cargols.

Necessitareu també algunes negretes per cargolar-ho tot.

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

Però seré honest. Vaig trigar 4-5 hores a construir aquesta cosa. Com que és molt petit, tot s’adapta i de vegades és difícil posar-hi les negretes, però funciona si ho feu amb cura.

També he dissenyat un PCB per substituir la placa de control, primer cal soldar les capçaleres i 5 resistències (4 x 470 Ohm, 1 x 4,7 K Ohm).

Quan tingueu el PCB, us suggereixo començar per soldar cables a tot el que se suposa que es connecta al PCB.

Un cop fet això, cargolareu la pantalla OLED per col·locar-la i connectar-hi la placa. La pantalla conté el PCB. Per a això utilitzeu cargols de 6 mm.

A continuació, cargoleu el sensor de qualitat de l'aire on se suposa que ha d'anar, però això és una mica complicat perquè l'ADC hi connecta. Per fer-ho correctament perquè els dos components no es toquin, utilitzeu cargols de 16 mm amb tubs d’alumini de 3 x 5 mm que heu de serrar. Ho vaig fer amb dos cargols perquè no podia arribar al tercer. Connecteu els 4 cables on se suposa que haurien d’anar a la PCB.

A continuació, connecteu l’amplificador d’àudio al PCB i col·loqueu l’altaveu amb el suport imprès en 3D.

Després d’aquests passos, s’han acabat les parts més dures i podeu connectar tota la resta al PCB i enroscar-lo al lloc. Tingueu en compte que a les fotografies que veieu utilitzo un sensor de temperatura diferent, per al producte final, he utilitzat el sensor de temperatura amb un cable llarg que queda fora de la caixa perquè mesurava la calor de l'interior de la caixa.

Quan tots aquests siguin al seu lloc, heu de cargolar el Raspberry Pi. Utilitzo la funda per això perquè no confio en la calor que produeix; aquest cas està protegit perquè la impressió 3D no es fongui. Abans de cargolar-lo per col·locar-lo, heu de connectar el cable d’alimentació i el cable auxiliar (al qual heu d’obrir i soldar un cable i després connectar-lo des de Raspberry Pi a PCB) perquè no podreu arribar-hi.

A continuació, només cal que connecteu el cable de capçalera GPIO del PCB al Raspberry Pi i proveu si tot funciona abans de tancar la tapa.

A la part inferior hi ha un forat per connectar un trípode, però és opcional.

Això és! Espero que us hagi agradat llegir aquest article! -Kobe

Recomanat: