Мазмуну:

Google Календары менен көп колдонуучунун акылдуу күзгүсү: 10 кадам
Google Календары менен көп колдонуучунун акылдуу күзгүсү: 10 кадам

Video: Google Календары менен көп колдонуучунун акылдуу күзгүсү: 10 кадам

Video: Google Календары менен көп колдонуучунун акылдуу күзгүсү: 10 кадам
Video: Кантип аз айлык менен акча чогултуш керек? 2024, Ноябрь
Anonim
Google Календары менен көп колдонуучунун акылдуу күзгүсү
Google Календары менен көп колдонуучунун акылдуу күзгүсү
Google Календары менен көп колдонуучунун акылдуу күзгүсү
Google Календары менен көп колдонуучунун акылдуу күзгүсү

Бул нускамада биз Google Календарь менен интеграцияланган акылдуу күзгү түзөбүз. Мен бул долбоорду жасадым, анткени мен акылдуу күзгүлөрдү чындап эле сонун деп таптым, алар эртең менен кудайдан келген белек. Бирок мен нөлдөн баштап өзүм жасоону чечтим, анткени башкалардын баарында 1 кемчилик бар. Алар өтө өнүккөн жана башаламан. Мен муну жөнөкөй сактоону чечтим.

Жабдуулар

Буга чейин

буларды баштайбыз, сизге меникиндей Күзгү куруу үчүн сөзсүз керек болот. Бул материалдар сиздин аймакка жана учурдагы бааларга жараша болжол менен 250дөн 350 еврого чейин турат.

Аппараттык

Сенсорлор

  • One Wire Температура сенсору
  • RWCL 0516 (микротолкундуу кыймыл датчик)
  • Жумшак потенциометр (Sparkfun сенсордук тилкеси)

Эсептөө

жана IC

  • Динамик (3.2W 4Ω же 1.8W 8Ω)
  • MCP3008
  • Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A
  • Raspberry Pi 3 B+
  • SD карта (8 ГБ жакшы)
  • Резистор 4.7K Ом

Ар түрдүү

  • Jumperwires
  • Breadboard
  • Акрил эки тараптуу күзгү (15% жарык берүү)
  • IPS Monitor (Өлчөмү сиз каалаганыңызга жараша болот)
  • HDMI кабели
  • Жыгач

Программалык камсыздоо

  • PuTTY
  • Код редактору (Notepad ++ жетиштүү)
  • Win32 диск иштетүүчү
  • Raspbian OS сүрөтү

1 -кадам: Орнотуу

Баштоо үчүн, адегенде мен жасаган код үчүн Пиңизди орнотушубуз керек.

Сизге эки нерсе керек болот:

  • Win32 Disk Imager
  • Raspbian OS сүрөтү

ZIP файлын жүктөп алып, аны каалаган жерге чыгарыңыз.

Орнотуу

  1. Папка сүрөтчөсү аркылуу сүрөтүңүздү тандаңыз
  2. Ыкчам тизме аркылуу SD картаңызды тандаңыз
  3. Жазууну басыңыз

Эми биз Piге кире алгыбыз үчүн, кээ бир жөндөөлөр менен кошумча шылтоо кылышыбыз керек.

  1. SD картанын жүктөө каталогуна өтүңүз
  2. "Cmdline.txt" файлын ачыңыз
  3. Кошуу ip = 169.254.10.1 Тексттин узун сабынын аягында боштук менен бөлүнгөн (ошол эле сапта).
  4. Файлды сактаңыз.
  5. Ошол каталогдо кеңейтүүсү жок ssh аттуу файлды түзүңүз

Эми сиз SD картаны чыгарып, аны Пиңизге сала аласыз.

Туташууда

Эми биз программаны орнотушубуз керек.

Алгач LAN кабелин туташтырыңыз, бир учу столго/ноутбукка, экинчиси Пиңизге.

