Kazalo:

R.O.B. Pomočnik za obvestila telefona: 13 korakov
R.O.B. Pomočnik za obvestila telefona: 13 korakov

Video: R.O.B. Pomočnik za obvestila telefona: 13 korakov

Video: R.O.B. Pomočnik za obvestila telefona: 13 korakov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, September
Anonim
R. O. B. Pomočnik za obvestila po telefonu
R. O. B. Pomočnik za obvestila po telefonu

Avtor khinds10www.kevinhinds.comSledi več avtorja:

Neuničljiv otroški kavč!
Neuničljiv otroški kavč!
Neuničljiv otroški kavč!
Neuničljiv otroški kavč!
Hitri in enostavni osebni računalniki na steno
Hitri in enostavni osebni računalniki na steno
Hitri in enostavni osebni računalniki na steno
Hitri in enostavni osebni računalniki na steno
Digitalni zaslon za kamin
Digitalni zaslon za kamin
Digitalni zaslon za kamin
Digitalni zaslon za kamin

O: 3D tiskanje in oblikovanje projektov RaspberryPI že nekaj let Več o khinds10 »

Pomočnik za obvestila za namizni telefon z (R. O. B.) robotskim operativnim prijateljem

1. korak: utripanje trdega diska RaspberriPi / namestitev potrebne programske opreme (z uporabo Ubuntu Linux)

Ustvarite nov trdi disk za DashboardPI

Vstavite kartico microSD v računalnik prek adapterja USB in ustvarite podobo diska z ukazom dd

Poiščite vstavljeno kartico microSD z ukazom df -h, jo odstranite in ustvarite sliko diska z ukazom dd copy copy

$ df -h/dev/sdb1 7,4G 32K 7,4G 1%/mediji/XXX/1234-5678

$ umount /dev /sdb1

Pozor: preverite, ali je ukaz popolnoma natančen, s tem ukazom lahko poškodujete druge diske

if = lokacija slikovne datoteke RASPBIAN JESSIE LITE = lokacija vaše kartice microSD

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (opomba: v tem primeru je to/dev/sdb,/dev/sdb1 je bila obstoječa tovarniška particija na microSD)

Nastavitev vašega RaspberriPi

Novo kartico microSD vstavite v raspberrypi in jo vklopite z monitorjem, priključenim na vrata HDMI

Vpiši se

uporabnik: pi pass: malina

Zaradi varnosti spremenite geslo računa

sudo passwd pi

Omogoči dodatne možnosti RaspberriPi

sudo raspi-config

Izberite:

1 Razširite datotečni sistem

9 Napredne možnosti

Ime gostitelja A2 ga spremenite v "RobbieAssistant"

A4 SSH Omogoči strežnik SSH

A7 I2C Omogoči vmesnik i2c

Omogočite angleško/ameriško tipkovnico

sudo nano/etc/default/tipkovnica

Spremenite naslednjo vrstico: XKBLAYOUT = "mi"

Znova zaženite PI za spremembe postavitve tipkovnice / spreminjanje velikosti datotečnega sistema

$ sudo shutdown -r zdaj

Samodejna povezava z WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Dodajte naslednje vrstice, da se vaš raspberrypi samodejno poveže z vašo domačo WiFi (če je vaše brezžično omrežje na primer v naslednjem primeru imenovano "linksys")

network = {ssid = "linksys" psk = "TUKAJ BREZŽIČNA GESLO"} Znova zaženite PI za povezavo z omrežjem WiFi

$ sudo shutdown -r zdaj

Zdaj, ko je vaš PI končno v lokalnem omrežju, se lahko nanj na daljavo prijavite prek SSH. Najprej pa morate dobiti naslov IP, ki ga trenutno ima.

$ ifconfig Poiščite "inet addr: 192.168. XXX. XXX" v izhodu tega ukaza za IP naslov vašega PI

Pojdite na drug stroj in se prijavite v svoj raspberrypi prek ssh

$ ssh [email protected]. XXX. XXX

Začnite nameščati potrebne pakete

$ sudo apt-get posodobitev

$ sudo apt-get nadgradnja

$ sudo apt-get install build-bistven tk-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libncurses5-dev libncursesw5-dev pipdeb pip python3-zahteve python3-setuptools python3-urllib python3-urllib3 python3-zahteve vim git python-smbus i2c-tools python-imaging python-smbus build-bistven python-dev rpi.gpio python3 python3-pip ip-pip gim orodja python-imaging python-smbus build-bistven python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools python-slikanje python-smbus build-bistven python-dev rpi.gpio python3 python3 python3 -gpiozero python-psutil xz-utils

$ sudo pip zahteve za namestitev

Posodobite nastavitve lokalnega časovnega pasu

$ sudo dpkg-ponovno konfigurirajte tzdata

z vmesnikom izberite časovni pas

Nastavitev preprostega ukaza l imenika [neobvezno]

vi ~/.bashrc

dodaj naslednjo vrstico:

vzdevek l = 'ls -lh'

vir ~/.bashrc

Popravi označevanje privzete sintakse VIM [neobvezno]

sudo vi/etc/vim/vimrc

odkomentirajte naslednjo vrstico:

sintaksa vklopljena

naredite mapo dnevnikov za izvajanje aplikacije mkdir/home/pi/RobbieAssistant/logs

chmod 777/home/pi/RobbieAssistant/dnevniki

Konfigurirajte aplikacijo za pravilen zagon v nastavitveni datoteki settings.py Poiščite datoteko settings-shadow.py v mapi / includes / projekta in jo kopirajte v settings.py in se prilagodite trenutnim nastavitvam

# weather.io ključ API za lokalne vremenske informacije

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

weatherAPIKey = 'VAŠ KLJUČ ZA API ZA FORECAST. IO'

# neobvezno za zagon daljinskega zapisovalnika temp./vlažnosti

dashboardServer = 'mydevicelogger.com'

# poiščite google, da dobite zemljepisno širino/dolžino za vašo domačo lokacijo

zemljepisna širina = 41,4552578

zemljepisna dolžina = -72,1665444

2. korak: Potrebne zaloge

Potrebne zaloge
Potrebne zaloge
Potrebne zaloge
Potrebne zaloge
Potrebne zaloge
Potrebne zaloge
Potrebne zaloge
Potrebne zaloge

RaspberriPi nič

DHT11 Vlažilec

LED luči (x4) Zelena / rumena / modra / rdeča 2,6 -palčni zaslon z diagonalo

Korak: Zgradite in ožičite napravo

Sestavite in ožičite napravo
Sestavite in ožičite napravo

Pripravite zaslon Digole za i2C

Na hrbtni strani zaslona Digole spajkajte mostiček, da zaslonu dodeli uporabo protokola i2c

4. korak: S 3D tiskalnikom natisnite naslovnico, škatlo in hrbtne plošče

S 3D -tiskalnikom natisnite naslovnico, škatlo in hrbtne plošče
S 3D -tiskalnikom natisnite naslovnico, škatlo in hrbtne plošče

Z uporabo naslednjih datotek X STL v mapi 3DPrint R. O. B. Robot, LED pasovi in nosilec za zaslon

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

led-harness-final.stl

MiniNintendoROB.zip

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

www.thingiverse.com/thing:1494964

Z birokracijo sem naredil oči rdeče s črnim ozadjem vizirja

5. korak: ožičenje komponent

Komponentno ožičenje
Komponentno ožičenje

Zaslon Digole

GND -> GND

PODATKI -> SDA

CLK -> SCL

VCC -> 3V

DHT11 Vlažilec

VCC -> 5V

GND -> GND

PODATKI -> GPIO 25

MODRI Upor

VCC -> GPIO 17 (z uporom 270 ohmov)

GND -> GND

RUMENI Upor

VCC -> GPIO 13 (z uporom 270 ohmov)

GND -> GND

ZELEN Upor

VCC -> GPIO 6 (z uporom 270 ohmov)

GND -> GND

RDEČI Upor

VCC -> GPIO 12 (z uporom 270 ohmov)

GND -> GND

RDEČI trenutni gumb

VCC -> GPIO 16 (z uporom 270 ohmov)

GND -> GND

Modri trenutni gumb

VCC -> GPIO 26 (z uporom 270 ohmov)

GND -> GND

6. korak: Povežite komponente z robotom

Povežite komponente z robotom
Povežite komponente z robotom
Povežite komponente z robotom
Povežite komponente z robotom
Povežite komponente z robotom
Povežite komponente z robotom

Ko natisnete držalo zaslona, ga povežite z zaslonom digole

Priključite zaslon na RPi z dovolj ožičenja, da RPi prilepite na zadnjo stran robota

