Hi
I would like to control arduino MKR WiFi 1010. I tried to use Cayenne but something is wrong. I can’t connect to Caye dashboard.
#include <PubSubClient.h>
//#include <WiFi101.h>
#include <WiFiNINA.h>
/*
This example shows how to connect to Cayenne using an Arduino/Genuino MKR1000 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:
- Install the Arduino SAMD Boards from the Arduino IDE Boards Manager if you have not already done so.
- Select the MKR1000 board from the Arduino IDE Tools menu.
- Set the Cayenne authentication info to match the authentication info from the Dashboard.
- Set the network name and password.
- Compile and upload the sketch.
- 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 <CayenneMQTTEthernet.h>
// WiFi network info.
char ssid = “Tihomir”;
char password = “Tihomir79062444”;
WiFiClient espClient;
PubSubClient client(espClient);
void callback(char* topic, byte* payload, unsigned int length);
// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username = “3836bcd0-8ab0-11ea-b767-3f1a8f1211ba”;
char password1 = “fbee6fa6489face00636d7c0cf530df7788878e1”;
char clientID = “a7c629d0-8c47-11ea-b767-3f1a8f1211ba”;
unsigned long lastMillis = 0;
void setup() {
Serial.begin(115200);
client.setCallback(callback);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print("*");
Serial.println(“Not connected”);
WiFi.begin(ssid, password);
delay(500);
}
Serial.println("");
Serial.println(“WiFi Connected”);
//client.setCallback(callback);
Cayenne.begin(username, password1, clientID);//, ssid, password);
}
void loop() {
Cayenne.loop();
//if (millis() - lastMillis > 10000)
//{
//lastMillis = millis();
//Cayenne.virtualWrite(0, lastMillis);
//}
}
void callback(char* topic, byte* payload, unsigned int length)
{}
// 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());
// Some examples of other functions you can use to send data.
Cayenne.celsiusWrite(1, 22.0);
Cayenne.luxWrite(2, 700);
//Cayenne.virtualWrite(3, 50, TYPE_PROXIMITY, UNIT_CENTIMETER);
}
// 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”);
}