NodeMCU dengan ADAFRUIT IO
- Buat account terlebih daulu pada adafruit io.
- Buat sebuah dashboard baru karena saya menggunakan nodemcu board saya memberi nama dashboard saya dengan NodeMCU.
3. Kemudian Tekan tombol + di ujung kanan atas pada dashboard yang baru
dibuat kemudian pilih Toggle.
4. Kemudian atur tampilan switchnya saya membuat menampilkan Label ON
untuk kondisi on dan OFF untuk kodisi off.
5. Hal yang paling crusial adalah AIO key yang nantinya akan dipergunakan
dalam pengkodean arduino. Jika sebelumnya pernah menggunakan blynk
ini seperti authentication token untuk menghubungkan ESP8266 ke
Adafruit server.
6. Sampai disini konfigurasi di adafruit io telah selesai, langkah berikutnya
adalah membuat code pada arduino IDE untuk di upload pada NodeMCU
boardnya. Silahkan buat sketch baru dan isikan kode berikut pada arduino
IDE, namun pastikan esp8266 core dan adafruit mqtt library telah terinstall
pada arduino IDE setelah itu kemudian silahkan upload ke node mcu
(" saya anggap anda telah mengerti cara mengupload arduino code ke node
mcu board").
IDE, namun pastikan esp8266 core dan adafruit mqtt library telah terinstall
pada arduino IDE setelah itu kemudian silahkan upload ke node mcu
(" saya anggap anda telah mengerti cara mengupload arduino code ke node
mcu board").
/*************************************************** ADAFRUIT Mqtt Library for NodeMCU 1.0.0 to control Built in LED Created by: Cahyo Hertanto for Secureinstruments ****************************************************/ #include <ESP8266WiFi.h> #include "Adafruit_MQTT.h" #include "Adafruit_MQTT_Client.h" // Deklarasi variable Internal LED #define internal LED_BUILTIN /************************* WiFi Access Point *********************************/ #define WLAN_SSID "SSID"//SSID router anda #define WLAN_PASS "pass"//password router anda /************************* Adafruit.io Setup *********************************/ #define AIO_SERVER "io.adafruit.com" #define AIO_SERVERPORT 1883 #define AIO_USERNAME "username"//isi dengan username saat mendaftar di adafruit #define AIO_KEY "AIO keys"//AIO key di adafruit /************ Global State (you don't need to change this!) ******************/ WiFiClient client; Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_USERNAME, AIO_KEY); /****************************** Feeds ***************************************/ Adafruit_MQTT_Subscribe onoff = Adafruit_MQTT_Subscribe(&mqtt, AIO_USERNAME "/feeds/onoff"); /*************************** Sketch Code ************************************/ void MQTT_connect(); void setup() { pinMode(LED, OUTPUT); /deklarasi buildin led difungsikan sebagai output Serial.begin(115200); /serial port untuk debugging dengan baudrate 115200 delay(10); // Connect to WiFi access point. Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(WLAN_SSID); WiFi.begin(WLAN_SSID, WLAN_PASS); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); // Setup MQTT untuk subscribe ke topic yang di buat mqtt.subscribe(&onoff); } uint32_t x=0; void loop() { MQTT_connect(); Adafruit_MQTT_Subscribe *subscription; while ((subscription = mqtt.readSubscription(5000))) { // Check if its the onoff button feed if (subscription == &onoff) { Serial.print(F("On-Off button: ")); Serial.println((char *)onoff.lastread); if (strcmp((char *)onoff.lastread, "ON") == 0) { digitalWrite(LED, LOW); } if (strcmp((char *)onoff.lastread, "OFF") == 0) { digitalWrite(LED, HIGH); } } } } // Fungsi untuk terkoneksi dengan adafruit void MQTT_connect() { int8_t ret; // Stop if already connected. if (mqtt.connected()) { return; } Serial.print("Connecting to MQTT... "); uint8_t retries = 3; while ((ret = mqtt.connect()) != 0) { // connect will return 0 for connected Serial.println(mqtt.connectErrorString(ret)); Serial.println("Retrying MQTT connection in 5 seconds..."); mqtt.disconnect(); delay(5000); // wait 5 seconds retries--; if (retries == 0) { // basically die and wait for WDT to reset me while (1); } } Serial.println("MQTT Connected!"); }
7. Jika telah selesai kembali ke adafuit dashboard dan silahkan ubah kondisi
switchnya kalau step anda benar maka anda akan mendapati internal LED
yang berwarna Merah pada NodeMCU board akan berubah kondisinya dari
padam menjadi nyala atau sebaliknya saat switch di adafruit dashboard
diubah.
Semoga bermanfaat.
NodeMCU dengan ADAFRUIT IO
Reviewed by cahyohertanto
on
June 11, 2017
Rating:
sama sama mas
ReplyDelete