Tabla de contenido:

ROBAR. Asistente de notificaciones telefónicas: 13 pasos
ROBAR. Asistente de notificaciones telefónicas: 13 pasos

Video: ROBAR. Asistente de notificaciones telefónicas: 13 pasos

Video: ROBAR. Asistente de notificaciones telefónicas: 13 pasos
Video: Codigos de teléfono que nadie conoce! 2024, Noviembre
Anonim
ROBAR. Asistente de notificaciones telefónicas
ROBAR. Asistente de notificaciones telefónicas

Por khinds10www.kevinhinds.com Siga más por el autor:

¡Sofá infantil indestructible!
¡Sofá infantil indestructible!
¡Sofá indestructible para niños!
¡Sofá indestructible para niños!
PC de montaje en pared rápido y sencillo
PC de montaje en pared rápido y sencillo
PC de montaje en pared rápido y sencillo
PC de montaje en pared rápido y sencillo
Pantalla de chimenea digital
Pantalla de chimenea digital
Pantalla de chimenea digital
Pantalla de chimenea digital

Acerca de: Impresión 3D y diseño de proyectos RaspberryPI desde hace algunos años Más acerca de khinds10 »

Asistente de notificación de teléfono de escritorio con compañero de operación robótico (R. O. B.)

Paso 1: flashear el disco duro RaspberriPi / instalar el software requerido (usando Ubuntu Linux)

Cree su nuevo disco duro para DashboardPI

Inserte la microSD en su computadora a través del adaptador USB y cree la imagen del disco usando el comando dd

Localice su tarjeta microSD insertada a través del comando df -h, desmóntela y cree la imagen del disco con el comando disk copy dd

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

$ umount / dev / sdb1

Precaución: asegúrese de que el comando sea completamente preciso, puede dañar otros discos con este comando

if = ubicación del archivo de imagen RASPBIAN JESSIE LITE de = ubicación de su tarjeta microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (nota: en este caso, es / dev / sdb, / dev / sdb1 era una partición de fábrica existente en el microSD)

Configuración de su RaspberriPi

Inserte su nueva tarjeta microSD en el raspberrypi y enciéndalo con un monitor conectado al puerto HDMI

Acceso

usuario: pi pass: frambuesa

Cambie la contraseña de su cuenta por seguridad

sudo passwd pi

Habilitar las opciones avanzadas de RaspberriPi

sudo raspi-config

Escoger:

1 Expanda el sistema de archivos

9 Opciones avanzadas

A2 Nombre de host cámbielo a "RobbieAssistant"

A4 SSH Habilitar servidor SSH

A7 I2C Habilitar interfaz i2c

Habilitar el teclado inglés / estadounidense

sudo nano / etc / default / keyboard

Cambie la siguiente línea: XKBLAYOUT = "us"

Reinicie PI para que los cambios en la distribución del teclado o el cambio de tamaño del sistema de archivos surtan efecto

$ sudo shutdown -r ahora

Conéctese automáticamente a su WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Agregue las siguientes líneas para que su raspberrypi se conecte automáticamente al WiFi de su hogar (si su red inalámbrica se llama "linksys", por ejemplo, en el siguiente ejemplo)

network = {ssid = "linksys" psk = "CONTRASEÑA INALÁMBRICA AQUÍ"} Reinicie PI para conectarse a la red WiFi

$ sudo shutdown -r ahora

Ahora que su PI finalmente está en la red local, puede iniciar sesión de forma remota a través de SSH. Pero primero debe obtener la dirección IP que tiene actualmente.

$ ifconfig Busque "inet addr: 192.168. XXX. XXX" en la siguiente salida del comando para la dirección IP de su PI

Vaya a otra máquina e inicie sesión en su raspberrypi a través de ssh

$ ssh [email protected]. XXX. XXX

Comience a instalar los paquetes requeridos

$ 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-solicita python3-setuptools python3-urllib python3-urllib3 python3-solicita vim git python-smbus i2c-tools python-Imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip vim git python-smbus i2c-tools imagen de python python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev vim git python-smbus i2c-tools imagen de python python-smbus build-essential python-dev rpi.gpio python3 python3-pip python -gpiozero python-psutil xz-utils

$ sudo pip solicitudes de instalación

Actualizar la configuración de la zona horaria local

$ sudo dpkg-reconfigure tzdata

seleccione su zona horaria usando la interfaz

Configure el comando l del directorio simple [opcional]

vi ~ /.bashrc

agregue la siguiente línea:

alias l = 'ls -lh'

fuente ~ /.bashrc

Corregir el resaltado de sintaxis predeterminado de VIM [opcional]

sudo vi / etc / vim / vimrc

descomente la siguiente línea:

sintaxis activada

cree la carpeta de registros para que la aplicación ejecute mkdir / home / pi / RobbieAssistant / logs

chmod 777 / home / pi / RobbieAssistant / logs

Configurar la aplicación para que se ejecute correctamente en el archivo de configuración settings.py Busque el archivo settings-shadow.py en la carpeta / includes / del proyecto y cópielo en settings.py y ajústelo a su configuración actual

# Forecast.io Clave de API para información meteorológica local

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

weatherAPIKey = 'SU CLAVE API PARA PRONOSTICO. IO'

# opcional para ejecutar el registrador remoto de temperatura / humedad

dashboardServer = 'mydevicelogger.com'

# busca en google para obtener la latitud / longitud de la ubicación de tu casa

latitud = 41.4552578

longitud = -72.1665444

Paso 2: Suministros necesarios

Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios
Suministros necesarios

RaspberriPi Zero

Humidistato DHT11

Luces LED (x4) Verde / Amarillo / Azul / Rojo Pantalla Digole de 2.6"

Paso 3: construya y conecte el dispositivo

Construya y conecte el dispositivo
Construya y conecte el dispositivo

Prepare la pantalla Digole para i2C

En la parte posterior de la pantalla Digole, suelde el puente para asignar la pantalla para usar el protocolo i2c

Paso 4: utilizando una impresora 3D, imprima la cubierta, la caja y los paneles posteriores

Con una impresora 3D, imprima la cubierta, la caja y los paneles posteriores
Con una impresora 3D, imprima la cubierta, la caja y los paneles posteriores

Usando los siguientes archivos X STL en la carpeta 3DPrint, R. O. B. Robot, arnés de LED y soporte de pantalla

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

led-arnés-final.stl

MiniNintendoROB.zip

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

www.thingiverse.com/thing:1494964

Usé cinta roja para enrojecer los ojos con el fondo de la visera negra

Paso 5: cableado de componentes

Cableado de componentes
Cableado de componentes

Pantalla Digole

GND -> GND

DATOS -> SDA

CLK -> SCL

VCC -> 3 V

Humidistato DHT11

VCC -> 5 V

GND -> GND

DATOS -> GPIO 25

Resistencia AZUL

VCC -> GPIO 17 (con resistencia de 270 ohmios)

GND -> GND

Resistencia AMARILLA

VCC -> GPIO 13 (con resistencia de 270 ohmios)

GND -> GND

Resistencia VERDE

VCC -> GPIO 6 (con resistencia de 270 ohmios)

GND -> GND

Resistencia ROJA

VCC -> GPIO 12 (con resistencia de 270 ohmios)

GND -> GND

Botón pulsador momentáneo ROJO

VCC -> GPIO 16 (con resistencia de 270 ohmios)

GND -> GND

Botón pulsador momentáneo AZUL

VCC -> GPIO 26 (con resistencia de 270 ohmios)

GND -> GND

Paso 6: conecte los componentes al robot

Conecte los componentes al robot
Conecte los componentes al robot
Conecte los componentes al robot
Conecte los componentes al robot
Conecte los componentes al robot
Conecte los componentes al robot

Una vez que haya impreso el soporte de la pantalla, conéctelo a la pantalla digole

Conecte la pantalla al RPi con suficiente cableado para pegar el RPi a la parte posterior del robot.

Imprima el controlador y conecte los botones con suficiente cableado para llegar a la parte posterior del robot

Terminar de cableado y montaje del robot con el RPi conectado a la parte posterior y el DHT11 pegado a la parte inferior

Paso 7: Verifique la configuración de I2C

Inicie su RaspberryPi y asegúrese de que el bus I2C reconozca todas sus pantallas de segmento 7/14 conectadas. [a cada pantalla se le asigna una dirección única descrita anteriormente según la forma en que suelda los puentes de cada pantalla en diferentes combinaciones]

Si tiene la pantalla con el puente soldado correctamente, debería tener la siguiente salida para el comando 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: -- -- -- -- -- -- -- --

Paso 8: instalación de DHT11

$ cd ~

$ git clon

$ cd Adafruit_Python_DHT /

$ sudo python setup.py instalar

$ sudo python ez_setup.py

$ cd ejemplos /

$ vi simpletest.py Cambie la siguiente línea:

sensor = Adafruit_DHT. DHT11

Comenta la línea

pin = 'P8_11'

Descomente la línea y cambie el número de pin a 16

pin = 25

Ejecutar la prueba

python simpletest.py

Debería ver una lectura métrica de temperatura y humedad en la línea de comando.

Paso 9: Clonar repositorio

$ cd ~ $ git clon

Paso 10: agregue la API Pushbullet (usando Python 3.5)

Con la aplicación pushbullet para su teléfono, regístrese para recibir una clave de API para que un script de Python simple pueda capturar y enviar notificaciones del centro de datos y banderas indicadoras

Instale Python 3.5 para la funcionalidad 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 se puede encontrar uno de los paquetes, pruebe con un número de versión más reciente (por ejemplo, libdb5.4-dev en lugar 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 Instalar las dependencias de python3

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 install solicitudes Forma opcional Descargue el repositorio de python directamente para obtener las dependencias de python sin el uso de pip instalándolo

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Visite la página de configuración de pushbullet en su cuenta para generar una Clave de API para usar

Configure su script pushbullet-listener.py para tener la API correcta y el host central del tablero

# su clave de API de PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

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

Paso 11: agregue el script para comenzar en el inicio del tablero y reinicie su Dashboard 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

Paso 12: OPCIONAL: Creación de sus propias imágenes de Nintendo para renderizar en la pantalla

Sube tu propio archivo de 128x128 a la siguiente URL:

www.digole.com/tools/PicturetoC_Hex_converter.php

Elija su archivo de imagen para cargar, agregue el tamaño que desea que tenga en la pantalla (Ancho / Alto)

Seleccione "256 colores para OLED / LCD en color (1 byte / píxel)" en el menú desplegable "Usado para".

Obtenga la salida hexadecimal.

Agregue la salida hexadecimal a un archivo de visualización / compilación / encabezado (.h), use los otros como guías para la sintaxis.

Incluya el nuevo archivo en el archivo digole.c #include myimage.h

Incluya un nuevo enlace de línea de comando a su archivo de imagen en formato. Nota: el siguiente comando dice que dibuje su imagen en la posición 10 píxeles sobre 10 píxeles hacia abajo. Puede cambiarlo a diferentes coordenadas X, Y, también puede cambiar los valores 128, 128 al tamaño que tenga su nueva imagen.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere se define en su archivo (.h)}

Ahora reconstruya (ignore los errores) a continuación para que su nueva imagen se renderice con el siguiente comando.

$./digole myimage

Reconstrucción del controlador de pantalla Digole [incluido] para sus cambios opcionales

$ cd mostrar / construir

$ gcc digole.c

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

$ chmod + x../../digole

Paso 13: ¡Terminado

¡Estás terminado!

Recomendado: