Taula de continguts:

R.O.B. Assistent de notificacions per telèfon: 13 passos
R.O.B. Assistent de notificacions per telèfon: 13 passos

Vídeo: R.O.B. Assistent de notificacions per telèfon: 13 passos

Vídeo: R.O.B. Assistent de notificacions per telèfon: 13 passos
Vídeo: Оппенгеймер - Как Создавали ОРУЖИЕ Конца Света? [История в Личностях] 2024, De novembre
Anonim
R. O. B. Assistent de notificacions per telèfon
R. O. B. Assistent de notificacions per telèfon

Per khinds10www.kevinhinds.com Seguiu més per l'autor:

Sofà infantil indestructible!
Sofà infantil indestructible!
Sofà infantil indestructible!
Sofà infantil indestructible!
PCs de muntatge a paret fàcils i ràpids
PCs de muntatge a paret fàcils i ràpids
PCs de muntatge a la paret fàcils i ràpids
PCs de muntatge a la paret fàcils i ràpids
Pantalla de xemeneia digital
Pantalla de xemeneia digital
Pantalla de xemeneia digital
Pantalla de xemeneia digital

Quant a: Impressió 3D i disseny de projectes RaspberryPI des de fa uns anys Més informació sobre khinds10 »

Assistent de notificacions de telèfons d'escriptori amb un robot operatiu (R. O. B.)

Pas 1: parpellejar el disc dur RaspberriPi / instal·lar el programari necessari (mitjançant Ubuntu Linux)

Creeu el vostre nou disc dur per a DashboardPI

Introduïu la microSD a l'ordinador mitjançant un adaptador USB i creeu la imatge del disc mitjançant l'ordre dd

Localitzeu la targeta microSD inserida mitjançant l'ordre df -h, desmunteu-la i creeu la imatge del disc amb l'ordre copy copy dd

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

$ umount / dev / sdb1

Atenció: assegureu-vos que l'ordre és completament precisa, ja que podeu danyar altres discos amb aquesta ordre

if = ubicació del fitxer d'imatge RASPBIAN JESSIE LITE de = ubicació de la vostra targeta microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (nota: en aquest cas, és / dev / sdb, / dev / sdb1 era una partició de fàbrica existent a la microSD)

Configuració del vostre RaspberriPi

Inseriu la vostra nova targeta microSD al raspberrypi i enceneu-la amb un monitor connectat al port HDMI

iniciar Sessió

usuari: pi pass: gerd

Canvieu la contrasenya del vostre compte per seguretat

sudo passwd pi

Activeu les opcions avançades de RaspberriPi

sudo raspi-config

Trieu:

1 Amplieu el sistema de fitxers

9 Opcions avançades

Nom d'amfitrió A2 canvieu-lo per "RobbieAssistant"

A4 SSH Activa el servidor SSH

A7 I2C Activa la interfície i2c

Activeu el teclat anglès / nord-americà

sudo nano / etc / default / keyboard

Canvieu la línia següent: XKBLAYOUT = "nosaltres"

Reinicieu PI per canviar el disseny del teclat / canviar la mida del sistema de fitxers perquè tingui efecte

$ sudo shutdown -r ara

