INHOUDSOPGAWE:

R.O.B. Telefoonkennisgewingsassistent: 13 stappe
R.O.B. Telefoonkennisgewingsassistent: 13 stappe

Video: R.O.B. Telefoonkennisgewingsassistent: 13 stappe

Video: R.O.B. Telefoonkennisgewingsassistent: 13 stappe
Video: I Don't Want To Talk About It (from One Night Only! Rod Stewart Live at Royal Albert Hall) 2024, November
Anonim
R. O. B. Telefoonkennisgewingassistent
R. O. B. Telefoonkennisgewingassistent

Deur khinds10www.kevinhinds.com Volg meer deur die skrywer:

Onvernietigbare kinderbank!
Onvernietigbare kinderbank!
Onvernietigbare kinderbank!
Onvernietigbare kinderbank!
Vinnige en maklike muursteun -rekenaars
Vinnige en maklike muursteun -rekenaars
Vinnige en maklike muursteun -rekenaars
Vinnige en maklike muursteun -rekenaars
Digitale kaggel skerm
Digitale kaggel skerm
Digitale kaggel skerm
Digitale kaggel skerm

Oor: 3D -drukwerk en ontwerp van RaspberryPI -projekte nou al 'n paar jaar Meer oor khinds10 »

Kennisgewingassistent vir tafelrekenaars met (R. O. B.) robotiese bedieningsvriend

Stap 1: Knipper RaspberriPi -hardeskyf / installeer vereiste sagteware (met behulp van Ubuntu Linux)

Skep u nuwe hardeskyf vir DashboardPI

Plaas die microSD via u USB -adapter op u rekenaar en skep die skyfbeeld met die opdrag dd

Soek u ingevoegde microSD -kaart via die df -h -opdrag, ontkoppel dit en skep die skyfbeeld met die skyfkopie dd -opdrag

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

$ umount /dev /sdb1

Let op: maak seker dat die opdrag heeltemal akkuraat is; u kan ander skywe beskadig met hierdie opdrag

if = ligging van die RASPBIAN JESSIE LITE -prentlêer van = ligging van u microSD -kaart

$ sudo dd bs = 4M as =/path/to/raspbian-jessie-lite.img van =/dev/sdb (let wel: in hierdie geval is dit/dev/sdb,/dev/sdb1 'n bestaande fabriekspartisie op die microSD)

Stel u RaspberriPi op

Plaas u nuwe microSD -kaart in die raspberrypi en skakel dit aan met 'n monitor wat op die HDMI -poort gekoppel is

Teken aan

gebruiker: pi pas: framboos

Verander u rekeningwagwoord vir sekuriteit

sudo passwd pi

Aktiveer RaspberriPi Advanced Options

sudo raspi-config

Kies:

1 Brei lêerstelsel uit

9 Gevorderde opsies

A2 -gasheernaam verander dit na "RobbieAssistant"

A4 SSH Aktiveer SSH -bediener

A7 I2C Aktiveer i2c -koppelvlak

Aktiveer die Engels/Amerikaanse sleutelbord

sudo nano/etc/default/keyboard

Verander die volgende reël: XKBLAYOUT = "ons"

Herlaai PI vir veranderinge in die sleutelborduitleg / die grootte van die lêerstelsel tree in werking

$ sudo afsluit -r nou

Koppel outomaties aan u WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Voeg die volgende reëls by om u raspberrypi outomaties aan te sluit by u tuis -WiFi (as u draadlose netwerk byvoorbeeld "linksys" genoem word, in die volgende voorbeeld)

netwerk = {ssid = "linksys" psk = "DRAADLOSE WAGwoord HIER"} Herlaai PI om aan te sluit op WiFi -netwerk

$ sudo afsluit -r nou

Noudat u PI uiteindelik op die plaaslike netwerk is, kan u op afstand daaraan aanmeld via SSH. Maar eers moet u die IP -adres kry wat dit tans het.

$ ifconfig Soek vir "inet addr: 192.168. XXX. XXX" in die uitvoer van die volgende opdrag vir die IP -adres van u PI

Gaan na 'n ander masjien en meld aan by u raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Begin die vereiste pakkette installeer

$ 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 libncursesw5-dev libreadline6-dev python3-pip python3-versoeke python3-setuptools python3-urllib python3-urllib3 python3-versoeke vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip vim git python-bus 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 installeringsversoeke

Dateer plaaslike tydsone -instellings op

$ sudo dpkg-herkonfigureer tzdata

kies u tydsone met behulp van die koppelvlak

Stel die eenvoudige gids l -opdrag op [opsioneel]

vi ~/.bashrc

voeg die volgende reël by:

alias l = 'ls -lh'

bron ~/.bashrc

Los die standaard sintaksis -uitlig van VIM op [opsioneel]

sudo vi/etc/vim/vimrc

los die volgende reël op:

sintaksis op

maak die logboekmap vir die toepassing om mkdir/home/pi/RobbieAssistant/logs uit te voer

chmod 777/home/pi/RobbieAssistant/logs

Stel die program op om korrek te werk in settings.py config-lêer Soek die lêer settings-shadow.py in die / includes / folder van die projek en kopieer dit na settings.py en pas aan by u huidige instellings

# forecast.io API -sleutel vir plaaslike weerinligting

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

weatherAPIKey = 'JOU API -SLEUTEL VIR FORECAST. IO'

# opsioneel vir die gebruik van die afstandstemperatuur/humiditeitsregistreerder

dashboardServer = 'mydevicelogger.com'

# soek op google om die breedtegraad/lengtegraad vir u tuisligging te kry

breedtegraad = 41.4552578

lengtegraad = -72,1665444

Stap 2: Benodighede benodig

Benodighede benodig
Benodighede benodig
Benodighede benodig
Benodighede benodig
Benodighede benodig
Benodighede benodig
Benodighede benodig
Benodighede benodig

RaspberriPi Zero

DHT11 Humidistaat

LED -ligte (x4) Groen / geel / blou / rooi 2.6 Digole -skerm

Stap 3: Bou en bedraad die toestel

Bou en bedraad die toestel
Bou en bedraad die toestel

Berei die Digole -skerm vir i2C voor

Soldeer die trui aan die agterkant van die Digole -skerm om die skerm toe te wys om die i2c -protokol te gebruik

Stap 4: Druk die omslag, boks en agterpanele met 'n 3d -drukker

Druk die omslag, boks en agterpanele met 'n 3D -drukker
Druk die omslag, boks en agterpanele met 'n 3D -drukker

Gebruik die volgende X STL -lêers in die 3DPrint -lêergids, R. O. B. Robot, LED -tuig en skermhouer

knoppieContainer-base.stl

knoppieContainer-lid.stl

displaymount-final.stl

led-harnas-final.stl

MiniNintendoROB.zip

Robotafdruk deur: Mini Nintendo R. O. B. - deur RabbitEngineering

www.thingiverse.com/thing:1494964

Ek het rompslomp gebruik om die oë rooi te maak met die swart visor agtergrond

Stap 5: Bedrading van komponente

Bedrading van komponente
Bedrading van komponente

Digole Display

GND -> GND

DATA -> SDA

CLK -> SCL

VCC -> 3V

DHT11 Humidistaat

VCC -> 5V

GND -> GND

DATA -> GPIO 25

BLOU Weerstand

VCC -> GPIO 17 (met 270ohm weerstand)

GND -> GND

GEEL Weerstand

VCC -> GPIO 13 (met 270ohm weerstand)

GND -> GND

GROEN Weerstand

VCC -> GPIO 6 (met 270ohm weerstand)

GND -> GND

ROOI Weerstand

VCC -> GPIO 12 (met 270ohm weerstand)

GND -> GND

ROOI tydelike drukknop

VCC -> GPIO 16 (met 270ohm weerstand)

GND -> GND

BLOU kortstondige drukknop

VCC -> GPIO 26 (met 270ohm weerstand)

GND -> GND

Stap 6: Koppel komponente aan die robot

Koppel komponente aan die robot
Koppel komponente aan die robot
Koppel komponente aan die robot
Koppel komponente aan die robot
Koppel komponente aan die robot
Koppel komponente aan die robot

Koppel dit aan die digole -skerm nadat u die skermhouer gedruk het

Koppel die skerm aan die RPi met genoeg bedrading om die RPi aan die agterkant van die robot te plak

Druk die beheerder af en dra die knoppies met genoeg bedrading om aan die agterkant van die robot te kom

Voltooi die bedrading en montering van die robot met die RPi aan die agterkant gekoppel en die DHT11 aan die onderkant vasgeplak

Stap 7: Gaan die I2C -opset na

Begin u RaspberryPi en maak seker dat die I2C -bus al u gekoppelde 7/14 segmentskerms herken. [elke skerm kry 'n unieke adres wat hierbo beskryf word deur hoe u die springers van elke skerm in verskillende kombinasies soldeer]

As u die skerm met jumper korrek gesoldeer het, moet u die volgende uitvoer hê vir die i2cdetect -opdrag:

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 installeer

$ cd ~

$ git kloon

$ cd Adafruit_Python_DHT/

$ sudo python setup.py installeer

$ sudo python ez_setup.py

$ cd voorbeelde/

$ vi simpletest.py Verander die volgende reël:

sensor = Adafruit_DHT. DHT11

Lewer kommentaar op die reël

speld = 'P8_11'

Los die lyn op en verander die speldnommer na 16

speld = 25

Doen die toets

python simplestest.py

U moet 'n metrieke lesing van temperatuur en humiditeit op die opdragreël sien.

Stap 9: Kloonbewaarplek

$ cd ~ $ git kloon

Stap 10: Voeg Pushbullet API by (met behulp van Python 3.5)

Met die pushbullet -app vir u telefoon, meld u aan om 'n API -sleutel te ontvang om 'n eenvoudige python -script te hê om kennisgewings en aanwysersvlae van die datahub op te neem en te stoot

Installeer Python 3.5 vir asyncio -funksies

$ 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-dev sudo apt-get install libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev As een van die pakkette nie gevind kan word nie, probeer 'n nuwer weergawenommer (bv. libdb5.4-dev in plaas 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 maak 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 die python3 -afhanklikheid

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 installasie versoeke

git-kloon https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Besoek die pushbullet-instellingsbladsy in u rekening om 'n API -sleutel om https://github.com/rharder/asyncpushbullet te gebruik

Stel u pushbullet-listener.py-script op om die korrekte API en sentrale gasheer op die dashboard te hê

# u API -sleutel van PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

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

Stap 11: Voeg die script by om te begin by die opstart van die dashboard en herbegin u dashboard Pi

$ 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: OPSIONEEL: Maak u eie Nintendo -beelde om op die skerm weer te gee

Laai u eie 128x128 -lêer op na die volgende URL:

www.digole.com/tools/PicturetoC_Hex_converter.php

Kies u prentlêer om op te laai, voeg die grootte by wat u wil hê op die skerm (breedte/hoogte)

Kies "256 kleur vir kleur OLED/LCD (1 greep/pixel)" in die "Gebruik vir" -afrollys

Verkry die heksafvoer.

Voeg die hex -uitvoer by 'n display/ build/ header (.h) lêer, gebruik die ander as riglyne vir sintaksis.

Sluit die nuwe lêer in die digole.c -lêer in #include myimage.h

Sluit 'n nuwe haak van die opdragreël by u beeldlêer in die. Let wel: die onderstaande opdrag sê dat u u prent op posisie 10 pixels bo 10 pixels na onder moet trek. U kan dit verander na verskillende X-, Y -koördinate; u kan ook die waardes 128, 128 verander in watter grootte u nuwe beeld ook al is.

} anders if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, en myimageVariableHere, 0); // myimageVariableHere word gedefinieer in jou (.h) lêer}

Herbou (ignoreer die foute) hieronder om u nuwe beeld te laat weergee met die volgende opdrag.

$./digole myimage

Herbou [ingesluit] Digole Display Driver vir u opsionele veranderinge

$ cd vertoon/bou

$ gcc digole.c

$ mv a.out../../digole

$ chmod +x../../digole

Stap 13: klaar

Jy is klaar!

Aanbeveel: