NODEMCU + CAYENNE

jika anda ingin mencoba membuat projek IoT sederhana menggunakan nodeMCU, maka anda bisa mencoba untuk mengkombinasikannya dengan cayenne.

Cayenne adalah sebuah website yang memberikan layanan untuk mengembangkan projek IoT anda sendiri.

Contoh jika anda mempunya sensor seperti sensor suhu, kelembapan tanah dsb, anda dapat memenatau (monitoring) hasil pembacaan sensor anda dari kejauhan selama anda masih terhubung dengan internet,



jika anda tertarik silahkan ikuti langkah-langkah berikut:
Agar nodemcu ktia bisa terhubung dengan cayenne maka ada 3 hal yang harus kita persipakan yaitu :

  1. Membuat akun Cayenne
  2. Mendownload library cayenne pada arduino
  3. Memasukkan data MQTT cayenne ( username,password,clientID);

MEMBUAT AKUN CAYENNE

#1 Buat akun cayenne anda sendiri pada link berikut : https://cayenne.mydevices.com

#2 Setelah anda membuat akun dan log in, maka anda akan melihat tampilan seperti berikut


#3 Karena kita akan memnggunakan nodeMCU v1 , maka klik "All Devices → MicroControllers → Generic ESP8266"


#4 Kemudian akan muncul tampil seperti dibawah, anda akan melihat MQTT USERNAME, MQTT PASSWORD, CLIENT ID. Ketiga hal tersebut akan kita masukkan kedalam koding nodemcu kita agar bisa meng-akses akun cayenne yang sudah kita buat.



LIBRARY CAYENNE ARDUINO

#1 Pastikan board nodeMCU anda sudah terinstall pada arduino ide anda, jika belum anda dapat melihatnya disini

#2 Download Library untuk cayenne
  • Pada Bagian Toolbar arduino klik Sketch  → Include Library → Manage Library
  • Kemudia cari "cayenne" pada kolom search,  dan install CayenneMQTT by MyDevices

#3 Download zip file cayenne disini, kemudian extract filenya

#4 Dalam zip file tersebut terdapat file example ESP8266.ino (Cayenne-MQTT-ESP-Master → examples →ESP8266), buka file koding tersebut
// This example shows how to connect to Cayenne using an ESP8266 and send/receive sample data.
// Make sure you install the ESP8266 Board Package via the Arduino IDE Board Manager and select the correct ESP8266 board before compiling. 

//#define CAYENNE_DEBUG
#define CAYENNE_PRINT Serial
#include <CayenneMQTTESP8266.h>

// WiFi network info.
char ssid[] = "ssid";
char wifiPassword[] = "wifiPassword";

// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username[] = "MQTT_USERNAME";
char password[] = "MQTT_PASSWORD";
char clientID[] = "CLIENT_ID";

unsigned long lastMillis = 0;

void setup() {
 Serial.begin(9600);
 Cayenne.begin(username, password, clientID, ssid, wifiPassword);
}

void loop() {
 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());
 // 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");
}


#5 Kemudia sesuaikan isi vairabel-varibale seperti nama wifi yang digunakan beserta passwordnya, contoh jika kita menggunakan wifi dengan nama nizam dengan password wifi yaitu salihin456
char ssid[] = "nizam"
char password[] = "salihin456"


#6 Selain wifi kita juga harus mengatur variabel username,password dan clientID.  Ketiga variabel ini dapat kita lihat di akun cayenne kita, yaitu pada bagian MQTT username menjadi nilai untuk username, MQTT password menjadi nilai untuk password, dan CLIENT ID menjadi nilai untuk client ID

Bagian Cayenne, copy setiap nilai variabel tersebut.

bagian Koding
char username[] = "cd0a50b0-f14a-11e9-a4a3-7d841ff78abf";
char password[] ="MQTT_PASSWORDceafaea9d1f4dab0ff2737c86e3a20169179a7a9";
char clientID[] = "de7a3180-f27b-11e9-8221-599f77add412";


#7 Setelah itu kita hanya perlu meng-upload koding kita ke nodemcu. Setelah selesai anda akan melihat tampilan cayenne anda sepertiku berikut.