/* This example shows how to connect MAX6675 to Cayenne using an Ethernet W5100 shield and send/receive sample data. The CayenneMQTT Library is required to run this sketch. If you have not already done so you can install it from the Arduino IDE Library Manager. Steps: 1. Set the Cayenne authentication info to match the authentication info from the Dashboard. 2. Compile and upload the sketch. 3. A temporary widget will be automatically generated in the Cayenne Dashboard. To make the widget permanent click the plus sign on the widget. */ //#define CAYENNE_DEBUG // Uncomment to show debug messages #define CAYENNE_PRINT Serial // Comment this out to disable prints and save space #include #include "max6675.h" int thermoDO = 6; int thermoCS = 5; int thermoCLK = 4; int vccPin = 3; int gndPin = 2; MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO); // Cayenne authentication info. This should be obtained from the Cayenne Dashboard. char username[] = ""; char password[] = ""; char clientID[] = ""; void setup() { Serial.begin(9600); pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH); pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW); pinMode(10, OUTPUT); Cayenne.begin(username, password, clientID); } void loop() { if(thermocouple.readCelsius() < 26.00){ digitalWrite(10, LOW);// set pin 10 LOW }else{ digitalWrite(10, HIGH);// set pin 10 HIGH delay(5000); } Cayenne.loop(); } // Default function for sending sensor data at intervals to Cayenne. // You can also use functions for specific channels, e.g CAYENNE_OUT(1) for sending channel 1 data. CAYENNE_OUT_DEFAULT() { // Write data to Cayenne here. This example just sends the current uptime in milliseconds on virtual channel 0. Cayenne.virtualWrite(0, millis()); Cayenne.celsiusWrite(1, thermocouple.readCelsius()); //Cayenne.virtualWrite(2, thermocouple.readFahrenheit()); } // Default function for processing actuator commands from the Cayenne Dashboard. // You can also use functions for specific channels, e.g CAYENNE_IN(1) for channel 1 commands. CAYENNE_IN_DEFAULT() { CAYENNE_LOG("Channel %u, value %s", request.channel, getValue.asString()); //Process message here. If there is an error set an error message using getValue.setError(), e.g getValue.setError("Error message"); }