Hi guys,
I usually hate bothering others with my technical issues so I tend to
search and try by myself until I find a solution... however this time
I can't take anymore, I've already spent more than an entire week-end
on this "silly" problem ....
So here I am, maybe somebody on this group can hep... (by the way, I
couldn't find a dedicated WiFly forum, am I missing something ?)
I'll start straight away buy insisting that my question / problem is
about the WiFly RN-134 board, which contains the SAME RovingNetworks
131 module but its is NOT the Sparkfun Arduino shield.
I'm using (or trying to :) ) this with an Atmega 168 micro
controller, same as for the Arduino but programmed directly with avr-
gcc.
I bought last week a RN-134 evaluation board (from mouser
http://uk.mouser.com/Search/ProductDetail.aspx?R=RN-134virtualkey66230000virtualkey765-RN-134
) for my project (here you can have a look at various stuff I blog
about :
http://trandi.wordpress.com )
It came with firmware version 2.23 and after several days of
frustration I've updated it to 2.28 which seems to be the latest, but
is has NOT changed anything to my problem(s).
I basically need to connect to a http web-service on the internet to
get some weather information:
http://weather.yahooapis.com/forecastrss?w=44418
I initially connected to the board (through the TTL serial port using
a (FTDI 3.3V cable) and TeraTerm.), set up the IP protocol at 18 to
support HTTP beyond IP, configured the wireless ssid and
authentication and SAVED everything.
Everything is ok, I get into command mode (with "$$$") and I type
this:
set dns name
weather.yahooapis.com \n
set comm remote GET$/forecastrss?w=44418 \n
open \n \n
And then I get the XML file AS EXPECTED.
So this proves that the whole configuration is WORKING OK! The board
is able to go on the internet and download the requested XML from
yahoo's website...
Now, here are my 2 issues, quite independent of each other, or so I
think:
1) If I do
set dns name
weather.yahooapis.com \n
set comm remote 0 \n
open \n
GET /forecastrss?w=44418 \n
Then it does NOT work. It complains about "Yahoo! - 404 Not Found".
Exactly as if the actual page name sent had something added or
substracted from it...
2) If I take the snippet that does work from TeraTerm and I send the
exact same instructions from my Atmega 168 micrcontroller, all the
commands work ok (I can get the AOK back, and even the "*OPEN*") I get
again "Yahoo! - 404 Not Found" !!!
I can actually parse the 404 message on the microcontroller, so
there's no connectivity problem and there's no error from the WiFly
board coming back...
I know it's a long description... To sum it up, some how, in these 2
situations, it seems that the firmware on the WiFly is adding
something to the HTTP request which makes Yahoo not recognise it....
I have also tried in both cases:
- to play with more or less "\n" at the end of the commands or even
add "\r"
- to add "HTTP/1.0" at the end of the page name both when it's set up
in comm remote and when it's send after open
To no avail !!!
This really is becoming huuugely frustrating, as I've already spend
several entire days on this problem (yes that's how desperate I am to
get that weather information on my VFD clock
http://trandi.wordpress.com/2011/09/10/vacuum-fluorescent-display-clock-based-on-soviet-iv-18-tube/
)
I've also had a look at the WiFly arduino library for the Sparkfun
shield, and checked what they are doing in the code... it's the same
thing, no extra commands or tricks that I could see...
Many many thanks for your help,
Dan