Connecteu-vos automàticament al vostre WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Afegiu les línies següents per fer que el vostre raspberrypi es connecti automàticament al WiFi de casa (si la vostra xarxa sense fils es diu "linksys", per exemple, a l'exemple següent)

network = {ssid = "linksys" psk = "CONTRASENYA SENSE FIL AQUÍ"} Reinicieu PI per connectar-vos a la xarxa WiFi

$ sudo shutdown -r ara

Ara que el vostre PI es troba finalment a la xarxa local, podeu iniciar la sessió remotament mitjançant SSH. Però primer heu d’obtenir l’adreça IP que té actualment.

$ ifconfig Cerqueu "inet addr: 192.168. XXX. XXX" a la sortida de l'ordre següent per a l'adreça IP del vostre PI

Aneu a una altra màquina i inicieu sessió al vostre raspberrypi mitjançant ssh

$ ssh [email protected]. XXX. XXX

Comenceu a instal·lar els paquets necessaris

$ 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-requests python3-setuptools python3-urllib python3-urllib3 python3-requests vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip vim git python-smbus 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

Sol·licituds d'instal·lació de $ sudo pip

Actualitzeu la configuració de la zona horària local

$ sudo dpkg-reconfigure tzdata

seleccioneu la vostra zona horària mitjançant la interfície

Configureu l'ordre del directori simple l [opcional]

vi ~ /.bashrc

afegiu la línia següent:

àlies l = 'ls -lh'

font ~ /.bashrc

Corregiu el ressaltat de la sintaxi per defecte de VIM [opcional]

sudo vi / etc / vim / vimrc

descomenteu la línia següent:

sintaxi activada

fes la carpeta de registres perquè l'aplicació executi mkdir / home / pi / RobbieAssistant / logs

chmod 777 / home / pi / RobbieAssistant / logs

Configureu l'aplicació perquè s'executi correctament al fitxer de configuració settings.py Cerqueu el fitxer settings-shadow.py a la carpeta / includes / del projecte i copieu-lo a settings.py i ajusteu-lo a la vostra configuració actual.

Clau API #ecast.io per obtenir informació meteorològica local

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

weatherAPIKey = 'LA SEVA CLAU D'API PER A FORECAST. IO'

# opcional per executar el registre de temperatura / humitat remot

dashboardServer = 'mydevicelogger.com'

# search google per obtenir la latitud / longitud de la ubicació de casa vostra

latitud = 41,4552578

longitud = -72,1665444

Pas 2: Subministraments necessaris

Subministraments necessaris
Subministraments necessaris
Subministraments necessaris
Subministraments necessaris
Subministraments necessaris
Subministraments necessaris
Subministraments necessaris
Subministraments necessaris

RaspberriPi Zero

Humidistat DHT11

Llums LED (x4) verd / groc / blau / vermell Pantalla Digol de 2,6"

Pas 3: Creeu i connecteu el dispositiu

Construeix i connecta el dispositiu
Construeix i connecta el dispositiu

Prepareu la pantalla Digole per a l’i2C

A la part posterior de la pantalla Digole, soldeu el pont per assignar la pantalla per utilitzar el protocol i2c

Pas 4: amb una impressora 3D, imprimiu la portada, la caixa i els panells posteriors

Amb una impressora 3D, imprimiu la portada, la caixa i els panells posteriors
Amb una impressora 3D, imprimiu la portada, la caixa i els panells posteriors

Utilitzant els fitxers X STL següents a la carpeta 3DPrint, R. O. B. Robot, arnès LED i muntatge de pantalla

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

led-harness-final.stl

MiniNintendoROB.zip

Robot Print de: Mini Nintendo R. O. B. - per RabbitEngineering

www.thingiverse.com/thing:1494964

Vaig fer servir la cinta vermella per fer que els ulls fossin vermells amb el fons de la visera negra

Pas 5: cablejat de components

Cablejat de components
Cablejat de components

Digole Display

GND -> GND

DADES -> SDA

CLK -> SCL

VCC -> 3V

Humidistat DHT11

VCC -> 5V

GND -> GND

DADES -> GPIO 25

Resistència BLAU

VCC -> GPIO 17 (amb resistència de 270ohm)

GND -> GND

Resistència GROC

VCC -> GPIO 13 (amb resistència de 270ohm)

GND -> GND

Resistència VERDA

VCC -> GPIO 6 (amb resistència de 270ohm)

GND -> GND

Resistència VERMELLA

VCC -> GPIO 12 (amb resistència de 270ohm)

GND -> GND

Polsador momentani VERMELL

VCC -> GPIO 16 (amb resistència de 270ohm)

GND -> GND

Polsador momentani BLAU

VCC -> GPIO 26 (amb resistència de 270ohm)

GND -> GND

Pas 6: connecteu components al robot

Connecteu components al robot
Connecteu components al robot
Connecteu components al robot
Connecteu components al robot
Connecteu components al robot
Connecteu components al robot

Després d'imprimir el suport de la pantalla, connecteu-lo a la pantalla del digol

Connecteu la pantalla al RPi amb un cablejat suficient per enganxar el RPi a la part posterior del robot

Imprimiu el controlador i connecteu els botons amb el cablejat suficient per arribar a la part posterior del robot

Acabar el cablejat i el muntatge del robot amb el RPi connectat a la part posterior i el DHT11 enganxat a la part inferior

Pas 7: comproveu la configuració I2C

Inicieu el vostre RaspberryPi i assegureu-vos que el bus I2C reconeix totes les pantalles del segment connectat 7/14. [cada pantalla té una adreça única descrita anteriorment per la manera de soldar els ponts de cada pantalla en diferents combinacions]

Si teniu la pantalla amb pont soldat correctament, hauríeu de tenir la sortida següent per a l'ordre 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: -- -- -- -- -- -- -- --

Pas 8: Instal·lació de DHT11

$ cd ~

$ git clon

$ cd Adafruit_Python_DHT /

Instal·lació de $ sudo python setup.py

$ sudo python ez_setup.py

$ cd exemples /

$ vi simpletest.py Canvieu la línia següent:

sensor = Adafruit_DHT. DHT11

Comenteu la línia

pin = 'P8_11'

Descomenteu la línia i canvieu el número del pin a 16

pin = 25

Executeu la prova

python simpletest.py

Hauríeu de veure una lectura mètrica de Temp i Humitat a la línia d'ordres.

Pas 9: clona el dipòsit

$ cd ~ $ git clon

Pas 10: afegiu l'API Pushbullet (mitjançant Python 3.5)

Mitjançant l’aplicació pushbullet per al vostre telèfon, registreu-vos per rebre una clau API per tenir un script Python senzill i poder capturar i enviar notificacions i indicadors del centre de dades

Instal·leu Python 3.5 per a la funcionalitat asyncio

$ 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 Si no es pot trobar un dels paquets, proveu un número de versió més recent (per exemple, libdb5.4-dev en lloc de 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 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 Instal·leu les dependències python3

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 peticions d'instal·lació Forma opcional Descarregueu directament el dipòsit de python per obtenir les dependències de python sense l'ús de pip que l'instal·li.

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Visiteu la pàgina de configuració de pushbullet al vostre compte per generar un Clau API per utilitzar

Configureu el vostre script pushbullet-listener.py per tenir l'API correcta i l'amfitrió central del tauler

# your API Key from PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

# dashboard central server host dashboardServer = 'MY-SERVER-HERE.com'

Pas 11: afegiu l'script per començar a l'arrencada del tauler i reinicieu el tauler de control 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

Pas 12: OPCIONAL: crear les vostres pròpies imatges de Nintendo per renderitzar-les a la pantalla

Pengeu el vostre propi fitxer de 128x128 a l'URL següent:

www.digole.com/tools/PicturetoC_Hex_converter.php

Trieu el fitxer d'imatge que voleu carregar, afegiu la mida que vulgueu a la pantalla (Amplada / Alçada)

Seleccioneu "256 colors per a color OLED / LCD (1 byte / píxel)" al menú desplegable "Utilitzat per"

Obteniu la sortida hexadecimal.

Afegiu la sortida hexadecimal a un fitxer display / build / header (.h), utilitzeu els altres com a guies de sintaxi.

Incloeu el fitxer nou al fitxer digole.c #include myimage.h

Incloeu un nou ganxo de línia d'ordres al fitxer d'imatge al fitxer. Nota: l'ordre següent diu dibuixar la imatge a la posició de 10 píxels per sobre de 10 píxels cap avall. Podeu canviar-lo a diferents coordenades X, Y, també podeu canviar els valors 128, 128 a la mida que tingueu realment la vostra nova imatge.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere es defineix al fitxer (.h)}

Ara torneu a crear (ignoreu els errors) que apareixen a continuació per fer que la vostra nova imatge es renderitzi amb l'ordre següent.

$./digole myimage

Reconstrucció [inclòs] Digole Display Driver per als vostres canvis opcionals

$ cd display / build

$ gcc digole.c

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

$ chmod + x../../digole

Pas 13: acabat

Ja has acabat!

Recomanat: