Cage de hamster tweeting (6 / 7 étapes)

Étape 6: Raspberry Pi (le code)

Nous obtenons proches maintenant, ton hamster est presque prêt à entrer dans le monde des médias sociaux. Nous avons des capteurs, des servos et des caméras tout prêts, il suffit de les accrocher jusqu'à la Pi framboise et leur dire quoi faire. J’ai retourné à travers tous les fichiers impliqués dans le projet et les remplis de commentaires expliquant ce que chaque partie du code est fait pour ceux d'entre vous qui sont intéressés.

Il y a un peu de code nécessaire pour rendre ce projet fonctionne, donc je l’ai mis dans un référentiel (repo) sur GitHub. Vous pouvez installer l’outil de ligne de commande pour GitHub (appelé git) sur votre facture pro forma en exécutant la commande :

sudo apt-get install git

Nous pouvons maintenant utiliser git pour cloner le repo sur la pi (fondamentalement nous allons être télécharge tous les fichiers sur la pi ainsi que la structure de dossier approprié pour les rendre tous les travaux (voir photo ci-dessus)). Les commandes suivantes, vous devraient obtenir mis en place :

# cd vers le répertoire de base

CD ~ /

# cloner le repo

git clone git

Vous devriez maintenant avoir tout le code dont vous aurez besoin. Nous aurons besoin juste vérifier un couple de variables sont corrects et set up les jetons d’accès pour vos bots Twitter.

Mise en place de jetons d’accès twitter

Nous aurons besoin de créer un nouveau répertoire à l’intérieur du projet

mkdir ~/IsMartinRunning/.secrets

Faisant précéder le nom du répertoire avec un point en fait caché (vous ne serez pas capable de le voir avec '%.*ls', vous aurez besoin d’utiliser 'ls-a'). À l’intérieur de ce répertoire faire deux fichiers (un pour chacun de vos bots Twitter) :

CD ~/IsMartinRuning/.secrets

Contact martinBot.access mentions.access

Nous devons maintenant dans chacun de ces fichiers mettre les informations d’accès pour l’un des bots Twitter. En utilisant les quatre premières lignes de l’écriture de fichier :

  • La clé de la consommation
  • Le secret de la consommation
  • Le jeton d’accès
  • Le secret de jeton accès

Vous pouvez trouver ces valeurs en allant sur apps.twitter.com et allant dans l’onglet « Clés et jetons d’accès » pour votre bot. Nous faisons cela pour des raisons de sécurité, il est tout à fait possible d’écrire juste ces clés dans les scripts eux-mêmes, mais alors, si vous les hébergez dans un repo public (comme je le fais) chacun a soudainement accès à vos bots twitter (ce qui n’est pas souhaitable).


Maintenant, allons dans les fichiers, regardez ce qu’ils font et s’ils ont besoin de personnalisation.

MartinBot/MartinBot.py

Il s’agit d’un script Python qui prend les données de le dween de capteur de roue en tant qu’argument. Il prend une photo à l’aide de la webcam, vérifie si ce nouveau exécuter bat tout les records personnels précédents, construit un tweet appropriée et utilise la bibliothèque python Twython pour l’envoyer.

Ce fichier n’a un peu de travail. Tout d’abord, nous aurez besoin d’installer la bibliothèque Twython. Cela peut être fait à l’aide de la pip de gestionnaire de paquet python. Alors, vraiment, que tout d’abord, nous aurons besoin d’installer pip:)

# installer pip

sudo apt-get install python-pip

# installer Twython à l’aide de pip

sudo pip install twython

Ensuite, nous aurons besoin pour s’assurer que les chemins de fichier sont corrects. Lignes 27, 40, 60 et 65 ont des chemins d’accès qui doivent être correctes pour votre pi (c.-à-d. vous devrez peut-être modifier le nom d’utilisateur dans le chemin d’accès).

Enfin, nous aurons besoin pour s’assurer que le port série de la webcam est correcte (ligne 24'/ dev /video0'). Vous pouvez le vérifier en débranchant la webcam de la pi, la course la commande :

LS/dev

Puis brancher la webcam de retour dans et réexécuter la commande même. Cette fois, un nouveau port devrait apparaître et c’est celui que vous voulez. Nous allons utiliser cette même technique pour vérifier les ports de la Arduinos trop.

MartinBot/image.png

Il s’agit de l’image de que la webcam prend, prêts à être téléchargés sur Twitter.

MartinBot/personal_bests

Ce fichier contient les valeurs enregistrées plus hauts pour une vitesse moyenne et distance. Il est utilisé et mis à jour par le script MartinBot.py pour vérifier les nouveaux enregistrements.

MartinBot/wheel_listener.sh

Il s’agit d’un script Bash qui bouclera l’écoute en continu de la roue dween pour toutes les données sur un nouveau parcours de détection. Quand il obtient les données, il exécutera le script de MartinBot.py en transmettant les données pour qu’il puisse utiliser.

Le port série sur la ligne 15 ('/dev/ttyACM0') doit être réglé à tout port votre dween de capteur de roue est sur (tout comme la webcam).

Le chemin d’accès à la ligne 19 doit être correct.

circuit_diagrams / *

Ce sont les schémas pour les dweens ainsi que les fichiers de .fzz utilisés pour les créer avec un programme appelé Fritzing (c’est très utile).

Ceux-ci ne sont pas réellement utilisés donc vous n’avez pas besoin de s’inquiéter à leur sujet. Je voudrais juste garder toutes ces choses ensemble sur GitHub.

get_mentions/get_mentions.py

Ce script Python est plus complex que le précédent. Il frappe jusqu'à l’API Twitter vous cherchez les tweets qui mentionnent '@IsMartinRunning' (vôtre va automatiquement chercher la poignée Twitter de quelque compte possède le bot twitter). Ensuite, il vérifie pour voir si ceux-ci sont plus récents que celui plus récent il a répondu à ces nouveaux tweets, puis avoir cherché des mots-clés tels que «météo», «température» et «traiter». Si un de ces mots se trouvent qu'un tweet de réponse doit être créé. Si ils ont mentionné que de la température des mots-clés de l’humidité, le script envoie un signal à la dween de hdt_with_servo demandant pour les données de température/humidité, si le tweet contenait le mot clé régal, le script envoie un signal à le dween de dire les choses pour activer le servo distributeur de friandise. Le script puis arrive avec une réponse appropriée, tweets pour elle et puis met à jour les plus récentes ont répondu au tweet.

La variable 'serial_path' sur la ligne 55 doit se référer pour le port série correct pour la dween de hdt_with_servo.

Les chemins d’accès aux lignes 58, 92 et 145 doivent être corrects.

get_mentions/mention_listener.sh

Ce script Bash exécute le script de get_mentions.py chaque minute (c’est aussi souvent que l’API Twitter permettra).

Le chemin d’accès à la ligne 13 fie doit être correct.

get_mentions/most_recent

Ce fichier contient le tweet id du plus récent Tweet a répondu à par le script get_mentions.py . Il s’agit pour nous de répondre uniquement aux bips une fois.

croquis / ** / *

Ces fichiers sont les esquisses d’Arduino nécessaires pour rendre les capteurs et les servos fonctionnent.

Ouf, je sais il y a beaucoup à penser à tout d’un coup, mais nous devons le faire maintenant. Prochain nous allons obtenir ces scripts en cours d’exécution.

Articles Liés

Comment construire votre propre cage pour hamster.

Comment construire votre propre cage pour hamster.

je pense que les cages pour animaux sont trop petites pour satisfaire leur besoin d'espace. Bien sûr, je veux le meilleur pour mon petit animal de compagnie... alors j'ai décidé de faire un endroit où elle peut avoir du plaisir et être aussi sûr.Dans
Cage de hamster voyage

Cage de hamster voyage

il s'agit d'un moyen de faire une cage de hamster de voyage facile pour votre hamster.Pièces nécessaires1 cartouche en plastique de Walmart1 fil poubelle d'arbre dollarpistolet à colle chaudeciseauxpinces coupantessharpyC'est tout.Étape 1: préparer l
Simple Hamster Cage

Simple Hamster Cage

j'ai un aquarium récente pour la fabrication de cette cage. Il s'agit de la cage de hamster très simple. Plus les peuples à l'aide de ce réservoir pour tout projet. L'avez-vous ?Étape 1: Les hamsters dans la cage simple je pense à mes animaux. Ne son
Ton hamster de la nouvelle page d’accueil

Ton hamster de la nouvelle page d’accueil

ce Noël j'ai reçu un hamster de ma copine !Elle est si mignonne et son nom de son Ramboia ! Je ne sais pas si elle a ia un Hiver blanc : le Hamster nain russe ou un blanc de Campbell, je suppose que je vais attendre le printemps pour voir si elle cha
Quelques morceaux pour le hamster

Quelques morceaux pour le hamster

quelques trucs et astuces du hamster propriétaire de commerceOui, le hamster dans la photo est mon hamster. Son nom est tammiÉtape 1: vinaigre Ne pas gaspiller de l'argent sur désinfectant cher « pet safe ». Aller et acheter quelques vinaigre blanc !
Hamster Ball sorbetière

Hamster Ball sorbetière

bien que j'ai pensé à cette idée après avoir fait mon autre projet (à être complété... encore associés), un jour, comme les gourmets créative, je suis, j'ai remarqué que la conception de la pièce et le gel (qui est en fait une cage en plastique et un
Transformez votre Pi framboise en un Hamster Fitness Tracker

Transformez votre Pi framboise en un Hamster Fitness Tracker

Avez-vous déjà demandé à quel point votre hamster s'exécute tout au long de la journée/nuit ? Dans quelle mesure ? À quelle vitesse ? Ma fille de 9 ans a fait, et nous avons décidé de découvrir. Tourne, il était assez facile, et les résultats étaient
Hamster de Mongolie

Hamster de Mongolie

une couple de mois, j'ai acquis un hamster de Roborovski. J'ai cédé, malgré la prestation de serment que je ne tiendrai jamais rongeurs à nouveau. Ces petits yeux sombres et humides, comme les perles jet, est la chose qui rend les rongeurs si diffici
Hamster Hack : Faire taire la bruyante roue - recyclage !

Hamster Hack : Faire taire la bruyante roue - recyclage !

Sur la photo ci-dessus est Hamtaro, mon Hamster de Roborovski . Ne pas sur la photo est sa sœur, également nommée Hamtaro... car ils sont identiques et je ne peux pas les distinguer. :)Leur cage est assis juste à côté de mon bureau à la maison, donc
Élever des papillons de soie géants

Élever des papillons de soie géants

Quand j'étais gamin, j'ai trouvé une énorme chenille verte dans l'arrière-cour qui ressemblait il avait des coccinelles qui sortent de son dos. J'ai utilisé mon livre insecte pour l'identifier et trouvé que c'était les larves de la Saturnie cécropia
Bacon de mur

Bacon de mur

Voir bacon Da Da mur ? Bacon de cèdre. Il n'y a aucun but à cette construction autre que de faire un morceau géant de bacon à accrocher ou afficher. Cependant, bacon est l'un des, sinon le meilleur fond dans le monde. Oui, je parle à votre pain tranc
Hendreds d’utilisations pour un trombone

Hendreds d’utilisations pour un trombone

Salut Voici quelques utilisations d'un trombone.titulaire d'em h cigar filtre unstopperunclogger flacon vaporisateurréparation de lunettesbarrette de cheveuxonglet de fermeture à glissièreongles propresTitulaire d'ornement de Noëldéboucher la bouteil
Hamster « Bin Cage » tutoriel

Hamster « Bin Cage » tutoriel

Bin cages sont un moyen bon marché et facile de faire un cadre de vie très-convient pour tous les hamsters. Plutôt que de dépenser $40 + sur l'atroce Habitrail ou Crittertrail lignes (ou configurations similaires), vous pourriez dépenser le même mont
Comment construire un manoir Guinea Pig Hamster Cage

Comment construire un manoir Guinea Pig Hamster Cage

Bonjour ! Je ferais n'importe quoi pour mon précieux petit âgé de 9 an et sa LUCY de cobaye. Oui, honnêtement... J'ai fait ce la veille, j'ai trouvé Instructables < pas destiné pour ici > donc je peux maintenant lui construire un Treehouse.  Étonnam