Tartalomjegyzék:

R.O.B. Telefonos értesítési asszisztens: 13 lépés
R.O.B. Telefonos értesítési asszisztens: 13 lépés

Videó: R.O.B. Telefonos értesítési asszisztens: 13 lépés

Videó: R.O.B. Telefonos értesítési asszisztens: 13 lépés
Videó: Kutyák - Belkovics Róbert - Telefonbetyár 2024, November
Anonim
R. O. B. Telefonos értesítési asszisztens
R. O. B. Telefonos értesítési asszisztens

Kövesse a szerző további információit:

Elpusztíthatatlan gyerek kanapé!
Elpusztíthatatlan gyerek kanapé!
Elpusztíthatatlan gyerek kanapé!
Elpusztíthatatlan gyerek kanapé!
Gyors és egyszerű falra szerelhető PC -k
Gyors és egyszerű falra szerelhető PC -k
Gyors és egyszerű falra szerelhető PC -k
Gyors és egyszerű falra szerelhető PC -k
Digitális kandalló képernyő
Digitális kandalló képernyő
Digitális kandalló képernyő
Digitális kandalló képernyő

Névjegy: 3D nyomtatás és RaspberryPI projektek tervezése néhány éve További információ a khinds10 -ről »

Asztali telefon értesítési asszisztense (R. O. B.) robot működtető haverjával

1. lépés: A RaspberriPi merevlemez villogása / a szükséges szoftver telepítése (Ubuntu Linux használatával)

Hozza létre új merevlemezét a DashboardPI számára

Helyezze be a microSD -t a számítógépbe USB -adapter segítségével, és hozza létre a lemezképet a dd paranccsal

Keresse meg a behelyezett microSD -kártyát a df -h paranccsal, távolítsa el, és hozza létre a lemezképet a disk copy dd paranccsal

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

$ umount /dev /sdb1

Vigyázat: győződjön meg arról, hogy a parancs teljesen pontos, ezzel a paranccsal más lemezeket is károsíthat

if = a RASPBIAN JESSIE LITE képfájl helye = a microSD -kártya helye

$ sudo dd bs = 4M if =/path/to/raspbian-jessie-lite.img of =/dev/sdb (megjegyzés: ebben az esetben a/dev/sdb, a/dev/sdb1 egy meglévő gyári partíció microSD)

A RaspberriPi beállítása

Helyezze be az új microSD -kártyát a raspberrypi -be, és kapcsolja be a HDMI -porthoz csatlakoztatott monitorral

Belépés

felhasználó: pi pass: málna

A biztonság érdekében módosítsa fiókja jelszavát

sudo passwd pi

Engedélyezze a RaspberriPi speciális beállításait

sudo raspi-config

Választ:

1 Bontsa ki a fájlrendszert

9 Speciális beállítások

A2 gazdagépnév "RobbieAssistant"

A4 SSH Az SSH szerver engedélyezése

A7 I2C Az i2c interfész engedélyezése

Engedélyezze az angol/amerikai billentyűzetet

sudo nano/etc/default/keyboard

Módosítsa a következő sort: XKBLAYOUT = "mi"

Indítsa újra a PI billentyűzetet a billentyűzetkiosztási változtatásokhoz / a fájlrendszer átméretezéséhez

$ sudo shutdown -r most

Automatikus csatlakozás a WiFi-hez

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Adja hozzá a következő sorokat, hogy a raspberrypi automatikusan csatlakozzon az otthoni WiFi -hez (ha a vezeték nélküli hálózat neve például "linksys", a következő példában)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD ITT"} Indítsa újra a PI -t, hogy csatlakozzon a WiFi hálózathoz

$ sudo shutdown -r most

Most, hogy a PI végre a helyi hálózaton van, távolról bejelentkezhet SSH -n keresztül. De először meg kell szereznie a jelenlegi IP -címet.

$ ifconfig Keresse meg az "inet addr: 192.168. XXX. XXX" parancsot a következő parancs kimenetében a PI IP -címéhez

Menjen egy másik gépre, és jelentkezzen be raspberrypi -jébe az ssh -n keresztül

$ ssh [email protected]. XXX. XXX

Kezdje el a szükséges csomagok telepítését

$ sudo apt-get frissítés

$ 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-kérések python3-setuptools python3-urllib python3-urllib3 python3-kérések vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip vim git pythone 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 telepítési kérések

Frissítse a helyi időzóna beállításait

$ sudo dpkg-reconfigure tzdata

az interfész segítségével válassza ki az időzónáját

Állítsa be az egyszerű könyvtár l parancsot [opcionális]

vi ~/.bashrc

add hozzá a következő sort:

alias l = 'ls -lh'

forrás ~/.bashrc

A VIM alapértelmezett szintaxis kiemelésének javítása [nem kötelező]

sudo vi/etc/vim/vimrc

szüntesse meg az alábbi sort:

szintaxis bekapcsolva

készítse el az alkalmazás naplók mappáját az mkdir/home/pi/RobbieAssistant/logs futtatásához

chmod 777/home/pi/RobbieAssistant/logs

Állítsa be az alkalmazást, hogy megfelelően fusson a settings.py konfigurációs fájlban Keresse meg a settings / Shadow.py fájlt a / / / mappában, és másolja át a settings.py mappába, és állítsa be az aktuális beállításokat

# prognoz.io API kulcs a helyi időjárási információkhoz

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

weatherAPIKey = 'AZ API KULCSA AZ ELŐREJELZÉSRE. IO'

# opcionális a távoli hőmérséklet/páratartalom naplózó futtatásához

dashboardServer = 'mydevicelogger.com'

# keressen a google -ban, hogy megkapja az otthoni szélességi/hosszúsági fokot

szélesség = 41,4552578

hosszúság = -72,1665444

2. lépés: Szükséges kellékek

Szükséges kellékek
Szükséges kellékek
Szükséges kellékek
Szükséges kellékek
Szükséges kellékek
Szükséges kellékek
Szükséges kellékek
Szükséges kellékek

RaspberriPi Zero

DHT11 párásító

LED -lámpák (x4) Zöld / Sárga / Kék / Piros 2,6 Digole kijelző

3. lépés: Az eszköz felépítése és bekötése

Az eszköz felépítése és vezetékezése
Az eszköz felépítése és vezetékezése

Készítse elő a Digole kijelzőt az i2C számára

A Digole kijelző hátoldalán forrasztja a jumpert, hogy hozzárendelje a kijelzőt az i2c protokoll használatához

4. lépés: 3D nyomtató használatával nyomtassa ki a borítót, a dobozt és a hátlapot

3D nyomtató használatával nyomtassa ki a borítót, a dobozt és a hátlapot
3D nyomtató használatával nyomtassa ki a borítót, a dobozt és a hátlapot

A következő X STL fájlok használatával a 3DPrint mappában az R. O. B. Robot, LED kábelköteg és kijelzőtartó

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

led-heveder-final.stl

MiniNintendoROB.zip

Robotnyomtató: Mini Nintendo R. O. B. - RabbitEngineering

www.thingiverse.com/thing:1494964

Vörös bürokráciát használtam, hogy a szemek vörösek legyenek a fekete védőháttérrel

5. lépés: Alkatrészek bekötése

Komponens huzalozás
Komponens huzalozás

Digole kijelző

GND -> GND

ADATOK -> SDA

CLK -> SCL

VCC -> 3V

DHT11 párásító

VCC -> 5V

GND -> GND

ADATOK -> GPIO 25

KÉK ellenállás

VCC -> GPIO 17 (270 ohmos ellenállással)

GND -> GND

SÁRGA ellenállás

VCC -> GPIO 13 (270ohm ellenállással)

GND -> GND

ZÖLD ellenállás

VCC -> GPIO 6 (270ohm ellenállással)

GND -> GND

VÖRÖS ellenállás

VCC -> GPIO 12 (270ohm ellenállással)

GND -> GND

PIROS pillanatnyi nyomógomb

VCC -> GPIO 16 (270ohm ellenállással)

GND -> GND

KÉK pillanatnyi nyomógomb

VCC -> GPIO 26 (270ohm ellenállással)

GND -> GND

6. lépés: Csatlakoztassa az alkatrészeket a robothoz

Csatlakoztassa az alkatrészeket a robothoz
Csatlakoztassa az alkatrészeket a robothoz
Csatlakoztassa az alkatrészeket a robothoz
Csatlakoztassa az alkatrészeket a robothoz
Csatlakoztassa az alkatrészeket a robothoz
Csatlakoztassa az alkatrészeket a robothoz

Miután kinyomtatta a képernyőtartót, csatlakoztassa a digole kijelzőhöz

Csatlakoztassa a kijelzőt az RPi -hez elegendő huzalozással, hogy az RPi -t a robot hátuljához ragaszthassa

Nyomtassa ki a vezérlőt, és kösse be a gombokat annyi vezetékkel, hogy a robot hátuljához érjen

Végezze el a robot bekötését és összeszerelését úgy, hogy az RPi csatlakozik a hátlaphoz, és a DHT11 ragasztva az aljához.

7. lépés: Ellenőrizze az I2C konfigurációt

Indítsa el a RaspberryPi készüléket, és győződjön meg arról, hogy az I2C busz felismeri az összes csatlakoztatott 7/14 szegmens kijelzőt. [minden kijelző egyedi címet kap a fent leírt módon, hogy hogyan forrasztja az egyes képernyők jumperjeit különböző kombinációkban]

Ha a kijelző jumperrel megfelelően van forrasztva, akkor a következő kimenettel kell rendelkeznie az i2cdetect parancshoz:

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. lépés: DHT11 telepítése

$ cd ~

$ git klón

$ cd Adafruit_Python_DHT/

$ sudo python setup.py install

$ sudo python ez_setup.py

$ cd példák/

$ vi simpletest.py Módosítsa a következő sort:

szenzor = Adafruit_DHT. DHT11

Kommentelje a sort

pin = 'P8_11'

Szüntesse meg a sor megjegyzését, és módosítsa a PIN -kódot 16 -ra

csap = 25

Futtassa a tesztet

python simpletest.py

A parancssorban megjelenik a hőmérséklet és páratartalom metrikus értéke.

9. lépés: A klónozás lerakata

$ cd ~ $ git klón

10. lépés: Pushbullet API hozzáadása (Python 3.5 használatával)

A telefonhoz tartozó pushbullet alkalmazással regisztráljon, hogy megkapja az API -kulcsot, hogy egy egyszerű python -szkripttel rendelkezzen, és képes legyen rögzíteni és leküldeni az adatközpont értesítéseit és jelzőfényeit

Telepítse a Python 3.5 -öt az asyncio funkcióhoz

$ 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 Ha az egyik csomag nem található, próbálkozzon egy újabb verziószámmal (pl. libdb5.4-dev a libdb5.3-dev helyett).

$ 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 make 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 Telepítse a python3 függőségeket

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 telepítési kérések Opcionális módszer Töltse le közvetlenül a python tárolót a python függőségek megszerzéséhez, pip telepítése nélkül

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Látogassa meg fiókja pushbullet beállításainak oldalát egy API kulcs a https://github.com/rharder/asyncpushbullet használatához

Állítsa be a pushbullet-listener.py szkriptet a megfelelő API és az irányítópult központi gazdagépéhez

# az Ön API kulcsa a PushBullet.com -tól API_KEY = "o. XXXYYYZZZ111222333444555666"

# műszerfal központi szerver hoszt dashboardServer = 'MY-SERVER-HERE.com'

11. lépés: Adja hozzá a szkriptet a Dashboard Boot indításához, és indítsa újra a Dashboard Pi -t

$ 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. lépés: VÁLASZTHATÓ: Saját Nintendo -képek létrehozása a kijelzőn megjeleníteni

Töltse fel saját 128x128 -as fájlját a következő URL -re:

www.digole.com/tools/PicturetoC_Hex_converter.php

Válassza ki a feltölteni kívánt képfájlt, és adja hozzá a kívánt méretet a képernyőn (szélesség/magasság)

Válassza a "256 szín a színes OLED/LCD (1 bájt/pixel)" lehetőséget a "Használt" legördülő menüben

Szerezze be a hexadecimális kimenetet.

Adja hozzá a hexadecimális kimenetet egy display/ build/ header (.h) fájlhoz, a többit használja útmutatóként a szintaxishoz.

Illessze be az új fájlt a digole.c fájlba #include myimage.h

Helyezzen be egy új parancssori horgot a képfájlba a. Megjegyzés: az alábbi parancs azt mondja, rajzolja le a képét 10 képpont fölött 10 képpont lefelé. Megváltoztathatja különböző X, Y koordinátákra, és megváltoztathatja a 128, 128 értékeket bármilyen méretűre is.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariable Itt van definiálva a (.h) fájlodban}

Most építse újra (figyelmen kívül hagyja a hibákat), hogy az új kép megjelenjen a következő paranccsal.

$./digole myimage

A Digole Display Driver újratelepítése [mellékelve] az opcionális változtatásokhoz

$ cd kijelző/build

$ gcc digole.c

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

$ chmod +x../../digole

13. lépés: Kész

Kész!

Ajánlott: