Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:42
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
- Valitse kuva kansio -kuvakkeen kautta
- Valitse SD -kortti avattavasta valikosta
- Napsauta Kirjoita
Nyt meidän on tehtävä lisäasetuksia joillakin asetuksilla, jotta voimme käyttää Pi: tä.
- Siirry SD -kortin käynnistyshakemistoon
- Avaa tiedosto "cmdline.txt"
- Lisää ip = 169.254.10.1 Tekstin pitkän rivin loppuun välilyönnillä erotettuna (samalla rivillä).
- Tallenna tiedosto.
- 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.
- Asenna Putty osoitteesta
- Kirjoita IP -kenttään 169.254.10.1.
- Varmista, että SSH on valittu ja portti 22 on täytetty.
- Napsauta Avaa
- Kirjoita käyttäjätunnus: pi
- 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
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
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.
- Napsauta oikeanpuoleisen kojelaudan Hae API -avain -painiketta. [Kuva 1]
- 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ä
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.
- Valitse LISÄÄ DOMAIN
- Täytä verkkotunnuksesi
- Se pyytää sitten vahvistamaan verkkotunnuksesi. Napsauta jatka.
- Valitse verkkotunnuksesi tarjoaja. [Kuva5]
- Seuraa prosessia
- 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.
- Napsauta Lisää laajuus ja etsi kalenteri.
- 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 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
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
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ä.
- Siirry tietokoneen SD -kortin käynnistyshakemistoon.
- Avaa tiedosto "cmdline.txt"
- Poista ip = 169.254.10.1 Tekstin pitkän rivin lopussa.
Vaihe 10: Peilin käyttäminen
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:
Kuinka rakentaa älykäs peili Raspberry Pi 4: 10 -vaiheilla
Älypeilin rakentaminen Raspberry Pi 4: llä: Tässä oppaassa näemme kuinka rakentaa älypeili käyttämällä kierrätettyjä kappaleita, kuten kuvakehystä, vanhaa näyttöä ja kuvalasia. .com
Maaginen peili uutisten, sään, hälytyksen, ajastimen ja todolistin kanssa: 9 vaihetta
Maaginen peili, jossa on uutisia, sää, hälytys, ajastin ja todolisti: Maaginen peili on erityinen yksisuuntainen peili, jonka takana on näyttö. Näyttö, joka on liitetty Raspberry Pi -laitteeseen, näyttää tietoja, kuten sää, huonelämpötila, aika, päivämäärä, todolisti ja paljon muuta. Voit jopa lisätä mikrofonin ja asettaa u
Yksinkertainen älykäs peili: 7 vaihetta (kuvilla)
Yksinkertainen älykäs peili: Vau! se on ollut melko kauan, kun latasin jotain, olin kiireinen työskennellessäni niin monien asioiden parissa ja tajusin, että minun on pudotettava jotain seuraajilleni, kuten sanonta kuuluu, "aina on projekti, jonka parissa työskennellä" haha ehkä se olen vain minä, joka tapauksessa takaisin Businiin
Ei kovin älykäs, mutta erittäin terveellinen, mutta silti hieman kammottava peili: 5 vaihetta (kuvilla)
Ei kovin älykäs, mutta erittäin terveellinen, mutta silti hieman kammottava peili: Tarvitsetko peilin, mutta et halua lisätä vielä yhtä älykästä esinettä kotiisi? Sitten tämä ei-niin-älykäs-mutta-erittäin terveellinen, mutta silti hieman kammottava peili on juuri sinulle
Älykäs peili rikkoutuneen Android -tabletin avulla: 5 vaihetta (kuvilla)
Älykäs peili rikkoutuneen Android -tabletin avulla: Jokin aika sitten pudotin vahingossa Android -tabletin sen kasvoille. Lasi rikkoutui, mutta muu toimi edelleen hyvin. Vaarana, että kumppanini kutsuu minua jälleen kerran keräilijäksi, panin sen arvontaan, toivoen löytäväni sille käyttöä jonain päivänä. Se