I forrige uke intervjuet vi Andy Stanford-Clark på hans smarthusintegrasjon med Twitter, og nå har vi en fil publisert av informatikkstudent Justin Wickett som ga open source-skriptet sitt for å gjøre det samme. Les videre for koden som får hjemmet ditt til å kommunisere med deg gjennom SMS -tekstmelding til mobilen din, pluss alle de andre fordelene Twitter -tilbudene.
”Jeg måtte bare skrive noen få kodelinjer for å trekke alle disse teknologiene sammen slik at de skulle jobbe med hverandre. Følgende kode er en veldig grov implementering som jeg opprinnelig brukte for å teste muligheten for denne ideen. Jeg planlegger å innlemme Bluetooth -støtte samt bekreftelsesvarsler når jeg kommer tilbake til Duke University. Best nå bruker jeg mobiltelefonen min for å sende Twitter offentlige oppdateringer som sendes ut til alle vennene mine. Denne metoden er ikke sikker, og spams dine følgere med oppdateringer om tilstanden til det elektriske nettverket. Jeg anbefaler å opprette en privat konto for testformål, eller enda bedre å bruke Twitters direkte meldingsfunksjonalitet.
Til slutt avhenger denne koden av Summize.com -søkemotoren, som analyserer og indekserer enhver offentlig melding som er sendt til Twitter. Jeg kunne ikke avstemte Twitter.com på grunn av rentebegrensende problemer. Kodeavstemningene mine summerer REST API (som ganske enkelt er en nett -URL) hvert sekund som sjekker for å se om det har vært en oppdatering. Denne polling -metoden er ikke effektiv og skatter som summeres servere. Jeg anbefaler å abonnere på og analysere Twitter’s Pub Sub Jabber Feed (se). Nedenfor er min raske og skitne Python -kode som enkelt kan overføres til andre språk:
#/usr/bin/python
#Copyright 2008 Justin Wickett
#Dette programmet er helt gratis programvare: du kan omfordele det og/eller endre
#Det under vilkårene i GNU General Public License som publisert av
#Det helt gratis programvarefundamentet, enten versjon 3 av lisensen, eller
#(på ditt alternativ) Enhver senere versjon.
#Dette programmet distribueres i håp om at det vil være nyttig,
#men uten garanti; uten engang den underforståtte garantien til
#MERCHANTABILITY eller FITNESS for et bestemt formål. Se
#GNU General Public License for mye mer informasjon.
#Du burde ha mottatt en kopi av GNU General Public -lisensen
#Along med dette programmet. Hvis ikke, se <>.
Importer FeedParser, OS, Time #‘FeedParser’ biblioteket kan installeres fra
#Todo: Bytt ut brukernavnet så vel som Inseon -adressen med passende verdier
#Todo: Forsikre deg også om at banen er riktig satt i systemkommandoen til ICMDs bane på din lokale maskin
lastTweet = 0 #brukt for å holde rede på den siste tweeten som er mottatt for å gjøre summer spørsmål rimeligere
Brukernavn = “xxxxxxxx” #twitter brukernavn som sender kommandoene for å kontrollere det elektriske nettverket
InstEonAddress = “xx.xx.xx” #insteon -adresse til enheten du vil slå på og på
mens (1):
FeedUrl = “”+brukernavn+”& siden_id =”+Str (LastTweet) #Polling Summize
Feed = FeedParser.Parse (Feedurl)
Hvis len (fôr [‘oppføringer’])> 0 og fôr [‘oppføringer’] [0] .link.split (‘/’) [-1]> LastTweet:
Hvis CMP (Feed [‘oppføringer’] [0] [‘Tittel’], “Soverom Lights On”) == 0: #Check for “ON” -kommandoen
OS.System (“ICMD“+InsteonAddress+”på 255”) #Turn lysene kontrollert av min bryter på
Hvis CMP (Feed [‘oppføringer’] [0] [‘Tittel’], “Soverom Lights Off”) == 0: #Check for “Off” -kommandoen
OS.System (“ICMD“+InsteonAddress+”Off 255”) #Turn Lysene kontrollert av bryteren min av
lastTweet = feed [‘oppføringer’] [0] .link.split (‘/’) [-1] #Save den siste tweeten, så vi ikke går over oss selv
Time. -Sov (1) #Sleep ett sekund, og utfør kode igjen
Justin Wicketts nettsted: Følg automatisert hjem på Twitter
Dele denne:
Facebook
Twitter
Reddit
LinkedIn
Pinterest
E -post
Mer
Hva skjer
Skrive ut
Skype
Tumblr
Telegram
Lomme