Inhoudsopgave:

BEROVEN. Assistent voor telefoonmeldingen: 13 stappen
BEROVEN. Assistent voor telefoonmeldingen: 13 stappen

Video: BEROVEN. Assistent voor telefoonmeldingen: 13 stappen

Video: BEROVEN. Assistent voor telefoonmeldingen: 13 stappen
Video: Hoe je goede dingen kunt laten gebeuren 2024, November
Anonim
BEROVEN. Assistent voor telefonische meldingen
BEROVEN. Assistent voor telefonische meldingen

Door khinds10www.kevinhinds.comVolg meer van de auteur:

Onverwoestbare kinderbank!
Onverwoestbare kinderbank!
Onverwoestbare kinderbank!
Onverwoestbare kinderbank!
Snelle en eenvoudige pc's voor wandmontage
Snelle en eenvoudige pc's voor wandmontage
Snelle en eenvoudige pc's voor wandmontage
Snelle en eenvoudige pc's voor wandmontage
Digitaal haardscherm
Digitaal haardscherm
Digitaal haardscherm
Digitaal haardscherm

Over: 3D printen en ontwerpen van RaspberryPI projecten al een paar jaar Meer over khinds10 »

Desktop Phone Notification Assistant met (R. O. B.) Robotic Operating Buddy

Stap 1: RaspberriPi-harde schijf flashen / vereiste software installeren (met Ubuntu Linux)

Maak uw nieuwe harde schijf voor DashboardPI

Plaats de microSD in uw computer via een USB-adapter en maak de schijfkopie met de opdracht dd

Lokaliseer uw geplaatste microSD-kaart via de opdracht df -h, ontkoppel deze en maak de schijfkopie met de opdracht disk copy dd

$ df -h /dev/sdb1 7.4G 32K 7.4G 1% /media/XXX/1234-5678

$ umount /dev/sdb1

Let op: zorg ervoor dat het commando volledig nauwkeurig is, je kunt andere schijven beschadigen met dit commando

if=locatie van RASPBIAN JESSIE LITE afbeeldingsbestand van=locatie van uw microSD-kaart

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (let op: in dit geval is het /dev/sdb, /dev/sdb1 was een bestaande fabriekspartitie op de microSD)

Je RaspberriPi. instellen

Plaats uw nieuwe microSD-kaart in de raspberrypi en zet hem aan met een monitor aangesloten op de HDMI-poort

Log in

gebruiker: pi pass: framboos

Wijzig uw accountwachtwoord voor veiligheid

sudo passwd pi

Geavanceerde opties voor RaspberriPi inschakelen

sudo raspi-config

Kiezen:

1 Vouw Bestandssysteem uit

9 geavanceerde opties

A2 Hostnaam verander het in "RobbieAssistant"

A4 SSH SSH-server inschakelen

A7 I2C i2c-interface inschakelen

Schakel het Engelse/Amerikaanse toetsenbord in

sudo nano /etc/default/keyboard

Wijzig de volgende regel: XKBLAYOUT="us"

Start PI opnieuw op voor wijzigingen in toetsenbordindeling / formaat van bestandssysteem om van kracht te worden

$ sudo shutdown -r nu

Automatisch verbinden met je wifi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Voeg de volgende regels toe om uw raspberrypi automatisch verbinding te laten maken met uw wifi-thuisnetwerk (als uw draadloze netwerk bijvoorbeeld "linksys" heet, in het volgende voorbeeld)

network={ ssid="linksys" psk="DRAADLOOS WACHTWOORD HIER" } Start de PI opnieuw op om verbinding te maken met het wifi-netwerk

$ sudo shutdown -r nu

Nu uw PI eindelijk op het lokale netwerk staat, kunt u er via SSH op afstand op inloggen. Maar eerst moet u het IP-adres krijgen dat het momenteel heeft.

$ ifconfig Zoek naar "inet addr: 192.168. XXX. XXX" in de uitvoer van de volgende opdracht voor het IP-adres van uw PI

Ga naar een andere machine en log in op je raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Begin met het installeren van vereiste pakketten

$ sudo apt-get update

$ sudo apt-get upgrade

$ 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 libncursesw5bread python3-verzoeken python3-setuptools python3-urllib python3-urllib3 python3-verzoeken vim git python-smbus i2c-tools python-imaging python-smbus build-essentiële python-dev rpi.gpio python3 py thon python-imaging python-smbus build-essentieel python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-imaging python-smbus build-essentieel python.p -gpiozero python-psutil xz-utils

$ sudo pip installatieverzoeken

Lokale tijdzone-instellingen bijwerken

$ sudo dpkg-reconfigure tzdata

selecteer uw tijdzone met behulp van de interface

Stel de eenvoudige directory l-opdracht in [optioneel]

vi ~/.bashrc

voeg de volgende regel toe:

alias l='ls -lh'

bron ~/.bashrc

Fix VIM standaard syntax highlighting [optioneel]

sudo vi /etc/vim/vimrc

verwijder het commentaar van de volgende regel:

syntaxis aan

maak de map logs voor de toepassing om mkdir /home/pi/RobbieAssistant/logs uit te voeren

chmod 777 /home/pi/RobbieAssistant/logs

Configureer de toepassing om correct te werken in het configuratiebestand settings.py Zoek het bestand settings-shadow.py in de /includes/ map van het project en kopieer het naar settings.py en pas het aan uw huidige instellingen aan

# forecast.io API-sleutel voor lokale weersinformatie

weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'UW API-SLEUTEL VOOR FORECAST. IO'

# optioneel voor het uitvoeren van de externe temperatuur-/vochtigheidslogger

dashboardServer = 'mijnapparaatlogger.com'

# zoek op google om de breedtegraad/lengtegraad voor uw thuislocatie te krijgen

breedtegraad = 41.4552578

lengtegraad = -72.1665444

Stap 2: Benodigde benodigdheden

Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden
Benodigdheden

RaspberriPi Zero

DHT11-bevochtiger

LED-verlichting (x4) Groen / Geel / Blauw / Rood 2,6 Digole-display

Stap 3: Bouw en bedraad het apparaat

Bouw en bedraad het apparaat
Bouw en bedraad het apparaat

Bereid het Digole-display voor op i2C

Op de achterkant van het Digole-display soldeert u de jumper om het display toe te wijzen om het i2c-protocol te gebruiken

Stap 4: Gebruik een 3D-printer om de omslag, doos en achterpanelen af te drukken

Gebruik een 3D-printer om de omslag, doos en achterpanelen af te drukken
Gebruik een 3D-printer om de omslag, doos en achterpanelen af te drukken

Met behulp van de volgende X STL-bestanden in de 3DPrint-map kan R. O. B. Robot, LED-harnas en displaybevestiging

buttonContainer-base.stl

buttonContainer-deksel.stl

displaymount-final.stl

led-harnas-final.stl

MiniNintendoROB.zip

Robot Print door: Mini Nintendo R. O. B. - door RabbitEngineering

www.thingiverse.com/thing:1494964

Ik heb bureaucratie gebruikt om de ogen rood te maken met de zwarte achtergrond van het vizier

Stap 5: Componentbedrading

Component bedrading
Component bedrading

Digole-display

GND -> GND

GEGEVENS -> SDA

CLK -> SCL

VCC -> 3V

DHT11-bevochtiger

VCC -> 5V

GND -> GND

DATA -> GPIO 25

BLAUWE weerstand

VCC -> GPIO 17 (met 270ohm weerstand)

GND -> GND

GELE Weerstand:

VCC -> GPIO 13 (met 270ohm weerstand)

GND -> GND

GROENE Weerstand

VCC -> GPIO 6 (met 270ohm weerstand)

GND -> GND

RODE weerstand:

VCC -> GPIO 12 (met 270ohm weerstand)

GND -> GND

RODE kortstondige drukknop

VCC -> GPIO 16 (met 270ohm weerstand)

GND -> GND

BLAUWE kortstondige drukknop

VCC -> GPIO 26 (met 270ohm weerstand)

GND -> GND

Stap 6: Sluit componenten aan op de robot

Componenten aansluiten op de robot
Componenten aansluiten op de robot
Componenten aansluiten op de robot
Componenten aansluiten op de robot
Componenten aansluiten op de robot
Componenten aansluiten op de robot

Nadat u de schermhouder hebt afgedrukt, sluit u deze aan op het digole-display

Sluit het scherm aan op de RPi met voldoende bedrading om de RPi aan de achterkant van de robot te lijmen

Druk de controller af en bedraad de knoppen met voldoende bedrading om de achterkant van de robot te bereiken

Voltooien Bedrading en montage van de robot met de RPi aan de achterkant aangesloten en de DHT11 aan de onderkant gelijmd

Stap 7: I2C-configuratie controleren

Start uw RaspberryPi op en zorg ervoor dat de I2C-bus al uw aangesloten 7/14 segmentdisplays herkent. [elk scherm krijgt een uniek adres zoals hierboven beschreven door hoe je de jumpers van elk scherm in verschillende combinaties soldeert]

Als je het display met jumper correct hebt gesoldeerd, zou je de volgende output moeten hebben voor het i2cdetect-commando:

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: -- -- -- -- -- -- -- --

Stap 8: DHT11 installeren

$ cd ~

$ git kloon

$ cd Adafruit_Python_DHT/

$ sudo python setup.py install

$ sudo python ez_setup.py

$ cd-voorbeelden/

$ vi simpletest.pyVerander de volgende regel:

sensor = Adafruit_DHT. DHT11

Reageer op de line-out

pin = 'P8_11'

Uncommenteer de regel en verander het pinnummer in 16

pin = 25

Doe de test

python simpletest.py

U zou een metrische uitlezing van Temp en Vochtigheid op de opdrachtregel moeten zien.

Stap 9: Repository klonen

$ cd ~$ git-kloon

Stap 10: Pushbullet API toevoegen (met Python 3.5)

Gebruik de pushbullet-app voor je telefoon, meld je aan om een API-sleutel te ontvangen zodat een eenvoudig python-script datahub-meldingen en indicatorvlaggen kan vastleggen en pushen

Installeer Python 3.5 voor asynchrone functionaliteit

$ sudo apt-get update 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 sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev Als een van de pakketten niet kan worden gevonden, probeer dan een nieuwer versienummer (bijv. libdb5.4-dev in plaats van 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 make 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 Installeer de python3-afhankelijkheden

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3-installatieverzoeken Optionele manier Download de python-repository rechtstreeks om de python-afhankelijkheden te verkrijgen zonder het gebruik van pip om het te installeren

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Bezoek de pushbullet-instellingenpagina in uw account om een API-sleutel om https://github.com/rharder/asyncpushbullet. te gebruiken

Configureer uw pushbullet-listener.py-script om de juiste API en centrale dashboardhost te hebben

# uw API-sleutel van PushBullet.com API_KEY = "o. XXXYYYZZZ11122233344455666"

# dashboard centrale server host dashboardServer = 'MY-SERVER-HERE.com'

Stap 11: Voeg het script toe om te beginnen bij Dashboard Boot en start uw Dashboard Pi opnieuw op

$ 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

Stap 12: OPTIONEEL: Je eigen Nintendo-afbeeldingen maken om op het scherm weer te geven

Upload uw eigen 128x128-bestand naar de volgende URL:

www.digole.com/tools/PicturetoC_Hex_converter.php

Kies uw afbeeldingsbestand om te uploaden, voeg toe hoe groot u het op het scherm wilt hebben (Breedte/Hoogte)

Selecteer "256 kleuren voor OLED/LCD-kleuren (1 byte/pixel)" in de vervolgkeuzelijst "Gebruikt voor"

Verkrijg de hex-uitgang.

Voeg de hex-uitvoer toe aan een display/build/header (.h)-bestand, gebruik de andere als handleidingen voor syntaxis.

Voeg het nieuwe bestand toe aan het digole.c-bestand #include myimage.h

Voeg een nieuwe opdrachtregelhaak toe aan uw afbeeldingsbestand in de. Opmerking: het onderstaande commando zegt dat je je afbeelding moet tekenen op positie 10 pixels boven 10 pixels naar beneden. Je kunt het veranderen in verschillende X-, Y-coördinaten, je kunt ook de waarden 128, 128 wijzigen in de grootte van je nieuwe afbeelding.

} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableHere is gedefinieerd in uw (.h) bestand }

Herbouw nu (negeer de fouten) hieronder om uw nieuwe afbeelding te laten renderen met de volgende opdracht.

$./digole mijnafbeelding

Re-Building [Inbegrepen] Digole Display Driver voor uw optionele wijzigingen

$ cd weergeven/bouwen

$ gcc digole.c

$ mv a.uit../../digole

$ chmod +x../../digole

Stap 13: Klaar

Je bent klaar!

Aanbevolen: