Tabla de contenido:
- Paso 1: flashear el disco duro RaspberriPi / instalar el software requerido (usando Ubuntu Linux)
- Paso 2: Suministros necesarios
- Paso 3: construya y conecte el dispositivo
- Paso 4: utilizando una impresora 3D, imprima la cubierta, la caja y los paneles posteriores
- Paso 5: cableado de componentes
- Paso 6: conecte los componentes al robot
- Paso 7: Verifique la configuración de I2C
- Paso 8: instalación de DHT11
- Paso 9: Clonar repositorio
- Paso 10: agregue la API Pushbullet (usando Python 3.5)
- Paso 11: agregue el script para comenzar en el inicio del tablero y reinicie su Dashboard Pi
- Paso 12: OPCIONAL: Creación de sus propias imágenes de Nintendo para renderizar en la pantalla
- Paso 13: ¡Terminado
Video: ROBAR. Asistente de notificaciones telefónicas: 13 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Por khinds10www.kevinhinds.com Siga más por el autor:
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
RaspberriPi Zero
Humidistato DHT11
Luces LED (x4) Verde / Amarillo / Azul / Rojo Pantalla Digole de 2.6"
Paso 3: 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
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
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
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:
Enviar notificaciones de ThingSpeak a Mi Band 4: 6 pasos
Enviar notificaciones de ThingSpeak a Mi Band 4: desde que compré mi Xiaomi Mi Band 4, pensé en la posibilidad de rastrear algunos datos de mi estación meteorológica que están disponibles en ThingSpeak a través de Mi Band 4. Sin embargo, después de investigar un poco, descubrí que las capacidades de Mi Band 4 ar
Reciba notificaciones por correo electrónico de sus proyectos de IoT: 6 pasos
Reciba notificaciones por correo electrónico de sus proyectos de IoT: programe notificaciones por correo electrónico que conecten sus proyectos de IoT con Adafruit IO e IFTTT. He publicado algunos proyectos de IoT. Espero que las hayas visto, si no te invito a mi perfil y las revisas. Quería recibir algunas notificaciones cuando una variable
Cómo hacer llamadas telefónicas gratuitas con Skype: 4 pasos
Cómo hacer llamadas telefónicas gratuitas usando Skype: No estoy seguro de por qué estoy publicando esto, excepto por el hecho de que recuerdo los buenos viejos tiempos del teclado de marcación y otros antes del colapso tecnológico de principios de los 2000. Solía ser lo mejor del mundo hacer llamadas de larga distancia gratuitas desde cualquier empresa
Cómo robar un instructable: 9 pasos (con imágenes)
Cómo robar un Instructable: Robar Instructables es un método tradicional de recibir elogios y atención que las personas perezosas no recibirían de otra manera. Además, puede enviar un correo electrónico a sus amigos que normalmente no visitarían el sitio web y mostrarles todo el excelente trabajo que ha realizado
Cómo robar un instructable: 9 pasos
Cómo robar un Instructable: Robar Instructables es un método tradicional de recibir elogios y atención que las personas perezosas no recibirían de otra manera. Además, puede enviar un correo electrónico a sus amigos que normalmente no visitarían el sitio web y mostrarles todo el excelente trabajo que ha realizado