Natisnite krmilnik in ožičite gumbe z dovolj ožičenja, da pridejo na zadnjo stran robota

Dokončajte ožičenje in sestavljanje robota z RPi, priključenim na zadnji strani, in DHT11, prilepljenim na dno

7. korak: Preverite konfiguracijo I2C

Zaženite RaspberryPi in se prepričajte, da vodilo I2C prepozna vse vaše povezane zaslone segmentov 7/14. [vsak zaslon ima edinstven naslov, opisan zgoraj, kako spajkate skakalce vsakega zaslona v različnih kombinacijah]

Če imate pravilno spajkan zaslon z mostičkom, morate imeti za ukaz i2cdetect naslednji izhod:

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. korak: Namestite DHT11

$ cd ~

klon $ git

$ cd Adafruit_Python_DHT/

$ sudo python setup.py install

$ sudo python ez_setup.py

$ cd primeri/

$ vi simpletest.py Spremenite naslednjo vrstico:

senzor = Adafruit_DHT. DHT11

Komentirajte črto

pin = 'P8_11'

Odkomentirajte vrstico in spremenite številko PIN na 16

pin = 25

Zaženite test

python simpletest.py

V ukazni vrstici bi morali biti prikazani metrični odčitki Temp in Vlažnost.

9. korak: Kloniraj skladišče

klon $ cd ~ $ git

10. korak: Dodajte API Pushbullet (z uporabo Python 3.5)

Z aplikacijo pushbullet za telefon se prijavite, če želite prejeti ključ API, da bo preprost skript python lahko zajel in potisnil obvestila in zastavice indikatorja podatkovnega vozlišča

Namestite Python 3.5 za funkcijo asyncio

$ sudo apt-get update sudo apt-get install build-bistven 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 Če enega od paketov ni mogoče najti, poskusite z novejšo različico različice (npr. libdb5.4-dev namesto 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 naredi sudo make namesti 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 'vzdevek python35 = "/usr/local /opt/python-3.5.2/bin/python3.5 "'>>.bashrc echo' vzdevek idle35 ="/usr/local/opt/python-3.5.2/bin/python3.5 "'>>.bashrc Namestite odvisnosti python3

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 namestite asyncpushbullet sudo pip3 zahteve za namestitev Neobvezen način Prenesite shrambo python neposredno, da pridobite odvisnosti od pythona, ne da bi ga namestili pip

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Obiščite stran z nastavitvami pushbullet v svojem računu, da ustvarite Ključ API za uporabo

Konfigurirajte svoj skript pushbullet-listener.py tako, da ima pravilen API in osrednji gostitel nadzorne plošče

# vaš ključ API iz PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

# nadzorna plošča osrednjega strežnika dashboardServer = 'MY-SERVER-HERE.com'

11. korak: Dodajte skript za začetek pri zagonu nadzorne plošče in znova zaženite nadzorno ploščo 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. korak: NEOBVEZNO: Ustvarjanje lastnih slik Nintendo za upodabljanje na zaslonu

Naložite svojo datoteko velikosti 128 x 128 na naslednji URL:

www.digole.com/tools/PicturetoC_Hex_converter.php

Izberite slikovno datoteko za nalaganje, dodajte želeno velikost zaslona (širina/višina)

V spustnem meniju "Uporablja se za" izberite "256 barv za barvni OLED/LCD (1 bajt/slikovna pika)"

Pridobite šesterokotni izhod.

Dodajte šestnajstiški izhod v datoteko display/ build/ header (.h), druge uporabite kot vodila za sintakso.

Novo datoteko vključite v datoteko digole.c #include myimage.h

V slikovno datoteko vključite nov kavelj ukazne vrstice. Opomba: spodnji ukaz pravi, da narišite sliko na položaju 10 slikovnih pik nad 10 slikovnih pik navzdol. Lahko ga spremenite v različne koordinate X, Y, spremenite pa lahko tudi vrednosti 128, 128 na kakršno koli velikost vaše nove slike.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere je definirano v vaši (.h) datoteki}

Zdaj obnovite (prezrite napake) spodaj, da bo vaša nova slika upodobljena z naslednjim ukazom.

$./digole moja slika

Obnovite [Vključeno] gonilnik zaslona Digole za vaše izbirne spremembe

$ cd prikaz/izdelava

$ gcc digole.c

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

$ chmod +x../../digole

13. korak: Končano

Končali ste!

Priporočena: