Tweeting hamster bur (6 / 7 steg)

Steg 6: Raspberry Pi (koden)



Vi får nära nu, din hamster är nästan redo att komma in i sociala medier. Vi har sensorer, servon och kameror alla redo, vi behöver bara koppla in dem till Raspberry Pi och berätta för dem vad de ska göra. Jag har gått tillbaka genom alla filer är involverade i projektet och fyllt dem med kommentarer förklarar vad varje del av koden gör för någon av er som är intresserade.

Det finns en hel del kod krävs för att göra detta projekt fungerar, så jag har lagt det i en databas (repo) på GitHub. Du kan installera kommandoradsverktyget för GitHub (kallas git) på din pi genom att köra kommandot:

sudo lämplig-få installera git

Vi kan nu använda git för att klona repo på pi (i princip vi ska ladda ner alla filer på pi och vilken rätt mappstruktur att göra dem alla (se bilden ovan)). Följande kommandon bör få dig ställa in:

# cd till arbetskatalogen

CD ~ /

# klon repo

git clone git

Du bör nu ha alla koden du behöver. Vi behöver bara kolla ett par variabler är korrekta och Ställ upp åtkomsttoken för din Twitter bots.

Ställa in twitter åtkomst-token

Vi kommer att behöva spjällådan en ny katalog i projektet

mkdir ~/IsMartinRunning/.secrets

Skapar prefix katalognamnet med en prick gör det dolda (du kommer inte att kunna se den med "ls" måste du använda "ls - en"). Göra två filer (en för varje din Twitter bots) inne i denna katalog:

CD ~/IsMartinRuning/.secrets

Touch martinBot.access mentions.access

Nu i var och en av dessa filer behöver vi sätta autentiseringsuppgifter för en av Twitter robotar. Med de fyra första textraderna av filen skriver:

  • Konsument-nyckeln
  • Konsumenten hemligheten
  • Åtkomst-token
  • Tillgång token hemligheten

Du hittar dessa värden genom att gå till apps.twitter.com och gå till fliken "Nycklar och åtkomst-token" för din bot. Vi gör detta av säkerhetsskäl, det är helt möjligt att bara skriva dessa nycklar i skript sig, men sedan om du är värd dem i en offentlig reporäntan (som jag gör) alla har plötsligt tillgång till din twitter bots (vilket inte är önskvärt).


Nu låt oss gå igenom filerna, titta på vad de gör och om de behöver anpassa.

MartinBot/MartinBot.py

Detta är ett Python-skript som tar data från hjulet sensor dween som ett argument. Det tar en bild med webbkameran, kontrollerar huruvida detta nya kör slår någon av de tidigare personliga rekord, konstruerar en lämplig tweet och använder python biblioteket Twython för att skicka den.

Denna filen behöver lite arbete. Först och främst måste vi installera Twython biblioteket. Detta kan göras med hjälp av python paketet manager pip. Så egentligen det första vi måste du installera pip :)

# installera pip

sudo lämplig-få installera python-pip

# installera Twython med pip

sudo pip installera twython

Nästa måste vi du kontrollera att filsökvägar är korrekta. Linje 27, 40, 60 och 65 har sökvägar som måste vara korrekt för din pi (dvs du kan behöva ändra användarnamnet i sökvägen).

Slutligen behöver vi se till den seriella porten för webbkameran är korrekt (linje 24'/dev/video0"). Du kan kontrollera detta genom att dra ut WebCamen från pi, kör kommandot:

LS/dev

Sedan ansluta webbkameran tillbaka i och kör kommandot igen. Denna gången en ny port ska dyka upp och det är den du vill ha. Vi kommer att använda denna samma teknik till check Arduinos hamnar alltför.

MartinBot/image.png

Detta är den bild som webbkameran tar, redo för att laddas upp till Twitter.

MartinBot/personal_bests

Filen innehåller de högsta registrerade värdena för genomsnittliga hastighet och avstånd. Det används och uppdateras av skriptet MartinBot.py för nya poster.

MartinBot/wheel_listener.sh

Detta är ett Bash script som kommer loopas kontinuerligt lyssna på hjulet avkänning dween för alla uppgifter om en ny körning. När det blir uppgifterna kommer det kör skriptet MartinBot.py passerar i data för att använda.

Den seriella porten på linje 15 ("/dev/ttyACM0") måste anges till vilken port din hjul sensor dween är på (precis som webbkamera).

Sökvägen till filen på rad 19 måste vara korrekt.

circuit_diagrams / *

Detta är elscheman för dweens som de .fzz filerna används för att skapa dem med ett program som heter Fritzing (det är mycket användbart).

Dessa används inte faktiskt så du inte behöver oroa dem. Jag skulle bara vilja hålla allt det här tillsammans på GitHub.

get_mentions/get_mentions.py

Detta Python skript är mer komplex än den förra. Det träffar upp Twitter API söker alla tweets som nämner "@IsMartinRunning" (din kommer att automatiskt söka efter Twitter handtag oavsett konto äger twitter bot). Sedan kontrollerar den om dessa är nyare än den senaste det besvarade, dessa nya tweets sedan få sökte för sökord som "väder", "temperatur" och "behandla". Om något av dessa ord finns en svar tweet behöver skapas. Om de nämnde någon temperatur luftfuktighet sökord, signal skriptet en till den hdt_with_servo dween ber för temperatur/luftfuktighet data, om tweet innehöll nyckelordet behandla, skriptet sänder en signal till dween säga till den att aktivera behandla dispenser servo. Skriptet sedan kommer upp med ett lämpligt svar, tweets det och uppdaterar sedan den senaste svarade för att tweet.

Variabeln "serial_path" på linje 55 måste hänvisa till rätt seriell port för hdt_with_servo dween.

Filsökvägarna på linje 58, 92 och 145 måste vara korrekt.

get_mentions/mention_listener.sh

Denna Bash-script körs skriptet get_mentions.py varje minut (detta är så ofta som Twitter API tillåter).

Den fie sökväg på linje 13 måste vara korrekt.

get_mentions/most_recent

Den här filen innehåller tweet-id för den senaste tweeten som besvarade av skriptet get_mentions.py . Detta är så vi bara svara på tweets en gång.

skisser / ** / *

Dessa filer är Arduino skisser behövs för att göra sensorer och servon fungerar.

Phew, vet jag det är mycket att tänka på alla på en gång, men vi bör göras nu. Nästa låt oss få dessa skript körs.

Se Steg
Relaterade Ämnen

Enstaka Hamster bur

jag har en färsk fisk tank för att göra denna bur. Detta är mycket enkel hamster bur. Mer folk med denna tank för alla projekt. Har du det?Steg 1: Alla hamstrar i samma bur jag tycker om mina djur. Är inte något annat. Över allt är okej.Steg 2: utan...

Hur man bygger en Guinea gris Hamster bur MANSION

Hej! Jag skulle göra något för min lilla dyrbara 9 år gammal och hennes marsvin LUCY. Ja, ärligt talat... Jag gjorde detta dagen innan jag hittade Instructables < inte avsedda för här > så jag kan nu bygga henne ett Treehouse. Otroligt så, jag märkt...

Hamster resa bur

detta är ett sätt att göra en lätt resa hamster bur för din hamstrar.Delar som behövs1 plast burk från Walmart1 papperskorgen tråd från dollar treelimpistolsaxAvbitartängersharpyDet är allt.Steg 1: redo behållaren Först få behållaren och skär rektang...

Hamster Wheel Halloween dekoren

Jag gör en Edwardian tema i år. Jag hade denna gamla hamster bur hängande runt, så jag försökte lista ut för att skapa något för Halloween. Detta är vad jag kom med.Vad du behöver:1. hamster bur (om du har en hamster som bara stjäl från den lilla kil...

Hamster hacka: Tysta bullriga ratten - med återvinning!

Bilden ovan är Hamtaro, min Roborovski Hamster. Inte på bilden är hennes syster, som också heter Hamtaro... eftersom de är identiska och jag kan inte skilja dem åt. :)Deras bur sitter precis vid mitt skrivbord hemma, så vi kan umgås medan jag arbetar...

Din hamster är nytt hem

denna jul fick jag en hamster från min flickvän!Hon är så söt och hennes namn hans Ramboia! Jag vet inte om hon ia en Vinter vit ryska dvärg Hamster eller en vit Campbell's, jag antar att jag ska vänta till våren att se om hon ändrar färg.Eftersom ja...

Hamster till Mongoliet

ett par månader sedan köpte jag en Roborovski hamster. Jag gett vika, trots svära att jag aldrig kommer att hålla gnagare igen. Dessa små mörka, fuktiga ögon, som jet pärlor, är den sak som gör gnagare så svårt att motstå för mig, Lägg i de komiska l...

Förvandla din Raspberry Pi till en Hamster Fitness Tracker

Har du någonsin undrat hur mycket din hamster körs hela dagen/natten? Hur långt? Hur snabbt? Min 9-åriga dotter gjorde, och vi beslutade att ta reda på. Vänder ut, det var ganska lätt, och resultaten var otroligt.Här är de varor du behöver:En interne...

Att höja jätte Silk malar

När jag var liten, hittade jag en stor grön larv i trädgården som såg ut som det hade nyckelpigor växer ur ryggen. Jag använde min insekt bok att identifiera, och fann att det var jätte Kekropia mal larver. Arter av silk moth kommer att tillbringa he...

Zombie Apocalypse Quarantine Compound

Vi har haft några bra Halloween temafester genom åren, och vi beslutade att 2015 var året av Zombie apokalyps. Vi har satt ihop en enda Instructable visar den hela "forskning anläggning och karantän sammansatta":), som innehåller sex animerade d...

Vägg Bacon

Se Da bacon på Da vägg? Cedar bacon. Det finns inget syfte till detta bygga annat än att göra en gigantisk bit bacon att hänga eller Visa. Bacon är dock en av, om inte det bästa ämnet i världen. Ja talar jag till dig skivat bröd. Det råkar också vara...

Åttakantig hamsterhjul och lekstuga

Denna hamster bur förbinds med den största bur med blå tunnlar. Jag gjorde detta för mina hamstrar Chubbie, Tubbie och Newbornie.They är alla flickor. Det finns två burar i bilden. Jag lade dem separat. Två i en bur och den andra ensam. Eftersom två...

Några bitar för hamstrar

några tips och tricks av hamster äga handelJa är hamster på bilden min hamster. Hennes namn är tammiSteg 1: vinäger Inte slösa pengar på dyra "sällskapsdjur kassaskåp" desinfektionsmedel. Gå och köpa några vit vinäger!Töm sängkläder som vanligt,...

Hendreds användningsområden för ett gem

Hej här är några användningsområden för ett gem.h em innehavaren cOlivias färg unstopperspray flaska uncloggerglasögon reparationhår hårspännezipper flikenrena naglarXmas prydnad innehavarenunclog Elmers lim flaskankalender innehavarenbälteshållareak...

Hamster "Bin bur" handledning

Bin burar är ett billigt och enkelt sätt att göra en mycket lämplig livsmiljö för alla hamstrar. Hellre än att spendera $40 + på avskyvärda Habitrail eller Crittertrail linjer (eller liknande uppställningar), kan du spendera lika mycket (eller mindre...

Hur att bygga din egen bur för hamster.

jag tror att burar för djur är för liten för att satisify deras behov av utrymme. Naturligtvis, vill jag bäst för mitt lilla husdjur... så jag bestämde mig att göra en plats där hon kan ha lite kul och också vara säkra.I detta instructable, jag komme...

Hur man hittar en bra bur för din Hamster

Den här artikeln lär du dig att hitta rätt bur för din lilla lurviga vän.Steg 1: Hitta en bra burTitta i din lokala djuraffär för en bur. (Jag rekommenderar en SuperPet CritterTrail bur).Steg 2: Packa upp den och sätta ihopSätta ihop buren som du köp...

Tweeting fågelbordet

I sommar min 5 år gamla ville son och jag arbeta med ett projekt som skulle vara kul, utbildning och relaterade till naturen. Medan du njuter av en vacker Colorado sommarkväll på morfar och mormors däck titta på alla kolibrier slåss över 6 ställen på...

Hamster boll glassmaskinen

även om jag tänkte på denna idé efter att mitt andra projekt (än att vara klar... men med), en dag, som den kreativa foodie jag, märkte jag att utformningen av spel och frysa (som är i grunden en plast bur och en metallbehållare) var i princip en ham...