INHOUDSOPGAWE:
- Stap 1: Knipper RaspberriPi -hardeskyf / installeer vereiste sagteware (met behulp van Ubuntu Linux)
- Stap 2: Benodighede benodig
- Stap 3: Bou en bedraad die toestel
- Stap 4: Druk die omslag, boks en agterpanele met 'n 3d -drukker
- Stap 5: Bedrading van komponente
- Stap 6: Koppel komponente aan die robot
- Stap 7: Gaan die I2C -opset na
- Stap 8: DHT11 installeer
- Stap 9: Kloonbewaarplek
- Stap 10: Voeg Pushbullet API by (met behulp van Python 3.5)
- Stap 11: Voeg die script by om te begin by die opstart van die dashboard en herbegin u dashboard Pi
- Stap 12: OPSIONEEL: Maak u eie Nintendo -beelde om op die skerm weer te gee
- Stap 13: klaar
Video: R.O.B. Telefoonkennisgewingsassistent: 13 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
Deur khinds10www.kevinhinds.com Volg meer deur die skrywer:
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
RaspberriPi Zero
DHT11 Humidistaat
LED -ligte (x4) Groen / geel / blou / rooi 2.6 Digole -skerm
Stap 3: 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
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
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 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:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies