Hi again. It is again start to goes offline. It could work for 5-15 min and goes offline. What I noticed, I think it have a conflict when I use analog inputs for soil moisture sensor, when I disconnect it, everything works fine, but when I connecting it, after 5-10 min its goes offline. My be we need to add some code to avoid this conflict with analog input?
#define CAYENNE_DEBUG // Uncomment to show debug messages
#define CAYENNE_PRINT Serial // Comment this out to disable prints and save space
#include <CayenneMQTTESP8266Shield.h>
#include <DHT.h>
// WiFi network info.
char ssid[] = "";
char wifiPassword[] = "";
// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username[] = "291ec8";
char password[] = "";
char clientID[] = "7d";
// Set ESP8266 Serial object. In this example we use the Serial1 hardware serial which is available on boards like the Arduino Mega.
#define EspSerial Serial
#define SENSOR_PIN1 A0
#define VIRTUAL_CHANNEL1 1
#define SENSOR_PIN2 A1
#define VIRTUAL_CHANNEL2 2
#define SENSOR_PIN3 A2
#define VIRTUAL_CHANNEL3 3
#define SENSOR_PIN4 A3
#define VIRTUAL_CHANNEL4 4
#define SENSOR_PIN5 A4
#define VIRTUAL_CHANNEL5 5
#define SENSOR_PIN6 A5
#define VIRTUAL_CHANNEL6 6
#define DHTPIN 2 // Digital pin connected to the DHT sensor
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
#define DHTTYPE DHT21 // DHT 21 (AM2301)
#define TEMPERATURE_VIRTUAL_CHANNEL 7
#define HUMIDITY_VIRTUAL_CHANNEL 8
#define RELEY_VIRTUAL_CHANNEL 9
#define ACTUATOR_PIN 4
DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor.
ESP8266 wifi(&EspSerial);
void setup()
{
//Serial.begin(9600);
//delay(10);
pinMode(ACTUATOR_PIN, OUTPUT);
// Set ESP8266 baud rate
EspSerial.begin(115200);
delay(10);
Cayenne.begin(username, password, clientID, wifi, ssid, wifiPassword);
dht.begin();
}
void loop()
{
Cayenne.loop();
}
// This function is called at intervals to send temperature sensor data to Cayenne in Celsius.
CAYENNE_OUT(TEMPERATURE_VIRTUAL_CHANNEL)
{
Cayenne.virtualWrite(TEMPERATURE_VIRTUAL_CHANNEL, dht.readTemperature(), "temp", "c");
}
// This function is called at intervals to send humidity sensor data to Cayenne.
CAYENNE_OUT(HUMIDITY_VIRTUAL_CHANNEL)
{
Cayenne.virtualWrite(HUMIDITY_VIRTUAL_CHANNEL, dht.readHumidity(), "rel_hum", "p");
}
CAYENNE_IN(RELEY_VIRTUAL_CHANNEL)
{
// Write value to turn the relay switch on or off. This code assumes you wire your relay as normally open.
if (getValue.asInt() == 0) {
digitalWrite(ACTUATOR_PIN, LOW);
}
else {
digitalWrite(ACTUATOR_PIN, HIGH);
}
}
// 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()
{
Cayenne.virtualWrite(VIRTUAL_CHANNEL1, analogRead(SENSOR_PIN1));
Cayenne.virtualWrite(VIRTUAL_CHANNEL2, analogRead(SENSOR_PIN2));
Cayenne.virtualWrite(VIRTUAL_CHANNEL3, analogRead(SENSOR_PIN3));
Cayenne.virtualWrite(VIRTUAL_CHANNEL4, analogRead(SENSOR_PIN4));
Cayenne.virtualWrite(VIRTUAL_CHANNEL5, analogRead(SENSOR_PIN5));
Cayenne.virtualWrite(VIRTUAL_CHANNEL6, analogRead(SENSOR_PIN6));
// 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");
}
output
AT
ATE0
AT+CIPMUX=1
AT+CWMODE?
AT+CWJAP="Nikolskaia33","89859248161"
[5571] Connected to WiFi
[5571] Connecting to mqtt.mydevices.com:1883
AT+CIPSTART=1,"TCP","mqtt.mydevices.com",1883
AT+CIPSEND=1,40
⸮MQIsdp⸮<$7d254820-7256-11e9-beb3AT+CIPSEND=1,40
-736c9e4bf7d0$291ec810-488a-11e8-bf56-dAT+CIPSEND=1,40
b14f0c2b326(0e737ffa31e6de40bdc7958fd08AT+CIPSEND=1,13
2af113f3c1a4f[6402] Connected
AT+CIPSEND=1,40
⸮^Yv1/291ec810-488a-11e8-bf56-db14f0cAT+CIPSEND=1,40
2b326/things/7d254820-7256-11e9-beb3-736AT+CIPSEND=1,16
c9e4bf7d0/cmd/+[6946] Publish: topic 4, channel 65534, value Arduino Uno, subkey , key
AT+CIPSEND=1,40
1j]v1/291ec810-488a-11e8-bf56-db14f0c2b[16975] Publish: topic 6, channel 65534, value ATmega328P, subkey , key
AT+CIPSEND=1,40
1mav1/291ec810-488a-11e8-bf56-db14f0c2b[27005] Publish: topic 7, channel 65534, value 16000000, subkey , key
AT+CIPSEND=1,40
1kav1/291ec810-488a-11e8-bf56-db14f0c2bAT+CIPSEND=1,40
[32228] Publish: topic 5, channel 65534, value 1.3.0, subkey , key
AT+CIPSEND=1,40
[37245] Publish: topic 8, channel 65534, value ESP8266Shield, subkey , key
[37316] Publish: topic 1, channel 7, value 26.500, subkey c, key temp
AT+CIPSEND=1,40
[42337] Publish: topic 1, channel 8, value 47.700, subkey p, key rel_hum
AT+CIPSEND=1,40
[47354] Publish: topic 1, channel 1, value 432, subkey , key
AT+CIPSEND=1,40
[52371] Publish: topic 1, channel 2, value 302, subkey , key
AT+CIPSEND=1,40
[57387] Publish: topic 1, channel 3, value 296, subkey , key
AT+CIPSEND=1,40
[62403] Publish: topic 1, channel 4, value 308, subkey , key
AT+CIPSEND=1,40
[67419] Publish: topic 1, channel 5, value 385, subkey , key
AT+CIPSEND=1,40
[72435] Publish: topic 1, channel 6, value 391, subkey , key
AT+CIPSEND=1,40
[77451] Connection ok
AT+CIPSEND=1,2
[82497] Publish: topic 1, channel 7, value 26.200, subkey c, key temp
[82499] Publish: topic 1, channel 8, value 49.100, subkey p, key rel_hum
[82504] Publish: topic 1, channel 1, value 327, subkey , key
[82510] Publish: topic 1, channel 2, value 310, subkey , key
[82515] Publish: topic 1, channel 3, value 315, subkey , key
[82521] Publish: topic 1, channel 4, value 312, subkey , key
[82526] Publish: topic 1, channel 5, value 375, subkey , key
[82532] Publish: topic 1, channel 6, value 361, subkey , key
AT+CIPSEND=1,2
AT+CIPCLOSE=1
[92563] Disconnected
[92563] Connecting to mqtt.mydevices.com:1883
AT+CIPSTART=1,"TCP","mqtt.mydevices.com",1883
AT+CIPSEND=1,40
⸮MQIsdp⸮<$7d254820-7256-11e9-beb3AT+CIPSEND=1,40
-736c9e4bf7d0$291ec810-488a-11e8-bf56-dAT+CIPSEND=1,40
b14f0c2b326(0e737ffa31e6de40bdc7958fd08AT+CIPSEND=1,13
2af113f3c1a4f[93729] Connected
AT+CIPSEND=1,40
⸮^Yv1/291ec810-488a-11e8-bf56-db14f0cAT+CIPSEND=1,40
2b326/things/7d254820-7256-11e9-beb3-736AT+CIPSEND=1,16
c9e4bf7d0/cmd/+[94446] Publish: topic 4, channel 65534, value Arduino Uno, subkey , key
AT+CIPSEND=1,40
1j]v1/291ec810-488a-11e8-bf56-db14f0c2b[104476] Publish: topic 6, channel 65534, value ATmega328P, subkey , key
AT+CIPSEND=1,40
1mav1/291ec810-488a-11e8-bf56-db14f0c2b[114505] Publish: topic 7, channel 65534, value 16000000, subkey , key
AT+CIPSEND=1,40
1kav1/291ec810-488a-11e8-bf56-db14f0c2bAT+CIPSEND=1,40
[119774] Publish: topic 5, channel 65534, value 1.3.0, subkey , key
AT+CIPSEND=1,40
[124791] Publish: topic 8, channel 65534, value ESP8266Shield, subkey , key
[124831] Publish: topic 1, channel 7, value 26.100, subkey c, key temp
AT+CIPSEND=1,40