Satura rādītājs:

Vairāku lietotāju viedais spogulis ar Google kalendāru: 10 soļi
Vairāku lietotāju viedais spogulis ar Google kalendāru: 10 soļi

Video: Vairāku lietotāju viedais spogulis ar Google kalendāru: 10 soļi

Video: Vairāku lietotāju viedais spogulis ar Google kalendāru: 10 soļi
Video: 8. Kā izmantot vairāku lietotāju režīmu? 2024, Novembris
Anonim
Vairāku lietotāju viedais spogulis ar Google kalendāru
Vairāku lietotāju viedais spogulis ar Google kalendāru
Vairāku lietotāju viedais spogulis ar Google kalendāru
Vairāku lietotāju viedais spogulis ar Google kalendāru

Š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

  1. Izvēlieties savu attēlu, izmantojot mapes ikonu
  2. Nolaižamajā izvēlnē atlasiet savu SD karti
  3. 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.

  1. Dodieties uz SD kartes sāknēšanas direktoriju
  2. Atveriet failu "cmdline.txt"
  3. Pievienojiet ip = 169.254.10.1 Teksta garās rindas beigās, kas atdalīta ar atstarpi (tajā pašā rindā).
  4. Saglabājiet failu.
  5. 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.

  1. Instalējiet Putty no
  2. IP lodziņā ievadiet 169.254.10.1.
  3. Pārliecinieties, vai ir atlasīts SSH un 22. ports.
  4. Noklikšķiniet uz atvērt
  5. Aizpildiet lietotājvārdu: pi
  6. 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

Spoguļa uzstādīšana
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

Kalendārs
Kalendārs
Kalendārs
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.

  1. Informācijas panelī labajā pusē noklikšķiniet uz pogas Iegūt API atslēgu. [1. fotoattēls]
  2. 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

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

  1. Noklikšķiniet uz PIEVIENOT DOMĒNU
  2. Aizpildiet savu domēnu
  3. Pēc tam tā lūgs verificēt jūsu domēnu. Noklikšķiniet uz Turpināt.
  4. Izvēlieties savu domēna nosaukumu nodrošinātāju. [5. foto]
  5. Sekojiet procesam
  6. 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.

  1. Noklikšķiniet uz pievienot darbības jomu un meklējiet kalendāru.
  2. 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
Spoguļa dizains
Spoguļa dizains
Spoguļa dizains
Spoguļa dizains
Spoguļa dizains
Spoguļa dizains
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

Veicot elektroinstalāciju
Veicot elektroinstalāciju
Veicot elektroinstalāciju
Veicot elektroinstalāciju
Veicot elektroinstalāciju
Veicot 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

Koda sākšana
Koda sākšana
Koda sākšana
Koda sākšana
Koda sākšana
Koda sākš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.

  1. Datorā dodieties uz SD kartes sāknēšanas direktoriju.
  2. Atveriet failu "cmdline.txt"
  3. Noņemt ip = 169.254.10.1 Teksta garās rindas beigās.

10. solis: palaidiet spoguli

Spoguļa vadīšana
Spoguļa vadīšana
Spoguļa vadīšana
Spoguļa vadīšana
Spoguļa vadīšana
Spoguļa vadīšana
Spoguļa vadīšana
Spoguļa vadīšana

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: