Tartalomjegyzék:

Többfelhasználós intelligens tükör a Google Naptárral: 10 lépés
Többfelhasználós intelligens tükör a Google Naptárral: 10 lépés

Videó: Többfelhasználós intelligens tükör a Google Naptárral: 10 lépés

Videó: Többfelhasználós intelligens tükör a Google Naptárral: 10 lépés
Videó: Как изучают интеллект животного? Эксперимент с зеркалом: узнаёт ли особь свое отражением? 2024, November
Anonim
Többfelhasználós intelligens tükör a Google Naptárral
Többfelhasználós intelligens tükör a Google Naptárral
Többfelhasználós intelligens tükör a Google Naptárral
Többfelhasználós intelligens tükör a Google Naptárral

Ebben az utasításban a Google Naptárba integrált intelligens tükröt hozunk létre. Azért készítettem ezt a projektet, mert az okos tükröket nagyon jónak találom, reggel istenáldozat. De úgy döntöttem, hogy magam készítek egyet nulláról, mert a többieknek 1 hibája van. Túl fejlettek és rendetlenek. Úgy döntöttem, hogy ezt az egyszerűt tartom.

Kellékek

Előtt

kezdjük, ezek azok a dolgok, amelyekre mindenképpen szüksége lesz egy olyan Tükör építéséhez, mint az enyém. Ezek a kellékek 250-350 euróba kerülnek a régiótól és az aktuális áraktól függően.

Hardver

Érzékelők

  • Egy huzalos hőmérséklet -érzékelő
  • RWCL 0516 (Mikrohullámú mozgásérzékelő)
  • Puha potenciométer (Sparkfun érintőcsík)

Számítástechnika

és IC -k

  • Hangszóró (3,2 W 4 Ω -nál vagy 1,8 W 8 Ω -nál)
  • MCP3008
  • Adafruit I2S 3W D osztályú erősítő Breakout - MAX98357A
  • Raspberry Pi 3 B+
  • SD kártya (8 GB jó)
  • Ellenállás 4,7K Ohm

Különféle

  • Jumperhuzalok
  • Kenyeretábla
  • Akril kétirányú tükör (15% -os fényáteresztés)
  • IPS monitor (mérete attól függ, hogy mekkora méretet szeretne)
  • HDMI kábel
  • Faipari

Szoftver

  • Gitt
  • Kódszerkesztő (elég a Notepad ++)
  • Win32 lemezképalkotó
  • Raspbian OS kép

1. lépés: Beállítás

A kezdéshez először be kell állítanunk a Pi -t az általam készített kódhoz.

Két dologra lesz szüksége:

  • Win32 Disk Imager a
  • Raspbian OS kép a https://www.raspberrypi.org/downloads/raspbian/ webhelyen

Töltse le a ZIP fájlt, és bontsa ki, ahová szeretné.

A telepítés

  1. Válassza ki a képet a mappaikon segítségével
  2. Válassza ki az SD -kártyát a legördülő menüből
  3. Kattintson az írásra

Most további beállításokat kell végeznünk bizonyos beállításokkal, hogy hozzáférhessünk a Pi -hez.

  1. Lépjen az SD -kártya rendszerindító könyvtárába
  2. Nyissa meg a "cmdline.txt" fájlt
  3. Add hozzá ip = 169.254.10.1 A szöveg hosszú sorának végén szóközzel elválasztva (ugyanazon a soron).
  4. Mentse a fájlt.
  5. Hozzon létre egy ssh nevű fájlt kiterjesztés nélkül ugyanabban a könyvtárban

Most ki tudja venni az SD -kártyát, és behelyezheti a Pi -be.

Csatlakozás

Most be kell állítanunk a szoftvert.

Először csatlakoztassa a LAN -kábelt, egyik végét az asztali számítógéphez/laptophoz, a másikat a Pi -hez.

Most indítsa el a Raspberry Pi -t.

  1. A Putty telepítése a https://www.putty.org/ webhelyről
  2. Írja be a 169.254.10.1 címet az IP mezőbe.
  3. Győződjön meg arról, hogy az SSH van kiválasztva, és a 22 -es port ki van töltve.
  4. Kattintson a Megnyitás gombra
  5. Töltse ki a felhasználónevet: pi
  6. Töltse ki a jelszót: málna

Raspi-config

Nyissa meg a Raspi-config segédprogramot:

sudo raspi-config

Engedélyezze az alábbi beállításokat az interfészek kategóriában

  • 1-vezetékes
  • SPI

Válassza ki a WiFi országát a lokalizációs kategória segítségével.

Ezután tiltsa le a következő beállításokat a rendszerindítási beállítások kategóriában

Splash képernyő

Végül állítsa az Asztali/CLI beállítást a rendszerindítási beállítások kategóriában Asztali automatikus beállításra.

WiFi

A tükörhez wifi -kapcsolatra van szükségünk, ezért győződjön meg arról, hogy a wifi hitelesítő adatait bezárja.

Menjen root módba

sudo -i

Illessze be ezt a sort, de győződjön meg arról, hogy mind az SSID, mind a jelszó meg van adva

wpa_passphrase "SSID" "JELSZÓ" >> /etc/wpa_supplicant/wpa_supplicant.conf

Lépjen be a WPA kliensbe.

wpa_cli

Válassza ki az interfészt

wlan0 interfész

Töltse be újra a konfigurációt

konfigurálja újra

Gépeléssel győződjön meg arról, hogy megfelelően van csatlakoztatva…

ip a

… És hogy van -e IP -címe a WLAN0 interfészeken.

Csomagok

Most, hogy csatlakoztunk az internethez, telepítenünk kell néhány csomagot.

Először frissítenünk kell a legújabb csomagok listáját.

sudo apt frissítés

Piton

Kényszerítjük a Raspbian -t a Python 3 használatára

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1

update-alternatives --install/usr/bin/python python/usr/bin/python3 2

MariaDB

Illessze be a következő sort az adatbázis telepítéséhez.

sudo apt install mariadb-server

Ezután biztosítanunk kell a telepítést.

mysql_secure_installation

Megkérdezi tőlünk az aktuális root jelszót, mivel nincs ilyen, csak nyomja meg az enter billentyűt.

Ezután megkérdezi, hogy root jelszót szeretnénk -e y -be írni, mivel szeretnénk egyet.

A következő kérdésekhez írja be Y -t.

Végül létrehozunk egy felhasználót, amelyet a tükörhöz használhatunk.

Lépjen be a mysql shellbe az alábbiak szerint:

Emeljük fel magunkat a gyökerekig

sudo -i

Lépjen be a mysql shellbe

mysql

Cseréld ki a saját felhasználóneveddel, és ugyanezt a

adjon meg minden jogosultságot a tükörben.* ''@'%' 'által azonosított' ';

Most öblítsük ki a jogosultsági táblázatot.

FLUSH PRIVILEGES;

Apache webszerver

A webszerver telepítéséhez futtassa az alábbi sort.

sudo apt install apache2 -y

Python csomagok

Ezeket a csomagokat telepítjük

  • Lombik
  • Lombik-Cors
  • Lombik-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Lombik-talizmán
  • Gevent
  • Gevent-websocket
  • Google-api-python-kliens
  • Google-hitelesítés
  • Google-auth-httplib2
  • Google-auth-oauthlib
  • Httplib2
  • Icalendar
  • Icalevents
  • Oauthlib
  • Python-socketio
  • Kérések
  • Wsaccel
  • Ujson

Azáltal, hogy tesz

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 kérések

Hangszóró beállítása

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

Most újra kell indítanunk, ezért nyomjuk meg az y gombot.

Futtassa újra a forgatókönyvet

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

Most másodszor kell újraindítanunk

sudo újraindítás

Képernyő (monitor)

Attól függően, hogy hogyan szeretné beállítani a képernyőt, elforgathatja a képernyőt.

A képernyő elforgatásához a következőképpen kell elérnünk a rendszerindítási lehetőségeket:

sudo nano /boot/config.txt

Ezután illessze be az alábbi sorok egyikét a konfigurációs fájlba:

display_rotate = 0

display_rotate = 1

display_rotate = 2

display_rotate = 3

Az első, 0, a normál konfiguráció. 1 90 fok, 2 180 fok és az utolsó 270 fok lesz.

Ezután indítsa újra.

sudo újraindítás

2. lépés: A tükör felszerelése

A tükör felszerelése
A tükör felszerelése

Most beállítunk egy helyet a kódom letöltéséhez.

cd/home/pi/

git klón https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject

Most másolunk néhány mappát a megfelelő helyre

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

sudo cp -R frontend/műszerfal//var/www/html/Sudo cp -R backend//home/pi/Mirror/

Az adatbázis telepítése szükséges lépés a projekt megvalósításához.

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

3. lépés: Konfiguráció

A konfigurációs fájl a következő címen található:

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

Adja meg a MYSQL felhasználót és jelszót.

Ez lehet az a mysql felhasználó, akit most készítettünk.

A többi beállítás, amelyet később fogunk áttekinteni, ez az utasítás.

4. lépés: API -k

Most befejeztük a Pi telepítését, és lefedünk néhány témát, amelyeket érdemes megtenni.

Sötét ég

Hozzon létre egy Darsky API kulcsot a https://darksky.net/dev címen.

A regisztráció után megjelenik az API -kulcs az irányítópulton.

Írja be ezt a kulcsot a korábban telepített tükörprojekt konfigurációs fájljába.

A naptár

Alapértelmezés szerint csak ical URL -eket használhat a naptár megtekintéséhez. De ez a rész arról fog szólni, hogyan kapcsolhatja össze tükrét a Google ökoszisztémájával. Ez általában hosszabb és fájdalmasabb folyamat.

Olyan dolgok, amelyekre mindenképpen szüksége lesz

Egy domain név

Ezeket a dolgokat fogjuk beállítani ebben a részben

  • CloudFlare fiók
  • Google fejlesztői fiók
  • Google fejlesztői projekt
  • A Naptár API beállítása

5. lépés: A naptár

A naptár
A naptár
A naptár
A naptár

Cloudflare

Állítson be egy cloudflare -fiókot a https://cloudflare.com webhelyen, és kövesse a varázslót a domain név átviteléhez a Cloudflare DNS -be.

Nem kell magának létrehoznia egy A rekordot, amely a málna pi -re mutat. A Mirror kódom ezt megteszi helyetted. Mivel a legtöbb háztartási wifi esetében az IP -k nem statikusak, így az újraindítás után előfordulhat, hogy már nem fog működni. Ahhoz, hogy a kódom automatikusan frissítse az ip -t, szüksége lesz a fiók API kulcsára.

  1. Kattintson az API -kulcs beszerzése gombra a műszerfalon a jobb oldalon. [1. fotó]
  2. Görgessen le, és tekintse meg a globális API -kulcsot. [2. fotó]

Írja be ezt a kulcsot a korábban telepített tükörprojekt konfigurációs fájljába.

SSL tanúsítvány létrehozása

A Google megköveteli tőlünk az SSL -kapcsolatot. E szakasz elindításához győződjön meg arról, hogy helyesen állította be a Cloudflare DNS -t.

Először adja hozzá a tárolót.

sudo add-apt-repository ppa: certbot/certbot

Frissítse a csomaglistát.

sudo apt-get update

Telepítse a CertBot programot

sudo apt install python-certbot-apache

Indítsa el a tanúsítvány létrehozását. Ismét be kell írnia a megfelelő domain nevet.

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

A létrehozás után megkérdezi, hogy át kell -e irányítani az összes kapcsolatot az SSL -re. Válassza az átirányítást.

Most azt fogja mondani, hogy sikeresen létrehozott egy tanúsítványt a domainjéhez. Feltétlenül mentse el az általa adott 2 utat.

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

Most menjen a mappába, amelyben a tanúsítványok vannak:

Győződjön meg róla, hogy az example.com webhelyet a megfelelő gazdagépre cseréli.

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

Most másoljuk át ezeket a tartalmakat a projektmappánkba.

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

És

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

Csatlakoztassa az Apache -t a domainjéhez

Az Apache megfelelő konfigurálásához a domainjével létre kell hoznunk egy konfigurációs fájlt. Ügyeljen arra, hogy adja meg domainnevét, például funergydev.com.

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

Ezután illessze be ezt a fájlba. Cserélje le az example.com webhelyet a domainnevére.

Győződjön meg arról, hogy a tanúsítvány és a privát kulcs a helyes elérési út. Állítsa őket arra az útvonalra, amelyet korábban mentett, amikor létrehoztuk, majd a certbot segítségével.

DocumentRoot "/var/www/html/" SSLEngine on SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Egyéb irányelvek itt Beállítások Indexek KövetésSymLide AllowOver Minden megköveteli az összes megadását

Most engedélyeznünk kell néhány módosítást, majd kényszerítenünk kell az Apache -t a konfiguráció újratöltésére:

sudo a2enmod ssl

sudo a2enmod átírása

sudo systemctl reload apache2

Most már képesnek kell lennie arra, hogy a domain nevén keresztül elérje a pi -t, és megtekintse az alapértelmezett apache oldalt.

6. lépés: Google API

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

Lépjen a fejlesztői konzolra a https://console.developers.google.com címen.

1. rész

Hozza létre első projektjét a Google API logója mellett, majd az ÚJ PROJEKT gombra kattintva. Töltse ki a megfelelő projektnevet, majd kattintson a Létrehozás gombra. [Fotó1]

2. rész

Most erre az oldalra jut. Kattintson a könyvtár gombra. [Fotó2]

Ez egy nagy lista az összes használható API -ról, de a Google Naptár API -t fogjuk keresni. Kattintson rá, és nyomja meg az ENABLE gombot. [Fotó3]

Ezután megjelenik a Calendar API áttekintése. A projekthez való visszatéréshez kattintson a Google API -k logójára. [Fotó4]

3. rész

Ha mindent helyesen szeretne beállítani, kattintson a hitelesítő adatok kategóriára, és válassza a Domain ellenőrzés lapot.

Itt ellenőriznie kell domainnevét.

  1. Kattintson a DOMAIN HOZZÁADÁS gombra
  2. Töltse ki a domainjét
  3. Ezután felkéri a domain igazolására. Kattintson a Folytatás gombra.
  4. Válassza ki a domain név szolgáltatót. [5. fotó]
  5. Kövesse a folyamatot
  6. Mostantól így hozzáadhatja a domain -ellenőrzési listához a Google API -konzolon. Győződjön meg arról, hogy a domain be van jelölve. [Fotó6]

4. rész

Most válassza ki az OAuth hozzájárulási képernyő lapját. [7. fotó]

Töltse ki az alkalmazás nevét

Ezután hatóköröket adunk hozzá a beleegyezési képernyőhöz. Ez azt jelenti, hogy a beleegyező képernyőn megkérdezzük a felhasználót, hogy meg szeretné -e osztani naptári adatait a tükörrel.

  1. Kattintson a hatókör hozzáadása gombra, és keresse meg a naptárat.
  2. Ellenőrizze../auth/calendar.readonly és nyomja meg az add gombot. [8. fotó]

Töltsön ki egy engedélyezett tartományt. Ez az a domain, amelyet most igazolt. [Fotó9]

Most kattintson az űrlap alatti nagy mentés gombra.

5. rész

Végül létre kell hoznunk a hitelesítő adatokat. Mivel megnyomtuk a mentés gombot, átirányítottuk a hitelesítő adatok fülre. Kattintson a hitelesítő adatok létrehozása elemre, és válassza az OAuth ügyfél -azonosítót. [Fotó10]

Válassza az Alkalmazás típusa: Internetes alkalmazás lehetőséget, és adjon neki nevet.

Írja be a következő hivatkozást az engedélyezett átirányítási URI -kba, és írja be a megfelelő tartományt.

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

Kattintson a Létrehozás gombra. Ekkor megjelenik egy felugró ablak, kattintson az OK gombra. Most nyomja meg a letöltés gombot az éppen elkészített hitelesítő adatokon

6. rész

Most nyissa meg a JSON fájlt, és másolja a tartalmát.

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

Ide illessze be őket.

7. rész

Most meg kell határoznunk a tartományunkat a konfigurációban az alábbiak szerint:

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

7. lépés: A tükör kialakítása

A tükör kialakítása
A tükör kialakítása
A tükör kialakítása
A tükör kialakítása
A tükör kialakítása
A tükör kialakítása
A tükör kialakítása
A tükör kialakítása

A tükör tervezése attól függ, hogyan szeretné. Végezzen pontos méréseket az LCD -n, és hagyjon 2 cm -es rést a tükör egyik oldalán, mivel a mikrohullámú mozgásérzékelő ott fog ülni. Nem lehet fém mögött.

Összekapcsoltam 4 deszka fát. Ezeket úgy őrölték meg, hogy szép tiszta legyen a tükörük. A tetején fúrtam pár lyukat is, hogy a hangszóró hangja elhaljon. A tükör ellentétes oldalát, az alját, kis téglalapot vágtam, így könnyen elvégezhetem az elektromos vezetékezést. [Fotó1]

Ez 2 darab olcsó fa, ahol a monitor beresting. Mivel azt mondtam, körülbelül 2 centiméter résre lesz szükségünk a tükör és a tok között. Hozzáadtam 3 kis fadarabot is, és belecsavartam azokat a pihenő darabokat. Tehát a monitor a helyén marad. [Fotó2]

Végül így nézett ki. Körülbelül 3 mm -es rés volt a pihenőelemek és a tükörház eleje között. Épp elég ahhoz, hogy behelyezhessem a 3 mm vastag kétirányú tükröt. [Photo3]

8. lépés: A kábelezés elvégzése

A huzalozás elvégzése
A huzalozás elvégzése
A huzalozás elvégzése
A huzalozás elvégzése
A huzalozás elvégzése
A huzalozás elvégzése

Ügyeljen arra, hogy megfelelően kövesse az alábbi sémák egyikét.

Miután elvégeztem a kábelezést, kétoldalas ragasztóval ragasztottam a képernyő hátoldalára. Mivel ha valaha szétszerelném a tükröt, és más projektekhez használnám, könnyen eltávolíthatnám. Ha biztos benne, használhat forró ragasztópisztolyt, és ragaszthatja a tükör hátoldalára.

9. lépés: A kód elindítása

A kódex indítása
A kódex indítása
A kód elindítása
A kód elindítása
A kód elindítása
A kód elindítása

LXSession

Először hozzunk létre egy pár mappát

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

Most létrehozunk egy fájlt, ahol megadunk néhány indítási paramétert/parancsot.

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

Illessze be a következőt a fájlba.

@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

Frissítjük a kezdő tükörképernyő -szkriptet, hogy illeszkedjen a házigazdánkhoz.

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

Válassza a localhost szolgáltatást, ha nem használ Google naptárat és domaint.

#!/bin/bash

sleep 15 chromium-browser-inkognitó --kiosk https:// localhost/mirror

Ha használja, akkor töltse ki a gazdagépet.

#!/bin/bash

alvó 15 króm-böngésző-inkognitó --kiosk

Szolgáltatás

Most beállítjuk, hogy a tükör kód automatikusan fusson.

Létrehozunk egy szolgáltatást, amely automatikusan elindítja számunkra a kódot.

Menj:

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

És illessze be ezt a fájlba

[Mértékegység]

Leírás = 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

Most újra kell töltenünk a systemd démont:

sudo systemctl démon-reload

És engedélyezzük a szolgáltatás automatikus indítását a rendszerindításkor.

sudo systemctl engedélyezi a tükröt

Most kikapcsoljuk.

sudo kikapcsolás

A végső beállítások

Végül el kell távolítanunk az APIPA ip -t, hogy csak WiFi -n működjön.

  1. Lépjen az SD -kártya rendszerindító könyvtárába a számítógépen.
  2. Nyissa meg a "cmdline.txt" fájlt
  3. Távolítsa el az ip = 169.254.10.1 szöveget a hosszú sor végén.

10. lépés: A tükör futtatása

A tükör futtatása
A tükör futtatása
A tükör futtatása
A tükör futtatása
A tükör futtatása
A tükör futtatása
A tükör futtatása
A tükör futtatása

Látogassa meg a tükörképernyőn megjelenő ip -t, vagy ha beállította a Google naptárat, töltse ki a domain nevet.

Most beállíthatja a tükröt!

Ha SSL -hibaüzenet jelenik meg a tükörben, akkor érdemes hozzáadni a tanúsítványokat a Chromium tanúsítványtárolóhoz.

Ajánlott: