diff options
| author | Federico Fissore <f.fissore@arduino.cc> | 2013-07-07 17:07:32 +0200 | 
|---|---|---|
| committer | Federico Fissore <f.fissore@arduino.cc> | 2013-07-07 17:07:32 +0200 | 
| commit | 320116c2867f981b0292cd10f77e2a6a7c604f49 (patch) | |
| tree | 0fb8643be28b75ccfcc923ab0ca1d8b44bd134d7 /libraries/Bridge/examples/TemperatureWebPanel/TemperatureWebPanel.ino | |
| parent | 0576ca80226a1fb33164aec5f355476ba9d9df70 (diff) | |
| parent | 4bd034f643a0be5b9edefe731c6375183ca2da8b (diff) | |
Merge branch 'ide-1.5.x-discovery' into dev-ide-1.5.x-discovery
Diffstat (limited to 'libraries/Bridge/examples/TemperatureWebPanel/TemperatureWebPanel.ino')
| -rw-r--r-- | libraries/Bridge/examples/TemperatureWebPanel/TemperatureWebPanel.ino | 121 | 
1 files changed, 121 insertions, 0 deletions
| diff --git a/libraries/Bridge/examples/TemperatureWebPanel/TemperatureWebPanel.ino b/libraries/Bridge/examples/TemperatureWebPanel/TemperatureWebPanel.ino new file mode 100644 index 0000000..2149737 --- /dev/null +++ b/libraries/Bridge/examples/TemperatureWebPanel/TemperatureWebPanel.ino @@ -0,0 +1,121 @@ +/* +  Temperature web interface +  + This example shows how to serve data from an analog input   + via the Arduino Yún's built-in webserver using the Bridge library. + 	 + The circuit: + * TMP36 temperature sensor on analog pin A1 + * SD card attached to SD card slot of the Arduino Yún +  + Prepare your SD card with an empty folder in the SD root  + named "arduino" and a subfolder of that named "www".  + This will ensure that the Yún will create a link  + to the SD to the "/mnt/sd" path. +  + In this sketch folder is a basic webpage and a copy of zepto.js, a  + minimized version of jQuery.  When you upload your sketch, these files + will be placed in the /arduino/www/TemperatureWebPanel folder on your SD card. +  + You can then go to http://arduino.local/sd/TemperatureWebPanel + to see the output of this sketch. +  + You can remove the SD card while the Linux and the  + sketch are running but be careful not to remove it while + the system is writing to it. +  + created  6 July 2013 + by Tom Igoe +  +  + This example code is in the public domain. + 	  + */ +#include <Bridge.h> +#include <YunServer.h> +#include <YunClient.h>  + +// Listen on default port 5555, the webserver on the Yun +// will forward there all the HTTP requests for us. +YunServer server; +String startString; +long hits = 0; + +void setup() { +  Serial.begin(9600); + +  // Bridge startup +  pinMode(13,OUTPUT); +  digitalWrite(13, LOW); +  Bridge.begin(); +  digitalWrite(13, HIGH); + +  // using A0 and A2 as vcc and gnd for the TMP36 sensor: +  pinMode(A0, OUTPUT); +  pinMode(A2, OUTPUT); +  digitalWrite(A0, HIGH); +  digitalWrite(A2, LOW); + +  // Listen for incoming connection only from localhost +  // (no one from the external network could connect) +  server.listenOnLocalhost(); +  server.begin(); + +  // get the time that this sketch started: +  Process startTime; +  startTime.runShellCommand("date"); +  while(startTime.available()) { +    char c = startTime.read(); +    startString += c; +  } +} + +void loop() { +  // Get clients coming from server +  YunClient client = server.accept(); + +  // There is a new client? +  if (client) { +    // read the command +    String command = client.readString(); +    command.trim();        //kill whitespace +    Serial.println(command); +    // is "temperature" command? +    if (command == "temperature") { + +      // get the time from the server: +      Process time; +      time.runShellCommand("date"); +      String timeString = ""; +      while(time.available()) { +        char c = time.read(); +        timeString += c; +      } +      Serial.println(timeString); +      int sensorValue = analogRead(A1); +      // convert the reading to millivolts: +      float voltage = sensorValue *  (5000/ 1024);  +      // convert the millivolts to temperature celsius: +      float temperature = (voltage - 500)/10; +      // print the temperature: +      client.print("Current time on the Yún: "); +      client.println(timeString); +      client.print("<br>Current temperature: "); +      client.print(temperature); +      client.print(" degrees C"); +      client.print("<br>This sketch has been running since "); +      client.print(startString); +      client.print("<br>Hits so far: "); +      client.print(hits); +    } + +    // Close connection and free resources. +    client.stop(); +    hits++; +  } + +  delay(50); // Poll every 50ms +} + + + | 