Эми Raspberry Pi'ни жүктөңүз.

  1. Putty программасын https://www.putty.org/ сайтынан орнотуңуз
  2. IP кутучасына 169.254.10.1 киргизиңиз.
  3. SSH тандалганын жана порт 22 толтурулганын текшериңиз.
  4. Ачууну басыңыз
  5. Колдонуучу атын толтуруңуз: pi
  6. Сырсөздү толтуруңуз: малина

Raspi-config

Raspi-config утилитасын ачуу менен:

sudo raspi-config

Интерфейстер категориясында төмөнкү параметрлерди иштетүү

  • 1-зым
  • SPI

Локализация категориясы аркылуу WiFi өлкөсүн тандаңыз.

Андан кийин, жүктөө параметрлери категориясындагы төмөнкү параметрлерди өчүрүңүз

Экран

Акырында жүктөө параметрлери категориясындагы Desktop/CLI орнотуусун Desktop Autologin деп коюңуз.

WiFi

Күзгү үчүн бизде Wi -Fi байланышы болушу керек, андыктан wifi тастыктоочу документтериңиз жакын экенин текшериңиз.

Root режимине өтүңүз

sudo -i

Бул сапты чаптаңыз, бирок SSID менен Сырсөз экөө тең толтурулганын текшериңиз

wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf

WPA Кардарын киргизиңиз.

wpa_cli

Интерфейсти тандаңыз

wlan0 интерфейси

Конфигурацияны кайра жүктөңүз

кайра конфигурациялоо

Терүү аркылуу туура туташканыңызды текшериңиз…

ip a

… жана WLAN0 интерфейстеринде IP бар же жок экенин билүү.

Пакеттер

Эми биз интернетке туташкандан кийин, кээ бир пакеттерди орнотууга туура келет.

Адегенде пакеттердин тизмесин жаңыртуубуз керек.

sudo apt update

Python

Биз Raspbianды 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

Маалымат базасын орнотуу үчүн төмөнкү сапты чаптаңыз.

sudo apt install mariadb-server

Андан кийин биз орнотууну камсыз кылышыбыз керек.

mysql_secure_installation

Ал бизден учурдагы түпнуска сырсөзүн сурайт, анткени бизде бир гана enter басуу жок.

Андан кийин, у тамгасынын у тамгасын киргизүүнү каалайбызбы, жокпу деп сурап жатат.

Кийинки суроолор үчүн Y киргизиңиз.

Акырында, биз күзгү үчүн колдоно турган колдонуучу түзөбүз.

MySQL кабыгын киргизиңиз:

Өзүбүздү тамырлаш үчүн көтөрөбүз

sudo -i

MySQL кабыгын киргизиңиз

mysql

Өзүңүздүн колдонуучу атыңыз менен алмаштырып коюңуз

күзгүдөгү бардык артыкчылыктарды берүү.* ''@'%' менен аныкталган;

Эми биз уруксаттар столун тазалайбыз.

FLUSH артыкчылыктары;

Apache Webserver

Вебсерверди орнотуу үчүн төмөнкү линияны иштетиңиз.

sudo apt install apache2 -y

Python пакеттери

Биз бул пакеттерди орнотобуз

  • Колба
  • Flask-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Flask-talisman
  • Gevent
  • Gevent-websocket
  • Google-api-python-кардары
  • Google-auth
  • Google-auth-httplib2
  • Google-auth-oauthlib
  • Httplib2
  • Icalendar
  • Icalevents
  • Oauthlib
  • Python-socketio
  • Сурамдар
  • Wsaccel
  • Ujson

Жасоо менен

пипти орнотуу Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Flask-Talisman gevent-websocket google-api-python-client google-auth google-auth-httplib2 google-auth-oauthlib httplib2-файлдарды табуу үчүн

Динамикти жөндөө

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash

Эми биз кайра жүктөөбүз керек, ошондуктан y басуу керек.

Сценарийди кайра иштетүү

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash

