Turinys:
- 1 veiksmas: mirksi „RaspberriPi“standusis diskas / įdiekite reikiamą programinę įrangą (naudojant „Ubuntu Linux“)
- 2 žingsnis: reikalingos medžiagos
- 3 žingsnis: sukurkite ir prijunkite įrenginį
- 4 veiksmas: naudodami 3D spausdintuvą, atspausdinkite dangtelį, dėžutę ir galines plokštes
- 5 žingsnis: komponentų prijungimas
- 6 žingsnis: Prijunkite komponentus prie roboto
- 7 veiksmas: patikrinkite I2C konfigūraciją
- 8 veiksmas: DHT11 įdiegimas
- 9 veiksmas: klonavimo saugykla
- 10 veiksmas: pridėkite „Pushbullet“API (naudodami „Python 3.5“)
- 11 veiksmas: pridėkite scenarijų, kad pradėtumėte paleisti prietaisų skydelį, ir iš naujo paleiskite prietaisų skydelį Pi
- 12 veiksmas: PASIRENKAMAS: sukurkite savo „Nintendo“vaizdus, kad jie būtų rodomi ekrane
- 13 žingsnis: Baigta
Video: R.O.B. Pranešimo telefonu asistentas: 13 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Sekite daugiau autoriaus:
Apie: 3D spausdinimas ir RaspberryPI projektų kūrimas jau kelerius metus Daugiau apie khinds10 »
Stalinio telefono pranešimų asistentas, kuriame yra (R. O. B.) robotas
1 veiksmas: mirksi „RaspberriPi“standusis diskas / įdiekite reikiamą programinę įrangą (naudojant „Ubuntu Linux“)
Sukurkite naują standųjį diską, skirtą „DashboardPI“
Įdėkite „microSD“į kompiuterį per USB adapterį ir sukurkite disko vaizdą naudodami komandą dd
Suraskite įdėtą „microSD“kortelę naudodami komandą df -h, atjunkite ją ir sukurkite disko atvaizdą naudodami komandą disk copy dd
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
Atsargiai: įsitikinkite, kad komanda yra visiškai tiksli, naudodami šią komandą galite sugadinti kitus diskus
if = RASPBIAN JESSIE LITE vaizdo failo vieta = jūsų „microSD“kortelės vieta
$ sudo dd bs = 4M, jei =/kelias/į/raspbian-jessie-lite.img iš =/dev/sdb (pastaba: šiuo atveju tai yra/dev/sdb,/dev/sdb1 buvo esamas gamyklos skaidinys „microSD“)
„RaspberriPi“nustatymas
Įdėkite naują „microSD“kortelę į avietę ir įjunkite ją naudodami monitorių, prijungtą prie HDMI prievado
Prisijungti
vartotojas: pi pass: avietė
Saugumo sumetimais pakeiskite paskyros slaptažodį
sudo passwd pi
Įgalinti „RaspberriPi“išplėstines parinktis
sudo raspi-config
Pasirinkite:
1 Išplėskite failų sistemą
9 Išplėstinės parinktys
A2 pagrindinio kompiuterio pavadinimą pakeiskite į „RobbieAssistant“
A4 SSH Įgalinti SSH serverį
A7 I2C Įgalinti i2c sąsają
Įgalinti anglų/JAV klaviatūrą
sudo nano/etc/default/klaviatūra
Pakeiskite šią eilutę: XKBLAYOUT = "mes"
Iš naujo paleiskite PI, kad pakeistumėte klaviatūros išdėstymą / pakeistumėte failų sistemos dydį
$ sudo išjungimas -r dabar
Automatinis prisijungimas prie „WiFi“
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Pridėkite šias eilutes, kad jūsų raspberrypi automatiškai prisijungtų prie jūsų namų „WiFi“(jei jūsų belaidis tinklas pavadintas „linksys“, pvz., Šiame pavyzdyje)
tinklas = {ssid = "linksys" psk = "BEVIELIS PASLAPTIS ČIA"} Iš naujo paleiskite PI, kad prisijungtumėte prie „WiFi“tinklo
$ sudo išjungimas -r dabar
Dabar, kai jūsų PI pagaliau yra vietiniame tinkle, galite prie jo prisijungti nuotoliniu būdu per SSH. Bet pirmiausia turite gauti dabartinį IP adresą.
$ ifconfig Ieškokite „inet addr: 192.168. XXX. XXX“šioje komandos išvestyje, skirtoje jūsų PI IP adresui
Eikite į kitą mašiną ir prisijunkite prie savo raspberrypi per ssh
$ ssh [email protected]. XXX. XXX
Pradėkite diegti reikiamus paketus
$ sudo apt-get atnaujinimas
$ sudo apt-get atnaujinimas
$ 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“užklausos „python3-setuptools“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 diegimo užklausos
Atnaujinkite vietinės laiko juostos nustatymus
$ sudo dpkg-reconfigure tzdata
naudodamiesi sąsaja pasirinkite savo laiko juostą
Nustatykite paprastą katalogo komandą l [neprivaloma]
vi ~/.bashrc
pridėkite šią eilutę:
slapyvardis l = 'ls -lh'
šaltinis ~/.bashrc
Ištaisykite numatytąjį VIM sintaksės paryškinimą [neprivaloma]
sudo vi/etc/vim/vimrc
nekomentuokite šios eilutės:
sintaksė įjungta
sukurkite žurnalų aplanką, kad programa paleistų mkdir/home/pi/RobbieAssistant/logs
chmod 777/home/pi/RobbieAssistant/logs
Konfigūruokite programą, kad ji tinkamai veiktų settings.py konfigūracijos faile Raskite failo settings-shadow.py aplanke / include / ir nukopijuokite jį į settings.py ir prisitaikykite prie dabartinių nustatymų
# prognozė.io API raktas vietinei orų informacijai
weatherAPIURL = 'https://api.forecast.io/forecast/'
weatherAPIKey = 'JŪSŲ API RAKTAS PROGNOZEI. IO'
# neprivaloma, norint paleisti nuotolinį temperatūros/drėgmės kaupiklį
dashboardServer = 'mydevicelogger.com'
# ieškokite „Google“, kad gautumėte savo namų vietos platumą/ilgumą
platuma = 41.4552578
ilguma = -72,1665444
2 žingsnis: reikalingos medžiagos
„RaspberriPi Zero“
DHT11 drėkintuvas
LED žibintai (x4) žalia / geltona / mėlyna / raudona 2,6 colių skaitmeninis ekranas
3 žingsnis: sukurkite ir prijunkite įrenginį
Paruoškite „Digole“ekraną „i2C“
„Digole“ekrano užpakalinėje dalyje lituokite trumpiklį, kad priskirtumėte ekraną naudoti „i2c“protokolą
4 veiksmas: naudodami 3D spausdintuvą, atspausdinkite dangtelį, dėžutę ir galines plokštes
Naudodami šiuos X STL failus aplanke 3DPrint, R. O. B. Robotas, LED laidai ir ekrano tvirtinimas
buttonContainer-base.stl
buttonContainer-lid.stl
displaymount-final.stl
led-pakinktai-final.stl
MiniNintendoROB.zip
Roboto spausdinimas: „Mini Nintendo R. O. B. - „RabbitEngineering“
www.thingiverse.com/thing:1494964
Aš panaudojau biurokratiją, kad akys būtų raudonos juodos spalvos skydeliu
5 žingsnis: komponentų prijungimas
„Digole“ekranas
GND -> GND
DUOMENYS -> SDA
CLK -> SCL
VCC -> 3V
DHT11 drėkintuvas
VCC -> 5V
GND -> GND
DUOMENYS -> GPIO 25
MĖLYNAS rezistorius
VCC -> GPIO 17 (su 270 omų rezistoriumi)
GND -> GND
GELTONAS rezistorius
VCC -> GPIO 13 (su 270 omų rezistoriumi)
GND -> GND
ŽALIAS rezistorius
VCC -> GPIO 6 (su 270 omų rezistoriumi)
GND -> GND
RAUDONAS rezistorius
VCC -> GPIO 12 (su 270 omų rezistoriumi)
GND -> GND
RAUDONAS momentinis mygtukas
VCC -> GPIO 16 (su 270 omų rezistoriumi)
GND -> GND
MĖLYNAS momentinis mygtukas
VCC -> GPIO 26 (su 270 omų rezistoriumi)
GND -> GND
6 žingsnis: Prijunkite komponentus prie roboto
Atspausdinę ekrano laikiklį, prijunkite jį prie „digole“ekrano
Prijunkite ekraną prie RPi pakankamai laidų, kad priklijuotumėte RPi prie roboto galo
Išspausdinkite valdiklį ir prijunkite mygtukus tiek, kad prijungtumėte prie roboto galo
Užbaikite prijungti ir surinkti robotą, kai RPi prijungtas prie nugaros ir DHT11 priklijuotas prie apačios
7 veiksmas: patikrinkite I2C konfigūraciją
Įjunkite RaspberryPi ir įsitikinkite, kad I2C magistralė atpažįsta visus prijungtus 7/14 segmento ekranus. [kiekvienam ekranui suteikiamas unikalus adresas, aprašytas aukščiau, kaip lituoti kiekvieno ekrano džemperius įvairiais deriniais]
Jei ekranas su trumpikliu yra lituojamas teisingai, komandai „i2cdetect“turėtų būti pateikta tokia išvestis:
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: -- -- -- -- -- -- -- --
8 veiksmas: DHT11 įdiegimas
$ cd ~
$ git klonas
$ cd „Adafruit_Python_DHT“/
$ sudo python setup.py įdiegti
$ sudo python ez_setup.py
$ cd pavyzdžiai/
$ vi simpletest.pyPakeiskite šią eilutę:
jutiklis = Adafruit_DHT. DHT11
Komentuokite eilutę
smeigtukas = 'P8_11'
Pašalinkite eilutę ir pakeiskite PIN kodą į 16
smeigtukas = 25
Paleiskite testą
python simpletest.py
Komandinėje eilutėje turėtumėte matyti metrinį temperatūros ir drėgmės rodmenį.
9 veiksmas: klonavimo saugykla
$ cd ~ $ git klonas
10 veiksmas: pridėkite „Pushbullet“API (naudodami „Python 3.5“)
Naudodamiesi savo telefono „pushbullet“programa, prisiregistruokite, kad gautumėte API raktą, kad galėtumėte turėti paprastą „python“scenarijų, kad būtų galima užfiksuoti ir stumti duomenų centro pranešimus ir indikatorių vėliavas
Įdiekite „Python 3.5“, kad gautumėte asyncio funkcionalumą
$ 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 Jei nepavyksta rasti vieno iš paketų, išbandykite naujesnį versijos numerį (pvz., vietoj libdb5.3-dev) libdb5.4-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 padaryti 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 Įdiekite „python3“priklausomybes
$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 įdiegti asyncpushbullet sudo pip3 diegimo užklausas Pasirinktinis būdas Atsisiųskite „python“saugyklą tiesiogiai, kad gautumėte „python“priklausomybes nenaudodami „pip“
git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Apsilankykite paskyros „pushbullet“nustatymų puslapyje, kad sukurtumėte API raktas, skirtas naudoti
Konfigūruokite „pushbullet-listener.py“scenarijų, kad jis turėtų tinkamą API ir informacijos suvestinės centrinį pagrindinį kompiuterį
# jūsų API raktas iš „PushBullet.com“API_KEY = "o. XXXYYYZZZ111222333444555666"
# prietaisų skydelio centrinio serverio prieglobos prietaisų skydelisServer = 'MY-SERVER-HERE.com'
11 veiksmas: pridėkite scenarijų, kad pradėtumėte paleisti prietaisų skydelį, ir iš naujo paleiskite prietaisų skydelį 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
12 veiksmas: PASIRENKAMAS: sukurkite savo „Nintendo“vaizdus, kad jie būtų rodomi ekrane
Įkelkite savo 128 x 128 failą į šį URL:
www.digole.com/tools/PicturetoC_Hex_converter.php
Pasirinkite norimą įkelti vaizdo failą, pridėkite, kokio dydžio norite jį rodyti ekrane (plotis/aukštis)
Išskleidžiamajame meniu „Naudojama“pasirinkite „256 spalvos, skirtos spalvotam OLED/LCD (1 baitas/pikselis)“.
Gaukite šešiakampę išvestį.
Pridėkite šešiakampę išvestį prie ekrano/ kūrimo/ antraštės (.h) failo, kitus naudokite kaip sintaksės vadovus.
Įtraukite naują failą į failą digole.c #include myimage.h
Į savo vaizdo failą įtraukite naują komandinės eilutės kabliuką. Pastaba: žemiau pateikta komanda sako, kad pieškite savo vaizdą 10 pikselių, o ne 10 pikselių žemyn. Galite pakeisti jį į skirtingas X, Y koordinates, taip pat galite pakeisti reikšmes 128, 128 į bet kokio dydžio jūsų naują vaizdą.
} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariable Čia apibrėžta jūsų (.h) faile}
Dabar atkurkite (nepaisykite klaidų), kad gautumėte naują vaizdą naudodami šią komandą.
$./digole myimage
Iš naujo sukurkite [įtraukta] „Digole“ekrano tvarkyklę, kad galėtumėte atlikti pasirinktinius pakeitimus
$ cd ekranas/kūrimas
$ gcc digole.c
$ mv a.out../../digole
$ chmod +x../../digole
13 žingsnis: Baigta
Baigėte!
Rekomenduojamas:
„Google“asistentas „Raspberry Pi“paprastu būdu: 15 žingsnių
„Google“padėjėjas „Raspberry Pi“lengvai: „Google“padėjėjas įjungtas „Raspberry Pi“Taigi, kaip visa tai įmanoma? Prieš kurį laiką „Google“išleido „pasidaryk pats“AI rinkinį, kurio numeris Nr. 57 iš „The Magpi“. Tai labai palengvino savo „Google“asistento sukūrimą, tačiau turint rankoje balso rinkinį
Daiktų daiktais pagrįsta skalbinių pranešimo sistema: 18 žingsnių
„IoT“pagrįsta skalbimo pranešimų sistema: „HiThis“instrukcijoje pateikiamas žingsnis po žingsnio įvadas, kaip sukurti skalbinių pranešimo apie internetą sistemą. Prietaisas pritvirtintas prie jūsų stalčių ir skalbinių maišelio. Demonstracijai čia pasiėmėme du stalčius ir vieną skalbinių maišelį. Tai nujaučia
Asmeninis anglų kalbos treneris - AI balso asistentas: 15 žingsnių
Asmeninis anglų kalbos treneris - AI balso asistentas: Šis projektas padės studentams, besiruošiantiems bet kokiam kalbos egzaminui, kur jie gali būti apmokyti bendraujant su „Snips AI“
Garažo parkavimo asistentas: 10 žingsnių (su nuotraukomis)
Garažo parkavimo asistentas: Sveiki visi, todėl …… turiu garaže pakabintą teniso kamuoliuką, kuris parodys, kur sustoti stovint garaže. (Žinai ….. tas, kuris nuolat kiša tau į galvą, kai vaikštai garaže!): OTai neišsprendžia
„Microbit“bėgimo asistentas su „Magic 8 Ball“: 10 žingsnių
„Microbit“bėgimo asistentas su „Magic 8 Ball“: ketiname koduoti „Bėgimo asistentą“su „Magic 8 Ball“, „Microbit“bėgimo asistentas yra puiki pagalba žmonėms, kurie daug bėgo, kartais bėgantiems ar net tiems, kurie tik pradėjo bėgti . Kartais reikia priimti sprendimus