Tweeting hamster kooi (6 / 7 stap)

Stap 6: Raspberry Pi (de code)


We krijgen nu dicht, uw hamster is bijna klaar om de wereld van sociale media. We hebben sensoren, servo's en camera's alles klaar, we moeten alleen haak ze aan de Raspberry Pi en vertel hen wat te doen. Ik ben terug gegaan door al de bestanden bij het project betrokken en vulde ze met commentaar waarin uitgelegd wat elk onderdeel van de code aan het doen is voor iemand van jullie die geïnteresseerd zijn.

Er is een eerlijke beetje van code die nodig is om dit project werken, dus ik heb het allemaal in een repository (repo) op GitHub. U kunt het opdrachtregelprogramma voor GitHub (genaamd git) installeren op uw pi tegen lopende naar de troepenleiding:

sudo ad rem-worden installeren git

We nu kunt git clone de repo op de pi (in feite we zult worden downloaden van alle bestanden op de pi samen met de juiste mapstructuur te maken ze allemaal werken (zie hierboven foto)). De volgende opdrachten moeten je instellen:

# cd naar de basismap

cd ~ /

# kloon repo

git clone git

Nu moet u alle code die je nodig hebt. We gewoon moeten controleren een paar variabelen zijn correct en omhoog de toegangstokens voor uw Twitter bots.

Twitter toegangstokens instellen

We moeten een nieuwe directory binnen het project krat

mkdir ~/IsMartinRunning/.secrets

Voorvoegsel van de naam van de map met een punt maakt het verborgen (u zal niet zitten kundig voor zien met 'ls' u zult moeten gebruiken 'ls - a'). Maak twee bestanden (één voor elk van uw Twitter bots) binnen deze map:

CD ~/IsMartinRuning/.secrets

Touch martinBot.access mentions.access

Nu moeten we in elk van deze bestanden om te zetten van de toegangsreferenties voor één van de Twitter bots. Met behulp van de eerste vier regels van het bestand te schrijven:

  • De sleutel van de consument
  • Het geheim van de consument
  • Het toegangstoken
  • De access token secret

U vindt deze waarden door gaan apps.twitter.com en gaan naar het tabblad 'Toetsen and toegangstokens' voor uw bot. We doen dit om veiligheidsredenen, het is volledig mogelijk om deze toetsen in de scripts zelf gewoon te schrijven, maar als u hen in een openbare repo (zoals ik) host iedereen plotseling heeft toegang tot uw twitter bots (dat is ongewenst).


Nu laten we gaan door de bestanden, kijk op wat ze doen en of zij moeten aanpassen.

MartinBot/MartinBot.py

Dit is een Python-script waarin de gegevens uit het wiel sensor dween als argument. Het neemt een foto met behulp van de webcam, gecontroleerd of dit nieuwe uitvoeren een van de vorige persoonlijke records slaat, construeert een passende tweet en gebruikt de python bibliotheek Twython te sturen.

Dit bestand heeft een beetje werk nodig. Allereerst moet we installeren de Twython bibliotheek. Dit kan gedaan worden met behulp van de python pakket manager pip. Dus echt dat eerst en vooral moeten we zult installeren pip :)

# installeren pip

sudo ad rem-worden installeren python-pip

# installeren met behulp van pip Twython

sudo pip installeren twython

Vervolgens moeten we ervoor zorgen dat het bestandspaden correct zijn. Lijnen 27, 40, 60 en 65 allemaal bestandspaden die juist zijn voor uw pi moeten (d.w.z. moet u wellicht de gebruikersnaam in het pad te wijzigen).

Tot slot zullen wij moeten zorg ervoor dat de seriële poort voor de webcam klopt (lijn 24'/ dev /video0'). U kunt dit controleren door het loskoppelen van de webcam van de pi, het uitvoeren de opdracht:

ls/dev

Vervolgens sluiten de webcam terug in en dezelfde opdracht opnieuw uit te voeren. Deze keer een nieuwe poort moet verschijnen en dit is degene die u wilt. We deze zelfde techniek gebruiken om te controleren de poorten van de Arduinos ook.

MartinBot/image.png

Dit is het beeld van dat de webcam neemt, klaar om te worden geüpload naar Twitter.

MartinBot/personal_bests

Dit bestand bevat de hoogste geregistreerde waarden voor gemiddelde snelheid en afstand. Het wordt gebruikt en bijgewerkt door het MartinBot.py script om nieuwe records te controleren.

MartinBot/wheel_listener.sh

Dit is een Bash-script dat lus zal continu luisteren naar het wiel sensing dween voor gegevens over een nieuwe run. Als het de gegevens ontvangt wordt uitgevoerd het MartinBot.py script passeren in de gegevens voor het te gebruiken.

De seriële poort op regel 15 ('/dev/ttyACM0') moet worden ingesteld op welke poort uw wiel sensor dween brandt (net als de webcam).

Het bestandspad op regel 19 moet correct.

circuit_diagrams / *

Dit zijn de schakelschema's voor zowel de dweens als de .fzz-bestanden die worden gebruikt om ze te maken met een programma genaamd Fritzing (het is handig).

Deze worden niet daadwerkelijk gebruikt zodat u niet hoeft te maken over hen. Net als ik al deze spullen bij elkaar te houden op GitHub.

get_mentions/get_mentions.py

Dit Python script is complexer dan de laatste. Het raakt van de Twitter API op zoek naar alle tweets dat '@IsMartinRunning noemen' (jouwe zal automatisch zoeken naar het Twitter handvat van welke account eigenaar is van de twitter bot). Het controleert om te zien of deze nieuwer is dan de meest recente gereageerd, deze nieuwe tweets dan krijgen searched voor zoekwoorden zoals 'weer', 'temperatuur' en 'behandelen'. Als een van deze woorden wordt aangetroffen een tweet antwoord moet worden gemaakt. Als ze een van de temperatuur van vochtigheid sleutelwoorden vermeld, stuurt het script een signaal naar de dween van de hdt_with_servo vragen om de gegevens van temperatuur/vochtigheid, als de tweet bevatte het sleutelwoord traktatie, het script stuurt een signaal naar de dween vertellen het activeren van de traktatie dispenser servo. Het script dan komt met een passend antwoord, het tweets en vervolgens bijgewerkt de meest recente tweet gereageerd.

De 'serial_path' variabele op lijn 55 moet verwijzen naar de juiste seriële poort voor de hdt_with_servo dween.

Het bestandspaden op lijnen 58, 92 en 145 moeten correct.

get_mentions/mention_listener.sh

Dit Bash-script wordt uitgevoerd het get_mentions.py script elke minuut (dit is zo vaak als de Twitter API zal toestaan).

De fie pad op regel 13 moet correct.

get_mentions/most_recent

Dit bestand bevat de tweet-id van de meest recente tweet op gereageerd door het get_mentions.py script. Dit is dus we alleen op tweets eens reageren.

schetsen / ** / *

Deze bestanden zijn de schetsen van de Arduino die nodig is om de sensoren en servo's werken.

Oef, weet ik het is een veel te denken over alles in één keer, maar wij zou nu moeten gebeuren. Volgende let's get deze scripts die worden uitgevoerd.

Gerelateerde Artikelen

Single Hamster kooi

Single Hamster kooi

ik heb een recente fish tank voor het maken van deze kooi. Dit is zeer eenvoudige hamster kooi. Meer volkeren met behulp van deze tank voor projecten. Heb je het?Stap 1: Hamsters in de enkele kooi ik denkt over mijn dieren. Zijn niet iets anders. Ove
How to Build een Guinea Pig Hamster kooi herenhuis

How to Build een Guinea Pig Hamster kooi herenhuis

Hallo! Ik doe alles voor mijn kleine edele 9 jaar oud en haar cavia LUCY. Ja, eerlijk... Ik maakte dit de dag voordat ik gevonden Instructables < niet bestemd voor hier > zodat ik kan haar nu een boomhut bouwen.  Ongelooflijk zo, ik merkte de Lievel
Hamster reizen kooi

Hamster reizen kooi

dit is een manier om een gemakkelijk reizen hamster kooi voor uw hamsters.Onderdelen die nodig zijn1 plastic jerrycan van Walmart1 draad prullenbak kan van dollar boomhete lijmpistoolschaarsnijden-tangensharpydat is alles.Stap 1: de bus klaar Eerste
Uw hamster het nieuwe home

Uw hamster het nieuwe home

deze kerst, kreeg ik een hamster van mijn vriendin!Ze is zo schattig en haar naam zijn Ramboia! Ik ben niet zeker als ze ia een Winter Wit Russische dwerg Hamster of een witte Campbell's, ik denk dat ik zal wachten tot het voorjaar om te zien als ze
Hamster Wheel Halloween Decor

Hamster Wheel Halloween Decor

Ik ben bezig met een Edwardian thema dit jaar. Ik had deze oude hamster kooi opknoping rond, dus ik heb geprobeerd om erachter te komen om iets te creëren voor Halloween. Dit is wat ik kwam met.Wat u zult moeten:1. hamster kooi (als je een hamster ge
De houwer van de hamster: Zwijgen het lawaaierige wiel - met Recycling!

De houwer van de hamster: Zwijgen het lawaaierige wiel - met Recycling!

Hamtaro, mijn Woestijndwerghamster is hierboven afgebeeld. Niet afgebeeld is haar zus, ook genaamd Hamtaro... omdat ze identiek zijn en ik kan niet ze elkaar vertellen. :)Hun kooi zit rechts naast mijn bureau is thuis, zodat we hangen kunnen terwijl
Zet uw Raspberry Pi in een Hamster Fitness Tracker

Zet uw Raspberry Pi in een Hamster Fitness Tracker

Heb je je ooit afgevraagd hoeveel uw hamster loopt gedurende de dag/nacht? Hoe ver? Hoe snel? Mijn 9 jaar oude dochter deed, en we besloten om uit te vinden. Turns out, was het een vrij gemakkelijk, en de resultaten waren ongelofelijk.Hier zijn de le
Hamster achthoekige wiel en play house

Hamster achthoekige wiel en play house

Deze hamster kooi is verbonden met de belangrijkste kooi met blauwe tunnels. Ik maakte dit voor mijn hamsters Chubbie, Tubbie en Newbornie.They zijn alle meisjes. Er zijn twee kooien in de afbeelding. Ik zet ze apart. Twee in één kooi en de andere al
Hamster bal Ice Cream Maker

Hamster bal Ice Cream Maker

hoewel ik dacht dit idee dat na het maken van mijn andere project (nog te worden voltooid... nog gerelateerde), één dag, als de creatieve fijnproever ik ben, ik merkte dat het ontwerp van de spelen en de bevriezing (die in feite een kunststof kooi en
Verhogen van gigantische vlinders zijde en

Verhogen van gigantische vlinders zijde en

Toen ik een kind was, vond ik een grote groene rups in de achtertuin die eruit zag als het had lieveheersbeestjes uit zijn rug groeien. Ik gebruikte mijn insecten boek te identificeren, en vond dat het de larven van de gigantische Cecropia-vlinder. D
Zombie Apocalypse Quarantine Compound

Zombie Apocalypse Quarantine Compound

We hebben enkele grote thema Halloween partijen gehad door de jaren heen, en we besloten dat 2015 het jaar van de Zombie-Apocalyps was. We hebben samengesteld een enkele Instructable tonen de hele "onderzoek faciliteit en quarantaine Compound":)
Een paar stukjes voor hamsters

Een paar stukjes voor hamsters

een paar uiteinden en trucs van de hamster bezitten van handelJa is de hamster in de foto mijn hamster. Haar naam is tammiStap 1: azijn Verspil geen geld aan dure "huisdier veilig" ontsmettingsmiddel. Ga en koop sommige witte azijn!Leeg het bedd
Muur van spek

Muur van spek

Zie Da spek op Da muur? Cedar spek. Er is geen doel aan deze te bouwen dan om een gigantische stuk spek te hangen of weergeven. Spek is echter een van de, zo niet de beste stof in de wereld. Ja ben ik in gesprek met u gesneden brood. Het gebeurt ook
Hendreds van toepassingen voor een paperclip

Hendreds van toepassingen voor een paperclip

Hi, hier zijn enkele toepassingen van een paperclip.h em houder cigar filter unstopperspray fles uncloggerbril reparatiehaar haarspeldjerits tabbladschone nagelsKerst ornament houderontstoppen van Elmer lijm fleskalender houderriemhoudernoodgevallen