Përmbajtje:

R.O.B. Asistenti i Njoftimit të Telefonit: 13 Hapa
R.O.B. Asistenti i Njoftimit të Telefonit: 13 Hapa

Video: R.O.B. Asistenti i Njoftimit të Telefonit: 13 Hapa

Video: R.O.B. Asistenti i Njoftimit të Telefonit: 13 Hapa
Video: Exploring Chicago's Most Elegant Abandoned Bank 2024, Nëntor
Anonim
R. O. B. Asistenti i Njoftimit të Telefonit
R. O. B. Asistenti i Njoftimit të Telefonit

Nga khinds10www.kevinhinds.com

Shtrat i pathyeshëm për fëmijë!
Shtrat i pathyeshëm për fëmijë!
Shtrat i pathyeshëm për fëmijë!
Shtrat i pathyeshëm për fëmijë!
PC të shpejtë dhe të thjeshtë për montim në mur
PC të shpejtë dhe të thjeshtë për montim në mur
PC të shpejtë dhe të thjeshtë për montim në mur
PC të shpejtë dhe të thjeshtë për montim në mur
Ekran dixhital i fireplace
Ekran dixhital i fireplace
Ekran dixhital i fireplace
Ekran dixhital i fireplace

Rreth: Shtypja 3D dhe dizajnimi i projekteve RaspberryPI për disa vjet tani Më shumë Rreth khinds10 »

Asistenti i Njoftimit të Telefonit në Desktop Me Featuring (R. O. B.) Roboti Operating Buddy

Hapi 1: Ndezja e RaspberriPi Hard Disk / Instalimi i Softuerit të kërkuar (Përdorimi i Ubuntu Linux)

Krijoni hard diskun tuaj të ri për DashboardPI

Futni microSD në kompjuterin tuaj nëpërmjet përshtatësit USB dhe krijoni imazhin e diskut duke përdorur komandën dd

Gjeni kartën tuaj të futur microSD përmes komandës df -h, çmontoni atë dhe krijoni imazhin e diskut me komandën e diskut dd

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

$ umount /dev /sdb1

Kujdes: sigurohuni që komanda është plotësisht e saktë, mund të dëmtoni disqe të tjerë me këtë komandë

if = vendndodhja e skedarit të imazhit RASPBIAN JESSIE LITE e = vendndodhja e kartës tuaj microSD

$ sudo dd bs = 4M nëse =/path/to/raspbian-jessie-lite.img e =/dev/sdb (shënim: në këtë rast, është/dev/sdb,/dev/sdb1 ishte një ndarje ekzistuese e fabrikës në microSD)

Konfigurimi i RaspberriPi tuaj

Vendosni kartën tuaj të re microSD në mjedër dhe ndizeni atë me një monitor të lidhur me portën HDMI

Identifikohu

përdorues: pi kaloni: mjedër

Ndryshoni fjalëkalimin e llogarisë tuaj për siguri

sudo passwd pi

Aktivizo RaspberriPi Opsionet e Avancuara

sudo raspi-config

Zgjidhni:

1 Zgjero sistemin e skedarëve

9 Opsione të Avancuara

Emri i hostit A2 ndryshojeni atë në "RobbieAssistant"

A4 SSH Aktivizo serverin SSH

A7 I2C Aktivizo ndërfaqen i2c

Aktivizo tastierën angleze/amerikane

sudo nano/etc/default/tastierë

Ndryshoni rreshtin e mëposhtëm: XKBLAYOUT = "ne"

Rinisni PI për ndryshimet në paraqitjen e tastierës / ndryshimin e madhësisë së sistemit të skedarëve për të hyrë në fuqi

$ sudo mbyllje -r tani

Lidhu automatikisht me WiFi tuaj

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Shtoni rreshtat e mëposhtëm që raspberrypi juaj të lidhet automatikisht me WiFi -në e shtëpisë tuaj (nëse rrjeti juaj pa tel quhet "linksys" për shembull, në shembullin e mëposhtëm)

network = {ssid = "linksys" psk = "FALASJE E PALAS KITU"} Rinisni PI për t'u lidhur me rrjetin WiFi

$ sudo mbyllje -r tani

Tani që PI juaj është më në fund në rrjetin lokal, mund të regjistroheni nga distanca në të përmes SSH. Por së pari ju duhet të merrni adresën IP që ka aktualisht.

$ ifconfig Kërkoni për "inet addr: 192.168. XXX. XXX" në daljen e komandës së mëposhtme për adresën IP të PI -së tuaj

Shkoni në një makinë tjetër dhe identifikohuni në raspberrypi tuaj nëpërmjet ssh

$ ssh [email protected]. XXX. XXX

Filloni të instaloni paketat e kërkuara

$ sudo apt-merrni përditësim

$ sudo apt-get upgrade

