Obsah:
Video: EasyTalk: Snadná komunikace a kalendář vedle vás: 6 kroků
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Jmenuji se Kobe Marchal, studuji na Howest v Belgii a jsem studentem multimediálních a komunikačních technologií (MCT). Pro svůj závěrečný úkol v prvním ročníku jsem musel vyrobit zařízení IoT.
Doma máme problém, že můj bratr vždy hraje, a když mu moje matka potřebuje něco říct z přízemí, musí křičet, protože nosí sluchátka a nic neslyší. Chtěl jsem pro ni vyřešit tento problém, takže jsem postavil zařízení, kam můžete posílat zprávy z webu. Používá se také jako kalendář, do kterého můžete ukládat vlastní události nebo importovat externí kalendář přes adresu URL. Toto zařízení také ukládá hodnoty teploty a kvality vzduchu, takže můžete vidět, jak je zdravé, když hrajete nebo pracujete, protože si toho často nevšimnete.
Toto zařízení se nazývá EasyTalk a řeší tento problém. Je to malé zařízení, které používá obrazovku OLED, takže můžete hned teď sledovat své události, čas nebo teplotu a kvalitu vzduchu. Když je zpráva odeslána, upozorní vás zvukovým upozorněním a zobrazí zprávu na obrazovce, kde můžete odpovědět ano nebo ne.
Pokud chcete tuto věc postavit nebo chcete vidět, jak se vyrábí, důrazně doporučuji číst dále. Pokud se o mě chcete dozvědět více, můžete jít do mého portfolia.
Krok 1: Materiály
Prvním krokem je shromáždit všechny materiály, které lze použít v tomto projektu. Budu k vám upřímný. Nejedná se o levné zařízení, celkové náklady jsou 271 EUR. Níže je jejich seznam a několik fotografií k objasnění.
- Raspberry Pi 4 Model B - 4 GB
- Pibow Coupé 4 - Ninja
- 12 x Premium Jumperwires op pás - 40 štuků - M/M - 20 cm
- 6 x Premium Jumperwires op pás - 40 štuků - M/F - 20 cm
- 2 x 36kolíkový stohovací konektor
- 40kolíková hlavička mužského boxu
- 40 pinů Regenboog GPIO kabel
- Monochromatická sada modulů grafického displeje OLED 2,42 "128x64
- Kovový reproduktor Kleine se setkal s Draadjes - 8 ohm 0,5 W
- Adafruit Mono 2.5W Class D Audio Versterker
- 3,5 mm Aux Jack kabel
- Krátké tlačítko se závitem 7 mm
- Tuimelschakelaar
- Senzor PIR Bewegings
- DS18B20 Digitální teplotní senzor
- Grove - Lucht kwaliteit senzor v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C napájení
- Flexibel mini statief
- 470 ohmové odpory
- 4, 7K Ohm odpor
- Smršťovací bužírky
- 6 x šrouby M2 x 6 mm
- 6 x šrouby M2 x 8 mm
- 3 x šrouby M2 x 16 mm
- Aluminiumbuis 3 mm
Vytvořil jsem také kusovník (BOM), abyste viděli, kolik jsem zaplatil za všechny materiály a kde jsem je získal.
Krok 2: Raspberry Pi
Pro tento projekt používáme Raspberry Pi, protože se snadno nastavuje a dá se použít na spoustu věcí. Je perfektní pro to, co chceme dělat.
Stáhněte si Raspberry Pi Desktop OS a nainstalujte jej na Raspberry Pi. V raspi-config musíte povolit SPI, I2C a One Wire. Doporučuji také zakázat některé věci v možnostech spouštění, aby se spustilo rychleji. Kromě toho používám některé knihovny, které musíte nainstalovat pomocí pip, aby to fungovalo.
instalace pip3:
- adafruit-circuitpython-ssd1305
- ics
- Baňka
- Baňky-Cors
- Flask-JWT-Extended
- mysql-connector-python
K nastavení webové stránky potřebujete také apache2, zde používáme apt:
sudo apt install apache2 -y
Musíte nastavit bezdrátové připojení, protože v Raspberry Pi nemůžete získat kabel UTP, pokud je v pouzdře.
Abyste měli přístup k databázi, budete muset také nastavit MariaDB.
Krok 3: Zapojení
Dalším krokem je propojit vše dohromady a vyzkoušet, zda všechny součásti fungují. Vytvořil jsem desku plošných spojů, abych odstranil prkénko a zmenšil kabeláž, takže zařízení může být menší. Je to nutné, protože bude stát vedle vašeho monitoru a nezabere mnoho místa, aby vás nerušilo při práci.
Krok 4: Databáze
Toto zařízení využívá normalizovanou databázi MySQL k ukládání všech svých informací a jejich zobrazování na webových stránkách a samotném zařízení. Vytvořil jsem ho v MySQL Workbench.
V této databázi je 5 tabulek.
Tabulka Activiteiten (= aktivity, události) slouží k ukládání všech událostí kalendáře. To také zahrnuje všechny události importované z jiného kalendáře.
Table Apparaten (= zařízení) slouží k ukládání různých typů zařízení, která jsou použita v tabulce Historiek (= historie). V tomto projektu jsou použity dva senzory, teplotní senzor a snímač kvality vzduchu, ale mám také třetí „zařízení“, samotný web pro ukládání zpráv odesílaných z webu do zařízení.
Table Gebruikers (= uživatelé) ukládá uživatele. Mohou se přihlásit pomocí hesla a určit přezdívku, která se zobrazí při odeslání do zařízení.
Tabulka Historiek (= historie) slouží k ukládání hodnot senzorů a zpráv odesílaných do zařízení.
A nakonec tabulka Odkazy (= URL) ukládá všechny adresy URL externího kalendáře.
Krok 5: Kód
Doporučuji vytvořit nového uživatele, protože je to osvědčený postup, ale není to nutné, můžete také použít výchozího uživatele pi.
Frontendový kód je vložen do výchozí složky html z apache2. Tuto složku najdete v/var/www/html.
Pro backend musíte vytvořit složku ve své domovské složce a vložit tam veškerý kód.
Musíme také změnit některé hodnoty v tomto kódu. Nejprve přejděte na app.py. Na řádku 23 nastavte název jednodrátového teplotního senzoru. Pravděpodobně to pro vás bude něco jiného. Chcete -li najít správný název, otevřete terminál a zadejte:
ls/sys/bus/w1/zařízení
a vyhledejte řetězec, který se skládá z více různých čísel, a nahraďte ho na řádku 23.
Další věc, kterou musíme změnit, je v souboru config.py, změnit heslo k databázi.
Pokud to chcete spustit při spuštění, musíte také změnit soubor EasyTalk.service. Stačí změnit pracovní adresář a uživatele. Tento soubor musíte zkopírovat následujícím příkazem:
sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service
Poté spusťte:
sudo systemctl start EasyTalk.service
A pak ji povolte, aby se spustila při spuštění
sudo systemctl povolit EasyTalk.service
Krok 6: Případ
Rozhodl jsem se pouzdro vytisknout 3D, aby mohlo být co nejmenší. Potisk se skládá ze 3 částí, samotné krabice, víka a držáku reproduktoru, protože nemá otvory pro přišroubování šroubů.
Budete také potřebovat nějaké šrouby, abyste vše spojili dohromady.
- 6 x šrouby M2 x 6 mm
- 6 x šrouby M2 x 8 mm
- 3 x šrouby M2 x 16 mm
Budu ale upřímný. Sestavení této věci mi trvalo 4-5 hodin. Protože je tak malý, všechno se hodí a někdy je těžké šroubky zašroubovat, ale funguje to, pokud to děláte opatrně.
Také jsem navrhl desku plošných spojů, která nahradí prkénko, nejprve musíte pájet záhlaví a 5 rezistorů (4 x 470 Ohm, 1 x 4,7K Ohm).
Když máte desku plošných spojů, navrhuji začít s pájecími kabely ke všemu, co se má připojit k desce plošných spojů.
Až to bude hotové, přišroubujete OLED displej na místo a připojíte k němu desku plošných spojů. Displej drží desku plošných spojů. K tomu použijete 6mm šrouby.
Poté zašroubujete snímač kvality vzduchu tam, kam má jít, ale je to trochu složité, protože se k němu připojuje ADC. Abyste to udělali správně, aby se tyto dvě součásti navzájem nedotýkaly, použijte šrouby 16 mm s hliníkovými trubkami 3 x 5 mm, které musíte řezat. Udělal jsem to dvěma šrouby, protože jsem nemohl dosáhnout třetího. Připojte 4 vodiče tam, kde mají jít na desku plošných spojů.
Poté připojíte zesilovač zvuku k desce plošných spojů a umístíte reproduktor na místo pomocí držáku s 3D potiskem.
Po těchto krocích nejtěžší části skončily a vše ostatní můžete připojit k desce plošných spojů a přišroubovat ji na místo. Všimněte si, že na fotografiích vidíte, že používám jiné teplotní čidlo, u konečného produktu jsem použil teplotní čidlo s dlouhým kabelem, který vyběhl z krabice, protože měřil teplo zevnitř krabice.
Když jsou všechny tyto na svém místě, musíte Raspberry Pi zašroubovat. K tomu používám pouzdro, protože nevěřím teplu, které produkuje, tento případ je tam kvůli ochraně, aby se 3D tisk neroztavil. Než jej zašroubujete na místo, musíte připojit napájecí kabel a pomocný kabel (musíte otevřít a připájet jeden vodič a poté připojit z Raspberry Pi na PCB), protože po něm nemůžete dosáhnout.
Poté stačí připojit konektorový kabel GPIO z DPS k Raspberry Pi a před zavřením víka vyzkoušet, zda vše funguje.
Ve spodní části je otvor, ke kterému můžete připojit stativ, ale je to volitelné.
A je to! Doufám, že jste si tento článek užili! -Kobe