Sisällysluettelo:

Monen käyttäjän älykäs peili Google -kalenterin kanssa: 10 vaihetta
Monen käyttäjän älykäs peili Google -kalenterin kanssa: 10 vaihetta

Video: Monen käyttäjän älykäs peili Google -kalenterin kanssa: 10 vaihetta

Video: Monen käyttäjän älykäs peili Google -kalenterin kanssa: 10 vaihetta
Video: Lonely (short version) 2024, Heinäkuu
Anonim
Monen käyttäjän älykäs peili Google -kalenterin avulla
Monen käyttäjän älykäs peili Google -kalenterin avulla
Monen käyttäjän älykäs peili Google -kalenterin avulla
Monen käyttäjän älykäs peili Google -kalenterin avulla

Tässä ohjeessa luomme älykkään peilin, joka on integroitu Google -kalenteriin. Tein tämän projektin, koska mielestäni älykkäät peilit ovat todella siistejä, ne ovat jumalattu aamulla. Mutta päätin tehdä yhden itse nollasta, koska kaikilla muilla on 1 vika. Ne ovat liian kehittyneitä ja sekavia. Päätin pitää tämän yksinkertaisena.

Tarvikkeet

Ennen

Aloitamme nämä asiat, joita sinun on ehdottomasti rakennettava minun kaltaisen peilin rakentamiseksi. Nämä tarvikkeet maksavat noin 250–350 euroa alueestasi ja nykyisistä hinnoista riippuen.

Laitteisto

Anturit

  • Yhden langan lämpötila -anturi
  • RWCL 0516 (mikroaaltouuni -liiketunnistin)
  • Pehmeä potentiometri (Sparkfunin kosketusnauha)

Tietokoneet

ja IC: t

  • Kaiutin (3,2 W 4Ω TAI 1,8 W 8Ω)
  • MCP3008
  • Adafruit I2S 3W D -luokan vahvistin Breakout - MAX98357A
  • Raspberry Pi 3 B+
  • SD -kortti (8 Gt on hyvä)
  • Vastus 4,7 K ohmia

Eri

  • Jumperwires
  • Leipälauta
  • Akryylinen kaksisuuntainen peili (15% valonläpäisy)
  • IPS -näyttö (koko riippuu siitä, kuinka suuren haluat sen)
  • HDMI -kaapeli
  • Puu

Ohjelmisto

  • Kitti
  • Koodieditori (Notepad ++ riittää)
  • Win32 levynkuvaus
  • Raspbian OS -kuva

Vaihe 1: Asennus

Aluksi meidän on ensin määritettävä Pi -koodisi tekemääni koodiin.

Tarvitset kaksi asiaa:

  • Win32 Disk Imager osoitteesta
  • Raspbian -käyttöjärjestelmän kuva osoitteesta

Lataa ZIP -tiedosto ja pura se minne haluat.

Asennus

  1. Valitse kuva kansio -kuvakkeen kautta
  2. Valitse SD -kortti avattavasta valikosta
  3. Napsauta Kirjoita

Nyt meidän on tehtävä lisäasetuksia joillakin asetuksilla, jotta voimme käyttää Pi: tä.

  1. Siirry SD -kortin käynnistyshakemistoon
  2. Avaa tiedosto "cmdline.txt"
  3. Lisää ip = 169.254.10.1 Tekstin pitkän rivin loppuun välilyönnillä erotettuna (samalla rivillä).
  4. Tallenna tiedosto.
  5. Luo samaan hakemistoon tiedosto nimeltä ssh ilman laajennusta

Nyt voit poistaa SD -kortin ja laittaa sen Pi -laitteeseesi.

Yhdistetään

Nyt meidän on asennettava ohjelmisto.

Kytke ensin LAN -kaapeli, toinen pää työpöytäsi/kannettavaasi ja toinen Pi -laitteeseesi.

Käynnistä nyt Raspberry Pi.

  1. Asenna Putty osoitteesta
  2. Kirjoita IP -kenttään 169.254.10.1.
  3. Varmista, että SSH on valittu ja portti 22 on täytetty.
  4. Napsauta Avaa
  5. Kirjoita käyttäjätunnus: pi
  6. Täytä salasana: vadelma

Raspi-config

Avaa Raspi-config-apuohjelma käyttämällä:

sudo raspi-config

Ota käyttöön seuraavat vaihtoehdot rajapinnat -luokassa

  • 1-johdin
  • SPI

Valitse WiFi -maa lokalisointiluokan kautta.

Poista seuraavaksi käytöstä seuraavat vaihtoehdot käynnistysvaihtoehdoista

Aloitusruutu

Aseta lopuksi Käynnistysasetukset -luokan Työpöytä/CLI -asetukseksi Työpöydän automaattinen kirjautuminen.

WiFi

Peilin osalta meillä on oltava wifi -yhteys, joten varmista, että sinulla on wifi -tunnuksesi lähellä.

Siirry juuritilaan

sudo -i

Liitä tämä rivi, mutta varmista, että sekä SSID että salasana on täytetty

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

Anna WPA -asiakas.

wpa_cli

Valitse käyttöliittymä

käyttöliittymä wlan0

Lataa kokoonpano uudelleen

määritä uudelleen

Varmista, että yhteys on muodostettu oikein kirjoittamalla…

ip a

… Ja näet, onko sinulla WLAN0 -rajapintojen IP -osoite.

Paketit

Nyt kun olemme yhteydessä Internetiin, meidän on asennettava joitain paketteja.

Ensin meidän on päivitettävä viimeisimmän paketin luettelot.

sudo apt päivitys

Python

Pakotamme Raspbianin käyttämään Python 3: ta

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

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

MariaDB

Liitä seuraava rivi asentaaksesi tietokannan.

sudo apt asentaa mariadb-palvelin

Sitten meidän on varmistettava asennuksemme.

mysql_secure_installation

Se kysyy meiltä nykyistä pääsalasanaa, koska meillä ei ole sitä, paina vain enter.

Seuraavaksi se kysyy, haluammeko y -salasanan tyypin y, koska haluamme sellaisen.

Kirjoita seuraaviin kysymyksiin Y.

Lopuksi luomme käyttäjän, jota voimme käyttää peiliin.

Anna mysql -kuori seuraavasti:

Nosta itsemme juurille

sudo -i

Anna mysql -kuori

mysql

Korvaa omalla käyttäjätunnuksella ja sama tunnuksella

myönnä kaikki peilin käyttöoikeudet.* käyttäjälle ''@'%' ';

Nyt huuhdellaan käyttöoikeustaulukko.

Huuhteluoikeudet;

Apache -verkkopalvelin

Asenna Web -palvelin suorittamalla alla oleva rivi.

sudo apt install apache2 -y

Python -paketit

Asennamme nämä paketit

  • Pullo
  • Pullo-Cors
  • Pullo-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Pullo-talisman
  • Gevent
  • Gevent-websocket
  • Google-api-python-asiakas
  • Google-todennus
  • Google-auth-httplib2
  • Google-auth-oauthlib
  • Httplib2
  • Icalendar
  • Icalevents
  • Oauthlib
  • Python-socketio
  • Pyynnöt
  • Wsaccel
  • Ujson

Tekemällä

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 pyynnöt

Kaiuttimien asennus

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | lyödä

Nyt meidän on käynnistettävä uudelleen, joten paina y.

Suorita käsikirjoitus uudelleen

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | lyödä

Nyt meidän on käynnistettävä uudelleen toisen kerran

sudo uudelleenkäynnistys

Näyttö (näyttö)

Riippuen siitä, miten haluat näytön suunnan, haluat ehkä kiertää näyttöä.

Näytön kääntämiseksi meidän on päästävä käsiksi käynnistysvaihtoehtoihin seuraavasti:

sudo nano /boot/config.txt

Liitä sitten yksi seuraavista riveistä asetustiedostoon:

display_rotate = 0

display_rotate = 1

display_rotate = 2

display_rotate = 3

Ensimmäinen, 0, on normaali kokoonpano. 1 On 90 astetta, 2 on 180 astetta ja viimeinen on 270 astetta.

Käynnistä sitten uudelleen.

sudo uudelleenkäynnistys

Vaihe 2: Peilin asennus

Peilin asennus
Peilin asennus

Nyt asetamme paikan koodin lataamiseen.

cd/koti/pi/

git -klooni https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject

Nyt kopioimme joitain kansioita oikeaan kohteeseen

sudo cp -R -käyttöliittymä/peili//var/www/html/peili/

sudo cp -R käyttöliittymä/kojelauta//var/www/html/Sudo cp -R taustajärjestelmä//home/pi/Mirror/

Tietokannan asentaminen on välttämätön vaihe projektin toteuttamisessa.

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

Vaihe 3: Määritykset

Määritystiedosto sijaitsee osoitteessa:

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

Anna MYSQL -käyttäjä ja salasana.

Tämän täytyy olla juuri tekemämme mysql -käyttäjä.

Muut asetukset, joita käsittelemme myöhemmin, tämä ohje.

Vaihe 4: Sovellusliittymät

Nyt olemme saaneet Pi: n asennuksen valmiiksi ja käsittelemme joitain aiheita, joita haluat ehkä tehdä.

Darksky

Luo Darsky -sovellusliittymäavain

Kun olet rekisteröitynyt, näet sovellusliittymäavaimesi hallintapaneelissa.

Kirjoita tämä avain aiemmin asentamasi peiliprojektin määritystiedostoon.

Kalenteri

Oletuksena voit katsella kalenteriasi vain ical -URL -osoitteilla. Mutta tämä osa käsittelee peilin linkittämistä Googlen ekosysteemiin. Tämä on yleensä pidempi ja kivuliaampi prosessi.

Asioita, joita ehdottomasti tarvitset

Verkkotunnus

Nämä ovat asioita, jotka asennamme tämän osan aikana

  • CloudFlare -tili
  • Google -kehittäjätili
  • Googlen kehittäjäprojekti
  • Määritä kalenterin sovellusliittymä

Vaihe 5: Kalenteri

Kalenteri
Kalenteri
Kalenteri
Kalenteri

Pilvinen

Määritä cloudflare -tili osoitteessa https://cloudflare.com ja siirrä verkkotunnuksesi ohjatun toiminnon avulla Cloudflare DNS -palveluun.

Sinun ei tarvitse itse luoda A -tietuetta, joka osoittaa vadelmapi. Mirror -koodini tekee sen puolestasi. Koska useimmissa kotitalouksien wifi -osoitteissa IP -osoitteet eivät ole staattisia, joten uudelleenkäynnistyksen jälkeen se ei ehkä toimi enää. Jotta koodini päivittyy automaattisesti IP -osoitteeseen, se vaatii tilisi sovellusliittymäavaimen.

  1. Napsauta oikeanpuoleisen kojelaudan Hae API -avain -painiketta. [Kuva 1]
  2. Vieritä alas ja katso Global API -avaimesi. [Kuva 2]

Kirjoita tämä avain aiemmin asentamasi peiliprojektin määritystiedostoon.

SSL -varmenteen luominen

Google vaatii meiltä SSL -yhteyden. Aloita tämä osio varmista, että olet määrittänyt Cloudflare DNS: n oikein.

Lisää ensin arkisto.

sudo add-apt-repository ppa: certbot/certbot

Päivitä pakettilista.

sudo apt-get päivitys

Asenna CertBot

sudo apt asentaa python-certbot-apache

Aloita varmenteen luominen. Jälleen sinun on täytettävä oikea verkkotunnus.

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

Luomisen jälkeen se kysyy, pitäisikö sen ohjata kaikki yhteydet SSL: ään. Valitse uudelleenohjaus.

Nyt se kertoo, että se on luonut onnistuneesti varmenteen verkkotunnuksellesi. Muista tallentaa sen antamat kaksi polkua.

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

Siirry nyt kansioon, jossa varmenteet ovat:

Muista vaihtaa esimerkki.com oikeaan isäntään.

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

Kopioidaan nyt tämä sisältö projektikansioomme.

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

Ja

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

Yhdistä Apache verkkotunnukseesi

Jotta Apache voidaan määrittää oikein verkkotunnuksellesi, meidän on luotava määritystiedosto. Muista täyttää verkkotunnuksesi nimi, esimerkiksi funergydev.com.

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

Liitä tämä sitten tiedostoon. Korvaa example.com verkkotunnuksellasi.

Varmista, että varmenteesi ja yksityinen avaimesi ovat oikea polku. Aseta ne polulle, jonka tallensit aiemmin, kun loimme sitten certbotin kautta.

DocumentRoot "/var/www/html/" SSLEngine on SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Muut direktiivit täällä Asetukset Indeksit SeuraaSymLide AllowOver Kaikki Vaadi kaikki myönnetty

Nyt meidän on otettava käyttöön joitakin muutoksia ja pakotettava sitten Apache lataamaan kokoonpano uudelleen seuraavasti:

sudo a2enmod ssl

sudo a2enmod kirjoittaa uudelleen

sudo systemctl lataa apache2

Nyt sinun pitäisi pystyä siirtymään verkkotunnuksesi kautta pi: hen ja näkemään apache -oletussivu.

Vaihe 6: Google -sovellusliittymä

Google -sovellusliittymä
Google -sovellusliittymä
Google -sovellusliittymä
Google -sovellusliittymä
Google -sovellusliittymä
Google -sovellusliittymä

Siirry kehittäjäkonsoliin osoitteessa

Osa 1

Luo ensimmäinen projektisi napsauttamalla Google -sovellusliittymän logon vieressä ja napsauttamalla UUSI PROJEKTI -painiketta. Kirjoita sopiva projektin nimi ja napsauta Luo -painiketta. [Kuva1]

Osa 2

Nyt pääset tälle sivulle. Napsauta kirjasto -painiketta. [Kuva2]

Tämä on suuri luettelo kaikista sovellusliittymistä, joita voit käyttää, mutta etsimme Google -kalenterin sovellusliittymää. Napsauta sitä ja paina ENABLE. [Kuva3]

Näet sitten yleiskatsauksen Kalenteri -sovellusliittymästä. Palaa projektiin napsauttamalla Google -sovellusliittymien logoa. [Kuva4]

Osa 3

Määritä kaikki oikein napsauttamalla kirjautumistietoluokkaa ja valitsemalla Verkkotunnuksen vahvistus -välilehti.

Tässä sinun on vahvistettava verkkotunnuksesi.

  1. Valitse LISÄÄ DOMAIN
  2. Täytä verkkotunnuksesi
  3. Se pyytää sitten vahvistamaan verkkotunnuksesi. Napsauta jatka.
  4. Valitse verkkotunnuksesi tarjoaja. [Kuva5]
  5. Seuraa prosessia
  6. Nyt voit lisätä sen Google API -konsolin verkkotunnuksen vahvistusluetteloon tällä tavalla. Varmista, että verkkotunnuksesi on valittu. [Kuva6]

Osa 4

Valitse nyt OAuth -suostumusnäytön välilehti. [Kuva7]

Täytä sovelluksen nimi

Seuraavaksi lisäämme laajuuksia suostumusnäyttöön. Tämä tarkoittaa, että kysymme käyttäjältä suostumusnäytössä, haluavatko he jakaa kalenteritietonsa peilin kanssa.

  1. Napsauta Lisää laajuus ja etsi kalenteri.
  2. Tarkista../auth/calendar.readonly ja paina add. [Kuva8]

Täytä valtuutettu verkkotunnus. Tämän pitäisi olla juuri vahvistamasi verkkotunnus. [Kuva9]

Napsauta nyt lomakkeen alla olevaa suurta tallennuspainiketta.

Osa 5

Lopuksi meidän on luotava tunnistetiedot. Koska painimme tallennuspainiketta, meidät ohjattiin kirjautumistiedot -välilehdelle. Napsauta Luo kirjautumistiedot ja valitse OAuth -asiakastunnus. [Kuva10]

Valitse Sovellustyyppi: Web -sovellus ja anna sille nimi.

Kirjoita seuraava linkki valtuutettuun uudelleenohjauksen URI -osoitteeseen ja täytä oikea verkkotunnus.

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

Napsauta Luo. Tämä näyttää sinulle ponnahdusikkunan ja napsauta OK. Paina nyt latauspainiketta juuri tekemissäsi valtakirjoissa

Osa 6

Avaa nyt JSON -tiedosto ja kopioi sisältö.

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

Liitä ne tänne.

Osa 7

Nyt meidän on määritettävä verkkotunnuksemme kokoonpanossa seuraavasti:

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

Vaihe 7: Peilin suunnittelu

Peilin muotoilu
Peilin muotoilu
Peilin muotoilu
Peilin muotoilu
Peilin muotoilu
Peilin muotoilu
Peilin muotoilu
Peilin muotoilu

Peilin suunnittelu riippuu siitä, miten haluat sen. Mittaa LCD -näyttö tarkasti ja jätä peilin toiselle puolelle 2 senttimetrin rako, koska mikroaaltouuni -liiketunnistin istuu siinä. Se ei voi olla minkään metallin takana.

Yhdistin 4 puulautaa yhteen. Nämä jauhettiin niin, että peilin etuosa oli mukava. Yläosaan porasin myös pari reikää, jotta kaiuttimen ääni kuului. Peilin vastakkaisella puolella, pohjassa, leikkasin pienen suorakulmion, jotta voisin helposti tehdä sähköjohdot. [Kuva1]

Nämä ovat 2 kappaletta halpaa puuta, joissa näyttö on päällä. Koska sanoin, että tarvitsemme noin 2 senttimetrin raon peilin ja kotelon väliin. Lisäsin myös 3 pientä puukappaletta ja ruuvasin ne lepäävien kappaleiden päälle. Joten näyttö pysyy paikallaan. [Kuva2]

Lopulta se näytti tältä. Minulla oli noin 3 mm rako lepokappaleiden ja peilikotelon etuosan välillä. Juuri niin paljon, että voisin laittaa 3 mm paksuisen kaksisuuntaisen peilin sisään. [Kuva3]

Vaihe 8: Johdotuksen tekeminen

Johdotuksen tekeminen
Johdotuksen tekeminen
Johdotuksen tekeminen
Johdotuksen tekeminen
Johdotuksen tekeminen
Johdotuksen tekeminen

Varmista, että noudatat yhtä näistä kaavoista.

Kun tein johdotuksen, kiinnitin sen näytön taakse kaksipuolisella teipillä. Koska jos haluaisin koskaan purkaa peilin ja käyttää sitä muihin projekteihin, voisin helposti poistaa sen. Jos olet varma, voit käyttää kuumaa liimapistoolia ja liimata sen peilin takaosaan.

Vaihe 9: Koodin käynnistäminen

Koodin aloittaminen
Koodin aloittaminen
Koodin aloittaminen
Koodin aloittaminen
Koodin aloittaminen
Koodin aloittaminen

LX -istunto

Luodaan ensin pari kansiota

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

Luomme nyt tiedoston, jossa määritämme pari käynnistysparametria/komentoa.

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

Liitä seuraava tiedostoon.

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

Päivitämme aloituspeilin näytön käsikirjoituksen isäntämme mukaiseksi.

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

Valitse localhost, jos et käytä Google -kalenteria ja verkkotunnusta.

#!/bin/bash

lepotila 15 chromium-selain-incognito --kiosk https:// localhost/mirror

Jos käytät sitä, täytä isäntä.

#!/bin/bash

lepotila 15 chromium-selain-incognito --kiosk

Palvelu

Asetamme nyt, että peilikoodi suoritetaan automaattisesti.

Luomme palvelun, joka käynnistää koodin automaattisesti puolestamme.

Mene:

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

Ja liitä tämä tiedostoon

[Yksikkö]

Kuvaus = 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

Nyt meidän on ladattava systemd -demoni uudelleen seuraavasti:

sudo systemctl daemon-reload

Otamme myös palvelun käyttöön automaattisesti käynnistyksen yhteydessä.

sudo systemctl ota peili käyttöön

Nyt sammutamme virran.

sudon sammutus

Lopulliset asetukset

Lopuksi meidän on poistettava APIPA ip, jotta se toimii vain WiFi -yhteydellä.

  1. Siirry tietokoneen SD -kortin käynnistyshakemistoon.
  2. Avaa tiedosto "cmdline.txt"
  3. Poista ip = 169.254.10.1 Tekstin pitkän rivin lopussa.

Vaihe 10: Peilin käyttäminen

Peilin ajaminen
Peilin ajaminen
Peilin ajaminen
Peilin ajaminen
Peilin ajaminen
Peilin ajaminen
Peilin ajaminen
Peilin ajaminen

Käy peilinäytössä olevassa ip: ssä tai jos olet määrittänyt Google -kalenterin, täytä verkkotunnus.

Nyt voit asentaa peilin!

Jos saat peiliin SSL -virheen, sinun kannattaa lisätä varmenteesi Chromium -varmennesäilöön.

Suositeltava: