Tartalomjegyzék:
- Kellékek
- 1. lépés: Beállítás
- 2. lépés: A tükör felszerelése
- 3. lépés: Konfiguráció
- 4. lépés: API -k
- 5. lépés: A naptár
- 6. lépés: Google API
- 7. lépés: A tükör kialakítása
- 8. lépés: A kábelezés elvégzése
- 9. lépés: A kód elindítása
- 10. lépés: A tükör futtatása
Videó: Többfelhasználós intelligens tükör a Google Naptárral: 10 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ebben az utasításban a Google Naptárba integrált intelligens tükröt hozunk létre. Azért készítettem ezt a projektet, mert az okos tükröket nagyon jónak találom, reggel istenáldozat. De úgy döntöttem, hogy magam készítek egyet nulláról, mert a többieknek 1 hibája van. Túl fejlettek és rendetlenek. Úgy döntöttem, hogy ezt az egyszerűt tartom.
Kellékek
Előtt
kezdjük, ezek azok a dolgok, amelyekre mindenképpen szüksége lesz egy olyan Tükör építéséhez, mint az enyém. Ezek a kellékek 250-350 euróba kerülnek a régiótól és az aktuális áraktól függően.
Hardver
Érzékelők
- Egy huzalos hőmérséklet -érzékelő
- RWCL 0516 (Mikrohullámú mozgásérzékelő)
- Puha potenciométer (Sparkfun érintőcsík)
Számítástechnika
és IC -k
- Hangszóró (3,2 W 4 Ω -nál vagy 1,8 W 8 Ω -nál)
- MCP3008
- Adafruit I2S 3W D osztályú erősítő Breakout - MAX98357A
- Raspberry Pi 3 B+
- SD kártya (8 GB jó)
- Ellenállás 4,7K Ohm
Különféle
- Jumperhuzalok
- Kenyeretábla
- Akril kétirányú tükör (15% -os fényáteresztés)
- IPS monitor (mérete attól függ, hogy mekkora méretet szeretne)
- HDMI kábel
- Faipari
Szoftver
- Gitt
- Kódszerkesztő (elég a Notepad ++)
- Win32 lemezképalkotó
- Raspbian OS kép
1. lépés: Beállítás
A kezdéshez először be kell állítanunk a Pi -t az általam készített kódhoz.
Két dologra lesz szüksége:
- Win32 Disk Imager a
- Raspbian OS kép a https://www.raspberrypi.org/downloads/raspbian/ webhelyen
Töltse le a ZIP fájlt, és bontsa ki, ahová szeretné.
A telepítés
- Válassza ki a képet a mappaikon segítségével
- Válassza ki az SD -kártyát a legördülő menüből
- Kattintson az írásra
Most további beállításokat kell végeznünk bizonyos beállításokkal, hogy hozzáférhessünk a Pi -hez.
- Lépjen az SD -kártya rendszerindító könyvtárába
- Nyissa meg a "cmdline.txt" fájlt
- Add hozzá ip = 169.254.10.1 A szöveg hosszú sorának végén szóközzel elválasztva (ugyanazon a soron).
- Mentse a fájlt.
- Hozzon létre egy ssh nevű fájlt kiterjesztés nélkül ugyanabban a könyvtárban
Most ki tudja venni az SD -kártyát, és behelyezheti a Pi -be.
Csatlakozás
Most be kell állítanunk a szoftvert.
Először csatlakoztassa a LAN -kábelt, egyik végét az asztali számítógéphez/laptophoz, a másikat a Pi -hez.
Most indítsa el a Raspberry Pi -t.
- A Putty telepítése a https://www.putty.org/ webhelyről
- Írja be a 169.254.10.1 címet az IP mezőbe.
- Győződjön meg arról, hogy az SSH van kiválasztva, és a 22 -es port ki van töltve.
- Kattintson a Megnyitás gombra
- Töltse ki a felhasználónevet: pi
- Töltse ki a jelszót: málna
Raspi-config
Nyissa meg a Raspi-config segédprogramot:
sudo raspi-config
Engedélyezze az alábbi beállításokat az interfészek kategóriában
- 1-vezetékes
- SPI
Válassza ki a WiFi országát a lokalizációs kategória segítségével.
Ezután tiltsa le a következő beállításokat a rendszerindítási beállítások kategóriában
Splash képernyő
Végül állítsa az Asztali/CLI beállítást a rendszerindítási beállítások kategóriában Asztali automatikus beállításra.
WiFi
A tükörhez wifi -kapcsolatra van szükségünk, ezért győződjön meg arról, hogy a wifi hitelesítő adatait bezárja.
Menjen root módba
sudo -i
Illessze be ezt a sort, de győződjön meg arról, hogy mind az SSID, mind a jelszó meg van adva
wpa_passphrase "SSID" "JELSZÓ" >> /etc/wpa_supplicant/wpa_supplicant.conf
Lépjen be a WPA kliensbe.
wpa_cli
Válassza ki az interfészt
wlan0 interfész
Töltse be újra a konfigurációt
konfigurálja újra
Gépeléssel győződjön meg arról, hogy megfelelően van csatlakoztatva…
ip a
… És hogy van -e IP -címe a WLAN0 interfészeken.
Csomagok
Most, hogy csatlakoztunk az internethez, telepítenünk kell néhány csomagot.
Először frissítenünk kell a legújabb csomagok listáját.
sudo apt frissítés
Piton
Kényszerítjük a Raspbian -t a Python 3 használatára
update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install/usr/bin/python python/usr/bin/python3 2
MariaDB
Illessze be a következő sort az adatbázis telepítéséhez.
sudo apt install mariadb-server
Ezután biztosítanunk kell a telepítést.
mysql_secure_installation
Megkérdezi tőlünk az aktuális root jelszót, mivel nincs ilyen, csak nyomja meg az enter billentyűt.
Ezután megkérdezi, hogy root jelszót szeretnénk -e y -be írni, mivel szeretnénk egyet.
A következő kérdésekhez írja be Y -t.
Végül létrehozunk egy felhasználót, amelyet a tükörhöz használhatunk.
Lépjen be a mysql shellbe az alábbiak szerint:
Emeljük fel magunkat a gyökerekig
sudo -i
Lépjen be a mysql shellbe
mysql
Cseréld ki a saját felhasználóneveddel, és ugyanezt a
adjon meg minden jogosultságot a tükörben.* ''@'%' 'által azonosított' ';
Most öblítsük ki a jogosultsági táblázatot.
FLUSH PRIVILEGES;
Apache webszerver
A webszerver telepítéséhez futtassa az alábbi sort.
sudo apt install apache2 -y
Python csomagok
Ezeket a csomagokat telepítjük
- Lombik
- Lombik-Cors
- Lombik-MySQL
- Flask-SocketIO
- PyMySQL
- Lombik-talizmán
- Gevent
- Gevent-websocket
- Google-api-python-kliens
- Google-hitelesítés
- Google-auth-httplib2
- Google-auth-oauthlib
- Httplib2
- Icalendar
- Icalevents
- Oauthlib
- Python-socketio
- Kérések
- Wsaccel
- Ujson
Azáltal, hogy tesz
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 kérések
Hangszóró beállítása
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Most újra kell indítanunk, ezért nyomjuk meg az y gombot.
Futtassa újra a forgatókönyvet
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Most másodszor kell újraindítanunk
sudo újraindítás
Képernyő (monitor)
Attól függően, hogy hogyan szeretné beállítani a képernyőt, elforgathatja a képernyőt.
A képernyő elforgatásához a következőképpen kell elérnünk a rendszerindítási lehetőségeket:
sudo nano /boot/config.txt
Ezután illessze be az alábbi sorok egyikét a konfigurációs fájlba:
display_rotate = 0
display_rotate = 1
display_rotate = 2
display_rotate = 3
Az első, 0, a normál konfiguráció. 1 90 fok, 2 180 fok és az utolsó 270 fok lesz.
Ezután indítsa újra.
sudo újraindítás
2. lépés: A tükör felszerelése
Most beállítunk egy helyet a kódom letöltéséhez.
cd/home/pi/
git klón https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject
Most másolunk néhány mappát a megfelelő helyre
sudo cp -R frontend/mirror//var/www/html/mirror/
sudo cp -R frontend/műszerfal//var/www/html/Sudo cp -R backend//home/pi/Mirror/
Az adatbázis telepítése szükséges lépés a projekt megvalósításához.
sudo mysql -u root -p << CREATEDATABASE.sql
3. lépés: Konfiguráció
A konfigurációs fájl a következő címen található:
sudo nano /home/pi/Mirror/resources/config.ini
Adja meg a MYSQL felhasználót és jelszót.
Ez lehet az a mysql felhasználó, akit most készítettünk.
A többi beállítás, amelyet később fogunk áttekinteni, ez az utasítás.
4. lépés: API -k
Most befejeztük a Pi telepítését, és lefedünk néhány témát, amelyeket érdemes megtenni.
Sötét ég
Hozzon létre egy Darsky API kulcsot a https://darksky.net/dev címen.
A regisztráció után megjelenik az API -kulcs az irányítópulton.
Írja be ezt a kulcsot a korábban telepített tükörprojekt konfigurációs fájljába.
A naptár
Alapértelmezés szerint csak ical URL -eket használhat a naptár megtekintéséhez. De ez a rész arról fog szólni, hogyan kapcsolhatja össze tükrét a Google ökoszisztémájával. Ez általában hosszabb és fájdalmasabb folyamat.
Olyan dolgok, amelyekre mindenképpen szüksége lesz
Egy domain név
Ezeket a dolgokat fogjuk beállítani ebben a részben
- CloudFlare fiók
- Google fejlesztői fiók
- Google fejlesztői projekt
- A Naptár API beállítása
5. lépés: A naptár
Cloudflare
Állítson be egy cloudflare -fiókot a https://cloudflare.com webhelyen, és kövesse a varázslót a domain név átviteléhez a Cloudflare DNS -be.
Nem kell magának létrehoznia egy A rekordot, amely a málna pi -re mutat. A Mirror kódom ezt megteszi helyetted. Mivel a legtöbb háztartási wifi esetében az IP -k nem statikusak, így az újraindítás után előfordulhat, hogy már nem fog működni. Ahhoz, hogy a kódom automatikusan frissítse az ip -t, szüksége lesz a fiók API kulcsára.
- Kattintson az API -kulcs beszerzése gombra a műszerfalon a jobb oldalon. [1. fotó]
- Görgessen le, és tekintse meg a globális API -kulcsot. [2. fotó]
Írja be ezt a kulcsot a korábban telepített tükörprojekt konfigurációs fájljába.
SSL tanúsítvány létrehozása
A Google megköveteli tőlünk az SSL -kapcsolatot. E szakasz elindításához győződjön meg arról, hogy helyesen állította be a Cloudflare DNS -t.
Először adja hozzá a tárolót.
sudo add-apt-repository ppa: certbot/certbot
Frissítse a csomaglistát.
sudo apt-get update
Telepítse a CertBot programot
sudo apt install python-certbot-apache
Indítsa el a tanúsítvány létrehozását. Ismét be kell írnia a megfelelő domain nevet.
sudo certbot --apache -d example.com -d www.example.com
A létrehozás után megkérdezi, hogy át kell -e irányítani az összes kapcsolatot az SSL -re. Válassza az átirányítást.
Most azt fogja mondani, hogy sikeresen létrehozott egy tanúsítványt a domainjéhez. Feltétlenül mentse el az általa adott 2 utat.
- /etc/letsencrypt/live/example.com/cert.pem
- /etc/letsencrypt/live/example.com/privkey.pem
Most menjen a mappába, amelyben a tanúsítványok vannak:
Győződjön meg róla, hogy az example.com webhelyet a megfelelő gazdagépre cseréli.
cd /etc/letsencrypt/live/example.com/
Most másoljuk át ezeket a tartalmakat a projektmappánkba.
cp cert.pem /home/pi/Mirror/resources/certs/cert.pem
És
cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem
Csatlakoztassa az Apache -t a domainjéhez
Az Apache megfelelő konfigurálásához a domainjével létre kell hoznunk egy konfigurációs fájlt. Ügyeljen arra, hogy adja meg domainnevét, például funergydev.com.
sudo nano /etc/apache2/sites-enabled/example.com.conf
Ezután illessze be ezt a fájlba. Cserélje le az example.com webhelyet a domainnevére.
Győződjön meg arról, hogy a tanúsítvány és a privát kulcs a helyes elérési út. Állítsa őket arra az útvonalra, amelyet korábban mentett, amikor létrehoztuk, majd a certbot segítségével.
DocumentRoot "/var/www/html/" SSLEngine on SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Egyéb irányelvek itt Beállítások Indexek KövetésSymLide AllowOver Minden megköveteli az összes megadását
Most engedélyeznünk kell néhány módosítást, majd kényszerítenünk kell az Apache -t a konfiguráció újratöltésére:
sudo a2enmod ssl
sudo a2enmod átírása
sudo systemctl reload apache2
Most már képesnek kell lennie arra, hogy a domain nevén keresztül elérje a pi -t, és megtekintse az alapértelmezett apache oldalt.
6. lépés: Google API
Lépjen a fejlesztői konzolra a https://console.developers.google.com címen.
1. rész
Hozza létre első projektjét a Google API logója mellett, majd az ÚJ PROJEKT gombra kattintva. Töltse ki a megfelelő projektnevet, majd kattintson a Létrehozás gombra. [Fotó1]
2. rész
Most erre az oldalra jut. Kattintson a könyvtár gombra. [Fotó2]
Ez egy nagy lista az összes használható API -ról, de a Google Naptár API -t fogjuk keresni. Kattintson rá, és nyomja meg az ENABLE gombot. [Fotó3]
Ezután megjelenik a Calendar API áttekintése. A projekthez való visszatéréshez kattintson a Google API -k logójára. [Fotó4]
3. rész
Ha mindent helyesen szeretne beállítani, kattintson a hitelesítő adatok kategóriára, és válassza a Domain ellenőrzés lapot.
Itt ellenőriznie kell domainnevét.
- Kattintson a DOMAIN HOZZÁADÁS gombra
- Töltse ki a domainjét
- Ezután felkéri a domain igazolására. Kattintson a Folytatás gombra.
- Válassza ki a domain név szolgáltatót. [5. fotó]
- Kövesse a folyamatot
- Mostantól így hozzáadhatja a domain -ellenőrzési listához a Google API -konzolon. Győződjön meg arról, hogy a domain be van jelölve. [Fotó6]
4. rész
Most válassza ki az OAuth hozzájárulási képernyő lapját. [7. fotó]
Töltse ki az alkalmazás nevét
Ezután hatóköröket adunk hozzá a beleegyezési képernyőhöz. Ez azt jelenti, hogy a beleegyező képernyőn megkérdezzük a felhasználót, hogy meg szeretné -e osztani naptári adatait a tükörrel.
- Kattintson a hatókör hozzáadása gombra, és keresse meg a naptárat.
- Ellenőrizze../auth/calendar.readonly és nyomja meg az add gombot. [8. fotó]
Töltsön ki egy engedélyezett tartományt. Ez az a domain, amelyet most igazolt. [Fotó9]
Most kattintson az űrlap alatti nagy mentés gombra.
5. rész
Végül létre kell hoznunk a hitelesítő adatokat. Mivel megnyomtuk a mentés gombot, átirányítottuk a hitelesítő adatok fülre. Kattintson a hitelesítő adatok létrehozása elemre, és válassza az OAuth ügyfél -azonosítót. [Fotó10]
Válassza az Alkalmazás típusa: Internetes alkalmazás lehetőséget, és adjon neki nevet.
Írja be a következő hivatkozást az engedélyezett átirányítási URI -kba, és írja be a megfelelő tartományt.
example.com:5000/api/v1/setup/calendar/response
Kattintson a Létrehozás gombra. Ekkor megjelenik egy felugró ablak, kattintson az OK gombra. Most nyomja meg a letöltés gombot az éppen elkészített hitelesítő adatokon
6. rész
Most nyissa meg a JSON fájlt, és másolja a tartalmát.
sudo nano /home/pi/Mirror/resources/credentials/credentials.json
Ide illessze be őket.
7. rész
Most meg kell határoznunk a tartományunkat a konfigurációban az alábbiak szerint:
sudo nano /home/pi/Mirror/resources/config.ini
7. lépés: A tükör kialakítása
A tükör tervezése attól függ, hogyan szeretné. Végezzen pontos méréseket az LCD -n, és hagyjon 2 cm -es rést a tükör egyik oldalán, mivel a mikrohullámú mozgásérzékelő ott fog ülni. Nem lehet fém mögött.
Összekapcsoltam 4 deszka fát. Ezeket úgy őrölték meg, hogy szép tiszta legyen a tükörük. A tetején fúrtam pár lyukat is, hogy a hangszóró hangja elhaljon. A tükör ellentétes oldalát, az alját, kis téglalapot vágtam, így könnyen elvégezhetem az elektromos vezetékezést. [Fotó1]
Ez 2 darab olcsó fa, ahol a monitor beresting. Mivel azt mondtam, körülbelül 2 centiméter résre lesz szükségünk a tükör és a tok között. Hozzáadtam 3 kis fadarabot is, és belecsavartam azokat a pihenő darabokat. Tehát a monitor a helyén marad. [Fotó2]
Végül így nézett ki. Körülbelül 3 mm -es rés volt a pihenőelemek és a tükörház eleje között. Épp elég ahhoz, hogy behelyezhessem a 3 mm vastag kétirányú tükröt. [Photo3]
8. lépés: A kábelezés elvégzése
Ügyeljen arra, hogy megfelelően kövesse az alábbi sémák egyikét.
Miután elvégeztem a kábelezést, kétoldalas ragasztóval ragasztottam a képernyő hátoldalára. Mivel ha valaha szétszerelném a tükröt, és más projektekhez használnám, könnyen eltávolíthatnám. Ha biztos benne, használhat forró ragasztópisztolyt, és ragaszthatja a tükör hátoldalára.
9. lépés: A kód elindítása
LXSession
Először hozzunk létre egy pár mappát
mkdir -p /home/pi/.config/lxsession/LXDE-pi/
Most létrehozunk egy fájlt, ahol megadunk néhány indítási paramétert/parancsot.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Illessze be a következőt a fájlba.
@lxpanel --profile 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
Frissítjük a kezdő tükörképernyő -szkriptet, hogy illeszkedjen a házigazdánkhoz.
sudo nano /home/pi/Mirror/init_mirror.sh
Válassza a localhost szolgáltatást, ha nem használ Google naptárat és domaint.
#!/bin/bash
sleep 15 chromium-browser-inkognitó --kiosk https:// localhost/mirror
Ha használja, akkor töltse ki a gazdagépet.
#!/bin/bash
alvó 15 króm-böngésző-inkognitó --kiosk
Szolgáltatás
Most beállítjuk, hogy a tükör kód automatikusan fusson.
Létrehozunk egy szolgáltatást, amely automatikusan elindítja számunkra a kódot.
Menj:
sudo nano /etc/systemd/system/mirror.service
És illessze be ezt a fájlba
[Mértékegység]
Leírás = 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
Most újra kell töltenünk a systemd démont:
sudo systemctl démon-reload
És engedélyezzük a szolgáltatás automatikus indítását a rendszerindításkor.
sudo systemctl engedélyezi a tükröt
Most kikapcsoljuk.
sudo kikapcsolás
A végső beállítások
Végül el kell távolítanunk az APIPA ip -t, hogy csak WiFi -n működjön.
- Lépjen az SD -kártya rendszerindító könyvtárába a számítógépen.
- Nyissa meg a "cmdline.txt" fájlt
- Távolítsa el az ip = 169.254.10.1 szöveget a hosszú sor végén.
10. lépés: A tükör futtatása
Látogassa meg a tükörképernyőn megjelenő ip -t, vagy ha beállította a Google naptárat, töltse ki a domain nevet.
Most beállíthatja a tükröt!
Ha SSL -hibaüzenet jelenik meg a tükörben, akkor érdemes hozzáadni a tanúsítványokat a Chromium tanúsítványtárolóhoz.
Ajánlott:
Hordozható intelligens tükör/sminkdoboz kombináció létrehozása: 8 lépés
Hogyan hozzunk létre hordozható intelligens tükröt/sminkdoboz kombinációt: A Davis & Elkins főiskoláján, terveztem és készítettem egy sminkes utazódobozt, egy nagyobb tükörrel és egy málna pi és egy mágikus tükör szoftver platform használatával, amely kikötőként funkcionálna
Intelligens tükör: 5 lépés
Intelligens tükör: Ez az utasítás megtanítja, hogyan hozzon létre egy intelligens tükröt, amely megjeleníti az e -mail postaládáját, a The New York Times legfrissebb híreit és frissítéseit, valamint a dátumot és az időt az Unsplash háttérben. Működési link: Szükséges kellékek: keret a
DIY intelligens tükör készítése: 12 lépés (képekkel)
DIY intelligens tükör készítése: " Intelligens tükör " egy kétirányú tükör, mögötte egy kijelzővel, amelyet általában olyan hasznos információk megjelenítésére használnak, mint az idő és a dátum, az időjárás, a naptár és minden egyéb! Az emberek mindenféle célra használják őket
Egyszerű intelligens tükör: 7 lépés (képekkel)
Egyszerű intelligens tükör: Wow! elég régóta feltöltöttem valamit, sok dolgon dolgoztam, és rájöttem, hogy valamit ki kell adnom a követőimért, ahogy a mondás tartja: "mindig legyen egy projekt, amin dolgozni kell" haha talán ez csak én vagyok, mindenesetre vissza a businhoz
Arduino Outlet Box vezérlőközpont a Google Naptárral: 4 lépés
Arduino Outlet Box vezérlőközpont a Google Naptár segítségével: Ebben az utasításban megtanulhatja, hogyan építsen vezérlőközpontot otthonához az Adafruit Power Relay Module 4-Outlet segítségével. Szükséged lesz egy Arduino táblára wifi modullal, mint például az Adafruit Feather Huzzah és egy Adafruit Power Relay Module 4