Pages: [1]   Go Down
Author Topic: Twitter triggered arduino, open to the public? - Question about method.  (Read 521 times)
0 Members and 1 Guest are viewing this topic.
Reading, Berkshire
Offline Offline
Full Member
***
Karma: 2
Posts: 132
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

I've used the Ethernet shield to control an arduino with twitter. This happens by monitoring the XML of a single twitter account.
What I would like to do is make this device open to public interaction from other peoples twitter accounts. The problem being the XML feed doesn't seem to include any information about people tweeting at my twitter account.

For example...

Code:
X-RateLimit-Limit: 150
X-RateLimit-Remaining: 54
X-RateLimit-Reset: 1350990236
X-RateLimit-Class: api
Content-Type: application/xml;charset=utf-8
Last-Modified: Tue, 23 Oct 2012 10:52:18 GMT
Expires: Tue, 31 Mar 1981 05:00:00 GMT
Pragma: no-cache
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
Set-Cookie: guest_id=v1%3A135098953799518156; Expires=Thu, 23-Oct-2014 10:52:18 GMT; Path=/; Domain=.twitter.com
Status: 200 OK
X-Transaction: 2aba7e893832e539
X-Frame-Options: SAMEORIGIN
Date: Tue, 23 Oct 2012 10:52:18 GMT
Content-Length: 2736
Server: tfe

<?xml version="1.0" encoding="UTF-8"?>
<statuses type="array">
  <status>
    <created_at>Tue Oct 23 10:49:31 +0000 2012</created_at>
    <id>260694435908681729</id>
    <text>Something else</text>
    <source>&lt;a href=&quot;http://twitter.com/download/android&quot; rel=&quot;nofollow&quot;&gt;Twitter for Android&lt;/a&gt;</source>
    <truncated>false</truncated>
    <in_reply_to_status_id></in_reply_to_status_id>
    <in_reply_to_user_id></in_reply_to_user_id>
    <in_reply_to_screen_name></in_reply_to_screen_name>
    <user>
      <id>563128171</id>
      <name>stuart hooper</name>
      <screen_name>HooperStuart</screen_name>
      <location>northam, devon</location>
      <profile_image_url>http://a0.twimg.com/sticky/default_profile_images/default_profile_4_normal.png</profile_image_url>
      <profile_image_url_https>https://si0.twimg.com/sticky/default_profile_images/default_profile_4_normal.png</profile_image_url_https>
      <url>http://stuarthooper.tumblr.com</url>
      <description>http://stuarthooper.tumblr.con</description>
      <protected>false</protected>
      <followers_count>0</followers_count>
      <profile_background_color>C0DEED</profile_background_color>
      <profile_text_color>333333</profile_text_color>
      <profile_link_color>0084B4</profile_link_color>
      <profile_sidebar_fill_color>DDEEF6</profile_sidebar_fill_color>
      <profile_sidebar_border_color>C0DEED</profile_sidebar_border_color>
      <friends_count>1</friends_count>
      <created_at>Wed Apr 25 19:20:23 +0000 2012</created_at>
      <favourites_count>0</favourites_count>
      <utc_offset></utc_offset>
      <time_zone></time_zone>
      <profile_background_image_url>http://a0.twimg.com/images/themes/theme1/bg.png</profile_background_image_url>
      <profile_background_image_url_https>https://si0.twimg.com/images/themes/theme1/bg.png</profile_background_image_url_https>
      <profile_background_tile>false</profile_background_tile>
      <profile_use_background_image>true</profile_use_background_image>
      <geo_enabled>true</geo_enabled>
      <verified>false</verified>
      <statuses_count>148</statuses_count>
      <lang>en</lang>
      <contributors_enabled>false</contributors_enabled>
      <is_translator>false</is_translator>
      <listed_count>0</listed_count>
      <default_profile>true</default_profile>
      <default_profile_image>true</default_profile_image>
      <following></following>
      <follow_request_sent></follow_request_sent>
      <notifications></notifications>
    </user>
    <geo/>
    <coordinates/>
    <place/>
    <contributors/>
    <retweet_count>0</retweet_count>
    <favorited>false</favorited>
    <retweeted>false</retweeted>
  </status>
</statuses>
HTTP/1.1 200 OK

No where in here does it mention any mentions like @hooperstuart.
I have seen something on hack-a-day that prints these with a dot-matrix printer and a BeagleBone. Is it possible with an Arduino and Ethernet shield?
I'm guessing I need a different GET. Probably a search for mentions of my user name. Am I on the right track?
Logged

Seattle, WA USA
Offline Offline
Brattain Member
*****
Karma: 614
Posts: 49384
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
No where in here does it mention any mentions like @hooperstuart.
No?

Quote
    <user>
      <id>563128171</id>
      <name>stuart hooper</name>
      <screen_name>HooperStuart</screen_name>
      <location>northam, devon</location>
What, exactly, are you looking for?

Quote
The problem being the XML feed doesn't seem to include any information about people tweeting at my twitter account.
I don't see that.
Logged

Reading, Berkshire
Offline Offline
Full Member
***
Karma: 2
Posts: 132
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm after reading mentions. The idea is to open up the device by allowing anyone to tweet at it instead of it just reading my twitter account for commands in the tweets.

https://dev.twitter.com/docs/api/1/get/statuses/mentions

Obviously this opens up security issues with certain devices... like anyone in the world tweeting someones coffee maker all day until it boils dry and breaks.

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

did you ever find a solution to this? I'm trying to do the same thing.

I am trying to control 3 led's (blue, yellow, white) via twitter. Currently I can tweet "blue on", "blue off" etc from my twitter account but I would others to be able to do the same by mentioning my twitter name, then writing a control for the lights. When I try to do this from other twitter accounts, the posts do not show up in my serial monitor.

I am currently using the GET

#
Code:
client.println("GET /1/statuses/user_timeline.xml?screen_name="+twitterUsername + "&count=1 HTTP/1.1");

which successfully reads my own statuses but not any of the people I'm following. I tried switching it to this:

#
Code:
client.println("GET /1/statuses/home_timeline.xml?screen_name="+twitterUsername + "&count=1 HTTP/1.1");

but that stopped the serial monitor from reading any statuses.

Anyone having any luck with this?
« Last Edit: October 30, 2012, 10:54:59 am by Nhume » Logged

Pages: [1]   Go Up
Jump to: