INHOUDSOPGAWE:
- Voorrade
- Stap 1: Opstel
- Stap 2: Installeer die spieël
- Stap 3: Konfigurasie
- Stap 4: API's
- Stap 5: Die kalender
- Stap 6: Google API
- Stap 7: Die spieëlontwerp
- Stap 8: Maak die bedrading
- Stap 9: Begin die kode
- Stap 10: Begin die spieël
Video: Multi -gebruiker slim spieël met Google Kalender: 10 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
In hierdie instruksies skep ons 'n slim spieël wat met Google Kalender geïntegreer is. Ek het hierdie projek gemaak, want ek vind slim spieëls baie gaaf; dit is 'n uiters geskenk in die oggend. Maar ek het besluit om self een van nul te maak, want al die ander het 1 fout. Hulle is te gevorderd en deurmekaar. Ek het besluit om dit eenvoudig te hou.
Voorrade
Voorheen
ons begin, dit is die dinge wat u beslis nodig het om 'n spieël soos myne te bou. Hierdie voorrade kos ongeveer 250 tot 350 euro, afhangende van u streek en huidige pryse.
Hardeware
Sensors
- Een draad temperatuur sensor
- RWCL 0516 (mikrogolfbewegingsensor)
- Sagte potensiometer (Touchstrip van Sparkfun)
Rekenaar
en IC's
- Luidspreker (3.2W by 4Ω OF 1.8W by 8Ω)
- MCP3008
- Adafruit I2S 3W Klas D versterker -uitbreek - MAX98357A
- Framboos Pi 3 B+
- SD -kaart (8 GB is goed)
- Weerstand 4.7K Ohm
Verskeie
- Jumperwires
- Broodbord
- Akriel tweerigting spieël (15% ligte transmissie)
- IPS -monitor (grootte hang af van hoe groot u dit wil hê)
- HDMI -kabel
- Hout
Sagteware
- PuTTY
- Kode -redakteur (Notepad ++ is genoeg)
- Win32 Disk Imager
- Raspbian OS -beeld
Stap 1: Opstel
Om te begin, moet ons eers u Pi opstel vir die kode wat ek gemaak het.
U benodig twee dinge:
- Win32 Disk Imager vanaf
- Raspbian OS -beeld vanaf
Laai die zip -lêer af en pak dit uit waar u wil.
Die installasie
- Kies u prent via die vouer -ikoon
- Kies u SD -kaart via die keuselys
- Klik op skryf
Nou moet ons 'n paar ekstra instinkies doen, sodat ons toegang tot die Pi kan kry.
- Gaan na die opstartgids van die SD -kaart
- Maak die lêer "cmdline.txt" oop
- Voeg ip = 169.254.10.1 aan die einde van die lang teksreël met 'n spasie (op dieselfde reël) geskei.
- Stoor die lêer.
- Skep 'n lêer met die naam ssh sonder uitbreiding in dieselfde gids
Nou kan u die SD -kaart uitwerp en in u Pi sit.
Koppel
Nou moet ons die sagteware instel.
Sluit eers 'n LAN -kabel aan, die een kant op u lessenaar/skootrekenaar en die ander in u Pi.
Begin nou die Raspberry Pi.
- Installeer Putty vanaf
- Voer 169.254.10.1 in die IP -blokkie in.
- Maak seker dat SSH gekies is en dat poort 22 ingevul is.
- Klik oop
- Vul die gebruikersnaam in: pi
- Vul die wagwoord in: framboos
Raspi-konfig
Maak die Raspi-config-nut oop deur die volgende te gebruik:
sudo raspi-config
Aktiveer die volgende opsies in die kategorie koppelvlakke
- 1-draad
- SPI
Kies u WiFi -land via die lokaliseringskategorie.
Skakel dan die volgende opsies uit in die kategorie opstartopsies
Spatskerm
Stel laastens die Desktop/CLI -instelling in die kategorie opstartopsies op Desktop Autologin.
WiFi
Vir die spieël moet ons 'n wifi -verbinding hê, dus maak seker dat u wifi -inskrywings naby is.
Gaan na die wortelmodus
sudo -i
Plak hierdie reël, maar maak seker dat beide die SSID en die wagwoord ingevul is
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
Voer die WPA -kliënt in.
wpa_cli
Kies die koppelvlak
koppelvlak wlan0
Herlaai die konfig
herkonfigureer
Maak seker dat u korrek verbind is deur te tik …
ip a
… en kyk of u 'n IP op die WLAN0 -koppelvlakke het.
Pakkette
Noudat ons aan die internet gekoppel is, moet ons 'n paar pakkette installeer.
Eerstens moet ons die pakketlyste vir die nuutste een herlaai.
sudo apt -opdatering
Python
Ons sal Raspbian dwing om Python 3 te gebruik
update-alternatiewe-installeer/usr/bin/python python /usr/bin/python2.7 1
update-alternatiewe-installeer/usr/bin/python python/usr/bin/python3 2
MariaDB
Plak die volgende reël om die databasis te installeer.
sudo apt installeer mariadb-bediener
Dan moet ons ons installasie beveilig.
mysql_secure_installation
Dit sal ons vra vir die huidige wortelwagwoord, aangesien ons nie een het nie, druk net op enter.
Vervolgens word gevra of ons 'n root -wagwoordstipe in y wil hê, aangesien ons dit wil hê.
Tik Y vir die volgende vrae.
Laastens sal ons 'n gebruiker skep wat ons vir die spieël kan gebruik.
Voer die mysql -dop in deur die volgende te doen:
Verhoog onsself tot wortel
sudo -i
Voer die mysql -dop in
mysql
Vervang deur u eie gebruikersnaam en dieselfde met
verleen alle voorregte op spieël.* aan ''@'%' geïdentifiseer deur '';
Nou spoel ons die toestemmings tabel.
FLUSH VOORREGTE;
Apache webbediener
Om die webbediener te installeer, voer die onderstaande reël uit.
sudo apt installeer apache2 -y
Python pakkette
Ons gaan hierdie pakkette installeer
- Fles
- Fles-Kors
- Fles-MySQL
- Fles-SocketIO
- PyMySQL
- Kolf-talisman
- Gevent
- Gevent-websocket
- Google-api-python-kliënt
- Google-outeur
- Google-auth-httplib2
- Google-auth-oauthlib
- Httplib2
- Kalender
- Evaluerings
- Oauthlib
- Python-socketio
- Versoeke
- Wsaccel
- Ujson
Deur te doen
pip installeer Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Flask-Talisman het gevent-webtasocket google-api-python-client google-auth google-auth-httplib2 google-auth-oauthlib httplib2 icalendar icalevents oauthlib python-socketio versoeke wsaccel
Opstelling van die luidspreker
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Nou moet ons herlaai, druk op y.
Herhaal die draaiboek
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Nou moet ons 'n tweede keer herlaai
sudo herlaai
Skerm (monitor)
Afhangende van hoe u die oriëntasie van u skerm wil hê, kan u die skerm draai.
Om die skerm te draai, moet ons toegang tot die opstartopsies verkry deur:
sudo nano /boot/config.txt
En plak dan een van hierdie reëls in die config -lêer:
display_rotate = 0
display_rotate = 1
display_rotate = 2
display_rotate = 3
Die eerste een, 0, is die normale opset. 1 Sal 90 grade wees, 2 is 180 grade en die laaste een sal 270 grade wees.
Herbegin dan.
sudo herlaai
Stap 2: Installeer die spieël
Nou sal ons 'n plek opstel om my kode af te laai.
cd/huis/pi/
git -kloon https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject
Nou kopieer ons 'n paar vouers na die regte bestemming
sudo cp -R frontend/mirror//var/www/html/mirror/
sudo cp -R frontend/dashboard//var/www/html/Sudo cp -R backend//home/pi/Mirror/
Die installering van die databasis is 'n noodsaaklike stap in die maak van die projek.
sudo mysql -u root -p << CREATEDATABASE.sql
Stap 3: Konfigurasie
Die konfigurasie lêer is geleë op:
sudo nano /home/pi/Mirror/resources/config.ini
Voer die MYSQL -gebruiker en wagwoord in.
Dit moet die mysql -gebruiker wees wat ons pas gemaak het.
Die ander instellings waarna ons later gaan, sal dit instruksies wees.
Stap 4: API's
Nadat ons die Pi geïnstalleer het, bespreek ons 'n paar onderwerpe wat u moontlik wil doen.
Darksky
Skep 'n Darsky API -sleutel via
As u geregistreer het, sien u u API -sleutel op die dashboard.
Voer hierdie sleutel in die config -lêer in van die spieëlprojek wat u voorheen geïnstalleer het.
Die kalender
Standaard kan u slegs ical -URL's gebruik om u kalender te sien. Maar hierdie gedeelte gaan oor hoe u u spieël aan die Google -ekosisteem koppel. Dit is 'n oor die algemeen langer en pynliker proses.
Dinge wat jy beslis nodig het
'N Dominaam
Dit is die dinge wat ons tydens hierdie deel sal opstel
- CloudFlare -rekening
- Google -ontwikkelaarrekening
- Google ontwikkelaarsprojek
- Stel die Kalender -API op
Stap 5: Die kalender
Wolkflare
Stel 'n cloudflare -rekening op vanaf https://cloudflare.com en volg die towenaar om u domeinnaam na Cloudflare DNS oor te dra.
U hoef nie self 'n A -rekord te maak wat na die framboos -pi wys nie. My spieëlkode sal dit vir jou doen. Aangesien die IP's in die meeste huishoudelike wifi nie staties is nie, kan dit nie meer werk na herlaai nie. Om my kode outomaties op te dateer, moet u die API -sleutel van u rekening benodig.
- Klik op die knoppie Kry u API -sleutel op die paneelbord aan die regterkant. [Foto 1]
- Rol af en bekyk u Global API -sleutel. [Foto 2]
Voer hierdie sleutel in die config -lêer in van die spieëlprojek wat u voorheen geïnstalleer het.
SSL -sertifikaat skep
Google vereis dat ons 'n SSL -verbinding het. Om hierdie afdeling te begin, moet u seker maak dat u die Cloudflare DNS korrek opgestel het.
Voeg eers die bewaarplek by.
sudo add-apt-repository ppa: certbot/certbot
Dateer die pakketlys op.
sudo apt-get update
Installeer CertBot
sudo apt installeer python-certbot-apache
Begin met die skepping van die sertifikaat. U moet weer die regte domeinnaam invul.
sudo certbot --apache -d example.com -d www.example.com
Na die skepping sal dit u vra of dit alle verbindings na SSL moet herlei. Kies herleiding.
Nou sal dit u vertel dat dit 'n sertifikaat vir u domein suksesvol geskep het. Maak seker dat u die twee paaie wat u bied, stoor.
- /etc/letsencrypt/live/example.com/cert.pem
- /etc/letsencrypt/live/example.com/privkey.pem
Gaan nou na die gids met die sertifikate in via:
Maak seker dat u example.com verander na die regte gasheer.
cd /etc/letsencrypt/live/example.com/
Kom ons kopieer die inhoud nou na ons projekmap.
cp cert.pem /home/pi/Mirror/resources/certs/cert.pem
En
cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem
Koppel Apache aan u domein
Om Apache korrek met u domein op te stel, moet ons 'n konfigurasielêer skep. Maak seker dat u u domeinnaam invul, byvoorbeeld funergydev.com.
sudo nano /etc/apache2/sites-enabled/example.com.conf
Plak dit dan in die lêer. Vervang example.com met u domeinnaam.
Maak seker dat u sertifikaat en privaat sleutel die regte pad is. Stel hulle op die pad wat u vroeër gestoor het toe ons destyds via certbot geskep het.
DocumentRoot "/var/www/html/" SSLEngine on SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Ander voorskrifte hier Opsies Indekse FollowSymLinks AllowOverride Alles Vereis alles toegestaan
Nou moet ons 'n paar wysigings moontlik maak en Apache dan dwing om die config te herlaai deur die volgende te doen:
sudo a2enmod ssl
sudo a2enmod herskryf
sudo systemctl herlaai apache2
Nou moet u via u domeinnaam na u pi kan gaan en die standaard apache -bladsy kan sien.
Stap 6: Google API
Gaan na die ontwikkelaarkonsole via
Deel 1
Skep u eerste projek deur langs die Google API -logo te klik en op die NUWE PROJEK -knoppie te klik. Vul die toepaslike projeknaam in en klik op die knoppie skep. [Foto1]
Deel 2
Nou kom u by hierdie bladsy. Klik op die knoppie biblioteek. [Foto2]
Dit is 'n groot lys van alle API's wat u kan gebruik, maar ons sal soek na die Google Kalender API. Klik daarop en druk ENABLE. [Foto3]
U kry dan 'n oorsig van die Kalender -API. Klik op die Google API's -logo om terug te keer na u projek. [Foto4]
Deel 3
Om alles korrek op te stel, klik op die kategorie geloofsbriewe en kies die oortjie Domeinverifikasie.
Hier moet u u domeinnaam verifieer.
- Klik op ADD DOMAIN
- Vul u domein in
- Dit sal dan vra om u domein te verifieer. Klik op voortgaan.
- Kies u domeinnaamverskaffer. [Foto5]
- Volg die proses
- Nou kan u dit so by die domeinverifikasielys op die Google API -konsole voeg. Maak seker dat u domein nagegaan is. [Foto6]
Deel 4
Kies nou die oortjie OAuth -toestemmingsskerm. [Foto7]
Vul die aansoeknaam in
Vervolgens sal ons omvang by die toestemmingsskerm voeg. Dit beteken dat ons die gebruiker op die toestemmingsskerm sal vra of hulle hul kalenderinligting met die spieël wil deel.
- Klik op voeg omvang by en soek na kalender.
- Gaan../auth/calendar.readonly na en druk add. [Foto8]
Vul 'n gemagtigde domein in. Dit moet die domein wees wat u pas geverifieer het. [Foto9]
Klik nou op die groot stoor -knoppie onder die vorm.
Deel 5
Laastens moet ons die geloofsbriewe skep. Omdat ons op die stoor -knoppie gedruk het, is ons na die oortuigings -oortjie herlei. Klik op skep geloofsbriewe en kies OAuth -kliënt -ID. [Foto10]
Kies Toepassingsoort: Webtoepassing en gee dit 'n naam.
Voer die volgende skakel in die gemagtigde herleiding -URI's in en vul die korrekte domein in.
example.com:5000/api/v1/setup/calendar/response
Klik op skep. Dit sal u 'n pop -up wys, klik net op OK. Druk nou op die aflaai -knoppie op die geloofsbriewe wat u pas gemaak het
Deel 6
Maak nou die JSON -lêer oop en kopieer die inhoud.
sudo nano /home/pi/Mirror/resources/credentials/credentials.json
Plak hulle hier in.
Deel 7
Nou moet ons ons domein in die config definieer deur:
sudo nano /home/pi/Mirror/resources/config.ini
Stap 7: Die spieëlontwerp
Die ontwerp van u spieël hang af van hoe u dit wil hê. Maak akkurate metings van die LCD en laat 'n gaping van 2 sentimeter aan die een kant van die spieël, aangesien die mikrogolfbewegingsensor daar sal sit. Dit kan nie agter enige metaal wees nie.
Ek het 4 planke hout aanmekaar gekoppel. Hierdie is gefrees om 'n mooi skoon voorkant van die spieël te hê. Bo -op het ek ook 'n paar gate geboor om die geluid van die luidspreker te laat deurgaan. Aan die teenoorgestelde kant van die spieël, die onderkant, het ek 'n klein reghoek gesny sodat ek maklik die elektriese bedrading kon doen. [Foto1]
Dit is 2 stukke goedkoop hout waarop die monitor kan beseer. Aangesien ek gesê het, benodig ons ongeveer 'n gaping van 2 sentimeter tussen die spieël en die kas. Ek het ook 3 stukkies hout bygevoeg en op die russtukke vasgeskroef. Die monitor bly dus op sy plek. [Foto2]
Uiteindelik het dit so gelyk. Ek het ongeveer 'n gaping van 3 mm tussen die russtukke en die voorkant van die spieëlkas gehad. Net genoeg sodat ek die 3 mm dik tweerigtingspieël kon insit. [Foto3]
Stap 8: Maak die bedrading
Maak seker dat u een van hierdie skemas behoorlik volg.
Sodra ek die bedrading gedoen het, het ek dit aan die agterkant van die skerm vasgemaak met dubbelzijdige band. Aangesien ek ooit die spieël wou demonteer en dit vir ander projekte wou gebruik, kon ek dit maklik verwyder. As u seker is, kan u 'n warm lijmpistool gebruik en dit aan die agterkant van die spieël plak.
Stap 9: Begin die kode
LXSessie
Laat ons eers 'n paar dopgehou skep
mkdir -p /home/pi/.config/lxsession/LXDE-pi/
Nou sal ons 'n lêer skep waar ons 'n paar opstartparameters/opdragte sal spesifiseer.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Plak die volgende in die lêer.
@lxpanel --profiel LXDE-pi
@pcmanfm --desktop --profiel LXDE-pi @xscreensaver -no-splash @point-rpi @sh /home/pi/Mirror/init_mirror.sh @xset s noblank @xset s off @xset -dpms
Ons sal die skerm van die beginspieëlskerm opdateer om by ons gasheer te pas.
sudo nano /home/pi/Mirror/init_mirror.sh
Kies localhost as u nie die Google -kalender en 'n domein gebruik nie.
#!/bin/bash
slaap 15 chroomblaaier-incognito-kiosk https:// localhost/mirror
Vul u gasheer in as u dit gebruik.
#!/bin/bash
slaap 15 chroomblaaier-incognito-kiosk
Diens
Nou stel ons in dat die Mirror -kode outomaties loop.
Ons sal 'n diens skep wat die kode outomaties vir ons begin.
Gaan na:
sudo nano /etc/systemd/system/mirror.service
En plak dit in die lêer
[Eenheid]
Description = Mirror Backend After = network.target mariadb.service [Service] Type = simple User = root ExecStart =/bin/sh /home/pi/Mirror/init.sh [Installeer] WantedBy = multi-user.target
Nou moet ons die systemd -demoon herlaai deur die volgende te doen:
sudo systemctl daemon-herlaai
En ons sal die diens ook in staat stel om outomaties te begin tydens die opstart.
sudo systemctl aktiveer spieël
Nou skakel ons af.
sudo poweroff
Die finale instellings
Uiteindelik moet ons ons APIPA ip verwyder sodat dit slegs op WiFi werk.
- Gaan na die opstartgids van die SD -kaart op u rekenaar.
- Maak die lêer "cmdline.txt" oop
- Verwyder ip = 169.254.10.1 Aan die einde van die lang reël teks.
Stap 10: Begin die spieël
Besoek die ip wat op die spieëlskerm verskyn, of as u die Google -kalender opgestel het, vul die naam in.
Nou kan u u spieël opstel!
As u 'n SSL -fout op u spieël kry, wil u u sertifikate by die Chromium -sertifikaatwinkel voeg.
Aanbeveel:
Hoe om 'n slim spieël met Framboos Pi te bou 4: 10 -stappe
Hoe om 'n slim spieël te bou met Raspberry Pi 4: In hierdie gids sal ons sien hoe u 'n smartspieël kan bou met herwinde stukke, soos 'n raam, 'n ou monitor en 'n glas. Vir die elektroniese komponente wat ek hier gekoop het www.lcsc .com
Hoe om 'n DIY slim spieël te maak: 12 stappe (met foto's)
Hoe om 'n DIY slim spieël te maak: 'n " Slim spieël " is 'n tweerigtingspieël met 'n skerm agter wat gewoonlik gebruik word om nuttige inligting soos die tyd en datum, die weer, u kalender en allerhande ander dinge te vertoon! Mense gebruik dit vir allerhande doeleindes
Swaai slim magiese spieël vanaf 'n ou skootrekenaar met Alexa -stemherkenning: 6 stappe (met foto's)
Swaai slim magiese spieël vanaf 'n ou skootrekenaar met Alexa-stemherkenning: skryf hier in vir 'Elektronika in 'n neutedop': https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Kyk ook na my YouTube -kanaal hier vir meer projekte en elektroniese tutoriale: https://www.youtube.com/channel/UCelOO
Maak u eie slim spieël vir minder as $ 80 - met behulp van Raspberry Pi: 6 stappe (met foto's)
Maak u eie slim spieël vir minder as $ 80 - met behulp van Raspberry Pi: in hierdie projek bou ons 'n slim spieël wat u nuttige inligting sal wys terwyl u soggens gereed maak. Die hele ding behoort onder $ 80 te kos, wat dit vir die meeste mense redelik bekostigbaar sal maak. Hierdie gids sal u net leer
Slim spieël met gebroke Android -tablet: 5 stappe (met foto's)
Slim spieël met gebroke Android -tablet: 'n Rukkie gelede het ek per ongeluk my Android -tablet op sy gesig laat val. Die glas het gebreek, maar die res werk nog goed. Met die risiko dat ek weer deur my maat 'n hoarder genoem word, trek ek dit gelykop in die hoop dat ek dit eendag sal vind. Daardie