Obsah:
- Zásoby
- Krok 1: Nastavenie
- Krok 2: Inštalácia zrkadla
- Krok 3: Konfigurácia
- Krok 4: API
- Krok 5: Kalendár
- Krok 6: Google API
- Krok 7: Dizajn zrkadla
- Krok 8: Vykonanie zapojenia
- Krok 9: Spustenie kódu
- Krok 10: Spustenie zrkadla
Video: Inteligentné zrkadlo pre viacerých používateľov s Kalendárom Google: 10 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
V tomto návode vytvoríme inteligentné zrkadlo integrované s Kalendárom Google. Vytvoril som tento projekt, pretože inteligentné zrkadlá považujem za skutočne skvelé, pretože sú ráno darom z nebies. Ale rozhodol som sa urobiť jeden sám od nuly, pretože všetky ostatné majú 1 chybu. Sú príliš vyspelí a preplnení. Rozhodol som sa to udržať jednoduché.
Zásoby
Predtým
začneme to sú veci, ktoré určite budete potrebovať na stavbu zrkadla ako ja. Tieto zásoby budú stáť okolo 250 až 350 eur v závislosti od vášho regiónu a aktuálnych cien.
Hardvér
Senzory
- Jeden snímač teploty drôtu
- RWCL 0516 (snímač pohybu v mikrovlnnej rúre)
- Mäkký potenciometer (Touchstrip od Sparkfun)
Výpočtový
a IC
- Reproduktor (3,2 W pri 4Ω ALEBO 1,8W pri 8Ω)
- MCP3008
- Adafruit I2S 3W zosilňovač triedy D - MAX98357A
- Raspberry Pi 3 B+
- Karta SD (8 GB je v poriadku)
- Rezistor 4,7K Ohm
Rôzne
- Prepojovacie vodiče
- Breadboard
- Akrylové obojsmerné zrkadlo (15% prenos svetla)
- Monitor IPS (veľkosť závisí od toho, ako veľký ho chcete)
- HDMI kábel
- Drevo
Softvér
- PuTTY
- Editor kódu (stačí Poznámkový blok ++)
- Zobrazovač disku Win32
- Obraz operačného systému Raspbian
Krok 1: Nastavenie
Na začiatku budeme musieť najskôr nastaviť váš Pi pre kód, ktorý som vytvoril.
Budete potrebovať dve veci:
- Win32 Disk Imager z
- Obraz operačného systému Raspbian z
Stiahnite si súbor ZIP a rozbaľte ho kdekoľvek chcete.
Inštalácia
- Vyberte svoj obrázok pomocou ikony priečinka
- V rozbaľovacom zozname vyberte svoju kartu SD
- Kliknite na písať
Teraz budeme musieť urobiť nejaké ďalšie drobnosti s niektorými nastaveniami, aby sme mali prístup k Pi.
- Prejdite do zavádzacieho adresára karty SD
- Otvorte súbor "cmdline.txt"
- Pridať ip = 169.254.10.1 Na konci dlhého riadku textu oddeleného medzerou (na rovnakom riadku).
- Uložte súbor.
- Vytvorte súbor s názvom ssh bez prípony v rovnakom adresári
Teraz môžete kartu SD vysunúť a vložiť do počítača Pi.
Pripája sa
Teraz budeme musieť nastaviť softvér.
Najprv zapojte kábel LAN, jeden koniec do stolného počítača/prenosného počítača a druhý do počítača Pi.
Teraz spustite Raspberry Pi.
- Nainštalujte tmel z
- Do poľa IP zadajte 169.254.10.1.
- Uistite sa, že je vybratý SSH a je vyplnený port 22.
- Kliknite na otvorené
- Vyplňte užívateľské meno: pi
- Vyplňte heslo: malina
Raspi-config
Otvorte nástroj Raspi-config pomocou:
sudo raspi-config
V kategórii rozhrania povoľte nasledujúce možnosti
- 1-drôt
- SPI
Vyberte svoju krajinu WiFi prostredníctvom kategórie lokalizácie.
Ďalej vypnite nasledujúce možnosti v kategórii možností spustenia
Úvodná obrazovka
Nakoniec nastavte Desktop/CLI v kategórii možností zavádzania na Desktop Autologin.
WiFi
Na zrkadlo potrebujeme mať wifi pripojenie, takže sa uistite, že máte svoje prihlasovacie údaje na wifi zatvorené.
Prejdite do režimu root
sudo -i
Prilepte tento riadok, ale uistite sa, že sú zadané SSID a heslo
wpa_passphrase "SSID" "HESLO" >> /etc/wpa_supplicant/wpa_supplicant.conf
Zadajte klienta WPA.
wpa_cli
Vyberte rozhranie
rozhranie wlan0
Znova načítajte konfiguráciu
prekonfigurovať
Uistite sa, že ste správne pripojení, zadaním …
ip a
… a zistiť, či máte IP adresu na rozhraniach WLAN0.
Balíčky
Teraz, keď sme pripojení k internetu, budeme musieť nainštalovať niektoré balíky.
Najprv budeme musieť aktualizovať zoznamy balíkov pre ten najnovší.
sudo apt aktualizácia
Python
Donútime Raspbian používať Python 3
update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install/usr/bin/python python/usr/bin/python3 2
MariaDB
Prilepte nasledujúci riadok a nainštalujte databázu.
sudo apt nainštalovať mariadb-server
Potom budeme musieť zaistiť našu inštaláciu.
mysql_secure_installation
Požiada nás o aktuálne heslo root, pretože ho nemáme, stačí stlačiť kláves Enter.
Ďalej sa pýta, či chceme heslo typu root v y, pretože ho chceme.
Pri ďalších otázkach zadajte Y.
Nakoniec vytvoríme používateľa, ktorého budeme môcť použiť pre zrkadlo.
Zadajte shell mysql takto:
Povýšime sa na root
sudo -i
Zadajte shell mysql
mysql
Nahraďte svojim vlastným používateľským menom a rovnaké s
udeliť všetky práva pre zrkadlo.* ''@'%' označené '';
Teraz prepláchneme tabuľku povolení.
FLUSH PRIVILEGES;
Webový server Apache
Ak chcete nainštalovať webový server, spustite nasledujúci riadok.
sudo apt nainštalovať apache2 -y
Balíky Python
Tieto balíky nainštalujeme
- Banka
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Fľaša-talizman
- Gevent
- Gevent-websocket
- Klient Google-api-python
- Google-auth
- Google-auth-httplib2
- Google-auth-oauthlib
- Httplib2
- Icalendar
- Icaleventy
- Oauthlib
- Python-socketio
- Žiadosti
- Wsaccel
- Ujson
Vykonávaním
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Flask-Talisman gevent gevent-websocket google-api-python-client google-auth google-auth-httplib2 google-auth-oauthlib httplib2 icalendar icalevents oauthlib python-socketio requests wsaccel uj
Nastavenie reproduktorov
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Teraz musíme reštartovať, takže stlačte y.
Znova spustite skript
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Teraz musíme reštartovať druhýkrát
sudo reštart
Obrazovka (monitor)
V závislosti od toho, ako chcete zmeniť orientáciu obrazovky, môžete obrazovku otočiť.
Na otáčanie obrazovky potrebujeme prístup k možnostiam spustenia takto:
sudo nano /boot/config.txt
A potom prilepte jeden z týchto riadkov do konfiguračného súboru:
display_rotate = 0
display_rotate = 1
display_rotate = 2
display_rotate = 3
Prvá z nich, 0, je normálna konfigurácia. 1 bude mať 90 stupňov, 2 má 180 stupňov a posledný bude mať 270 stupňov.
Potom reštartujte.
sudo reštart
Krok 2: Inštalácia zrkadla
Teraz nastavíme miesto na stiahnutie môjho kódu.
cd/home/pi/
git klon https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject
Teraz skopírujeme niektoré priečinky do správneho cieľa
sudo cp -R frontend/mirror//var/www/html/mirror/
sudo cp -R frontend/dashboard//var/www/html/Sudo cp -R backend//home/pi/Mirror/
Inštalácia databázy je nevyhnutným krokom pri vytváraní projektu.
sudo mysql -u root -p << CREATEDATABASE.sql
Krok 3: Konfigurácia
Konfiguračný súbor sa nachádza na adrese:
sudo nano /home/pi/Mirror/resources/config.ini
Zadajte používateľa MYSQL a heslo.
Toto musí byť používateľ mysql, ktorého sme práve vytvorili.
Ostatné nastavenia, ktorými sa budeme zaoberať neskôr, nájdete v tomto návode.
Krok 4: API
Teraz sme dokončili inštaláciu Pi, pokryjeme niektoré témy, ktoré by ste mohli chcieť urobiť.
Tmavá obloha
Vytvorte kľúč rozhrania Darsky API prostredníctvom
Keď sa zaregistrujete, váš kľúč API sa zobrazí na hlavnom paneli.
Tento kľúč zadajte do konfiguračného súboru projektu zrkadla, ktorý ste predtým nainštalovali.
Kalendár
V predvolenom nastavení budete môcť na zobrazenie svojho kalendára použiť iba adresy URL ical. Táto časť však bude o tom, ako prepojiť zrkadlo s ekosystémom Google. Je to spravidla dlhší a bolestivejší proces.
Veci, ktoré určite budete potrebovať
Názov domény
Toto sú veci, ktoré v tejto časti nastavíme
- Účet CloudFlare
- Účet vývojára Google
- Google Developer Project
- Nastavte rozhranie Calendar API
Krok 5: Kalendár
Cloudflare
Nastavte si účet cloudflare z https://cloudflare.com a podľa sprievodcu preneste svoje meno domény do služby Cloudflare DNS.
Nie je potrebné vytvárať záznam A, ktorý ukazuje na malinový pi. Môj Mirror kód to urobí za vás. Pretože vo väčšine domácich wifi nie sú IP adresy statické, takže po reštarte už nemusí fungovať. Na to, aby môj kód automaticky aktualizoval IP, bude potrebný kľúč API vášho účtu.
- Kliknite na tlačidlo Získať kľúč API na paneli vpravo. [Foto 1]
- Posuňte zobrazenie nadol a zobrazte svoj kľúč Global API. [Foto 2]
Tento kľúč zadajte do konfiguračného súboru projektu zrkadla, ktorý ste predtým nainštalovali.
Vytvorenie certifikátu SSL
Google požaduje, aby sme mali pripojenie SSL. Na začiatku tejto sekcie sa uistite, že ste správne nastavili server Cloudflare DNS.
Najprv pridajte úložisko.
sudo add-apt-repository ppa: certbot/certbot
Aktualizujte zoznam balení.
sudo apt-get aktualizácia
Nainštalujte si CertBot
sudo apt nainštalovať python-certbot-apache
Spustite vytváranie certifikátov. Opäť budete musieť zadať správny názov domény.
sudo certbot --apache -d example.com -d www.example.com
Po vytvorení sa vás opýta, či má presmerovať všetky pripojenia na SSL. Vyberte presmerovanie.
Teraz vám povie, že úspešne vytvoril certifikát pre vašu doménu. Uistite sa, že ste uložili 2 cesty, ktoré vám ponúka.
- /etc/letsencrypt/live/example.com/cert.pem
- /etc/letsencrypt/live/example.com/privkey.pem
Teraz prejdite do priečinka s certifikátmi prostredníctvom:
Nezabudnite zmeniť example.com na správneho hostiteľa.
cd /etc/letsencrypt/live/example.com/
Teraz skopírujme tento obsah do nášho priečinka projektu.
cp cert.pem /home/pi/Mirror/resources/certs/cert.pem
A
cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem
Pripojte Apache k vašej doméne
Na správnu konfiguráciu Apache s vašou doménou budeme musieť vytvoriť konfiguračný súbor. Nezabudnite zadať názov svojej domény, napríklad funergydev.com.
sudo nano /etc/apache2/sites-enabled/example.com.conf
Potom ho prilepte do súboru. Nahraďte example.com svojim názvom domény.
Uistite sa, že váš certifikát a súkromný kľúč sú správnou cestou. Nastavte ich na cestu, ktorú ste uložili predtým, keď sme ich vytvorili, potom pomocou certbot.
DocumentRoot "/var/www/html/" SSLEngine na SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Ďalšie smernice tu Možnosti Indexy FollowSymLinks AllowOverride Všetky Vyžadujú všetky povolené
Teraz musíme povoliť niektoré úpravy a potom prinútiť Apache znova načítať konfiguráciu takto:
sudo a2enmod ssl
sudo a2enmod prepísať
sudo systemctl znova načítať apache2
Teraz by ste mali byť schopní prejsť cez názov vašej domény na vaše pi a zobraziť predvolenú stránku apache.
Krok 6: Google API
Prejdite do konzoly pre vývojárov prostredníctvom
Časť 1
Vytvorte svoj prvý projekt kliknutím na logo Google API a kliknutím na tlačidlo NOVÝ PROJEKT. Vyplňte príslušný názov projektu a kliknite na tlačidlo Vytvoriť. [Foto1]
Časť 2
Teraz sa dostanete na túto stránku. Kliknite na tlačidlo knižnice. [Foto2]
Toto je veľký zoznam všetkých rozhraní API, ktoré by ste mohli použiť, ale budeme hľadať rozhranie Google Calendar API. Kliknite naň a stlačte POVOLIŤ. [Foto3]
Potom získate prehľad o rozhraní Calendar API. Kliknutím na logo Google API sa vráťte k svojmu projektu. [Foto4]
Časť 3
Ak chcete správne nastaviť všetko, kliknite na kategóriu poverení a vyberte kartu Overenie domény.
Tu budete musieť overiť názov svojej domény.
- Kliknite na PRIDAŤ DOMÉNU
- Vyplňte svoju doménu
- Potom vás požiada o overenie vašej domény. Kliknite na Pokračovať.
- Vyberte poskytovateľa názvu domény. [Foto5]
- Postupujte podľa postupu
- Teraz ho budete môcť takto pridať do zoznamu overenia domény v konzole Google API. Uistite sa, že je vaša doména začiarknutá. [Foto6]
4. časť
Teraz zvoľte záložku obrazovky súhlasu OAuth. [Foto7]
Vyplňte názov aplikácie
Ďalej budeme pridávať rozsahy na obrazovku súhlasu. To znamená, že sa používateľa na obrazovke so súhlasom opýtame, či chce so zrkadlom zdieľať svoje informácie z kalendára.
- Kliknite na Pridať rozsah a vyhľadajte kalendár.
- Skontrolujte../auth/calendar.readonly a stlačte tlačidlo pridať. [Foto8]
Vyplňte autorizovanú doménu. Toto by mala byť doména, ktorú ste práve overili. [Foto9]
Teraz kliknite na veľké tlačidlo uloženia pod formulárom.
Časť 5
Nakoniec musíme vytvoriť poverenia. Pretože sme stlačili tlačidlo Uložiť, boli sme presmerovaní na kartu poverení. Kliknite na položku Vytvoriť poverenia a vyberte položku OAuth Client ID. [Foto10]
Vyberte typ aplikácie: webová aplikácia a pomenujte ju.
Do URI autorizovaného presmerovania zadajte nasledujúci odkaz a zadajte správnu doménu.
example.com:5000/api/v1/setup/calendar/response
Kliknite na vytvoriť. Zobrazí sa vyskakovacie okno, ktoré stačí kliknúť na tlačidlo OK. Teraz stlačte tlačidlo sťahovania na povereniach, ktoré ste práve urobili
Časť 6
Teraz otvorte súbor JSON a skopírujte obsah.
sudo nano /home/pi/Mirror/resources/credentials/credentials.json
Prilepte ich sem.
Časť 7
Teraz musíme v konfigurácii definovať našu doménu takto:
sudo nano /home/pi/Mirror/resources/config.ini
Krok 7: Dizajn zrkadla
Navrhovanie zrkadla závisí od toho, ako ho chcete. Vykonajte presné merania LCD a na jednej strane zrkadla ponechajte medzeru 2 centimetre, pretože tam bude sedieť mikrovlnný snímač pohybu. Nemôže to byť za žiadnym kovom.
Spojil som dokopy 4 dosky z dreva. Tieto boli vyfrézované, aby mali pekne čistú prednú časť zrkadla. Na vrchu som tiež vyvŕtal niekoľko otvorov, aby prešiel zvuk reproduktora. Na opačnej strane zrkadla, spodnej časti, som vyrezal malý obdĺžnik, aby som mohol ľahko urobiť elektrické vedenie. [Foto1]
Jedná sa o 2 kusy lacného dreva, na ktorom bude monitor ťažiť. Keďže som povedal, potrebovali by sme asi 2 centimetrovú medzeru medzi zrkadlom a puzdrom. Tiež som pridal 3 malé kúsky dreva a zaskrutkoval ich na odpočívadlá. Monitor by teda zostal na svojom mieste. [Foto2]
Nakoniec to vyzeralo takto. Medzi týmito odpočívadlami a prednou časťou puzdra zrkadla som mal asi 3 mm medzeru. Toľko, aby som doň mohol vložiť 3 mm hrubé obojsmerné zrkadlo. [Foto3]
Krok 8: Vykonanie zapojenia
Uistite sa, že ste správne dodržali jednu z týchto schém.
Akonáhle som urobil zapojenie, prilepil som ho na zadnú stranu obrazovky obojstrannou páskou. Pretože keby som niekedy chcel zrkadlo rozobrať a použiť ho na iné projekty, mohol by som ho ľahko odstrániť. Ak ste si istí, môžete použiť horúcu lepiacu pištoľ a prilepiť ju k zadnej časti zrkadla.
Krok 9: Spustenie kódu
LXSession
Najprv vytvoríme niekoľko priečinkov
mkdir -p /home/pi/.config/lxsession/LXDE-pi/
Teraz vytvoríme súbor, v ktorom zadáme niekoľko parametrov/príkazov pri spustení.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Do súboru prilepte nasledujúce položky.
@lxpanel --profil LXDE-pi
@pcmanfm --desktop --profile LXDE-pi @xscreensaver -no-splash @point-rpi @sh /home/pi/Mirror/init_mirror.sh @xset s noblank @xset s off @xset -dpms
Aktualizujeme skript úvodnej zrkadlovej obrazovky tak, aby zodpovedal nášmu hostiteľovi.
sudo nano /home/pi/Mirror/init_mirror.sh
Ak nepoužívate kalendár Google a doménu, zvoľte localhost.
#!/bin/bash
spánok 15 prehliadač chrómu-inkognito-kiosk https:// localhost/mirror
Ak ho používate, zadajte svojho hostiteľa.
#!/bin/bash
spánok 15 prehliadač chrómu-inkognito-kioskSlužba
Teraz nastavíme, aby sa zrkadlový kód automaticky spustil.
Vytvoríme službu, ktorá nám automaticky spustí kód.
Ísť do:
sudo nano /etc/systemd/system/mirror.service
A vložte to do súboru
[Jednotka]
Description = Mirror Backend After = network.target mariadb.service [Service] Type = simple User = root ExecStart =/bin/sh /home/pi/Mirror/init.sh [Install] WantedBy = multi-user.target
Teraz budeme musieť démona systemd znova načítať takto:
sudo systemctl daemon-reload
A taktiež povolíme, aby sa služba automaticky spustila pri štarte.
sudo systemctl povoliť zrkadlo
Teraz vypneme.
sudo vypnutie
Konečné nastavenia
Nakoniec musíme odstrániť náš APIPA ip, aby fungoval iba cez WiFi.
- Prejdite v počítači do zavádzacieho adresára karty SD.
- Otvorte súbor "cmdline.txt"
- Odstrániť ip = 169.254.10.1 Na konci dlhého riadku textu.
Krok 10: Spustenie zrkadla
Navštívte adresu IP, ktorá je na zrkadlovej obrazovke, alebo ak máte nastavený kalendár Google, zadajte názov domény.
Teraz budete môcť nastaviť zrkadlo!
Ak sa vám v zrkadle zobrazí chyba SSL, možno budete chcieť svoje certifikáty pridať do úložiska certifikátov Chromium.
Odporúča:
C.Q: DIY inteligentné zrkadlo: 5 krokov
C.Q: DIY Smart Mirror: Sme Katrina Concepcion a Adil Qaiser, obaja druháci na WBASD STEM Academy. Toto je projekt, na ktorom by sme spolupracovali a urobili by sme ho za najlepšie tohtoročné ocenenie. Keď sme sa rozhodli urobiť tento projekt, mali sme na mysli " čo by bolo najviac
Inteligentné zrkadlo: 5 krokov
Smart Mirror: Tento návod vás naučí, ako vytvoriť Smart Mirror, ktoré zobrazuje vašu doručenú poštu, najnovšie správy a novinky z denníka The New York Times a dátum a čas na pozadí programu Unsplash. Odkaz na to, že funguje: Potrebné zásoby: Rám pre
Ako si vyrobiť DIY inteligentné zrkadlo: 12 krokov (s obrázkami)
Ako si vyrobiť inteligentné zrkadlo vlastnými rukami: „Smart Mirror“je obojsmerné zrkadlo s displejom za sebou, ktoré sa zvyčajne používa na zobrazenie užitočných informácií, ako je čas a dátum, počasie, váš kalendár a všetky ďalšie veci! Ľudia ich používajú na všetky druhy účelov
Užitočný kód pre začínajúcich používateľov počítačov .: 5 krokov
Užitočný kód pre začínajúcich používateľov počítačov: Pýtal sa vás niekedy začiatočník počítačového počítača „Je môj počítač zapnutý?“Nebojte sa už nič- tento Instructable urobí koniec všetkým " Skontrolujte, či malé svetlo v rohu bliká! &Quot; " Hovorí sa tam 'Prihlásiť sa?' " " Existuje nejaký
Wifi Ducky (*zostava pre používateľov počítačov Mac): 6 krokov
Wifi Ducky (*zostava pre používateľov počítačov Mac): Prevezmite kontrolu nad počítačom zapojením tohto zariadenia do portu USB. Zoznam dielov: ✔ Arduino Pro Micro✔ D1 Mini NodeMCU✔ Arduino IDE✔*Voliteľný konvertor adaptéra micro USB na USB female OTG ✔ WireTento návod je zameraný na používateľov počítačov Mac. Existujú doplnkové