$ sudo apt-get install build-thelbësore 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-kërkon python3-setuptools python3-urllib python3-urllib3 python3-kërkon vim git python-smbus i2c-tools python-imaging python-smbus build-thelbësore python-dev rpi.gpio python3 python3-pip vim git git git git python-imazhe python-smbus build-thelbësore python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-imaging python-smbus build-thelbësore python-dev rpi.gpio python3 python3-pip python -gpiozero python-psutil xz-utils

$ sudo pip kërkesa për instalim

Përditësoni cilësimet lokale të zonës kohore

$ sudo dpkg-rikonfiguroni tzdata

zgjidhni zonën tuaj kohore duke përdorur ndërfaqen

Vendosni drejtorinë e thjeshtë të komandës l [opsionale]

vi ~/.bashrc

shtoni rreshtin e mëposhtëm:

alias l = 'ls -lh'

burimi/.bashrc

Fiksoni theksimin e sintaksës së paracaktuar të VIM [opsionale]

sudo vi/etc/vim/vimrc

mos komentoni rreshtin e mëposhtëm:

sintaksë e aktivizuar

bëni dosjen e regjistrave për aplikacionin për të ekzekutuar mkdir/home/pi/RobbieAssistant/logs

chmod 777/home/pi/RobbieAssistant/shkrimet

Konfiguro aplikacionin që të ekzekutohet saktë në settings.py skedarin e konfigurimit Gjeni skedarin settings-shadow.py në dosjen / përfshin / të projektit dhe kopjojeni atë në settings.py dhe përshtatuni me cilësimet tuaja aktuale

# parashikimi.io çelësi API për informacionin lokal të motit

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

weatherAPIKey = 'Çelësi juaj i API -s për parashikimin. IO'

# opsional për drejtimin e regjistruesit të largët të temperaturës/lagështisë

dashboardServer = 'mydevicelogger.com'

# kërko në Google për të marrë gjerësinë gjeografike/gjatësinë gjeografike për vendndodhjen tuaj të shtëpisë

gjerësi gjeografike = 41.4552578

gjatësi gjeografike = -72.1665444

Hapi 2: Furnizimet e nevojshme

Furnizimet e nevojshme
Furnizimet e nevojshme
Furnizimet e nevojshme
Furnizimet e nevojshme
Furnizimet e nevojshme
Furnizimet e nevojshme
Furnizimet e nevojshme
Furnizimet e nevojshme

RaspberriPi Zero

DHT11 Humidistat

Dritat LED (x4) E gjelbër / E verdhë / Blu / E kuqe2.6 Dixholë

Hapi 3: Ndërtoni dhe lidhni pajisjen

Ndërtoni dhe lidhni pajisjen
Ndërtoni dhe lidhni pajisjen

Përgatitni ekranin Digole për i2C

Në anën e pasme të Digole Display, lidhni bluzën për të caktuar ekranin të përdorë protokollin i2c

Hapi 4: Duke përdorur një printer 3d, printoni kapakun, kutinë dhe panelet e pasme

Duke përdorur një printer 3d, printoni kapakun, kutinë dhe panelet e pasme
Duke përdorur një printer 3d, printoni kapakun, kutinë dhe panelet e pasme

Duke përdorur skedarët e mëposhtëm X STL në dosjen 3DPrint, R. O. B. Robot, parzmore LED dhe Mount Mount

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

led-parzmore-final.stl

MiniNintendoROB.zip

Robot Shtypur nga: Mini Nintendo R. O. B. - nga RabbitEngineering

www.thingiverse.com/thing:1494964

Kam përdorur shirit të kuq për t'i bërë sytë të kuq me sfondin e vizorit të zi

Hapi 5: Lidhja e Komponentit

Instalimet e Komponentit
Instalimet e Komponentit

Ekrani Digole

GND -> GND

T D DHNA -> SDA

CLK -> SCL

VCC -> 3V

DHT11 Humidistat

VCC -> 5V

GND -> GND

T D DHNA -> GPIO 25

Rezistencë blu

VCC -> GPIO 17 (me rezistencë 270ohm)

GND -> GND

Rezistencë e verdhë

VCC -> GPIO 13 (me rezistencë 270ohm)

GND -> GND

Rezistencë GREEN

VCC -> GPIO 6 (me rezistencë 270ohm)

GND -> GND

Rezistencë KUQ

VCC -> GPIO 12 (me rezistencë 270ohm)

GND -> GND

Butoni momental i KUQ

VCC -> GPIO 16 (me rezistencë 270ohm)

GND -> GND

Butoni momental BLUE

VCC -> GPIO 26 (me rezistencë 270ohm)

GND -> GND

Hapi 6: Lidhni Komponentët me Robotin

Lidhni Komponentët me Robotin
Lidhni Komponentët me Robotin
Lidhni Komponentët me Robotin
Lidhni Komponentët me Robotin
Lidhni Komponentët me Robotin
Lidhni Komponentët me Robotin

Pasi të keni shtypur mbajtësin e ekranit, lidheni atë me ekranin digole

