Stream Weather Information to ArduinoUNO and output through speaker.

Hi thank you in advance for any help rendered.

I am using

  • Arduino Uno
  • EasyVR Shield
  • Official Arduino Ethernet Shield

I am attempting to stream Weather Information from "http://app2.nea.gov.sg/weather-climate/forecasts/3-hour-nowcast" to my Arduino Uno through the Ethernet shield and output through a Microphone when input "Weather" through my EasyVR shield.

I suppose this is the example code that I am suppose to use.

/*
  Web client
 
 This sketch connects to a website (http://www.google.com)
 using an Arduino Wiznet Ethernet shield. 
 
 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 
 created 18 Dec 2009
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe, based on work by Adrian McEwen
 
 */

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(74,125,232,128);  // numeric IP for Google (no DNS)
char server[] = "www.google.com";    // name address for Google (using DNS)

// Set the static IP address to use if the DHCP fails to assign
IPAddress ip(192,168,0,177);

// Initialize the Ethernet client library
// with the IP address and port of the server 
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

void setup() {
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  // start the Ethernet connection:
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // no point in carrying on, so do nothing forevermore:
    // try to congifure using IP address instead of DHCP:
    Ethernet.begin(mac, ip);
  }
  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.println("connecting...");

  // if you get a connection, report back via serial:
  if (client.connect(server, 80)) {
    Serial.println("connected");
    // Make a HTTP request:
    client.println("GET /search?q=arduino HTTP/1.1");
    client.println("Host: www.google.com");
    client.println("Connection: close");
    client.println();
  } 
  else {
    // kf you didn't get a connection to the server:
    Serial.println("connection failed");
  }
}

void loop()
{
  // if there are incoming bytes available 
  // from the server, read them and print them:
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  // if the server's disconnected, stop the client:
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    // do nothing forevermore:
    while(true);
  }
}

This project is pretty urgent, thank you for your kind help.

I am attempting to stream Weather Information

So, when I go to this link:
http://app2.nea.gov.sg/weather-climate/forecasts/3-hour-nowcast
my notebook does not do anything but display the weather map for the U.S.

What exactly is it suppose to stream? Audio?

Read these links, and come back and rephrase the question:
https://www.adafruit.com/forums/viewtopic.php?f=25&t=33947

Good luck,

Ray

How are you going to 'output' it through a microphone?

Thank you the help rendered.

Yes I'm looking at a Real time data streaming, the site I sent was a weather forecast of Singapore. Not really sure if it is the right site that I can extract the "weather" and output as speech though. Do advice me thank you.

I'm looking to achieve this with EasyVR and Official ethernet shield.

I'm looking to achieve this with EasyVR and Official ethernet shield.

The ethernet shield will enable you to get text-based weather data.

The EasyVR shield will recognize the audio, and tell you that it heard something that it interpreted as the phrase "weather".

Once you know that weather is required, you need to call a site to get text-based weather data, and parse that data. Then, you need to convert that text to speech. The Arduino can't do that. You need additional hardware to do that. What hardware are you proposing to use?

Arduino can't do that? Well guess I'll have to drop this idea as I'm only left with a couple of days to the project's dateline... Thank you anyway.

It would be pretty simple to implement on a PC, using the existing standard accessibility features to accept voice commands and perform text-to-speech on the resulting page. It might be possible to use similar features on a tablet or smartphone - it would certainly be possible if you're willing to do some programming. I wouldn't be too astonished to find that there was already an app capable of doing something like this..