Мазмұны:
- Жабдықтар
- 1 -қадам: Орнату
- 2 -қадам: Айнаны орнату
- 3 -қадам: конфигурация
- 4 -қадам: API
- 5 -қадам: Күнтізбе
- 6 -қадам: Google API
- 7 -қадам: Айна дизайны
- 8 -қадам: сымдарды тарту
- 9 -қадам: кодты іске қосу
- 10 -қадам: Айнаны іске қосу
Бейне: Google күнтізбесі бар көп қолданушы ақылды айна: 10 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бұл нұсқаулықта біз Google Calendar -мен интеграцияланған ақылды айна жасаймыз. Мен бұл жобаны жасадым, себебі мен ақылды айналарды керемет деп санаймын, олар таңертең құдайдың сыйы. Бірақ мен өзімді нөлден жасауға шешім қабылдадым, себебі басқаларында 1 кемшілік бар. Олар тым дамыған және тәртіпсіз. Мен мұны қарапайым ұстауды шештім.
Жабдықтар
Бұрын
Біз мынаны бастаймын, сізге менікі сияқты айна жасау керек. Бұл жабдықтар сіздің аймаққа және ағымдағы бағаларға байланысты шамамен 250 -ден 350 евроға дейін болады.
Аппараттық құрал
Сенсорлар
- Бір сымды температура сенсоры
- RWCL 0516 (микротолқынды қозғалыс сенсоры)
- Жұмсақ потенциометр (Sparkfun сенсорлық жолағы)
Есептеу
және IC
- Динамик (3,2 Вт 4Ω немесе 1,8 Вт 8Ω)
- MCP3008
- Adafruit I2S 3W D D күшейткішінің үзілуі - MAX98357A
- Таңқурай Pi 3 B+
- SD картасы (8 ГБ жақсы)
- Резистор 4,7 Км
Әр түрлі
- Өткізгіш сымдар
- Нан тақтасы
- Акрил екі жақты айна (15% жарық жіберу)
- IPS мониторы (өлшемі сіз қалағаныңызға байланысты)
- HDMI кабелі
- Ағаш
Бағдарламалық қамтамасыз ету
- PuTTY
- Код редакторы (Блокнот ++ жеткілікті)
- Win32 диск өңдегіші
- Raspbian OS суреті
1 -қадам: Орнату
Жұмысты бастау үшін алдымен мен жасаған кодқа Pi -ді орнату керек.
Сізге екі нәрсе қажет:
- Win32 Disk Imager -
- Raspbian OS суреті
ZIP файлын жүктеңіз және оны қалаған жерге шығарыңыз.
Орнату
- Қалта белгішесі арқылы суретті таңдаңыз
- Ашылмалы тізім арқылы SD картасын таңдаңыз
- Жазуды басыңыз
Енді біз Pi -ге кіру үшін кейбір параметрлермен қосымша жұмыс жасауымыз керек.
- SD картаның жүктеу каталогына өтіңіз
- «Cmdline.txt» файлын ашыңыз
- Мәтін жолының соңында бос орынмен бөлінген ip (169.254.10.1) қосыңыз (сол жолда).
- Файлды сақтаңыз.
- Бір каталогта кеңейтімі жоқ ssh атты файл жасаңыз
Енді сіз SD картаны шығарып, оны Pi -ге енгізе аласыз.
Қосылуда
Енді біз бағдарламалық жасақтаманы орнатуымыз керек.
Алдымен LAN кабелін қосыңыз, оның бір ұшы жұмыс үстелінде/ноутбукте, екіншісі Pi -де.
Енді Raspberry Pi жүктеңіз.
- Putty бағдарламасын https://www.putty.org/ сайтынан орнатыңыз.
- IP жолағына 169.254.10.1 енгізіңіз.
- SSH таңдалғанын және 22 порт толтырылғанын тексеріңіз.
- Ашу түймесін басыңыз
- Пайдаланушы атын енгізіңіз: pi
- Құпия сөзді толтырыңыз: таңқурай
Raspi-config
Raspi-config қызметтік бағдарламасын ашыңыз:
sudo raspi-config
Интерфейстер санатындағы келесі опцияларды қосыңыз
- 1-сым
- SPI
Локализация санаты арқылы WiFi елін таңдаңыз.
Содан кейін жүктеу опциялары санатындағы келесі опцияларды өшіріңіз
Экран
Ақырында жүктеу опциялары санатындағы Desktop/CLI параметрін Desktop Autologin күйіне орнатыңыз.
Сымсыз дәлдiк
Айна үшін бізде Wi -Fi байланысы болуы керек, сондықтан Wi -Fi тіркелгі деректері жақын екеніне көз жеткізіңіз.
Түбірлік режимге өтіңіз
sudo -i
Бұл жолды қойыңыз, бірақ SSID мен құпия сөздің екеуі де толтырылғанын тексеріңіз
wpa_passphrase «SSID» «PASSWORD» >> /etc/wpa_supplicant/wpa_supplicant.conf
WPA клиентіне кіріңіз.
wpa_cli
Интерфейсті таңдаңыз
wlan0 интерфейсі
Конфигурацияны қайта жүктеңіз
қайта конфигурациялау
Теру арқылы дұрыс қосылғаныңызға көз жеткізіңіз …
ip а
… Және WLAN0 интерфейстерінде IP бар -жоғын білу.
Пакеттер
Енді біз Интернетке қосылғаннан кейін бірнеше пакеттерді орнатуымыз керек.
Алдымен бізге пакеттер тізімін жаңарту қажет.
sudo apt жаңарту
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 -де түбірлік құпия сөзді алғымыз келе ме, жоқ па деп сұрайды.
Келесі сұрақтар үшін Y әріпін енгізіңіз.
Ақырында, біз айна үшін қолдануға болатын пайдаланушы жасаймыз.
MySQL қабығын келесі әрекеттерді орындау арқылы енгізіңіз:
Өзімізді тамырға көтеру
sudo -i
MySQL қабығын енгізіңіз
mysql
Өзіңіздің жеке атыңызбен ауыстырыңыз және сол сияқты
айнадағы барлық артықшылықтарды беріңіз.* ''@'%' '' арқылы анықталды;
Енді біз рұқсаттар кестесін тазалаймыз.
АРТЫҚШЫЛЫҚТАР;
Apache веб -сервері
Веб -серверді орнату үшін төмендегі жолды іске қосыңыз.
sudo apt install apache2 -y
Python пакеттері
Біз бұл пакеттерді орнатамыз
- Колба
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Колбадан жасалған тұмар
- Gevent
- Gevent-веб-ұясы
- Google-api-python-клиенті
- Google авторизациясы
- Google-auth-httplib2
- Google-auth-oauthlib
- Httplib2
- Icalendar
- Іс -шаралар
- Oauthlib
- Python-сокет
- Сұраулар
- Wsaccel
- Уйсон
Жасау арқылы
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 сілтемелері мүмкін емес.
Динамикті реттеу
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 әзірлеуші жобасы
- Calendar API орнатыңыз
5 -қадам: Күнтізбе
Cloudflare
Https://cloudflare.com сайтынан cloudflare есептік жазбасын орнатыңыз және домен атауын Cloudflare DNS -ке тасымалдау үшін шеберді орындаңыз.
Таңқурай пиін көрсететін A жазбасын өзіңіз жасаудың қажеті жоқ. Менің айна коды мұны сіз үшін жасайды. Көптеген үйдегі wifi -да IP тұрақты емес, сондықтан қайта жүктеуден кейін ол енді жұмыс істемеуі мүмкін. Менің кодым IP -ті автоматты түрде жаңартуы үшін оған сіздің API есептік жазбаңыздың кілті қажет болады.
- Оң жақтағы бақылау тақтасындағы API кілтін алу түймесін басыңыз. [1 -сурет]
- Төмен айналдырыңыз және Global API кілтін қараңыз. [2 -сурет]
Бұл кілтті бұрын орнатқан айна жобасының конфигурация файлына енгізіңіз.
SSL сертификатын құру
Google бізден SSL байланысын талап етеді. Бұл бөлімді бастау үшін Cloudflare DNS дұрыс орнатылғанына көз жеткізіңіз.
Алдымен репозиторийді қосыңыз.
sudo add-apt-repository ppa: certbot/certbot
Пакеттер тізімін жаңартыңыз.
sudo apt-get жаңартуы
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 # мұнда басқа директивалар OptS Indexes FollowSymLinks AllowOver Барлығы талап етіледі
Енді біз кейбір өзгертулерді қосуымыз керек, содан кейін Apache -ді конфигурацияны қайта жүктеуге мәжбүрлеуіміз керек:
sudo a2enmod ssl
sudo a2enmod қайта жазу
sudo systemctl apache2 қайта жүктейді
Енді сіз домен атауыңызбен pi -ге өтіп, әдепкі apache бетін көре аласыз.
6 -қадам: Google API
Https://console.developers.google.com арқылы әзірлеуші консоліне өтіңіз.
1 -бөлім
Google API логотипінің жанындағы және ЖАҢА ЖОБА түймесін басу арқылы бірінші жобаңызды жасаңыз. Жобаның сәйкес атауын енгізіңіз және жасау түймесін басыңыз. [Фото1]
2 -бөлім
Енді сіз бұл бетке кіресіз. Кітапхана түймесін басыңыз. [Фото2]
Бұл сіз қолдануға болатын барлық API -дің үлкен тізімі, бірақ біз Google Calendar API іздейміз. Оны басып, ҚОСУ түймесін басыңыз. [Фото3]
Содан кейін сіз Calendar API шолуына қол жеткізесіз. Жобаға қайту үшін Google APIs логотипін басыңыз. [Фото4]
3 -бөлім
Барлығын дұрыс орнату үшін тіркелгі деректері санатын нұқыңыз және Доменді растау қойындысын таңдаңыз.
Мұнда сіз өзіңіздің домен атыңызды растауыңыз керек.
- ДОМЕН ҚОСУ түймесін басыңыз
- Доменіңізді толтырыңыз
- Содан кейін ол сіздің доменіңізді растауды сұрайды. Жалғастыру түймесін басыңыз.
- Домен атауын жеткізушіні таңдаңыз. [Фото5]
- Процесті қадағалаңыз
- Енді сіз оны Google API консоліндегі доменді тексеру тізіміне осылай қоса аласыз. Сіздің доменіңіз тексерілгеніне көз жеткізіңіз. [6 -сурет]
4 -бөлім
Енді OAuth келісімі экраны қойындысын таңдаңыз. [Фото7]
Өтініш атауын толтырыңыз
Содан кейін біз келісім экранына аумақтарды қосамыз. Бұл дегеніміз, біз пайдаланушыдан келісім экранында күнтізбе туралы ақпаратты айнаға бөліскісі келетінін сұраймыз.
- Аймақты қосу түймесін басып, күнтізбені іздеңіз.
- ../Auth/calendar.readonly тексеріп, қосу түймесін басыңыз. [Фото8]
Рұқсат етілген доменді толтырыңыз. Бұл сіз растаған домен болуы керек. [9 -сурет]
Енді форманың астындағы үлкен сақтау түймесін басыңыз.
5 -бөлім
Ақырында, біз тіркелгі деректерін жасауымыз керек. Біз сақтау түймесін басқандықтан, біз тіркелгі деректері қойындысына қайта бағытталдық. Тіркелгі деректерін жасау түймесін басып, OAuth клиент идентификаторын таңдаңыз. [Фото10]
Қолданба түрін таңдаңыз: Веб қосымшасы және оған атау беріңіз.
Рұқсат етілген қайта бағыттау URI мекенжайына келесі сілтемені енгізіңіз және дұрыс доменді толтырыңыз.
example.com:5000/api/v1/setup/calendar/response
Жасау түймесін басыңыз. Бұл сізге қалқымалы терезені көрсетеді, тек OK түймесін басыңыз. Енді сіз жасаған тіркелгі деректеріндегі жүктеу түймесін басыңыз
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-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 хром-шолушысы-инкогнито-киоск https:// localhost/mirror
Егер сіз оны қолдансаңыз, хостты толтырыңыз.
#!/bin/bash
ұйқы 15 хром-шолушысы-инкогнито-киоск
Қызмет
Енді біз айна коды автоматты түрде жұмыс істейтінін орнатамыз.
Біз кодты автоматты түрде іске қосатын қызметті жасаймыз.
Бару:
sudo nano /etc/systemd/system/mirror.service
Және оны файлға қойыңыз
[Бірлік]
Сипаттама = Айнаның артқы жағы = network.target mariadb.service [Қызмет] Түрі = қарапайым Пайдаланушы = түбір ExecStart =/bin/sh /home/pi/Mirror/init.sh [Орнату] WantedBy = multi-user.target
Енді бізге systemd демонын қайта жүктеу керек:
sudo systemctl демонды қайта жүктеу
Біз сонымен қатар жүктемені автоматты түрде қосуды қосамыз.
sudo systemctl айнаны қосады
Енді біз өшіреміз.
sudo poweroff
Соңғы параметрлер
Ақырында, біз APIPA ip -ді алып тастауымыз керек, сондықтан ол тек WiFi -де жұмыс істейді.
- Компьютердегі SD картаның жүктеу каталогына өтіңіз.
- «Cmdline.txt» файлын ашыңыз
- Ұзын жолдың соңында ip = 169.254.10.1 жойыңыз.
10 -қадам: Айнаны іске қосу
Айна экранындағы IP -ге кіріңіз немесе егер сіз Google күнтізбесін орнатсаңыз, домен атауын толтырыңыз.
Енді сіз айнаны орната аласыз!
Егер сіз айнада SSL қатесін алсаңыз, сертификаттарыңызды Chromium сертификаттар дүкеніне қосқыңыз келуі мүмкін.
Ұсынылған:
Портативті ақылды айна/макияж қорапшасын қалай жасауға болады: 8 қадам
Портативті ақылды айнаны қалай жасауға болады/макияж қорапшасы комбинациясы: Дэвистегі қақпағым үшін соңғы жоба ретінде & Элкинс колледжінде мен үлкен айна мен порт ретінде жұмыс істейтін таңқурай пи мен сиқырлы айна бағдарламалық қамтамасыз ету платформасын қолданумен бірге саяхат қорапшасын жобалауға және құруға бел будым
Alexa дауысты тану мүмкіндігі бар ескі ноутбуктен ақылды сиқырлы айна: 6 қадам (суреттермен)
Alexa дауысты тану мүмкіндігі бар ескі ноутбуктен ақылды сиқырлы айна: менің «Электроника» курсына жазылыңыз: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Сондай-ақ youtube каналында басқа жобалар мен электроникаға арналған оқулықтар: https://www.youtube.com/channel/UCelOO
5 $ PCB күнтізбесі екілік сағаты бар: 7 қадам (суреттермен)
5 $ PCB күнтізбесі екілік сағатпен: Сәлеметсіз бе! Мен бұл ПХД күнтізбесі мен екілік сағатты Eagle CAD көмегімен жасадым. Мен ATMEGA328P MCU (Arduino -дан) және 9x9 жарықдиодты матрицаны қолдандым. Менің тақтаның өлшемдері 8см x 10см (3.14 дюйм 3.34 дюйм). Бұл өте кішкентай, бірақ бірінші: Eagle CAD тегін нұсқасы 80 см^2 рұқсат береді
Google күнтізбесі бар Arduino Outlet Box басқару орталығы: 4 қадам
Google күнтізбесі бар Arduino шығыс қорапшасын басқару орталығы: Бұл нұсқаулықта сіз Adafruit Power Relay 4-Outlet модулін пайдаланып үйіңіздің басқару орталығын құруды үйренесіз. Сізге Adafruit Feather Huzzah және Adafruit Power Relay 4 модулі сияқты wifi модулі бар Arduino тақтасы қажет болады
Ақылды қабырға күнтізбесі: 5 қадам
Ақылды қабырға күнтізбесі: Әйелім екеумізде қабырғадағы классикалық күнтізбе болды, онда біз маңызды күндерді белгілеп қойдық. Біз сондай -ақ оқиғаларды белгілеу үшін смартфондарымызда Google күнтізбесін қолданамыз, сондықтан бұл екі есе жұмысты білдіреді. Мен қабырғаға ақылды күнтізбені құруды шештім, ол