//-TheAmplituhedron.com //-Cloud System //-Getting data from TheAmplituhedron.com // //-By Kutluhan Aktar // // * For more information, please go to https://www.theamplituhedron.com/dashboard/cloud/ // * This an example code file for Arduino Ethernet Shield 2 or ENC28J60. // * Do not forget to use percent-encoding reserved characters for the header. // * Circuit: // * Ethernet shield attached to pins 10, 11, 12, 13 #include #include byte mac[0xDE,0xAD,0xBE,0xEF,0xFE,0xED] = { // Your MAC address has to be here. }; IPAddress ip(192,168,0,177); // A valid IP address to make an HTTP request. // Initialize the Ethernet server library // with the IP address and port you want to use // (port 80 is default for HTTP): EthernetServer server(80); // Determine a string to collect the commands came from TheAmplituhedron.com. String readString ; void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); // Start the Ethernet connection and the server: Ethernet.begin(mac, ip); server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP()); } void loop() { // Listen for incoming clients EthernetClient client = server.available(); if (client) { Serial.println("new client"); // An http request ends with a blank line boolean currentLineIsBlank = true; while (client.connected()) { if (client.available()) { char c = client.read(); // Add each data came from TheAmplituhedron.com to a string named readString. if (readString.length() < 110) { readString += c; //Serial.print(c); } Serial.println(readString); // If the line ends, initial a HTTP Request. if (c == '\n') { // send a standard http response header client.println("HTTP/1.1 200 OK");; client.println("Content-Type:text/html"); client.println("Connection: close"); // the connection will be closed after completion of the response client.println(); client.println(""); client.println(""); client.println(""); client.println("DeviceSide"); // Header for the web page. client.println(""); // Describe the name and icon of DeviceSide. client.println(""); client.println(""); client.println(""); client.println(""); break; } } } delay(1); // Close the connection: client.stop(); // Define conditions for your system. // Device-1, Device-2, Device-3, Device-4, Device-5 are the constant on or off type. if (readString.indexOf("?Device-1=ON") >0){ // Condition here; } else if (readString.indexOf("?Device-1=OFF") >0){ // Condition here; } if (readString.indexOf("&Device-2=ON") >0){ // Condition here; } else if (readString.indexOf("&Device-2=OFF") >0){ // Condition here; } if (readString.indexOf("&Device-3=ON") >0){ // Condition here; } else if (readString.indexOf("&Device-3=OFF") >0){ // Condition here; } if (readString.indexOf("&Device-4=ON") >0){ // Condition here; } else if (readString.indexOf("&Device-4=OFF") >0){ // Condition here; } if (readString.indexOf("&Device-5=ON") >0){ // Condition here; } else if (readString.indexOf("&Device-5=OFF") >0){ // Condition here; } // Device-6 is the limitless text type. if (readString.indexOf("&Device-6=Data") >0){ // Condition here; } else if (readString.indexOf("&Device-6=Data") >0){ // Condition here; } readString=""; // Start a new string. } }