Cuprins:

EasyTalk: comunicare ușoară și un calendar lângă tine: 6 pași
EasyTalk: comunicare ușoară și un calendar lângă tine: 6 pași

Video: EasyTalk: comunicare ușoară și un calendar lângă tine: 6 pași

Video: EasyTalk: comunicare ușoară și un calendar lângă tine: 6 pași
Video: Cum să înveți o limbă străină | WEBINAR GRATUIT | easytalk.ro 2024, Iulie
Anonim
EasyTalk: comunicare ușoară și un calendar lângă tine
EasyTalk: comunicare ușoară și un calendar lângă tine
EasyTalk: comunicare ușoară și un calendar lângă tine
EasyTalk: comunicare ușoară și un calendar lângă tine

Numele meu este Kobe Marchal, studiez la Howest, Belgia și sunt student la tehnologia multimedia și comunicare (MCT). Pentru misiunea finală din primul meu an, a trebuit să fac un dispozitiv IoT.

Acasă avem această problemă că fratele meu joacă mereu și când mama trebuie să-i spună ceva de jos, trebuie să strige pentru că el poartă căști și nu aude nimic. Am vrut să rezolv această problemă pentru ea, așa că am construit un dispozitiv în care puteți trimite mesaje de pe un site web. De asemenea, este folosit ca un calendar în care puteți stoca propriile evenimente sau puteți importa un calendar extern pe o adresă URL. De asemenea, acest dispozitiv stochează valorile temperaturii și calității aerului, astfel încât să puteți vedea cât de sănătos este atunci când jucați sau lucrați, deoarece de multe ori nu observați.

Acest dispozitiv se numește EasyTalk și rezolvă această problemă. Este un dispozitiv mic care folosește un ecran OLED, astfel încât să puteți vedea evenimentele dvs., ora sau temperatura și calitatea aerului chiar acum. Când se trimite un mesaj, acesta vă observă cu un sunet de notificare și afișează mesajul pe ecran unde puteți răspunde cu da sau nu.

Dacă doriți să construiți acest lucru sau doriți să vedeți cum este făcut, vă recomand cu tărie să citiți mai departe. Dacă doriți să aflați mai multe despre mine, puteți merge la portofoliul meu.

Pasul 1: Materiale

Materiale
Materiale
Materiale
Materiale
Materiale
Materiale

Primul pas este de a aduna toate materialele de utilizat în acest proiect. Voi fi sincer cu tine. Acesta nu este un dispozitiv ieftin, costul total este de 271 €. Mai jos este o listă a acestora și câteva fotografii de clarificat.

  • Raspberry Pi 4 Model B - 4 GB
  • Pibow Coupé 4 - Ninja
  • 12 x bandă opțională Jumperwires Premium - 40 de copii - M / M - 20cm
  • 6 benzi opționale Premium Jumperwires - 40 de copii - M / F - 20cm
  • 2 x antet de stivuire cu 36 de pini
  • Antet cutie masculină cu 40 de pini
  • 40 pini Regenboog GPIO Kabel
  • Kit monocrom 2,42 "128x64 Modul de afișaj grafic OLED
  • Difuzorul Kleine Metalen a întâlnit Draadjes - 8 ohmi 0,5W
  • Adafruit Mono 2.5W Clasa D Versterker audio
  • Cablu Aux Jack de 3,5 mm
  • Buton de apăsare momentan cu fir de 7 mm
  • Tuimelschakelaar
  • PIR Bewegingssensor
  • DS18B20 Digitale senzor de temperaturi
  • Grove - Lucht kwaliteit sensor v1.3
  • Grove - I2C ADC
  • Raspberry Pi 4 USB-C Voeding
  • Mini-statief Flexibel
  • Rezistențe de 470 Ohm
  • Rezistor de 4, 7K Ohm
  • Tuburi termocontractabile
  • 6 x Suruburi M2 x 6mm
  • 6 x Șuruburi M2 x 8mm
  • 3 x Șuruburi M2 x 16mm
  • Aluminiumbuis 3 mm

De asemenea, am realizat un Bill of Materials (BOM), astfel încât să puteți vedea cât am plătit pentru toate materialele și de unde le-am obținut.

Pasul 2: Raspberry Pi

Pentru acest proiect, folosim un Raspberry Pi deoarece este ușor de configurat și poate fi folosit pentru multe lucruri. Este perfect pentru ceea ce vrem să facem.

Descărcați sistemul de operare Raspberry Pi Desktop și instalați-l pe Raspberry Pi. Trebuie să activați SPI, I2C și One Wire în raspi-config. Vă sugerez să dezactivați unele lucruri și în Opțiunile de pornire pentru a face ca pornirea să fie mai rapidă. În afară de asta, folosesc câteva biblioteci pe care trebuie să le instalați cu pip pentru ca acest lucru să funcționeze.

instalare pip3:

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

De asemenea, aveți nevoie de apache2 pentru a configura un site web, aici folosim apt:

sudo apt instalează apache2 -y

Trebuie să configurați conexiunea wireless, deoarece nu puteți obține un cablu UTP în Raspberry Pi atunci când este cazul.

Va trebui să configurați și MariaDB, astfel încât să puteți accesa baza de date.

Pasul 3: Cablare

Cablare
Cablare
Cablare
Cablare

Următorul pas este să conectați totul împreună și să testați dacă toate componentele funcționează. Am creat un PCB pentru a elimina panoul de control și pentru a face cablajul mai mic, astfel încât dispozitivul să poată fi mai mic. Acest lucru este necesar, deoarece va sta lângă monitor și nu poate ocupa mult spațiu, astfel încât să nu vă distragă atenția de la muncă.

Pasul 4: Baza de date

Bază de date
Bază de date

Acest dispozitiv folosește o bază de date MySQL normalizată pentru a stoca toate informațiile sale și a le arăta pe site-ul web și pe dispozitivul în sine. L-am creat în MySQL Workbench.

Există 5 tabele în această bază de date.

Table Activiteiten (= activități, evenimente) este folosit pentru a stoca toate evenimentele din calendar. Aceasta include, de asemenea, toate evenimentele importate dintr-un alt calendar.

Table Apparaten (= dispozitive) este utilizat pentru a stoca diferitele tipuri de dispozitive care sunt utilizate în tabelul Historiek (= istoric). Există doi senzori utilizați în acest proiect, un senzor de temperatură și un senzor de calitate a aerului, dar am și un al treilea „dispozitiv”, site-ul în sine pentru a stoca mesajele trimise de pe site către dispozitiv.

Table Gebruikers (= utilizatori) stochează utilizatorii. Se pot autentifica cu parola lor și pot specifica o poreclă care apare cu un mesaj atunci când este trimisă pe dispozitiv.

Table Historiek (= istoric) este utilizat pentru a stoca valorile senzorilor și mesajele trimise către dispozitiv.

Și, în cele din urmă, tabelul Link-uri (= URL) stochează toate adresele URL ale calendarului extern.

Pasul 5: Cod

Cod
Cod
Cod
Cod
Cod
Cod

Vă recomand să creați un nou utilizator, deoarece este cea mai bună practică, dar nu este necesar, puteți utiliza și utilizatorul pi implicit.

Codul frontend este plasat în folderul html implicit din apache2. Puteți găsi acest folder în / var / www / html.

Pentru backend, trebuie să creați un folder în folderul de acasă și să puneți tot codul acolo.

Trebuie să schimbăm și unele valori din acest cod. Mai întâi accesați app.py. Pe linia 23 setați numele senzorului de temperatură cu un fir. Acest lucru va fi probabil altceva pentru tine. Pentru a găsi numele potrivit, deschideți un terminal și introduceți:

ls / sys / bus / w1 / dispozitive

și căutați un șir care constă din mai multe numere diferite și înlocuiți-l pe cel de pe linia 23.

Celălalt lucru pe care trebuie să-l schimbăm este în fișierul config.py, schimbăm parola bazei de date.

Dacă doriți ca aceasta să ruleze la pornire, trebuie să schimbați și fișierul EasyTalk.service. Schimbați doar WorkingDirectory și User. Trebuie să copiați acest fișier cu următoarea comandă:

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

Apoi rulați-l:

sudo systemctl pornește EasyTalk.service

Și apoi activați-l, astfel încât să înceapă la pornire

sudo systemctl permite EasyTalk.service

Pasul 6: Caz

Caz
Caz
Caz
Caz
Caz
Caz
Caz
Caz

Am decis să imprim carcasa 3D astfel încât să poată fi cât mai mică posibil. Imprimarea este formată din 3 părți, cutia însăși, un capac și un suport pentru difuzoare, deoarece aceasta nu are găuri pentru înșurubarea șuruburilor.

Veți avea nevoie și de câteva îndrăznețe pentru a înșuruba totul.

  • 6 x Suruburi M2 x 6mm
  • 6 x Șuruburi M2 x 8mm
  • 3 x Șuruburi M2 x 16mm

Voi fi sincer totuși. Mi-a luat 4-5 ore să construiesc acest lucru. Deoarece este atât de mic, totul se potrivește și este greu să înșurubezi boldurile uneori, dar funcționează dacă o faci cu atenție.

De asemenea, am proiectat un PCB pentru a înlocui panoul, trebuie mai întâi să lipiți anteturile și 5 rezistențe (4 x 470 Ohm, 1 x 4.7K Ohm).

Când aveți PCB, vă sugerez să începeți cu cabluri de lipit la tot ceea ce se presupune că se conectează la PCB.

Când se termină acest lucru, veți înșuruba afișajul OLED pentru a plasa și conecta PCB la acesta. Afișajul conține PCB-ul. Pentru asta folosiți șuruburi de 6 mm.

Apoi înșurubați senzorul de calitate a aerului unde ar trebui să meargă, dar acest lucru este puțin dificil, deoarece ADC se conectează la acesta. Pentru a face acest lucru în mod corespunzător, astfel încât cele două componente să nu se atingă, utilizați șuruburi de 16 mm cu tuburi de aluminiu de 3 x 5 mm pe care trebuie să le vedeți. Am făcut asta cu două șuruburi, pentru că nu am putut ajunge la al treilea. Conectați cele 4 fire unde ar trebui să meargă pe PCB.

Apoi conectați amplificatorul audio la PCB și puneți difuzorul în poziție cu suportul tipărit 3D.

După acești pași, cele mai dificile părți s-au încheiat și puteți conecta orice altceva la PCB și înșurubați-l în poziție. Rețineți că în fotografiile pe care le vedeți folosesc un senzor de temperatură diferit, pentru produsul final, am folosit senzorul de temperatură cu un cablu lung care se scurge din cutie, deoarece măsura căldura din interiorul cutiei.

Când toate acestea sunt la locul lor, trebuie să înșurubați Raspberry Pi. Folosesc carcasa pentru asta pentru că nu am încredere în căldura pe care o produce, acest caz este acolo pentru protecție, astfel încât imprimarea 3D să nu se topească. Înainte de a-l înșuruba în poziție, trebuie să conectați cablul de alimentare și cablul auxiliar (la care trebuie să deschideți și să lipiți un fir și apoi să vă conectați de la Raspberry Pi la PCB) deoarece nu îl puteți ajunge după aceea.

Apoi conectați doar cablul antet GPIO de la PCB la Raspberry Pi și testați dacă totul funcționează înainte de a închide capacul.

În partea de jos există o gaură unde puteți conecta un trepied, dar acest lucru este opțional.

Asta e! Sper că v-a plăcut să citiți acest articol! -Kobe

Recomandat: