Sisukord:
- Tarvikud
- Samm: seadistamine
- Samm: peegli paigaldamine
- 3. samm: seadistamine
- Samm 4: API -d
- Samm: kalender
- 6. toiming: Google'i API
- 7. samm: peegli kujundus
- Samm: juhtmestiku tegemine
- Samm: koodi käivitamine
- 10. samm: peegli käivitamine
Video: Mitme kasutaja nutikas peegel Google'i kalendriga: 10 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Selles juhendis loome Google'i kalendriga integreeritud nutika peegli. Tegin selle projekti, sest leian, et nutipeeglid on tõesti lahedad, need on hommikul jumalakartus. Kuid otsustasin ühe ise nullist teha, sest kõigil teistel on 1 viga. Nad on liiga arenenud ja segaduses. Otsustasin selle lihtsana hoida.
Tarvikud
Enne
alustame, need on asjad, mida peate kindlasti ehitama nagu mina. Need tarvikud maksavad sõltuvalt piirkonnast ja praegustest hindadest umbes 250–350 eurot.
Riistvara
Andurid
- Üks traadi temperatuuriandur
- RWCL 0516 (mikrolaine liikumisandur)
- Pehme potentsiomeeter (Sparkfuni puuteriba)
Arvutamine
ja IC -d
- Kõlar (3,2 W 4Ω juures või 1,8 W 8Ω juures)
- MCP3008
- Adafruit I2S 3W D -klassi võimendi Breakout - MAX98357A
- Vaarika Pi 3 B+
- SD -kaart (8 GB sobib)
- Takisti 4,7K oom
Erinevad
- Jumper traadid
- Leivalaud
- Akrüül kahesuunaline peegel (15% valguse läbilaskvus)
- IPS -monitor (suurus sõltub sellest, kui suurt soovite)
- HDMI kaabel
- Puit
Tarkvara
- PuTTY
- Koodiredaktor (piisab Notepad ++ -st)
- Win32 kettapildistaja
- Raspbian OS -i pilt
Samm: seadistamine
Alustamiseks peame esmalt seadistama teie Pi minu tehtud koodi jaoks.
Te vajate kahte asja:
- Win32 kettakujutis saidilt
- Raspbian OS -i pilt saidilt
Laadige ZIP -fail alla ja ekstraktige see kuhu iganes soovite.
Paigaldamine
- Valige oma pilt kaustaikooni kaudu
- Valige rippmenüüst oma SD -kaart
- Klõpsake kirjuta
Nüüd peame mõne seadistusega täiendavalt nokitsema, et saaksime Pi -le juurde pääseda.
- Minge SD -kaardi algkataloogi
- Avage fail "cmdline.txt"
- Lisage ip = 169.254.10.1 Tühikuga eraldatud teksti pika rea lõpus (samal real).
- Salvestage fail.
- Looge samas kataloogis fail nimega ssh ilma laiendita
Nüüd saate SD -kaardi välja võtta ja selle oma Pi -sse panna.
Ühendamine
Nüüd peame tarkvara seadistama.
Ühendage esmalt LAN -kaabel, üks ots laua-/sülearvuti ja teine Pi -ga.
Nüüd käivitage Raspberry Pi.
- Installige Putty saidilt
- Sisestage IP -väljale 169.254.10.1.
- Veenduge, et SSH on valitud ja port 22 on täidetud.
- Klõpsake nuppu Ava
- Sisestage kasutajanimi: pi
- Sisestage parool: vaarikas
Raspi-config
Avage utiliit Raspi-config, kasutades järgmist.
sudo raspi-config
Lubage liideste kategoorias järgmised valikud
- 1-juhtmeline
- SPI
Valige oma WiFi -riik lokaliseerimise kategooria kaudu.
Seejärel keelake alglaadimisvalikute kategoorias järgmised valikud
Pritsmeekraan
Lõpuks seadistage töölaua/CLI säte alglaadimisvalikute kategooriasse Töölaua automaatne sisselülitamine.
WiFi
Peegli jaoks peab meil olema WiFi -ühendus, nii et veenduge, et teie WiFi -mandaadid oleksid lähedal.
Minge juurrežiimi
sudo -i
Kleepige see rida, kuid veenduge, et mõlemad SSID ja parool on täidetud
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
Sisestage WPA klient.
wpa_cli
Valige liides
liides wlan0
Laadige konfiguratsioon uuesti
uuesti seadistada
Veenduge, et olete õigesti ühendatud, sisestades…
ip a
… ja vaadake, kas teil on WLAN0 liideste IP.
Paketid
Nüüd, kui oleme Internetiga ühendatud, peame installima mõned paketid.
Kõigepealt peame värskendama pakettide loendeid.
sudo apt värskendus
Python
Me sunnime Raspbiani kasutama 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
Kleepige andmebaasi installimiseks järgmine rida.
sudo apt install mariadb-server
Siis peame oma paigalduse kindlustama.
mysql_secure_installation
See küsib meilt praegust juurparooli, kuna meil seda pole, vajutage lihtsalt sisestusklahvi.
Järgmisena küsitakse, kas me tahame y -parooli tüüpi y -sse, kuna me tahame seda.
Järgmiste küsimuste jaoks sisestage lihtsalt Y.
Lõpuks loome kasutaja, keda saame kasutada peegli jaoks.
Sisestage mysqli kest, tehes järgmist.
Tõstke end juurteni
sudo -i
Sisestage mysqli kest
mysql
Asendage oma kasutajanimega ja sama ka kasutajanimega
andke peeglile kõik privileegid.* kuni ''@'%' tähistatud '';
Nüüd loputame lubade tabelit.
FLUSHI privileegid;
Apache veebiserver
Veebiserveri installimiseks käivitage allolev rida.
sudo apt install apache2 -y
Pythoni paketid
Me installime need paketid
- Kolb
- Kolvid-korvid
- Kolb-MySQL
- Flask-SocketIO
- PyMySQL
- Kolb-talisman
- Gevent
- Gevent-veebipesa
- Google-api-python-klient
- Google'i aut
- Google-auth-httplib2
- Google-auth-oauthlib
- Httplib2
- Icalendar
- Icalevents
- Oauthlib
- Python-socketio
- Taotlused
- Wsaccel
- Ujson
Tehes
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 oautlib taotlused
Kõlarite seadistamine
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | lööma
Nüüd peame taaskäivitama, nii et vajutage y.
Käivitage skript uuesti
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | lööma
Nüüd peame teist korda taaskäivitama
sudo taaskäivitamine
Ekraan (monitor)
Sõltuvalt sellest, kuidas soovite ekraani asetada, võiksite ekraani pöörata.
Ekraani pööramiseks peame pääsema juurde alglaadimisvalikutele, tehes järgmist.
sudo nano /boot/config.txt
Ja seejärel kleepige üks neist ridadest konfiguratsioonifaili:
display_rotate = 0
display_rotate = 1
display_rotate = 2
display_rotate = 3
Esimene, 0, on tavaline konfiguratsioon. 1 on 90 kraadi, 2 on 180 kraadi ja viimane on 270 kraadi.
Seejärel taaskäivitage.
sudo taaskäivitamine
Samm: peegli paigaldamine
Nüüd seadistame mu koodi allalaadimiseks koha.
cd/kodu/pi/
git kloon https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject
Nüüd kopeerime mõned kaustad õigesse sihtkohta
sudo cp -R kasutajaliides/peegel//var/www/html/peegel/
sudo cp -R kasutajaliides/armatuurlaud//var/www/html/Sudo cp -R taustaprogramm//home/pi/Mirror/
Andmebaasi installimine on projekti tegemisel vajalik samm.
sudo mysql -u juur -p << CREATEDATABASE.sql
3. samm: seadistamine
Konfiguratsioonifail asub aadressil:
sudo nano /home/pi/Mirror/resources/config.ini
Sisestage MYSQL kasutaja ja parool.
See peab olema just loodud mysqli kasutaja.
Teisi seadeid, mida me hiljem juhendame, vaatame.
Samm 4: API -d
Nüüd oleme Pi installimise lõpetanud, käsitleme mõningaid teemasid, mida võiksite teha.
Darksky
Looge Darsky API võti https://darksky.net/dev kaudu.
Kui olete registreerunud, näete juhtpaneelil oma API võtit.
Sisestage see võti varem installitud peegelprojekti konfiguratsioonifaili.
Kalender
Vaikimisi saate kalendri vaatamiseks kasutada ainult URL -e. Kuid see osa räägib sellest, kuidas oma peegel Google'i ökosüsteemiga siduda. See on üldiselt pikem ja valusam protsess.
Asjad, mida kindlasti vajate
Domeeninimi
Need on asjad, mida me selle osa ajal seadistame
- CloudFlare'i konto
- Google'i arendajakonto
- Google'i arendaja projekt
- Seadistage kalendri API
Samm: kalender
Pilvesära
Seadistage cloudflare'i konto saidilt https://cloudflare.com ja järgige viisardi abil oma domeeninimi Cloudflare DNS -i.
Pole vaja ise A -kirjet luua, mis osutab vaarika pi -le. Minu peeglikood teeb seda teie jaoks. Kuna enamikus majapidamises kasutatavates WiFi -võrkudes pole IP -d staatilised, ei pruugi see pärast taaskäivitamist enam töötada. Minu koodi ip -i automaatseks värskendamiseks on vaja teie konto API -võtit.
- Klõpsake paremal asuval armatuurlaual nuppu Hangi oma API võti. [Foto 1]
- Kerige alla ja vaadake oma globaalse API võtit. [Foto 2]
Sisestage see võti varem installitud peegelprojekti konfiguratsioonifaili.
SSL -sertifikaadi loomine
Google nõuab meil SSL -ühendust. Selle jaotise alustamiseks veenduge, et olete Cloudflare DNS -i õigesti seadistanud.
Esmalt lisage hoidla.
sudo add-apt-repository ppa: certbot/certbot
Värskendage pakendiloendit.
sudo apt-get update
Installige CertBot
sudo apt install python-certbot-apache
Alustage sertifikaadi loomist. Jällegi peate sisestama õige domeeninime.
sudo certbot --apache -d example.com -d www.example.com
Pärast loomist küsib ta, kas see peaks kõik ühendused SSL -ile suunama. Valige ümbersuunamine.
Nüüd ütleb see teile, et on teie domeeni jaoks sertifikaadi edukalt loonud. Salvestage kindlasti 2 teed, mida see teile annab.
- /etc/letsencrypt/live/example.com/cert.pem
- /etc/letsencrypt/live/example.com/privkey.pem
Nüüd minge kausta, kus on sertifikaadid:
Muutke kindlasti example.com õigeks hostiks.
cd /etc/letsencrypt/live/example.com/
Nüüd kopeerime selle sisu meie projekti kausta.
cp cert.pem /home/pi/Mirror/resources/certs/cert.pem
Ja
cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem
Ühendage Apache oma domeeniga
Apache oma domeeniga õigesti konfigureerimiseks peame looma konfiguratsioonifaili. Sisestage kindlasti oma domeeninimi, näiteks funergydev.com.
sudo nano /etc/apache2/sites-enabled/example.com.conf
Seejärel kleepige see faili. Asenda example.com oma domeeninimega.
Veenduge, et teie sertifikaat ja privaatvõti on õige tee. Seadke need teele, mille salvestasite varem, kui lõime sertifikaadi kaudu.
DocumentRoot "/var/www/html/" SSLEngine on SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Muud direktiivid siin Valikud Indeksid JälgiSymLinks AllowOver Kõik nõuavad kõike
Nüüd peame lubama mõned muudatused ja sundima Apache seadistuse uuesti laadima, tehes järgmist:
sudo a2enmod ssl
sudo a2enmod ümber kirjutada
sudo systemctl laadige apache2 uuesti
Nüüd peaksite saama oma domeeninime kaudu oma pi -le minna ja näha apache vaikelehte.
6. toiming: Google'i API
Minge arendajakonsooli aadressi https://console.developers.google.com kaudu.
1. osa
Looge oma esimene projekt, klõpsates Google API logo kõrval ja klõpsates nupul UUS PROJEKT. Sisestage sobiv projekti nimi ja klõpsake nuppu Loo. [Foto1]
2. osa
Nüüd jõuate sellele lehele. Klõpsake raamatukogu nuppu. [Foto2]
See on suur nimekiri kõigist API -dest, mida võiksite kasutada, kuid me otsime Google'i kalendri API -d. Klõpsake seda ja vajutage LUBA. [Foto3]
Seejärel näete kalendri API ülevaadet. Oma projekti juurde naasmiseks klõpsake Google'i API -de logol. [Foto4]
3. osa
Kõigi õigeks seadistamiseks klõpsake mandaatide kategooriat ja valige vahekaart Domeeni kinnitamine.
Siin peate oma domeeninime kinnitama.
- Klõpsake LISA DOMENI
- Täitke oma domeen
- Seejärel palub ta teie domeeni kinnitada. Klõpsake nuppu Jätka.
- Valige oma domeeninime pakkuja. [Foto5]
- Järgige protsessi
- Nüüd saate selle lisada Google API konsooli domeenikinnitusloendisse. Veenduge, et teie domeen oleks kontrollitud. [Foto6]
4. osa
Nüüd valige OAuthi nõusolekuekraani vahekaart. [Foto7]
Täitke rakenduse nimi
Järgmisena lisame nõusolekuekraanile ulatused. See tähendab, et küsime kasutajalt nõusolekukuval, kas ta soovib oma kalendriteavet peegliga jagada.
- Klõpsake nuppu Lisa ulatus ja otsige kalendrit.
- Kontrolli../auth/calendar.readonly ja vajuta add. [Foto8]
Sisestage volitatud domeen. See peaks olema just kinnitatud domeen. [Foto9]
Nüüd klõpsake vormi all olevat suurt salvestusnuppu.
5. osa
Lõpuks peame looma volikirjad. Kuna vajutasime salvestusnuppu, suunati meid vahekaardile mandaat. Klõpsake loo mandaat ja valige OAuth kliendi ID. [Foto10]
Valige Rakenduse tüüp: Veebirakendus ja andke sellele nimi.
Sisestage volitatud ümbersuunamise URI -s järgmine link ja täitke õige domeen.
example.com:5000/api/v1/setup/calendar/response
Klõpsake nuppu Loo. See kuvab teile hüpikakna, klõpsake lihtsalt nuppu OK. Nüüd vajutage äsja tehtud mandaadi allalaadimisnuppu
6. osa
Nüüd avage JSON -fail ja kopeerige sisu.
sudo nano /home/pi/Mirror/resources/credentials/credentials.json
Kleepige need siia.
7. osa
Nüüd peame konfiguratsioonis määratlema oma domeeni, tehes järgmist.
sudo nano /home/pi/Mirror/resources/config.ini
7. samm: peegli kujundus
Peegli kujundamine sõltub sellest, kuidas seda soovite. Mõõtke LCD -ekraani täpselt ja jätke peegli ühele küljele 2 sentimeetri vahe, kuna mikrolaine liikumisandur istub seal. See ei saa olla ühegi metalli taga.
Ühendasin 4 puulauda kokku. Need freesiti nii, et peegli esikülg oleks kena puhas. Peal puurisin ka paar auku, et kõlari heli läbi lasta. Peegli vastasküljelt, alt, lõikasin väikese ristküliku, et saaksin hõlpsasti elektrijuhtmeid teha. [Foto1]
Need on 2 tükki odavat puitu, kus monitor hakkab põlema. Kuna ma ütlesin, et me vajame peegli ja korpuse vahele umbes 2 sentimeetrit. Lisasin ka 3 väikest puutükki ja keerasin need puhkeosad sisse. Nii et monitor jääks oma kohale. [Foto2]
Lõpuks nägi see välja selline. Mul oli nende puhkeosade ja peegliümbrise esiosa vahel umbes 3 mm vahe. Piisavalt, et saaksin 3 mm paksuse kahesuunalise peegli sisse panna. [Foto3]
Samm: juhtmestiku tegemine
Järgige kindlasti ühte neist skeemidest.
Kui juhtmestiku tegin, kleepisin selle kahepoolse teibiga ekraani tagaküljele. Kuna kui ma tahaksin kunagi peegli lahti võtta ja seda teiste projektide jaoks kasutada, saaksin selle hõlpsalt eemaldada. Kui olete kindel, võite kasutada kuuma liimipüstolit ja liimida see peegli taha.
Samm: koodi käivitamine
LXSession
Loome kõigepealt paar kausta
mkdir -p /home/pi/.config/lxsession/LXDE-pi/
Nüüd loome faili, kus määrame paar käivitusparameetrit/käsku.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Kleepige järgmine fail.
@lxpanel-profiil 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
Värskendame peegelkuva ekraani skripti, et see vastaks meie hostile.
sudo nano /home/pi/Mirror/init_mirror.sh
Kui te ei kasuta Google'i kalendrit ja domeeni, valige localhost.
#!/bin/bash
uni 15 chromium-brauser-incognito --kiosk https:// localhost/mirror
Kui kasutate seda, täitke oma host.
#!/bin/bash
unerežiim 15 chromium-brauser-inkognito --kiosk
Teenindus
Nüüd seadistame, et peegelkood töötab automaatselt.
Loome teenuse, mis käivitab koodi meie jaoks automaatselt.
Minema:
sudo nano /etc/systemd/system/mirror.service
Ja kleepige see faili
[Ühik]
Kirjeldus = Peegli taustaprogramm pärast = network.target mariadb.service [Teenus] Tüüp = lihtne Kasutaja = root ExecStart =/bin/sh /home/pi/Mirror/init.sh [Install] WantedBy = multi-user.target
Nüüd peame süsteemi deemoni uuesti laadima, tehes järgmist.
sudo systemctl deemon-reload
Samuti lubame teenusel käivitamisel automaatselt käivituda.
sudo systemctl lubage peegel
Nüüd lülitame välja.
sudo väljalülitus
Lõplikud seaded
Lõpuks peame eemaldama oma APIPA ip, nii et see töötab ainult WiFi -s.
- Minge oma arvutis SD -kaardi alglaadimiskataloogi.
- Avage fail "cmdline.txt"
- Eemalda ip = 169.254.10.1 Teksti pika rea lõpus.
10. samm: peegli käivitamine
Külastage peegelkuval olevat IP -d või kui olete Google'i kalendri seadistanud, täitke domeeninimi.
Nüüd saate oma peegli seadistada!
Kui saate peeglile SSL -tõrke, võiksite lisada oma sertifikaadid Chromiumi sertifikaatide poodi.
Soovitan:
C.Q: DIY nutikas peegel: 5 sammu
C.Q: DIY Smart Mirror: Oleme Katrina Concepcion ja Adil Qaiser, mõlemad WBASD STEM Academy teise kursuse õpilased. See on projekt, millega oleksime selle aasta parima auhinna nimel koostööd teinud ja teinud. Kui otsustasime seda projekti teha, pidasime silmas seda, mis oleks kõige
Nutikas peegel: 5 sammu
Nutikas peegel: see juhend õpetab teile, kuidas luua nutikat peeglit, mis kuvab teie meilisõnumid, The New York Timesi viimased uudised ja värskendused ning Unsplashi taustal kuupäeva ja kellaaja. Selle toimimise link: Vajalikud tarvikud: raam
Lihtne nutikas peegel: 7 sammu (piltidega)
Lihtne tark peegel: Vau! see on olnud üsna kaua aega, kui laadisin midagi üles, olin hõivatud nii paljude asjade kallal töötamisega ja mõistsin, et pean oma järgijate jaoks midagi maha jätma, nagu öeldakse: "alati on projekt, mille kallal töötada" haha võib -olla olen see ainult mina
Ujuv nutikas maagiline peegel vanast sülearvutist Alexa häältuvastusega: 6 sammu (piltidega)
Ujuv nutikas maagiline peegel vanast sülearvutist Alexa häältuvastusega: registreeruge minu kursusele „Elektroonika lühidalt” siin: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Vaadake ka minu lehte YouTube'i kanal siit, et saada rohkem projekte ja elektroonikaõpetusi: https://www.youtube.com/channel/UCelOO
Arduino Outlet Boxi juhtimiskeskus Google'i kalendriga: 4 sammu
Arduino pistikupesa juhtimiskeskus Google'i kalendriga: selles juhendis saate teada, kuidas ehitada oma kodu juhtimiskeskus Adafruit Power Relay Module 4-Outlet abil. Teil on vaja Arduino tahvlit koos WiFi -mooduliga, nagu Adafruit Feather Huzzah ja Adafruit Power Relay Module 4