diff options
Diffstat (limited to 'libraries/Bridge/examples/BridgeNew')
-rw-r--r-- | libraries/Bridge/examples/BridgeNew/BridgeNew.ino | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/libraries/Bridge/examples/BridgeNew/BridgeNew.ino b/libraries/Bridge/examples/BridgeNew/BridgeNew.ino deleted file mode 100644 index eceab07..0000000 --- a/libraries/Bridge/examples/BridgeNew/BridgeNew.ino +++ /dev/null @@ -1,174 +0,0 @@ - -// Possible commands are listed here: -// -// "digital/13" -> digitalRead(13) -// "digital/13/1" -> digitalWrite(13, HIGH) -// "analog/2/123" -> analogWrite(2, 123) -// "analog/2" -> analogRead(2) -// "mode/13/input" -> pinMode(13, INPUT) -// "mode/13/output" -> pinMode(13, OUTPUT) - -#include <Bridge.h> -#include <YunServer.h> - -// Listen on default port 5555, the webserver on the Yun -// will forward there all the HTTP requests for us. -YunServer server; - -void setup() { - Serial.begin(9600); - - // Bridge startup - pinMode(13,OUTPUT); - digitalWrite(13, LOW); - Bridge.begin(); - digitalWrite(13, HIGH); - - // Listen for incoming connection only from localhost - // (no one from the external network could connect) - server.listenOnLocalhost(); - server.begin(); -} - -void loop() { - // Get clients coming from server - YunClient client = server.accept(); - - // There is a new client? - if (client) { - // Process request - process(client); - - // Close connection and free resources. - client.stop(); - } - - delay(50); // Poll every 50ms -} - -void process(YunClient client) { - // read the command - String command = client.readStringUntil('/'); - - // is "digital" command? - if (command == "digital") { - digitalCommand(client); - } - - // is "analog" command? - if (command == "analog") { - analogCommand(client); - } - - // is "mode" command? - if (command == "mode") { - modeCommand(client); - } -} - -void digitalCommand(YunClient client) { - int pin, value; - - // Read pin number - pin = client.parseInt(); - - // If the next character is a '/' it means we have an URL - // with a value like: "/digital/13/1" - if (client.read() == '/') { - value = client.parseInt(); - digitalWrite(pin, value); - } - else { - value = digitalRead(pin); - } - - // Send feedback to client - client.print(F("Pin D")); - client.print(pin); - client.print(F(" set to ")); - client.println(value); - - // Update datastore key with the current pin value - String key = "D"; - key += pin; - Bridge.put(key, String(value)); -} - -void analogCommand(YunClient client) { - int pin, value; - - // Read pin number - pin = client.parseInt(); - - // If the next character is a '/' it means we have an URL - // with a value like: "/analog/5/120" - if (client.read() == '/') { - // Read value and execute command - value = client.parseInt(); - analogWrite(pin, value); - - // Send feedback to client - client.print(F("Pin D")); - client.print(pin); - client.print(F(" set to analog ")); - client.println(value); - - // Update datastore key with the current pin value - String key = "D"; - key += pin; - Bridge.put(key, String(value)); - } - else { - // Read analog pin - value = analogRead(pin); - - // Send feedback to client - client.print(F("Pin A")); - client.print(pin); - client.print(F(" reads analog ")); - client.println(value); - - // Update datastore key with the current pin value - String key = "A"; - key += pin; - Bridge.put(key, String(value)); - } -} - -void modeCommand(YunClient client) { - int pin; - - // Read pin number - pin = client.parseInt(); - - // If the next character is not a '/' we have a malformed URL - if (client.read() != '/') { - client.println(F("error")); - return; - } - - String mode = client.readStringUntil('\r'); - - if (mode == "input") { - pinMode(pin, INPUT); - // Send feedback to client - client.print(F("Pin D")); - client.print(pin); - client.print(F(" configured as INPUT!")); - return; - } - - if (mode == "output") { - pinMode(pin, OUTPUT); - // Send feedback to client - client.print(F("Pin D")); - client.print(pin); - client.print(F(" configured as OUTPUT!")); - return; - } - - client.print(F("error: invalid mode ")); - client.print(mode); -} - - |