Satura rādītājs:
- Piegādes
- 1. darbība: iestatīšana
- 2. darbība: spoguļa uzstādīšana
- 3. darbība: konfigurēšana
- 4. darbība: API
- 5. solis: kalendārs
- 6. darbība: Google API
- 7. solis: spoguļa dizains
- 8. solis: veiciet elektroinstalāciju
- 9. darbība: koda palaišana
- 10. solis: palaidiet spoguli
Video: Vairāku lietotāju viedais spogulis ar Google kalendāru: 10 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Šajā pamācībā mēs izveidosim viedu spoguli, kas integrēts ar Google kalendāru. Es izveidoju šo projektu, jo man šķiet, ka viedie spoguļi ir patiešām forši, tie ir dievs no rīta. Bet es nolēmu pats izgatavot vienu no nulles, jo visiem pārējiem ir 1 trūkums. Viņi ir pārāk attīstīti un pārblīvēti. Es nolēmu saglabāt šo vienkāršo.
Piegādes
Pirms
mēs sāksim šīs lietas, kas jums noteikti būs nepieciešamas, lai izveidotu tādu spoguli kā mans. Šīs piegādes maksās aptuveni 250 līdz 350 eiro atkarībā no jūsu reģiona un pašreizējām cenām.
Aparatūra
Sensori
- Viena stieples temperatūras sensors
- RWCL 0516 (mikroviļņu kustības sensors)
- Mīksts potenciometrs (skārienjosla no Sparkfun)
Skaitļošana
un IC
- Skaļrunis (3,2 W pie 4Ω vai 1,8 W pie 8Ω)
- MCP3008
- Adafruit I2S 3W D klases pastiprinātājs Breakout - MAX98357A
- Raspberry Pi 3 B+
- SD karte (8 GB ir piemērota)
- Rezistors 4,7K omi
Dažādi
- Jumperwires
- Maizes dēlis
- Akrila divvirzienu spogulis (15% gaismas caurlaidība)
- IPS monitors (izmērs ir atkarīgs no tā, cik lielu vēlaties)
- HDMI kabelis
- Koks
Programmatūra
- PuTTY
- Koda redaktors (pietiek ar Notepad ++)
- Win32 diska attēlveidotājs
- Raspbian OS attēls
1. darbība: iestatīšana
Lai sāktu, mums vispirms ir jāiestata jūsu Pi manam kodam.
Jums būs nepieciešamas divas lietas:
- Win32 diska attēlveidotājs no vietnes
- Raspbian OS attēls no
Lejupielādējiet ZIP failu un izvelciet to, kur vien vēlaties.
Instalācija
- Izvēlieties savu attēlu, izmantojot mapes ikonu
- Nolaižamajā izvēlnē atlasiet savu SD karti
- Noklikšķiniet uz rakstīt
Tagad mums būs jāveic papildu pielāgošana ar dažiem iestatījumiem, lai mēs varētu piekļūt Pi.
- Dodieties uz SD kartes sāknēšanas direktoriju
- Atveriet failu "cmdline.txt"
- Pievienojiet ip = 169.254.10.1 Teksta garās rindas beigās, kas atdalīta ar atstarpi (tajā pašā rindā).
- Saglabājiet failu.
- Tajā pašā direktorijā izveidojiet failu ar nosaukumu ssh bez paplašinājuma
Tagad jūs varat izņemt SD karti un ievietot to savā Pi.
Notiek savienošana
Tagad mums būs jāiestata programmatūra.
Vispirms pievienojiet LAN kabeli, vienu galu - galddatorā/klēpjdatorā, bet otru - Pi.
Tagad palaidiet Raspberry Pi.
- Instalējiet Putty no
- IP lodziņā ievadiet 169.254.10.1.
- Pārliecinieties, vai ir atlasīts SSH un 22. ports.
- Noklikšķiniet uz atvērt
- Aizpildiet lietotājvārdu: pi
- Aizpildiet paroli: aveņu
Raspi-config
Atveriet utilītu Raspi-config, izmantojot:
sudo raspi-config
Saskarņu kategorijā iespējojiet tālāk norādītās opcijas
- 1 vads
- SPI
Izvēlieties savu WiFi valsti, izmantojot lokalizācijas kategoriju.
Pēc tam atspējojiet šīs opcijas sāknēšanas opciju kategorijā
Šļakatu ekrāns
Visbeidzot iestatiet darbvirsmas/CLI iestatījumu sāknēšanas opciju kategorijā uz Desktop Autologin.
Bezvadu internets
Spogulim mums ir jābūt wifi savienojumam, tāpēc pārliecinieties, vai jūsu Wi -Fi akreditācijas dati ir aizvērti.
Dodieties saknes režīmā
sudo -i
Ielīmējiet šo rindu, bet pārliecinieties, vai ir aizpildīts gan SSID, gan parole
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
Ievadiet WPA klientu.
wpa_cli
Izvēlieties interfeisu
interfeiss wlan0
Pārlādēt konfigurāciju
pārkonfigurēt
Pārliecinieties, vai savienojums ir izveidots pareizi, ierakstot…
ip a
… Un redzēt, vai jums ir IP WLAN0 saskarnēs.
Iepakojumi
Tagad, kad esam izveidojuši savienojumu ar internetu, mums būs jāinstalē dažas paketes.
Vispirms mums ir jāatjaunina pakotņu saraksti, lai iegūtu jaunāko.
sudo apt atjauninājums
Python
Mēs piespiedīsim Raspbian izmantot Python 3
update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1
update-alternatives-instalēt/usr/bin/python python/usr/bin/python3 2
MariaDB
Lai instalētu datu bāzi, ielīmējiet šo rindu.
sudo apt instalēt mariadb-server
Tad mums būs jāaizsargā mūsu instalācija.
mysql_secure_installation
Tas prasīs mums pašreizējo saknes paroli, jo mums tādas nav, vienkārši nospiediet taustiņu Enter.
Tālāk tiek jautāts, vai mēs vēlamies y ievadīt saknes paroli, jo mēs to vēlamies.
Nākamajiem jautājumiem vienkārši ievadiet Y.
Visbeidzot, mēs izveidosim lietotāju, kuru varēsim izmantot spogulim.
Ievadiet mysql apvalku, rīkojoties šādi:
Paceliet sevi līdz saknēm
sudo -i
Ievadiet mysql apvalku
mysql
Aizstāt ar savu lietotājvārdu un to pašu ar
piešķirt visas privilēģijas spogulim.* līdz ''@'%' identificē ar '';
Tagad mēs izskalojam atļauju tabulu.
FLUSH PRIVILĒGAS;
Apache tīmekļa serveris
Lai instalētu tīmekļa serveri, palaidiet zemāk esošo rindu.
sudo apt instalēt apache2 -y
Python paketes
Mēs instalēsim šīs paketes
- Kolba
- Kolbas-korķi
- Kolba-MySQL
- Flask-SocketIO
- PyMySQL
- Kolbas-talismans
- Gevent
- Gevent-websocket
- Google-api-python-klients
- Google aut
- Google auth-httplib2
- Google auth-oauthlib
- Httplib2
- Icalendar
- Icalevents
- Oauthlib
- Python-socketio
- Pieprasījumi
- Vakels
- Ujsons
Darot
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 pieprasījumi
Skaļruņu iestatīšana
čokurošanās -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Tagad mums ir jāpārstartē, tāpēc nospiediet y.
Atkārtoti skriptu
čokurošanās -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Tagad mums ir jāpārstartē otro reizi
sudo atsāknēšana
Ekrāns (monitors)
Atkarībā no tā, kā vēlaties ekrāna izkārtojumu, iespējams, vēlēsities to pagriezt.
Lai pagrieztu ekrānu, mums ir jāpiekļūst sāknēšanas opcijām, rīkojoties šādi:
sudo nano /boot/config.txt
Un pēc tam ielīmējiet vienu no šīm rindām konfigurācijas failā:
display_rotate = 0
display_rotate = 1
display_rotate = 2
display_rotate = 3
Pirmais, 0, ir parasta konfigurācija. 1 būs 90 grādi, 2 ir 180 grādi un pēdējais būs 270 grādi.
Pēc tam pārstartējiet.
sudo atsāknēšana
2. darbība: spoguļa uzstādīšana
Tagad mēs izveidosim vietu, kur lejupielādēt manu kodu.
cd/mājas/pi/
git klons https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject
Tagad mēs kopēsim dažas mapes uz pareizo galamērķi
sudo cp -R priekšpuse/spogulis//var/www/html/spogulis/
sudo cp -R frontend/informācijas panelis//var/www/html/Sudo cp -R backend//home/pi/Mirror/
Datu bāzes instalēšana ir nepieciešams solis projekta veidošanā.
sudo mysql -u root -p << CREATEDATABASE.sql
3. darbība: konfigurēšana
Konfigurācijas fails atrodas:
sudo nano /home/pi/Mirror/resources/config.ini
Ievadiet MYSQL lietotāju un paroli.
Tam jābūt mūsu tikko izveidotajam mysql lietotājam.
Citi iestatījumi, kurus mēs apskatīsim vēlāk, ir šī pamācība.
4. darbība: API
Tagad esam pabeiguši Pi instalēšanu, mēs apskatīsim dažas tēmas, kuras jūs varētu vēlēties darīt.
Darkskis
Izveidojiet Darsky API atslēgu, izmantojot vietni
Kad esat reģistrējies, informācijas panelī redzēsit savu API atslēgu.
Ievadiet šo atslēgu iepriekš instalētā spoguļprojekta konfigurācijas failā.
Kalendārs
Pēc noklusējuma kalendāra apskatei varēsit izmantot tikai vietējos URL. Bet šī daļa būs par to, kā saistīt savu spoguli ar Google ekosistēmu. Tas parasti ir garāks un sāpīgāks process.
Lietas, kas jums noteikti būs vajadzīgas
Domēna vārds
Šīs ir lietas, kuras mēs iestatīsim šīs daļas laikā
- CloudFlare konts
- Google izstrādātāja konts
- Google izstrādātāju projekts
- Iestatiet kalendāra API
5. solis: kalendārs
Mākonis
Izveidojiet mākoņa kontu vietnē https://cloudflare.com un sekojiet vednim, lai pārsūtītu savu domēna vārdu uz Cloudflare DNS.
Nav nepieciešams pašam izveidot A ierakstu, kas norāda uz aveņu pi. Mans spoguļa kods to izdarīs jūsu vietā. Tā kā lielākajā daļā mājsaimniecības wifi IP nav statiski, tāpēc pēc pārstartēšanas tas var nedarboties. Lai mans kods automātiski atjauninātu ip, būs nepieciešama jūsu konta API atslēga.
- Informācijas panelī labajā pusē noklikšķiniet uz pogas Iegūt API atslēgu. [1. fotoattēls]
- Ritiniet uz leju un apskatiet savu globālo API atslēgu. [2. fotoattēls]
Ievadiet šo atslēgu iepriekš instalētā spoguļprojekta konfigurācijas failā.
SSL sertifikāta izveide
Google pieprasa, lai mums būtu SSL savienojums. Lai sāktu šo sadaļu, pārliecinieties, vai esat pareizi iestatījis Cloudflare DNS.
Vispirms pievienojiet krātuvi.
sudo add-apt-repository ppa: certbot/certbot
Atjauniniet iepakojuma sarakstu.
sudo apt-get update
Instalējiet CertBot
sudo apt instalēt python-certbot-apache
Sāciet sertifikāta izveidi. Atkal jums būs jāaizpilda pareizais domēna nosaukums.
sudo certbot --apache -d example.com -d www.example.com
Pēc izveides tas jums jautās, vai tam vajadzētu novirzīt visus savienojumus uz SSL. Izvēlieties novirzīšanu.
Tagad tas jums pateiks, ka ir veiksmīgi izveidojis jūsu domēna sertifikātu. Noteikti saglabājiet 2 piedāvātos ceļus.
- /etc/letsencrypt/live/example.com/cert.pem
- /etc/letsencrypt/live/example.com/privkey.pem
Tagad dodieties uz mapi ar sertifikātiem, izmantojot:
Noteikti nomainiet example.com uz pareizo saimniekdatoru.
cd /etc/letsencrypt/live/example.com/
Tagad kopēsim šo saturu mūsu projektu mapē.
cp cert.pem /home/pi/Mirror/resources/certs/cert.pem
Un
cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem
Savienojiet Apache ar savu domēnu
Lai pareizi konfigurētu Apache ar savu domēnu, mums ir jāizveido konfigurācijas fails. Noteikti ievadiet sava domēna nosaukumu, piemēram, funergydev.com.
sudo nano /etc/apache2/sites-enabled/example.com.conf
Pēc tam ielīmējiet to failā. Aizstājiet example.com ar savu domēna nosaukumu.
Pārliecinieties, vai jūsu sertifikāts un privātā atslēga ir pareizs ceļš. Iestatiet tos uz ceļu, kuru saglabājāt agrāk, kad mēs to izveidojām, izmantojot certbot.
DocumentRoot "/var/www/html/" SSLEngine on SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Citas direktīvas šeit Opcijas Indeksi SekotSymLide AllowOver Visi Pieprasīt visu ir piešķirts
Tagad mums ir jāiespējo dažas izmaiņas un pēc tam jāpiespiež Apache atkārtoti ielādēt konfigurāciju, rīkojoties šādi:
sudo a2enmod ssl
sudo a2enmod pārrakstīt
sudo systemctl pārlādēt apache2
Tagad jums vajadzētu būt iespējai caur savu domēna nosaukumu nokļūt savā pi un redzēt noklusējuma apache lapu.
6. darbība: Google API
Dodieties uz izstrādātāju konsoli, izmantojot vietni
1. daļa
Izveidojiet savu pirmo projektu, noklikšķinot blakus Google API logotipam un noklikšķinot uz pogas JAUNS PROJEKTS. Ievadiet atbilstošo projekta nosaukumu un noklikšķiniet uz pogas Izveidot. [1. foto]
2. daļa
Tagad jūs nokļūsit šajā lapā. Noklikšķiniet uz bibliotēkas pogas. [Foto2]
Šis ir liels saraksts ar visām API, kuras jūs varētu izmantot, taču mēs meklēsim Google kalendāra API. Noklikšķiniet uz tā un nospiediet ENABLE. [Foto3]
Pēc tam jūs sasniegsiet kalendāra API pārskatu. Noklikšķiniet uz Google API logotipa, lai atgrieztos pie sava projekta. [4. foto]
3. daļa
Lai visu pareizi iestatītu, noklikšķiniet uz akreditācijas datu kategorijas un izvēlieties cilni Domēna verifikācija.
Šeit jums jāpārbauda sava domēna nosaukums.
- Noklikšķiniet uz PIEVIENOT DOMĒNU
- Aizpildiet savu domēnu
- Pēc tam tā lūgs verificēt jūsu domēnu. Noklikšķiniet uz Turpināt.
- Izvēlieties savu domēna nosaukumu nodrošinātāju. [5. foto]
- Sekojiet procesam
- Tagad jūs varēsit to pievienot Google API konsoles domēna verifikācijas sarakstam. Pārliecinieties, vai jūsu domēns ir atzīmēts. [Foto6]
4. daļa
Tagad izvēlieties OAuth piekrišanas ekrāna cilni. [7. foto]
Aizpildiet pieteikuma nosaukumu
Tālāk mēs piekrišanas ekrānam pievienosim darbības jomas. Tas nozīmē, ka piekrišanas ekrānā lietotājam jautāsim, vai viņš vēlas koplietot savu kalendāra informāciju ar spoguli.
- Noklikšķiniet uz pievienot darbības jomu un meklējiet kalendāru.
- Pārbaudiet../auth/calendar.readonly un nospiediet pievienot. [8. foto]
Aizpildiet autorizēto domēnu. Tam vajadzētu būt tikko verificētajam domēnam. [Foto9]
Tagad noklikšķiniet uz lielās saglabāšanas pogas zem veidlapas.
5. daļa
Visbeidzot, mums ir jāizveido akreditācijas dati. Tā kā mēs nospiedām saglabāšanas pogu, mēs tikām novirzīti uz cilni Akreditācijas dati. Noklikšķiniet uz Izveidot akreditācijas datus un izvēlieties OAuth klienta ID. [10. foto]
Izvēlieties lietojumprogrammas veidu: tīmekļa lietojumprogramma un piešķiriet tai nosaukumu.
Atļautajā novirzīšanas URI ievadiet šo saiti un ievadiet pareizo domēnu.
example.com:5000/api/v1/setup/calendar/response
Noklikšķiniet uz izveidot. Tas parādīs uznirstošo logu, vienkārši noklikšķiniet uz Labi. Tagad nospiediet lejupielādes pogu uz tikko veiktajiem akreditācijas datiem
6. daļa
Tagad atveriet JSON failu un nokopējiet saturu.
sudo nano /home/pi/Mirror/resources/credentials/credentials.json
Ielīmējiet tos šeit.
7. daļa
Tagad mums ir jādefinē mūsu domēns konfigurācijā, rīkojoties šādi:
sudo nano /home/pi/Mirror/resources/config.ini
7. solis: spoguļa dizains
Spoguļa dizains ir atkarīgs no tā, kā jūs to vēlaties. Veiciet precīzus LCD mērījumus un atstājiet 2 centimetru atstarpi vienā spoguļa pusē, jo tur atradīsies mikroviļņu kustības sensors. Tas nevar būt aiz jebkura metāla.
Es savienoju kopā 4 koka dēļus. Tie tika slīpēti, lai spoguļa priekšpuse būtu tīra. Augšpusē es arī izurbju pāris caurumus, lai skaļruņa skaņa izietu. Spoguļa pretējā pusē, apakšā, es izgriezu nelielu taisnstūri, lai es varētu viegli veikt elektroinstalāciju. [1. foto]
Tie ir 2 lēti koka gabali, kur monitors tiks ieslēgts. Tā kā es teicu, ka mums būs nepieciešama apmēram 2 centimetru atstarpe starp spoguli un korpusu. Es arī pievienoju 3 mazus koka gabaliņus un ieskrūvēju tos šajos atpūtas gabalos. Tātad monitors paliks vietā. [Foto2]
Beigās tas izskatījās šādi. Man bija apmēram 3 mm atstarpe starp šiem atpūtas elementiem un spoguļa korpusa priekšpusi. Tieši tik daudz, lai es varētu ievietot 3 mm biezu divvirzienu spoguli. [Foto3]
8. solis: veiciet elektroinstalāciju
Noteikti ievērojiet vienu no šīm shēmām.
Kad es izdarīju vadu, es to pielīmēju ekrāna aizmugurē ar divpusēju lenti. Tā kā, ja es kādreiz gribētu izjaukt spoguli un izmantot to citiem projektiem, es to varētu viegli noņemt. Ja esat pārliecināts, varat izmantot karstu līmes pistoli un pielīmēt to spoguļa aizmugurē.
9. darbība: koda palaišana
LXSession
Vispirms izveidosim pāris mapes
mkdir -p /home/pi/.config/lxsession/LXDE-pi/
Tagad mēs izveidosim failu, kurā norādīsim pāris palaišanas parametrus/komandas.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Ielīmējiet failā šādu informāciju.
@lxpanel-profils 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
Mēs atjaunināsim sākuma spoguļa ekrāna skriptu, lai tas atbilstu mūsu saimniekdatoram.
sudo nano /home/pi/Mirror/init_mirror.sh
Izvēlieties localhost, ja neizmantojat Google kalendāru un domēnu.
#!/bin/bash
miega 15 hroma pārlūks-inkognito --kiosk https:// localhost/mirror
Ja jūs to izmantojat, aizpildiet savu saimniekdatoru.
#!/bin/bash
miega režīms 15 hroma pārlūks-inkognito režīms --kiosk
apkalpošana
Tagad mēs iestatīsim, lai spoguļa kods darbotos automātiski.
Mēs izveidosim pakalpojumu, kas automātiski sāks kodu.
Iet uz:
sudo nano /etc/systemd/system/mirror.service
Un ielīmējiet to failā
[Vienība]
Apraksts = Mirror Backend After = network.target mariadb.service [Service] Tips = simple User = root ExecStart =/bin/sh /home/pi/Mirror/init.sh [Install] WantedBy = multi-user.target
Tagad mums būs jāpārlādē sistēmas dēmons, rīkojoties šādi:
sudo systemctl dēmonu pārlādēšana
Un mēs arī ļausim pakalpojumam automātiski startēt sāknēšanas laikā.
sudo systemctl iespējot spoguli
Tagad mēs izslēgsim strāvu.
sudo izslēgšana
Galīgie iestatījumi
Visbeidzot, mums ir jānoņem mūsu APIPA ip, lai tas darbotos tikai WiFi.
- Datorā dodieties uz SD kartes sāknēšanas direktoriju.
- Atveriet failu "cmdline.txt"
- Noņemt ip = 169.254.10.1 Teksta garās rindas beigās.
10. solis: palaidiet spoguli
Apmeklējiet spoguļattēlā redzamo ip vai, ja esat iestatījis Google kalendāru, ievadiet domēna nosaukumu.
Tagad jūs varēsit uzstādīt savu spoguli!
Ja spogulī tiek parādīta SSL kļūda, iespējams, vēlēsities pievienot savus sertifikātus Chromium sertifikātu krātuvei.
Ieteicams:
Google kalendāru pievienošana Google vietnēm: 5 soļi
Google kalendāru pievienošana Google vietnēm: šī ir pamācība, lai iemācītu jums izveidot, lietot un rediģēt Google kalendārus un pēc tam pievienot tos Google vietnei, izmantojot koplietošanas iespējas. Tas var būt izdevīgi daudziem cilvēkiem, jo Google vietnes var izmantot, lai koordinētu un izplatītu i
C.Q: DIY viedais spogulis: 5 soļi
C.Q: DIY Smart Mirror: Mēs esam Katrina Concepcion un Adil Qaiser, abi WBASD STEM akadēmijas otrā kursa studenti. Šis ir projekts, kuru mēs būtu sadarbojušies un paveikuši, lai iegūtu šī gada labāko balvu. Kad mēs nolēmām īstenot šo projektu, mēs domājām, "kas būtu visvairāk
Viedais spogulis: 5 soļi
Viedais spogulis: šī pamācība iemācīs jums izveidot viedo spoguli, kas parāda jūsu e -pasta iesūtni, jaunākās ziņas un atjauninājumus no The New York Times, kā arī datumu un laiku uz Unsplash fona. Tā saite darbojas: Nepieciešamie piederumi: rāmis
Vienkāršs viedais spogulis: 7 soļi (ar attēliem)
Vienkāršs viedais spogulis: Oho! tas ir bijis diezgan ilgs laiks, kad es kaut ko augšupielādēju, biju aizņemts, strādājot pie tik daudzām lietām, un sapratu, ka man kaut kas ir jāatmet saviem sekotājiem, kā saka: "vienmēr ir projekts, pie kura strādāt" haha, iespējams, tas esmu tikai es, vienalga atpakaļ uz biznesu
Viedais spogulis: 10 soļi
Viedais spogulis: Mēs visi zinām brīdi, kad atrodaties vannas istabā, un pazaudējat stundu. Vai arī jūs nezināt, kādi laika apstākļi būs šodien … utt. Var palīdzēt gudrs spogulis. Savam projektam es izveidoju mazāku viedā spoguļa versiju, lai ietaupītu vietu vannas istabā