Эми биз экинчи жолу кайра жүктөөбүз керек

sudo өчүрүп күйгүзүү

Экран (монитор)

Экраныңыздын ориентациясын каалаганыңызга жараша, экранды айлантууну каалашыңыз мүмкүн.

Экранды айландыруу үчүн, биз жүктөө параметрлерине киришибиз керек:

sudo nano /boot/config.txt

Анан конфигурация файлына бул саптардын бирин чаптаңыз:

display_rotate = 0

display_rotate = 1

display_rotate = 2

display_rotate = 3

Биринчиси, 0, кадимки конфигурация. 1 90 градус болот, 2 180 градус жана акыркысы 270 градус болот.

Андан кийин өчүрүп күйгүзүңүз.

sudo өчүрүп күйгүзүү

2 -кадам: Күзгү орнотуу

Күзгү орнотуу
Күзгү орнотуу

Эми биз кодду жүктөй турган жерди орнотобуз.

cd/home/pi/

git clone https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject

Эми биз кээ бир папкаларды керектүү жерге көчүрөбүз

sudo cp -R frontend/mirror//var/www/html/mirror/

sudo cp -R frontend/панел//var/www/html/Sudo cp -R backend//home/pi/Mirror/

Базаны орнотуу - бул долбоорду жасоодо керектүү кадам.

sudo mysql -u root -p << CREATEDATABASE.sql

3 -кадам: Конфигурация

Конфигурация файлы жайгашкан:

sudo nano /home/pi/Mirror/resources/config.ini

MYSQL колдонуучуну жана сырсөздү киргизиңиз.

Бул биз түзгөн mysql колдонуучу болушу керек.

Башка жөндөөлөрдү биз кийинчерээк карап чыгабыз.

4 -кадам: API'лер

Эми биз Pi орнотууну аяктадык, биз сиз каалаган кээ бир темаларды камтыйбыз.

Караңгы асман

Https://darksky.net/dev аркылуу Darsky API ачкычын түзүңүз.

Сиз каттоодон өткөндөн кийин, сиз панелинен API ачкычын көрөсүз.

Бул ачкычты мурда орнотулган күзгү долбоорунун конфигурация файлына киргизиңиз.

Календарь

Демейки боюнча сиз календарды көрүү үчүн ical url колдоно аласыз. Бирок бул бөлүк күзгүңүздү Google экосистемасы менен кантип байланыштыруу жөнүндө болмокчу. Бул жалпысынан узак жана оор процесс.

Сизге сөзсүз керек нерселер

Домен аты

Буларды ушул бөлүктө орнотобуз

  • CloudFlare эсеби
  • Google Иштеп чыгуучунун эсеби
  • Google Иштеп чыгуучу долбоору
  • Календар API орнотуу

5 -кадам: Календар

Календарь
Календарь
Календарь
Календарь

Cloudflare

Https://cloudflare.com сайтынан cloudflare эсебин орнотуңуз жана домен атыңызды Cloudflare DNSке өткөрүп берүү үчүн устаны ээрчиңиз.

Малина пи көрсөткөн А рекордун өзүңүз түзүүнүн кажети жок. Менин Mirror кодум сиз үчүн муну жасайт. Көпчүлүк үй -бүлөлүк Wi -Fiда IP статикалык эмес болгондуктан, кайра жүктөөдөн кийин ал иштебей калышы мүмкүн. Менин кодум IPди автоматтык түрдө жаңыртуу үчүн, ал сиздин API API ачкычыңызды талап кылат.

  1. Оң жактагы панелдеги API ачкычыңызды алуу баскычын чыкылдатыңыз. [1 -сүрөт]
  2. Ылдый түшүп, Global API ачкычыңызды көрүңүз. [2 -сүрөт]

Бул ачкычты мурда орнотулган күзгү долбоорунун конфигурация файлына киргизиңиз.

SSL тастыктамасын түзүү

Google бизден SSL туташуубузду талап кылат. Бул бөлүмдү баштоо үчүн Cloudflare DNSти туура орноткондугуңузду текшериңиз.

Алгач репозиторийди кошуңуз.

sudo add-apt-repository ppa: certbot/certbot

Пакеттер тизмесин жаңыртыңыз.

sudo apt-get update

CertBot орнотуу

sudo apt install python-certbot-apache

Тастыктаманы түзүүнү баштаңыз. Кайра туура домен атын толтурушуңуз керек.

sudo certbot --apache -d example.com -d www.example.com

Түзүлгөндөн кийин ал сизден бардык байланыштарды SSLге багыттоо керекпи деп сурайт. Багыттоону тандаңыз.

Эми ал сиздин домен үчүн сертификатты ийгиликтүү түзгөндүгүн айтат. Ал берген 2 жолду сактап калууну унутпаңыз.

  • /etc/letsencrypt/live/example.com/cert.pem
  • /etc/letsencrypt/live/example.com/privkey.pem

Эми сертификаттары бар папкага өтүңүз:

Example.com'ду туура хостко өзгөртүүнү унутпаңыз.

cd /etc/letsencrypt/live/example.com/

Эми ошол мазмунду биздин долбоор папкасына көчүрөлү.

cp cert.pem /home/pi/Mirror/resources/certs/cert.pem

Жана

cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem

Домениңиз менен Apache'ди туташтырыңыз

Apacheди домениңиз менен туура конфигурациялоо үчүн конфигурация файлын түзүшүбүз керек. Домен атыңызды толтурууну унутпаңыз, мисалы funergydev.com.

sudo nano /etc/apache2/sites-enabled/example.com.conf

Андан кийин муну файлга чаптаңыз. Example.com'ду домен атыңыз менен алмаштырыңыз.

Сиздин тастыктамаңыз менен купуя ачкычыңыз туура жол экенине ишениңиз. Аларды биз сиз жараткандан кийин, сакталган жолго коюңуз, анда certbot аркылуу.

DocumentRoot "/var/www/html/" SSLEngine on SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Башка директивалар Options Indexes FollowSymLinks AllowOver Бардыгы талап кылынат

Эми биз кээ бир өзгөртүүлөрдү иштетип, анан Apacheди конфигурацияны кайра жүктөөгө мажбур кылышыбыз керек:

sudo a2enmod ssl

sudo a2enmod кайра жазуу

sudo systemctl apache2 кайра жүктөө

Эми сиз домендик атыңыз аркылуу пиңизге өтүп, демейки apache баракчасын көрө алышыңыз керек.

6 -кадам: Google API

Google API
Google API
Google API
Google API
Google API
Google API

Https://console.developers.google.com аркылуу иштеп чыгуучунун консолуна өтүңүз.

1-бөлүк

Google API логотипинин жанындагы чыкылдатуу менен ЖАНЫ ДОЛБООР баскычын басуу менен биринчи долбооруңузду түзүңүз. Тийиштүү долбоордун атын толтуруп, түзүү баскычын басыңыз. [Фото1]

2 бөлүк

Эми сиз бул баракчага өтөсүз. Китепкана баскычын басыңыз. [Фото2]

Бул сиз колдоно турган бардык APIлердин чоң тизмеси, бирок биз Google Календар API'син издейбиз. Аны чыкылдатып, КҮЙҮҮ баскычын басыңыз. [Фото3]

Сиз андан кийин Календар APIге жалпы көз карашка жетесиз. Долбооруңузга кайтуу үчүн Google API'лердин логотибин басыңыз. [Сүрөт4]

3 -бөлүк

Баарын туура орнотуу үчүн грамоталар категориясын чыкылдатып, Доменди текшерүү өтмөгүн тандаңыз.

Бул жерде сиз домен атыңызды ырасташыңыз керек.

  1. ДОМЕНДИ КОШУУну басыңыз
  2. Домениңизди толтуруңуз
  3. Андан кийин ал домениңизди ырастоону суранат. Улантууну басыңыз.
  4. Домен аты провайдериңизди тандаңыз. [Фото5]
  5. Процессти ээрчиңиз
  6. Эми сиз муну Google API Консолундагы Доменди Текшерүү Тизмесине кошо аласыз. Сиздин домен текшерилгенин текшериңиз. [Фото6]

4 -бөлүк

Эми OAuth макулдугу экраны өтмөгүн тандаңыз. [Фото7]

Колдонмонун атын толтуруңуз

Андан кийин биз макулдук экранына масштабдарды кошобуз. Бул колдонуучудан календардык маалыматты күзгү менен бөлүшкүсү келсе, макулдук экранында сурайбыз дегенди билдирет.

  1. Чөйрөнү кошууну чыкылдатып, календарды издеңиз.
  2. Текшерүү../auth/calendar.readonly жана кошуу баскычын басыңыз. [Фото8]

Ыйгарым укуктуу доменди толтуруңуз. Бул сиз жаңы ырастаган домен болушу керек. [Сүрөт9]

Эми форманын астындагы чоң сактоо баскычын чыкылдатыңыз.

5 -бөлүк

Акырында, биз ишеним грамоталарын түзүшүбүз керек. Сактоо баскычын басканыбыз үчүн, ишеним грамоталары өтмөгүнө багытталдык. Ишеним грамоталарын түзүүнү басыңыз жана OAuth Кардар IDсин тандаңыз. [Фото10]

Колдонмо түрүн тандаңыз: Желе колдонмосу жана ага ат бериңиз.

Төмөнкү шилтемени авторизацияланган URIге киргизиңиз жана туура доменди толтуруңуз.

example.com:5000/api/v1/setup/calendar/response

Түзүүнү чыкылдатыңыз. Бул сизге калкыма терезени көрсөтөт, жөн гана чыкылдатыңыз ОК. Эми жаңы эле түзүлгөн ишеним грамотасындагы жүктөө баскычын басыңыз

6 -бөлүк

Эми JSON файлын ачып, мазмунун көчүрүңүз.

sudo nano /home/pi/Mirror/resources/credentials/credentials.json

Аларды бул жерге чаптаңыз.

7 -бөлүк

Эми биз конфигурацияда доменибизди аныктообуз керек:

sudo nano /home/pi/Mirror/resources/config.ini

7 -кадам: Күзгү дизайны

Күзгү дизайны
Күзгү дизайны
Күзгү дизайны
Күзгү дизайны
Күзгү дизайны
Күзгү дизайны
Күзгү дизайны
Күзгү дизайны

Күзгүңүздүн дизайны сиз каалаганыңызга жараша болот. ЖКнын так өлчөөлөрүн жасаңыз жана күзгүнүн бир жагында 2 сантиметр боштук калтырыңыз, анткени микротолкундуу кыймыл сенсору ошол жерде отурат. Ал эч кандай металлдын артында кала албайт.

Мен 4 жыгач устунду бириктирдим. Булар күзгүнүн алдында жакшы таза болушу үчүн тегирменге ээ болушту. Үстүнкү жагында мен дагы спикердин үнүн чыгаруу үчүн бир нече тешик бургуладым. Күзгүнүн карама -каршы тарабы, түбү, мен кичинекей тик бурчтукту кесип алдым, ошондуктан электр зымдарын оңой жасай алам. [Фото1]

Бул 2 даана арзан жыгач, анда монитор иштей баштайт. Мен айтканымдай, күзгү менен корпустун ортосундагы 2 сантиметрдей боштук керек. Мен дагы 3 кичинекей жыгачты кошуп, ошол эс алуучу бөлүктөргө кададым. Ошентип, монитор ордунда калат. [Фото2]

Акыры мындай көрүндү. Менде ошол эс алуучу бөлүктөр менен күзгү корпустун маңдайында 3 ммдей боштук бар болчу. Мен 3мм калыңдыкта эки тараптуу күзгүнү коюу үчүн жетиштүү. [Фото3]

8 -кадам: Зымдарды өткөрүү

Электр өткөргүчтөрүн жасоо
Электр өткөргүчтөрүн жасоо
Электр өткөргүчтөрүн жасоо
Электр өткөргүчтөрүн жасоо
Электр өткөргүчтөрүн жасоо
Электр өткөргүчтөрүн жасоо

Бул схемалардын бирин туура аткарууну тактаңыз.

Мен зым тарткандан кийин экрандын артына эки тараптуу скотч менен чаптадым. Эгерде мен күзгүнү ажыратып, башка долбоорлордо колдонгум келсе, аны оңой эле алып салмакмын. Эгер ишенсеңиз, ысык желим мылтыкты колдонуп, күзгүнүн артына чаптап коюңуз.

9 -кадам: Кодду баштоо

Коддун башталышы
Коддун башталышы
Коддун башталышы
Коддун башталышы
Коддун башталышы
Коддун башталышы

LXSession

Адегенде бир -эки папканы түзөлү

mkdir -p /home/pi/.config/lxsession/LXDE-pi/

Эми биз бир нече баштоо параметрлерин/буйруктарын көрсөтө турган файл түзөбүз.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart

Файлга төмөнкүлөрдү чаптаңыз.

@lxpanel --profile 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

Баштоо күзгү скриптин хостубузга дал келтирүү үчүн жаңыртабыз.

sudo nano /home/pi/Mirror/init_mirror.sh

Эгер Google календарын жана доменди колдонбосоңуз, localhostту тандаңыз.

#!/bin/bash

уйку 15 хром-браузер --incognito --kiosk https:// localhost/mirror

Эгер сиз аны колдонуп жатсаңыз, анда хостуңузду толтуруңуз.

#!/bin/bash

уйку 15 хром-браузер --incognito --kiosk

Кызмат

Эми биз күзгү коду автоматтык түрдө иштей турганын орнотобуз.

Биз кодду автоматтык түрдө баштай турган кызматты түзөбүз.

Баруу:

sudo nano /etc/systemd/system/mirror.service

Жана муну файлга чаптаңыз

[Бирдик]

Description = Mirror Backend After = network.target mariadb.service [Service] Type = simple User = root ExecStart =/bin/sh /home/pi/Mirror/init.sh [Install] WantedBy = multi-user.target

Эми биз systemd демонун кайра жүктөөбүз керек:

sudo systemctl демон-кайра жүктөө

Жана биз кызматты жүктөөдө автоматтык түрдө баштоону иштетебиз.

sudo systemctl күзгү иштетүү

Эми биз өчүрөбүз.

sudo poweroff

Акыркы орнотуулар

Акыр -аягы, биз APIPA ipибизди алып салышыбыз керек, ал WiFiда гана иштейт.

  1. Компьютериңиздеги SD карттын жүктөө каталогуна өтүңүз.
  2. "Cmdline.txt" файлын ачыңыз
  3. Тексттин узун сабынын аягында ip = 169.254.10.1ди алып салыңыз.

10 -кадам: Күзгү иштетүү

Күзгү иштетүү
Күзгү иштетүү
Күзгү иштетүү
Күзгү иштетүү
Күзгү иштетүү
Күзгү иштетүү
Күзгү иштетүү
Күзгү иштетүү

Күзгү экрандагы IPге баш багыңыз же эгер сиз Google календарын орнотсоңуз, домен атын толтуруңуз.

Эми сиз күзгүңүздү орното аласыз!

Эгер күзгүңүздө SSL катасы пайда болсо, анда сиз сертификаттарыңызды Chromium сертификаттар дүкөнүнө кошууну каалашыңыз мүмкүн.

Сунушталууда: