Sisukord:

Mitme kasutaja nutikas peegel Google'i kalendriga: 10 sammu
Mitme kasutaja nutikas peegel Google'i kalendriga: 10 sammu

Video: Mitme kasutaja nutikas peegel Google'i kalendriga: 10 sammu

Video: Mitme kasutaja nutikas peegel Google'i kalendriga: 10 sammu
Video: CS50 2013 - Week 9 2024, November
Anonim
Mitme kasutaja nutikas peegel Google'i kalendriga
Mitme kasutaja nutikas peegel Google'i kalendriga
Mitme kasutaja nutikas peegel Google'i kalendriga
Mitme kasutaja nutikas peegel Google'i kalendriga

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

  1. Valige oma pilt kaustaikooni kaudu
  2. Valige rippmenüüst oma SD -kaart
  3. Klõpsake kirjuta

Nüüd peame mõne seadistusega täiendavalt nokitsema, et saaksime Pi -le juurde pääseda.

  1. Minge SD -kaardi algkataloogi
  2. Avage fail "cmdline.txt"
  3. Lisage ip = 169.254.10.1 Tühikuga eraldatud teksti pika rea lõpus (samal real).
  4. Salvestage fail.
  5. 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.

  1. Installige Putty saidilt
  2. Sisestage IP -väljale 169.254.10.1.
  3. Veenduge, et SSH on valitud ja port 22 on täidetud.
  4. Klõpsake nuppu Ava
  5. Sisestage kasutajanimi: pi
  6. 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

Peegli paigaldamine
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

Kalender
Kalender
Kalender
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.

  1. Klõpsake paremal asuval armatuurlaual nuppu Hangi oma API võti. [Foto 1]
  2. 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

Google'i API
Google'i API
Google'i API
Google'i API
Google'i API
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.

  1. Klõpsake LISA DOMENI
  2. Täitke oma domeen
  3. Seejärel palub ta teie domeeni kinnitada. Klõpsake nuppu Jätka.
  4. Valige oma domeeninime pakkuja. [Foto5]
  5. Järgige protsessi
  6. 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.

  1. Klõpsake nuppu Lisa ulatus ja otsige kalendrit.
  2. 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 disain
Peegli disain
Peegli disain
Peegli disain
Peegli disain
Peegli disain
Peegli disain
Peegli disain

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

Juhtmete tegemine
Juhtmete tegemine
Juhtmete tegemine
Juhtmete tegemine
Juhtmete tegemine
Juhtmete 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

Koodi käivitamine
Koodi käivitamine
Koodi käivitamine
Koodi käivitamine
Koodi käivitamine
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.

  1. Minge oma arvutis SD -kaardi alglaadimiskataloogi.
  2. Avage fail "cmdline.txt"
  3. Eemalda ip = 169.254.10.1 Teksti pika rea lõpus.

10. samm: peegli käivitamine

Peegli käivitamine
Peegli käivitamine
Peegli käivitamine
Peegli käivitamine
Peegli käivitamine
Peegli käivitamine
Peegli käivitamine
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: