Table des matières:

ROB. Assistant de notification par téléphone : 13 étapes
ROB. Assistant de notification par téléphone : 13 étapes

Vidéo: ROB. Assistant de notification par téléphone : 13 étapes

Vidéo: ROB. Assistant de notification par téléphone : 13 étapes
Vidéo: The Rob : coach des rappeurs, nouvelle vie à Marbella, divorce | @robtransformer EP78 2024, Juin
Anonim
ROB. Assistant de notification téléphonique
ROB. Assistant de notification téléphonique

Par khinds10www.kevinhinds.comSuivez plus par l'auteur:

Canapé d'enfant indestructible !
Canapé d'enfant indestructible !
Canapé d'enfant indestructible !
Canapé d'enfant indestructible !
PC à montage mural rapide et facile
PC à montage mural rapide et facile
PC à montage mural rapide et facile
PC à montage mural rapide et facile
Écran de cheminée numérique
Écran de cheminée numérique
Écran de cheminée numérique
Écran de cheminée numérique

À propos: Impression 3D et conception de projets RaspberryPI depuis quelques années maintenant En savoir plus sur khinds10 »

Assistant de notification par téléphone de bureau doté d'un partenaire d'exploitation robotique (ROB)

Étape 1: Clignotement du disque dur RaspberriPi / Installation du logiciel requis (à l'aide d'Ubuntu Linux)

Créez votre nouveau disque dur pour DashboardPI

Insérez la microSD dans votre ordinateur via un adaptateur USB et créez l'image disque à l'aide de la commande dd

Localisez votre carte microSD insérée via la commande df -h, démontez-la et créez l'image disque avec la commande disk copy dd

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

$ umount /dev/sdb1

Attention: assurez-vous que la commande est parfaitement exacte, vous pouvez endommager d'autres disques avec cette commande

if=emplacement du fichier image RASPBIAN JESSIE LITE of=emplacement de votre carte microSD

$ sudo dd bs=4M if=/path/to/raspbian-jessie-lite.img of=/dev/sdb (remarque: dans ce cas, il s'agit de /dev/sdb, /dev/sdb1 était une partition d'usine existante sur le microSD)

Configurer votre RaspberriPi

Insérez votre nouvelle carte microSD dans le raspberrypi et allumez-le avec un moniteur connecté au port HDMI

Connexion

utilisateur: pi pass: framboise

Changez le mot de passe de votre compte pour plus de sécurité

sudo passwd pi

Activer les options avancées de RaspberriPi

sudo raspi-config

Choisir:

1 Développez le système de fichiers

9 options avancées

Nom d'hôte A2 changez-le en "RobbieAssistant"

A4 SSH Activer le serveur SSH

A7 I2C Activer l'interface i2c

Activer le clavier anglais/américain

sudo nano /etc/default/keyboard

Modifiez la ligne suivante: XKBLAYOUT="us"

Redémarrez PI pour que les modifications de la disposition du clavier/le redimensionnement du système de fichiers prennent effet

$ sudo shutdown -r maintenant

Connexion automatique à votre WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Ajoutez les lignes suivantes pour que votre raspberrypi se connecte automatiquement à votre WiFi domestique (si votre réseau sans fil se nomme "linksys" par exemple, dans l'exemple suivant)

network={ ssid="linksys" psk="MOT DE PASSE SANS FIL ICI" } Redémarrez PI pour vous connecter au réseau WiFi

$ sudo shutdown -r maintenant

Maintenant que votre PI est enfin sur le réseau local, vous pouvez vous y connecter à distance via SSH. Mais vous devez d'abord obtenir l'adresse IP dont il dispose actuellement.

$ ifconfig Recherchez "inet addr: 192.168. XXX. XXX" dans la sortie de la commande suivante pour l'adresse IP de votre PI

Allez sur une autre machine et connectez-vous à votre raspberrypi via ssh

$ ssh [email protected]. XXX. XXX

Commencer l'installation des packages requis

$ 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 libgdbm-dev libsqlite3-dev libssl-dev libncurses5-dev libncursesw5-dev thonpython3-dev 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 python3 vim-gittool 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 python python3 python3 python -gpiozero python-psutil xz-utils

$ sudo pip demandes d'installation

Mettre à jour les paramètres de fuseau horaire local

$ sudo dpkg-reconfigurer tzdata

sélectionnez votre fuseau horaire à l'aide de l'interface

Configurez la commande simple directory l [facultatif]

vi ~/.bashrc

ajoutez la ligne suivante:

alias l='ls -lh'

source ~/.bashrc

Correction de la mise en évidence de la syntaxe par défaut de VIM [facultatif]

sudo vi /etc/vim/vimrc

décommentez la ligne suivante:

syntaxe sur

créer le dossier des journaux pour que l'application exécute mkdir /home/pi/RobbieAssistant/logs

chmod 777 /home/pi/RobbieAssistant/logs

Configurez l'application pour qu'elle s'exécute correctement dans le fichier de configuration settings.py Recherchez le fichier settings-shadow.py dans le dossier /includes/ du projet et copiez-le dans settings.py et ajustez-le à vos paramètres actuels

# Clé API Forecast.io pour les informations météorologiques locales

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

weatherAPIKey = 'VOTRE CLÉ API POUR FORECAST. IO'

# facultatif pour exécuter l'enregistreur de température/humidité à distance

dashboardServer = 'mydevicelogger.com'

# recherchez sur Google pour obtenir la latitude/longitude de votre domicile

latitude = 41.4552578

longitude = -72.1665444

Étape 2: Fournitures nécessaires

Fournitures nécessaires
Fournitures nécessaires
Fournitures nécessaires
Fournitures nécessaires
Fournitures nécessaires
Fournitures nécessaires
Fournitures nécessaires
Fournitures nécessaires

RaspberriPi Zero

Hygrostat DHT11

Lumières LED (x4) Vert / Jaune / Bleu / Rouge Écran Digole 2,6"

Étape 3: Construire et câbler l'appareil

Construire et câbler l'appareil
Construire et câbler l'appareil

Préparer l'écran Digole pour i2C

Au dos de l'écran Digole, soudez le cavalier pour affecter l'écran à utiliser le protocole i2c

Étape 4: À l'aide d'une imprimante 3D, imprimez la couverture, la boîte et les panneaux arrière

À l'aide d'une imprimante 3D, imprimez la couverture, la boîte et les panneaux arrière
À l'aide d'une imprimante 3D, imprimez la couverture, la boîte et les panneaux arrière

En utilisant les fichiers X STL suivants dans le dossier 3DPrint, R. O. B. Robot, harnais LED et support d'affichage

buttonContainer-base.stl

buttonContainer-lid.stl

displaymount-final.stl

led-harnais-final.stl

MiniNintendoROB.zip

Impression de robot par: Mini Nintendo R. O. B. - par RabbitEngineering

www.thingverse.com/thing:1494964

J'ai utilisé du ruban rouge pour rendre les yeux rouges avec le fond noir de la visière

Étape 5: Câblage des composants

Câblage des composants
Câblage des composants

Affichage Digole

GND -> GND

DONNÉES -> SDA

CLK -> SCL

VCC -> 3V

Hygrostat DHT11

VCC -> 5V

GND -> GND

DONNÉES -> GPIO 25

BLEU Résistance

VCC -> GPIO 17 (avec résistance 270ohm)

GND -> GND

JAUNE Résistance

VCC -> GPIO 13 (avec résistance 270ohm)

GND -> GND

VERT Résistance

VCC -> GPIO 6 (avec résistance 270ohm)

GND -> GND

Résistance ROUGE

VCC -> GPIO 12 (avec résistance 270ohm)

GND -> GND

Bouton poussoir momentané ROUGE

VCC -> GPIO 16 (avec résistance de 270 ohms)

GND -> GND

Bouton poussoir momentané BLEU

VCC -> GPIO 26 (avec résistance 270ohm)

GND -> GND

Étape 6: Connecter les composants au robot

Connecter les composants au robot
Connecter les composants au robot
Connecter les composants au robot
Connecter les composants au robot
Connecter les composants au robot
Connecter les composants au robot

Après avoir imprimé le support d'écran, connectez-le à l'écran digole

Connectez l'écran au RPi avec suffisamment de câblage pour coller le RPi à l'arrière du robot

Imprimez le contrôleur et câblez les boutons avec suffisamment de câblage pour le rendre à l'arrière du robot

Terminer le câblage et l'assemblage du robot avec le RPi connecté à l'arrière et le DHT11 collé au fond

Étape 7: Vérifiez la configuration I2C

Démarrez votre RaspberryPi et assurez-vous que le bus I2C reconnaît tous vos écrans de segment 7/14 connectés. [chaque écran reçoit une adresse unique décrite ci-dessus par la façon dont vous soudez les cavaliers de chaque écran dans différentes combinaisons]

Si l'écran avec le cavalier est correctement soudé, vous devriez avoir la sortie suivante pour la commande 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: -- -- -- -- -- -- -- --

Étape 8: Installer DHT11

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT/

$ sudo python setup.py installer

$ sudo python ez_setup.py

$ exemples de cd/

$ vi simpletest.pyModifiez la ligne suivante:

capteur = Adafruit_DHT. DHT11

Commentez la ligne

broche = 'P8_11'

Décommentez la ligne et remplacez le numéro de broche par 16

broche = 25

Exécutez le test

python simpletest.py

Vous devriez voir une lecture métrique de la température et de l'humidité affichée sur la ligne de commande.

Étape 9: Cloner le référentiel

$ cd ~$ git clone

Étape 10: ajouter l'API Pushbullet (à l'aide de Python 3.5)

À l'aide de l'application pushbullet pour votre téléphone, inscrivez-vous pour recevoir une clé API afin qu'un simple script python puisse capturer et envoyer des notifications de hub de données et des indicateurs d'indicateur

Installez Python 3.5 pour la fonctionnalité 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 l'un des packages est introuvable, essayez un numéro de version plus récent (par exemple libdb5.4-dev au lieu 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 Installer les dépendances python3

$ sudo apt-get install python3-setuptools sudo apt-get install python3-pip sudo pip3 install asyncpushbullet sudo pip3 install request Facultatif Téléchargez le référentiel python directement pour obtenir les dépendances python sans utiliser pip pour l'installer

git clone https://github.com/rharder/asyncpushbullet cd asyncpushbullet && sudo /usr/local/opt/python-3.5.2/bin/python3.5 setup.py install Visitez la page des paramètres pushbullet dans votre compte pour générer un Clé API à utiliser

Configurez votre script pushbullet-listener.py pour avoir la bonne API et l'hôte central du tableau de bord

# votre clé API de PushBullet.com API_KEY = "o. XXXYYYZZZ111222333444555666"

# hôte du serveur central de tableau de bord dashboardServer = 'MY-SERVER-HERE.com'

Étape 11: Ajoutez le script pour démarrer au démarrage du tableau de bord et redémarrez votre tableau de bord 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

Étape 12: FACULTATIF: créer vos propres images Nintendo à afficher sur l'écran

Téléchargez votre propre fichier 128x128 à l'URL suivante:

www.digole.com/tools/PicturetoC_Hex_converter.php

Choisissez votre fichier image à télécharger, ajoutez la taille que vous voulez qu'il soit à l'écran (Largeur/Hauteur)

Sélectionnez "256 couleurs pour la couleur OLED/LCD (1 octet/pixel)" dans la liste déroulante "Utilisé pour"

Obtenez la sortie hexadécimale.

Ajoutez la sortie hexadécimale à un fichier display/build/header (.h), utilisez les autres comme guides pour la syntaxe.

Incluez le nouveau fichier dans le fichier digole.c #include monimage.h

Incluez un nouveau hook de ligne de commande dans votre fichier image dans le fichier. Remarque: la commande ci-dessous indique de dessiner votre image à une position de 10 pixels sur 10 pixels vers le bas. Vous pouvez le changer en différentes coordonnées X, Y, vous pouvez également changer les valeurs 128, 128 quelle que soit la taille de votre nouvelle image.

} else if (strcmp(digoleCommand, "myimage") == 0) { drawBitmap256(10, 10, 128, 128, &myimageVariableHere, 0); // myimageVariableHere est défini dans votre fichier (.h) }

Reconstruisez maintenant (ignorez les erreurs) ci-dessous pour que votre nouvelle image soit rendue avec la commande suivante.

$./digole monimage

Reconstruction du pilote d'affichage Digole [Inclus] pour vos modifications facultatives

$ cd afficher/construire

$ gcc digole.c

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

$ chmod +x../../digole

Étape 13: Terminé

Vous avez terminé !

Conseillé: