Talk:OpenDuino

From syn2cat - HackerSpace.lu
(Difference between revisions)
Jump to: navigation, search
(fixed stalling bug)
m (now using git)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
temporary storage for source code of arduino part:
 
  
<pre>
 
#include <Ethernet.h>
 
 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
 
byte ip[] = { 192, 168, 1, 99 };
 
byte gateway[] = { 192 ,168 ,1 ,254 };
 
byte subnet[] = { 255, 255, 255, 0 };
 
boolean open = false;
 
 
//byte server_ip[] = {74, 125, 127, 100}; //google
 
byte server_ip[] = { 80, 90, 47, 170 }; //hackerspace.lu
 
//byte server_ip[] = { 192, 168, 1, 65 };
 
 
char request[300] = "GET /OpenDuino.php?status=0 HTTP/1.0";
 
//char request[300] = "GET /index.html HTTP/1.0";
 
 
unsigned long time = 0;
 
unsigned long oldtime = 0;
 
 
unsigned long trigger_oldtime = 0;
 
 
//Server server(1337);
 
 
void setup()
 
{
 
  Ethernet.begin(mac, ip, gateway, subnet);
 
  //server.begin();
 
  Serial.begin(9600);
 
 
  lights();
 
  // connect once on launch
 
  dialup();
 
 
 
  oldtime = millis();
 
}
 
 
void dialup()
 
{
 
  Client client(server_ip,80); 
 
  Serial.println("Connecting...");
 
  Serial.println(request);
 
  if( client.connect() ){
 
    client.println(request);
 
    client.println();
 
  } else {
 
    Serial.println("Connection failed.");
 
  } //*/
 
   
 
  if(client.available()) {
 
    char c = client.read();
 
    Serial.println(c);
 
  } //*/
 
  client.stop();
 
}
 
 
void lights() {
 
  if( open ) {
 
    digitalWrite(7,HIGH);
 
    digitalWrite(5,LOW);
 
  } else {
 
    digitalWrite(7,LOW);
 
    digitalWrite(5,HIGH);
 
  }
 
}
 
 
 
 
void loop()
 
{
 
  time = millis();
 
 
 
  // read the switch state
 
  if(digitalRead(0) == 0) {
 
    if( time - trigger_oldtime > 1000 || time - trigger_oldtime < 0 ) {
 
      trigger_oldtime = time;
 
      Serial.println("Changing state.");
 
      open = !open;
 
      request[26] = (int)open+48;
 
      dialup();
 
    }
 
  }
 
 
 
  // set the lights
 
  lights();
 
 
  // send regular updates
 
  if( time-oldtime > 300000 || time - oldtime < 0 ) {
 
      oldtime = time;
 
      dialup();
 
  }
 
}
 
</pre>
 

Latest revision as of 19:20, 23 May 2011

Personal tools
Namespaces

Variants
Actions
Navigation
syn2cat
Hackerspace
Activities
Initiatives
Community
Tools
Tools