Lidhni ekranin me RPi me tela të mjaftueshëm për të ngjitur RPi në pjesën e pasme të robotit

Shtypni kontrolluesin dhe lidhni butonat me tela të mjaftueshëm për të kaluar në pjesën e pasme të robotit

Përfundoni lidhjen dhe montimin e robotit me RPi të lidhur në anën e pasme dhe DHT11 të ngjitur në pjesën e poshtme

Hapi 7: Kontrolloni konfigurimin e I2C

Nisni RaspberryPi -n tuaj dhe sigurohuni që autobusi I2C të njohë të gjitha ekranet tuaja të lidhura të segmentit 7/14. [secilës ekran i jepet një adresë unike e përshkruar më sipër nga mënyra se si i lidhni kërcyesit e secilës ekran në kombinime të ndryshme]

Nëse e keni ekranin me bluzë të ngjitur siç duhet, duhet të keni daljen e mëposhtme për komandën i2cdetect:

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

Hapi 8: Instaloni DHT11

$ cd

klon $ git

$ cd Adafruit_Python_DHT/

$ sudo python setup.py install

$ sudo python ez_setup.py

$ cd shembuj/

$ vi simpletest.pyNdryshoni rreshtin e mëposhtëm:

sensor = Adafruit_DHT. DHT11

Komentoni rreshtin jashtë

pin = 'P8_11'

Mos komentoni rreshtin dhe ndryshoni numrin e kunjit në 16

pin = 25

Drejtoni testin

python simpletest.py

Ju duhet të shihni një lexim metrik të Temp dhe Lagështisë të shfaqur në rreshtin e komandës.

Hapi 9: Depo e klonimit

$ cd ~ $ git klon

Hapi 10: Shtoni Pushbullet API (duke përdorur Python 3.5)

Duke përdorur aplikacionin pushbullet për telefonin tuaj, regjistrohuni për të marrë një çelës API për të pasur një skript të thjeshtë python që të jetë në gjendje të kapë dhe shtyjë njoftimet e shpërndarësit të të dhënave dhe flamujt tregues

Instaloni Python 3.5 për funksionalitetin asyncio

$ sudo apt-merrni përditësim sudo apt-get install build-thelbësore 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 Nëse një nga paketat nuk mund të gjendet, provoni një numër versioni më të ri (p.sh. libdb5.4-dev në vend të 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 bëjë 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 Instaloni varësitë e python3

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 kërkesat e instalimit Mënyra opsionale Shkarkoni depon e python direkt për të marrë varësitë nga python pa përdorur pip që e instalon atë

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Vizitoni faqen e cilësimeve të pushbullet në llogarinë tuaj për të gjeneruar një Çelësi API për të përdorur

Konfiguroni skriptin tuaj pushbullet-listener.py që të ketë API-në e duhur dhe hostin qendror të pultit

# çelësi juaj API nga PushBullet.com API_KEY = "o. XXXYYYZZZ121222333444555666"

# dashboard serveri qendror host dashboardServer = 'MY-SERVER-HERE.com'

Hapi 11: Shtoni Script për të filluar në Dashboard Boot dhe Rinisni Panelin tuaj 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

Hapi 12: OPSIONALE: Krijimi i imazheve tuaja Nintendo për t’i bërë në ekran

Ngarko skedarin tuaj 128x128 në URL -në e mëposhtme:

www.digole.com/tools/PicturetoC_Hex_converter.php

Zgjidhni skedarin tuaj të imazhit për t'u ngarkuar, shtoni madhësinë që dëshironi të jetë në ekran (Gjerësia/Lartësia)

Zgjidhni "256 Color for Color OLED/LCD (1 bajt/pixel)" në zbritësen "Përdoret për"

Merrni daljen gjashtëkëndore.

Shtoni daljen gjashtëkëndore në një skedar të shfaqur/ ndërtuar/ kokë (.h), përdorni ato të tjera si udhëzues për sintaksën.

Përfshini skedarin e ri në skedarin digole.c #include myimage.h

Përfshini një goditje të re të linjës së komandës në skedarin tuaj të imazhit në. Shënim: komanda më poshtë po thotë vizatoni imazhin tuaj në pozicionin 10 piksel mbi 10 piksel poshtë. Mund ta ndryshoni në koordinata të ndryshme X, Y, gjithashtu mund të ndryshoni vlerat 128, 128 në çfarëdo madhësie që është imazhi juaj i ri në të vërtetë.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere është përcaktuar në skedarin tuaj (.h)}

Tani rindërtoni (injoroni gabimet) më poshtë që imazhi juaj i ri të shfaqet me komandën e mëposhtme.

$./dimale imazhi

Rindërtimi [i përfshirë] Drejtuesi i ekranit Digole për ndryshimet tuaja opsionale

$ cd display/build

$ gcc digole.c

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

$ chmod +x../../digole

Hapi 13: Përfundoi

Ju keni mbaruar!

Recommended: