Obsah:
- Krok 1: Materiály
- Krok 2: Raspberry Pi
- Krok 3: Zapojenie
- Krok 4: Databáza
- Krok 5: Kód
- Krok 6: Prípad
Video: EasyTalk: Jednoduchá komunikácia a kalendár vedľa vás: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Moje meno je Kobe Marchal, študujem na Howest v Belgicku a som študentom multimediálnych a komunikačných technológií (MCT). Aby som mohol v prvom roku pracovať, musel som vytvoriť zariadenie IoT.
Doma máme problém, že môj brat sa vždy hrá, a keď mu mama musí niečo zdola povedať, musí kričať, pretože má slúchadlá a nič nepočuje. Chcel som za ňu vyriešiť tento problém, a tak som postavil zariadenie, na ktoré môžete odosielať správy z webového servera. Používa sa tiež ako kalendár, do ktorého môžete ukladať svoje vlastné udalosti alebo importovať externý kalendár prostredníctvom adresy URL. Toto zariadenie tiež ukladá hodnoty teploty a kvality vzduchu, aby ste videli, aké zdravé je pri hraní hier alebo práci, pretože si to často nevšimnete.
Toto zariadenie sa nazýva EasyTalk a rieši tento problém. Je to malé zariadenie, ktoré používa OLED obrazovku, aby ste mohli vidieť svoje udalosti, čas alebo teplotu a kvalitu vzduchu práve teraz. Keď sa správa odošle, upozorní vás zvukovým upozornením a zobrazí správu na obrazovke, na ktorú môžete odpovedať áno alebo nie.
Ak chcete postaviť túto vec alebo chcete vidieť, ako sa vyrába, dôrazne odporúčam čítať ďalej. Ak sa chcete o mne dozvedieť viac, môžete ísť do môjho portfólia.
Krok 1: Materiály
Prvým krokom je zhromaždiť všetky materiály, ktoré sa majú použiť v tomto projekte. Budem k vám úprimný. Nejde o lacné zariadenie, celkové náklady sú 271 €. Nasleduje ich zoznam a niekoľko fotografií na objasnenie.
- Raspberry Pi 4 Model B - 4 GB
- Pibow Coupé 4 - Ninja
- 12 x Premium Jumperwires op pás - 40 štukov - M/M - 20 cm
- 6 x opaskový pás Premium Jumperwires - 40 štukov - M/F - 20 cm
- 2 x 36-kolíková stohovacia hlavička
- 40-kolíková zásuvka mužského boxu
- 40 pinov Regenboog GPIO kábel
- Monochromatická súprava 2,42 "128 x 64 OLED grafického zobrazovacieho modulu
- Kovový reproduktor Kleine sa stretol s Draadjes - 8 ohm 0,5 W
- Adafruit Mono 2,5 W zvukový kontrolér triedy D.
- 3,5 mm Aux Jack kábel
- Krátke tlačidlo so závitom 7 mm
- Tuimelschakelaar
- PIR Bewegingssensor
- Digitálny teplotný senzor DS18B20
- Grove - Lucht kwaliteit senzor v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C napájanie
- Flexibel mini statief
- Odpor 470 ohmov
- 4, 7K ohmový odpor
- Teplom zmrštiteľné hadičky
- 6 x skrutky M2 x 6 mm
- 6 x skrutky M2 x 8 mm
- 3 x skrutky M2 x 16 mm
- Hliníkový plech 3 mm
Vytvoril som aj kusovník (kusovník), aby ste videli, koľko som zaplatil za všetky materiály a kde som ich získal.
Krok 2: Raspberry Pi
Na tento projekt používame Raspberry Pi, pretože sa ľahko nastavuje a dá sa použiť na veľa vecí. Je to perfektné pre to, čo chceme robiť.
Stiahnite si operačný systém Raspberry Pi Desktop a nainštalujte ho na svoj Raspberry Pi. V raspi-config musíte povoliť SPI, I2C a One Wire. Navrhujem tiež zakázať niektoré veci v možnostiach spustenia, aby sa bootoval rýchlejšie. Okrem toho používam niektoré knižnice, ktoré musíte nainštalovať pomocou pipu, aby to fungovalo.
inštalácia pip3:
- adafruit-circuitpython-ssd1305
- ics
- Banka
- Flask-Cors
- Flask-JWT-predĺžené
- mysql-connector-python
Na zriadenie webovej stránky potrebujete aj apache2, tu používame apt:
sudo apt nainštalovať apache2 -y
Musíte nastaviť bezdrôtové pripojenie, pretože v Raspberry Pi nemôžete dostať kábel UTP, ak je v puzdre.
Budete tiež musieť nastaviť MariaDB, aby ste mali prístup k databáze.
Krok 3: Zapojenie
Ďalším krokom je prepojiť všetko dohromady a otestovať, či všetky komponenty fungujú. Vytvoril som DPS na odstránenie nepájivej dosky a zmenšenie zapojenia, takže zariadenie môže byť menšie. Je to nevyhnutné, pretože bude stáť vedľa vášho monitora a nezaberie veľa miesta, aby vás nerušilo pri práci.
Krok 4: Databáza
Toto zariadenie používa normalizovanú databázu MySQL na ukladanie všetkých svojich informácií a zobrazovanie na webových stránkach a v samotnom zariadení. Vytvoril som ho v MySQL Workbench.
V tejto databáze je 5 tabuliek.
Tabuľka Activiteiten (= činnosti, udalosti) slúži na ukladanie všetkých udalostí kalendára. To zahŕňa aj všetky udalosti importované z iného kalendára.
Table Apparaten (= zariadenia) sa používa na ukladanie rôznych typov zariadení, ktoré sa používajú v tabuľke Historiek (= história). V tomto projekte sú použité dva snímače, snímač teploty a snímač kvality vzduchu, ale mám aj tretie „zariadenie“, samotný web na ukladanie správ odosielaných z webu do zariadenia.
Table Gebruikers (= užívatelia) ukladá používateľov. Môžu sa prihlásiť pomocou hesla a určiť prezývku, ktorá sa pri odoslaní do zariadenia zobrazí so správou.
Tabuľka Historiek (= história) slúži na ukladanie hodnôt senzorov a správ odosielaných do zariadenia.
A nakoniec, Odkazy na tabuľky (= adresy URL) ukladajú všetky adresy URL externého kalendára.
Krok 5: Kód
Odporúčam vytvoriť nového používateľa, pretože je to osvedčený postup, ale nie je to nevyhnutné, môžete použiť aj predvoleného používateľa pí.
Frontendový kód je vložený do predvoleného priečinka html z apache2. Tento priečinok nájdete v adresári/var/www/html.
Pre backend musíte vytvoriť priečinok vo svojom domovskom priečinku a vložiť tam všetok kód.
Niektoré hodnoty musíme zmeniť aj v tomto kóde. Najprv choďte na app.py. Na riadku 23 nastavte názov jednožilového snímača teploty. Pravdepodobne to bude pre teba niečo iné. Ak chcete nájsť správne meno, otvorte terminál a zadajte:
ls/sys/bus/w1/zariadenia
a vyhľadajte reťazec, ktorý pozostáva z viacerých rôznych čísel, a nahraďte ho v riadku 23.
Ďalšia vec, ktorú musíme zmeniť, je v súbore config.py, zmeniť heslo databázy.
Ak to chcete spustiť pri spustení, musíte tiež zmeniť súbor EasyTalk.service. Stačí zmeniť pracovný adresár a používateľa. Tento súbor musíte skopírovať nasledujúcim príkazom:
sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service
Potom spustite:
sudo systemctl start EasyTalk.service
Potom ho povoľte, aby sa spustil pri zavádzaní
sudo systemctl povoľte službu EasyTalk.service
Krok 6: Prípad
Rozhodol som sa 3D puzdro vytlačiť, aby bolo čo najmenšie. Potlač sa skladá z 3 častí, samotnej škatule, veka a držiaka reproduktora, pretože nemá otvory na zaskrutkovanie skrutiek.
Budete tiež potrebovať nejaké skrutky, aby ste všetko spojili.
- 6 x skrutky M2 x 6 mm
- 6 x skrutky M2 x 8 mm
- 3 x skrutky M2 x 16 mm
Budem však úprimný. Postavenie tejto veci mi trvalo 4-5 hodín. Pretože je taký malý, všetko sa naň zmestí a niekedy je ťažké skrutky zaskrutkovať, ale funguje to, ak to robíte opatrne.
Tiež som navrhol DPS na výmenu nepájivého poľa, najskôr musíte spájkovať záhlavia a 5 odporov (4 x 470 Ohm, 1 x 4,7K Ohm).
Keď máte DPS, navrhujem začať spájkovacími káblami ku všetkému, čo sa má k DPS pripojiť.
Akonáhle to urobíte, zaskrutkujete OLED displej na miesto a pripojíte k nemu dosku plošných spojov. Displej drží DPS. Na to použijete 6 mm skrutky.
Potom priskrutkujte snímač kvality vzduchu tam, kam má ísť, ale je to trochu zložité, pretože sa k nemu pripája ADC. Aby ste to urobili správne, aby sa obidva diely navzájom nedotýkali, použite 16 mm skrutky s hliníkovými rúrkami 3 x 5 mm, ktoré musíte píliť. Urobil som to dvoma skrutkami, pretože som nemohol dosiahnuť tretiu. Pripojte 4 vodiče tam, kde majú ísť na DPS.
Potom pripojte zosilňovač zvuku k doske plošných spojov a umiestnite reproduktor na miesto pomocou držiaka s 3D tlačou.
Po týchto krokoch sú najťažšie časti za nami a všetko ostatné môžete pripojiť k doske plošných spojov a zaskrutkovať ju na miesto. Všimnite si toho, že na fotografiách vidíte, že používam iný teplotný snímač, pre konečný výrobok som použil teplotný snímač s dlhým káblom, ktorý vybehne z krabice, pretože meral teplo zvnútra škatule.
Keď sú všetky tieto položky na svojom mieste, musíte Raspberry Pi zaskrutkovať. Na to používam puzdro, pretože neverím teplu, ktoré produkuje. Tento prípad je tam kvôli ochrane, aby sa 3D tlač neroztopila. Predtým, ako ho zaskrutkujete na miesto, musíte pripojiť napájací kábel a pomocný kábel (ten musíte otvoriť a spájkovať jeden vodič a potom pripojiť z Raspberry Pi na PCB), pretože sa naň už nemôžete dostať.
Potom stačí pripojiť záhlavný kábel GPIO z DPS k Raspberry Pi a pred zatvorením veka otestovať, či všetko funguje.
V spodnej časti je otvor, ku ktorému je možné pripojiť statív, ale je to voliteľné.
To je všetko! Dúfam, že ste si tento článok užili! -Kobe
Odporúča:
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: 15 krokov
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: Vytváram knižnicu na správu EBYTE E32 na základe série zariadení LoRa Semtech, veľmi výkonného, jednoduchého a lacného zariadenia. Verzia 3 km tu, verzia 8 km tu Môžu pracovať na vzdialenosť 3 000 až 8 000 m a majú mnoho funkcií
Gyroskop MPU 6050, akcelerometer, komunikácia s Arduino (Atmega328p): 5 krokov
Gyroskop MPU 6050, akcelerometer s Arduino (Atmega328p): MPU6050 IMU má v jednom čipe integrovaný trojosový akcelerometer aj trojosový gyroskop. Gyroskop meria rýchlosť otáčania alebo rýchlosť zmeny uhlovej polohy v priebehu času pozdĺž Os X, Y a Z. Výstupy gyroskopu sú
Komunikácia Bluetooth a Arduino a mobilný telefón (messenger): 8 krokov
Komunikácia Bluetooth a Arduino a Bluetooth (messenger): Komunikácia hrá dôležitú úlohu v našom každodennom živote. V tejto dobe zablokovania však komunikácia s vlastnou rodinou alebo komunikácia s ľuďmi v našom dome niekedy potrebuje mobilné telefóny. Krátkodobé používanie mobilných telefónov
Bezdrôtová šifrovaná komunikácia Arduino: 5 krokov
Bezdrôtová šifrovaná komunikácia Arduino: Ahoj všetci, V tomto druhom článku vám vysvetlím, ako používať čip Atecc608a na zabezpečenie vašej bezdrôtovej komunikácie. Na tento účel použijem NRF24L01+ pre bezdrôtovú časť a Arduino UNO. Mikročip ATECC608A bol navrhnutý
Sériová komunikácia Arduino: 5 krokov
Sériová komunikácia Arduino: Mnoho projektov Arduino sa spolieha na prenos údajov medzi niekoľkými Arduinos. Bez ohľadu na to, či ste nadšenec, ktorý stavia RC auto, RC lietadlo alebo navrhuje meteorologickú stanicu so vzdialeným displejom, budete musieť vedieť, ako na to spoľahlivo. prenosové série