Innholdsfortegnelse:
- Trinn 1: Blinkende RaspberriPi -harddisk / installer nødvendig programvare (bruker Ubuntu Linux)
- Trinn 2: Nødvendig rekvisita
- Trinn 3: Bygg og koble enheten
- Trinn 4: Bruk en 3d -skriver til å skrive ut dekselet, esken og bakpanelene
- Trinn 5: Komponentledninger
- Trinn 6: Koble komponenter til roboten
- Trinn 7: Kontroller I2C -konfigurasjon
- Trinn 8: DHT11 Installer
- Trinn 9: Klonlager
- Trinn 10: Legg til Pushbullet API (ved hjelp av Python 3.5)
- Trinn 11: Legg til skriptet for å starte ved Dashboard Boot og start Dashboard Pi på nytt
- Trinn 12: VALGFRITT: Lag dine egne Nintendo -bilder som skal gjengis på skjermen
- Trinn 13: Ferdig
Video: RANE. Telefonvarselassistent: 13 trinn
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Av khinds10www.kevinhinds.com Følg mer av forfatteren:
Om: 3D -utskrift og design av RaspberryPI -prosjekter i noen år nå Mer om khinds10 »
Desktop Phone Notification Assistant Featuring (R. O. B.) Robotic Operating Buddy
Trinn 1: Blinkende RaspberriPi -harddisk / installer nødvendig programvare (bruker Ubuntu Linux)
Lag din nye harddisk for DashboardPI
Sett inn microSD -en på datamaskinen din via USB -adapteren, og lag diskbildet med kommandoen dd
Finn ditt innsatte microSD -kort via kommandoen df -h, demonter det og lag diskbildet med kommandoen disk copy dd
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
Forsiktig: sørg for at kommandoen er helt nøyaktig, du kan skade andre disker med denne kommandoen
if = plassering av RASPBIAN JESSIE LITE bildefil av = plassering av microSD -kortet
$ sudo dd bs = 4M hvis =/path/to/raspbian-jessie-lite.img av =/dev/sdb (merk: i dette tilfellet er det/dev/sdb,/dev/sdb1 en eksisterende fabrikkpartisjon på microSD)
Sette opp RaspberriPi
Sett inn det nye microSD -kortet i raspberrypi og slå det på med en skjerm koblet til HDMI -porten
Logg Inn
bruker: pi pass: bringebær
Endre kontopassordet ditt for sikkerhet
sudo passwd pi
Aktiver RaspberriPi Advanced Options
sudo raspi-config
Velge:
1 Utvid filsystemet
9 Avanserte alternativer
A2 Hostname endre det til "RobbieAssistant"
A4 SSH Aktiver SSH -server
A7 I2C Aktiver i2c -grensesnitt
Aktiver engelsk/amerikansk tastatur
sudo nano/etc/default/keyboard
Endre følgende linje: XKBLAYOUT = "oss"
Start PI på nytt for endringer i tastaturoppsett / endring av filsystem for å tre i kraft
$ sudo shutdown -r nå
Koble til WiFi automatisk
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Legg til følgende linjer for å få raspberrypi -enheten din til å koble seg automatisk til WiFi hjemme (hvis det trådløse nettverket ditt for eksempel heter "linksys" i eksempelet nedenfor)
network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Start PI på nytt for å koble til WiFi -nettverk
$ sudo shutdown -r nå
Nå som PI -en din endelig er på det lokale nettverket, kan du logge eksternt på den via SSH. Men først må du få IP -adressen den har for øyeblikket.
$ ifconfig Se etter "inet addr: 192.168. XXX. XXX" i følgende kommandos utgang for PIs IP -adresse
Gå til en annen maskin og logg på raspberrypi via ssh
$ ssh [email protected]. XXX. XXX
Begynn å installere nødvendige pakker
$ sudo apt-get oppdatering
$ sudo apt-get oppgradering
$ sudo apt-get install build-essential tk-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libncurses5-dev libncursesw5-dev libreadline6-dev python3-pip python3-forespørsler python3-setuptools python3-urllib python3-urllib3 python3-forespørsler vim git python-smbus i2c-verktøy python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip vim git python-sms python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip python -gpiozero python-psutil xz-utils
$ sudo pip installasjonsforespørsler
Oppdater lokale tidssoneinnstillinger
$ sudo dpkg-omkonfigurer tzdata
velg din tidssone ved hjelp av grensesnittet
Sett opp den enkle katalog l -kommandoen [valgfritt]
vi ~/.bashrc
legg til følgende linje:
alias l = 'ls -lh'
kilde ~/.bashrc
Fix VIM standardsyntaks utheving [valgfritt]
sudo vi/etc/vim/vimrc
ikke kommenter følgende linje:
syntaks på
lag loggmappen for at programmet skal kjøre mkdir/home/pi/RobbieAssistant/logs
chmod 777/home/pi/RobbieAssistant/logs
Konfigurer programmet til å kjøre riktig i settings.py config-filen Finn filen settings-shadow.py i / includes / -mappen til prosjektet, og kopier den til settings.py og juster til dine nåværende innstillinger
# forecast.io API -nøkkel for lokal værinformasjon
weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'DIN API -NØKKEL FOR FORECAST. IO'
# valgfritt for å kjøre den eksterne temp/fuktighetsloggeren
dashboardServer = 'mydevicelogger.com'
# søk på google for å få breddegrad/lengdegrad for hjemstedet ditt
breddegrad = 41.4552578
lengdegrad = -72,1665444
Trinn 2: Nødvendig rekvisita
RaspberriPi Zero
DHT11 Humidistat
LED -lys (x4) Grønn / gul / blå / rød 2,6 Digole -skjerm
Trinn 3: Bygg og koble enheten
Forbered Digole Display for i2C
På baksiden av Digole -skjermen loddes jumperen for å tilordne skjermen til å bruke i2c -protokollen
Trinn 4: Bruk en 3d -skriver til å skrive ut dekselet, esken og bakpanelene
Ved å bruke følgende X STL -filer i 3DPrint -mappen, R. O. B. Robot, LED -sele og skjermfeste
buttonContainer-base.stl
knappContainer-lid.stl
displaymount-final.stl
led-sele-final.stl
MiniNintendoROB.zip
Robotutskrift av: Mini Nintendo R. O. B. - av RabbitEngineering
www.thingiverse.com/thing:1494964
Jeg brukte byråkrati for å gjøre øynene røde med den svarte visirbakgrunnen
Trinn 5: Komponentledninger
Digole Display
GND -> GND
DATA -> SDA
CLK -> SCL
VCC -> 3V
DHT11 Humidistat
VCC -> 5V
GND -> GND
DATA -> GPIO 25
BLÅ motstand
VCC -> GPIO 17 (med 270ohm motstand)
GND -> GND
GUL motstand
VCC -> GPIO 13 (med 270ohm motstand)
GND -> GND
GRØNN MOTSTAND
VCC -> GPIO 6 (med 270ohm motstand)
GND -> GND
RØD motstand
VCC -> GPIO 12 (med 270ohm motstand)
GND -> GND
RØD øyeblikkelig trykknapp
VCC -> GPIO 16 (med 270ohm motstand)
GND -> GND
BLÅ øyeblikkelig trykknapp
VCC -> GPIO 26 (med 270ohm motstand)
GND -> GND
Trinn 6: Koble komponenter til roboten
Etter at du har skrevet ut skjermholderen, kobler du den til digoleskjermen
Koble skjermen til RPi med nok ledninger til å lime RPi på baksiden av roboten
Skriv ut kontrolleren og koble til knappene med nok ledninger til å komme bak på roboten
Fullfør kabling og montering av roboten med RPi koblet til baksiden og DHT11 limt til bunnen
Trinn 7: Kontroller I2C -konfigurasjon
Start RaspberryPi og kontroller at I2C -bussen gjenkjenner alle de tilkoblede 7/14 segmentdisplayene. [hver skjerm får en unik adresse beskrevet ovenfor ved hvordan du lodder hver skjerms hoppere i forskjellige kombinasjoner]
Hvis du har skjermen med jumper loddet riktig, bør du ha følgende utgang for i2cdetect -kommandoen:
sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f 00: - - - - - - - - - - - - - -
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Trinn 8: DHT11 Installer
$ cd ~
$ git klon
$ cd Adafruit_Python_DHT/
$ sudo python setup.py installere
$ sudo python ez_setup.py
$ cd eksempler/
$ vi simpletest.py Endre følgende linje:
sensor = Adafruit_DHT. DHT11
Kommenter linjen
pin = 'P8_11'
Uncomment linjen og endre PIN -nummeret til 16
pin = 25
Kjør testen
python simplestest.py
Du bør se en metrisk avlesning av Temp og fuktighet vist på kommandolinjen.
Trinn 9: Klonlager
$ cd ~ $ git klone
Trinn 10: Legg til Pushbullet API (ved hjelp av Python 3.5)
Ved å bruke pushbullet -appen for telefonen din, registrerer du deg for å motta en API -nøkkel for å få et enkelt python -skript til å kunne fange og skyve datahubsvarsler og indikatorflagg
Installer Python 3.5 for asyncio -funksjonalitet
$ sudo apt-get oppdatering sudo apt-get install build-essential tk-dev sudo apt-get install libncurses5-dev libncursesw5-dev libreadline6-dev sudo apt-get install libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev Hvis du ikke finner en av pakkene, kan du prøve et nyere versjonsnummer (f.eks. libdb5.4-dev i stedet for libdb5.3-dev).
$ wget https://www.python.org/ftp/python/3.5.2/Python-3…. tar zxvf Python-3.5.2.tgz cd Python-3.5.2./configure --prefix =/usr/local/opt/python-3.5.2 lage sudo make install sudo ln -s/usr/local/opt/python -3.5.2/bin/pydoc3.5 /usr/bin/pydoc3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5 /usr/bin/python3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/python3.5m /usr/bin/python3.5m sudo ln -s /usr/local/opt/python-3.5.2/bin/pyvenv-3.5 /usr/bin/pyvenv-3.5 sudo ln -s /usr/local/opt/python-3.5.2/bin/pip3.5 /usr/bin/pip3.5 cd ~ echo 'alias python35 = "/usr/local /opt/python-3.5.2/bin/python3.5 "'>>.bashrc echo' alias idle35 ="/usr/local/opt/python-3.5.2/bin/python3.5 "'>>.bashrc Installer python3 -avhengighetene
$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 installasjonsforespørsler Valgfri måte Last ned python-depotet direkte for å få python-avhengighetene uten bruk av pip installere det
git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Besøk pushbullet-innstillingssiden i kontoen din for å generere en API -nøkkel for å bruke
Konfigurer pushbullet-listener.py-skriptet ditt for å ha riktig API og sentralversjon for dashbordet
# API -nøkkelen din fra PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"
# dashboard central server host dashboardServer = 'MY-SERVER-HERE.com'
Trinn 11: Legg til skriptet for å starte ved Dashboard Boot og start Dashboard Pi på nytt
$ crontab -e
@reboot nohup /usr/local/opt/python-3.5.2/bin/python3.5 /home/pi/PushBullet/pushbullet-listener.py>/dev/null 2> & 1
@reboot nohup /usr/local/opt/python-3.5.3/bin/python3.5 /home/pi/RobbieAssistant/PushBullet/pushbullet-listener.py>/dev/null 2> & 1
@reboot nohup python /home/pi/RobbieAssistant/Robbie.py>/dev/null 2> & 1
@reboot nohup python /home/pi/RobbieAssistant/Temp.py>/dev/null 2> & 1
@reboot nohup python /home/pi/RobbieAssistant/Weather.py>/dev/null 2> & 1
Trinn 12: VALGFRITT: Lag dine egne Nintendo -bilder som skal gjengis på skjermen
Last opp din egen 128x128 -fil til følgende URL:
www.digole.com/tools/PicturetoC_Hex_converter.php
Velg bildefilen du vil laste opp, legg til hvilken størrelse du vil at den skal ha på skjermen (bredde/høyde)
Velg "256 farger for farge OLED/LCD (1 byte/piksel)" i rullegardinmenyen "Brukes til"
Få hex -utgangen.
Legg til hex -utgangen til en display/ build/ header (.h) -fil, bruk de andre som veiledninger for syntaks.
Inkluder den nye filen i digole.c -filen #include myimage.h
Inkluder en ny kommandolinjekrok til bildefilen i. Merk: Kommandoen nedenfor sier at tegnet bildet ditt i posisjon 10 piksler over 10 piksler ned. Du kan endre den til forskjellige X-, Y -koordinater, du kan også endre verdiene 128, 128 til hvilken størrelse det nye bildet ditt faktisk er.
} annet hvis (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, og myimageVariableHere, 0); // myimageVariableHere er definert i (.h) filen}
Nå må du bygge om (ignorere feilene) nedenfor for å få det nye bildet ditt gjengitt med følgende kommando.
$./digole myimage
Re-Building [Inkludert] Digole Display Driver for dine valgfrie endringer
$ cd -visning/bygg
$ gcc digole.c
$ mv ut../../digole
$ chmod +x../../digole
Trinn 13: Ferdig
Du er ferdig!