0% menganggap dokumen ini bermanfaat (0 suara)
84 tayangan22 halaman

IoT dan NodeMCU V3 untuk Pemula

IoT (Internet of Things) memungkinkan objek untuk mentransfer data melalui internet tanpa interaksi manusia. Dokumen ini menjelaskan konsep IoT dan penggunaan modul NodeMCU V3 untuk membangun aplikasi IoT seperti monitoring suhu yang ditampilkan secara grafis di internet."

Diunggah oleh

River hutabarat
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
84 tayangan22 halaman

IoT dan NodeMCU V3 untuk Pemula

IoT (Internet of Things) memungkinkan objek untuk mentransfer data melalui internet tanpa interaksi manusia. Dokumen ini menjelaskan konsep IoT dan penggunaan modul NodeMCU V3 untuk membangun aplikasi IoT seperti monitoring suhu yang ditampilkan secara grafis di internet."

Diunggah oleh

River hutabarat
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Instrumentasi berbasis IoT

IoT (Internet of Things) saat ini memang lagi marak dipakai di dunia IT. IoT adalah sebuah
konsep dimana suatu objek yang memiliki kemampuan untuk mentransfer data melalui jaringan
internet tanpa memerlukan interaksi manusia ke manusia atau manusia ke komputer. Kata
“Things” pada Internet of Things dapat didefinisikan sebagai subjek misalkan sebuah mobil yang
telah dilengkapi built-in sensor untuk memperingatkan pengemudi ketika tekanan ban rendah.
Jadi IoT atau Internet of things adalah teknologi untuk menghubungkan perangkat (things)
melalui media internet.

7.1. Pengertian IoT

Definisi IoT dari Wikipedia adalah sebuah konsep yang bertujuan untuk memperluas manfaat
dari konektivitas internet yang tersambung secara terus-menerus. Banyak sekali contoh
penerapan teknologi IoT, beberapa contohnya :
a. Smart Home (sistem keamanan rumah berbasis internet, dapat mengetahui
kedaan rumah serta mengontrol peralatan rumah tangga melalui jaringan
internet)
b. Internet Industri (monitoring dan controlling peralatan serta proses pada
industri)
c. Pertanian (monitoring dan pengendalian peralatan pertanian)
d. Kesehatan (monitoring kondisi kesehataan seseorang)
e. Transportasi (manajemen dan informasi lalu lintas)

Sistem dasar dari IoT terdiri dari 3 hal :


a. Hardware/fisik (Things)
b. Koneksi internet
c. Cloud data center sebagai tempat untuk menyimpan atau
menjalankanaplikasinya.

Gambar 7.1 Sistem IoT

1
7. 2. Penggunaan NodeMCU V3

NodeMCU adalah sebuah board elektronik yang berbasis chip ESP8266 dengan kemampuan
menjalankan fungsi mikrokontroler dan juga koneksi internet (WiFi). Terdapat beberapa pin I/O
sehingga dapat dikembangkan menjadi sebuah aplikasi monitoring maupun controlling pada
proyek IoT. Bentuk fisik dari modul NodeMCU V3 tampak pada Gambar 7.2.

Gambar 7.2 Bentuk fisik dari modul NodeMCU V3

Perhatikan pada NodeMCU V3 ini terdapat port USB (mini USB) sehingga akan memudahkan
dalam pemrogramannya nanti.

Spesifikasi :
 Tegangan kerja : 3,3 V
 Flash memori : 16 MB
 Terintegrasi dengan protocol TCP/IP
 Processor : Tensilica L106 32 bit
 Kecepatan : 80 – 160 Mhz
 Jumlah pin Digital I/O : 11 (D0 – D10)

NodeMCU V3 dapat diprogram dengan compiler-nya Arduino menggunakan Arduino IDE.


Dimana pemrogramannya memakai bahasa C. Secara sederhana, terdapat 2 fungsi di dalam
setiap pemrogramannya:
Void init()
Void loop()
Penulisan huruf juga harus teliti, karena case sensitive, huruf besar berbeda dengan huruf kecil.
Ekspresi bilangan, logika pemrograman, operasi aritmatika sama dengan pemrograman Arduino.

Board NodeMCU V3 support Win XP, Vista, Win 7/8/10. Tahapan instalasi driver NodeMCU
V3 di komputer/laptop, adalah :
1. Buka file di dalam folder driver CH341

2
2. Jalankan file CH341SER.EXE
3. Colokkan NodeMCU V3 ke port USB computer/laptop. Jika sudah berhasil maka
akan tampil di Device Manager dimana nomor com-nya ini nanti kita seting juga di
Arduino IDE.
4. Buka Device Manager

Untuk pemrogramannya kita akan memakai Arduino IDE, jika belum diseting (default program
Arduino IDE belum terdapat board NodeMCU) maka perlu kita seting terlebih dahulu.
Selanjutnya kita seting Arduino IDE agar dapat dipakai untuk NodeMCu V3 kita seperti cara
berikut ini :.

1. Jalankan Arduino IDE. Dari menu File Preference.

Gambar 7.3 menu File Preference

2. Pada jendela Preference, di bagian bawah terdapat kolom


Additional Boards Manager URLs kemudiancopy-pastelinkberikut :
http://arduino.esp8266.com/stable/package_esp8266com_ind ex.json

3
Gambar 7.4 Kolom Additional Boards Manager URLs

Kemudian klik OK.


3. Selanjutnya kita update boardnya. Dari menu Tool Board Board manager

Gambar 7.5 Update board

Akan muncul jendela Boards Manager. Pada bagian bawah cari ESP8266
kemudian klik Install.

4
Gambar 7.6 Install ESP8266

Ok, sekarang kita cek apakah NodeMCU sudah terinstal di Arduino IDE kita
atau belum. Dari menu Tools Board NodeMCU seperti pada gambar.

Gambar 7.7 Menu Tools Board NodeMCU

5
Sebelum kita menggunakan Arduino IDE untuk membuat program aplikasi IoT, beberapa library
perlu kita tambahkan. Cara menambahkan library ke Arduino IDE adalah sebagai berikut:

1. Buka folder dimana anda menyimpan software Arduino IDE

Gambar 7.8 Folder library

2. Buka folder “libraries”

6
Gambar 7.9 Isi folder library

3. Terdapat banyak daftar library. Copy satu folder library yang ingin anda
tambahkan, kemudian paste ke folder library Arduino tersebut.

Sekarang saatnya kita coba modul NodeMCU. Koneksikan modul NodeMCU V3 ke port
komputer/laptop melalui kabel USB.Pilih board : NodeMCU 1.0 (ESP-12E Module). Sesuaikan
nomor port dengan nomor com NodeMCU V3 yang terdeteksi di komputer.

Gambar 7.10 Pemilihan port

Untuk nomor port-nya dapat dicek di Device Manager komputer.

7
Gambar 7.11 Device Manager komputer

Kita coba program pertama yaitu LED Blink.

Tulis program berikut di sketch Arduino. (nama program : LED Blink).


#define LED_pin D5
void setup() {
pinMode(LED_pin, OUTPUT);
}
void loop() {
digitalWrite(LED_pin, LOW);
delay(1000);
digitalWrite(LED_pin, HIGH);
delay(1000);
}

Simpan (Save) kemudian Upload ke board NodeMCU V3. Klik Upload.

8
Gambar 7.12 Upload program

Programnya sederhana, menghidupkan LED 1 yang ada di board berkedip (blink) dengan delay 1
detik. Rangkaian LED 1 tampak pada gambar berikut ini. LED akan nyala jika pada kaki anoda
(pin D5) berlogika „HIGH‟.

Gambar 7.13 Rangkaian test NodeMCU V3

Program ini untuk testing apakah NodeMCU V3 dapat diprogram dan berjalan dengan Arduino
IDE. Sekarang kita Upload ke modul NodeMCU V3. Klik tombol Upload, tunggu sampai proses

9
compiling s/d upload selesai. Hasilnya tampak LED 1 pada board akan berkedip dengan delay 1
detik. Jika belum berhasil silakan cek lagi programnya. Jika ketika proses Upload mengalami
masalah coba cek lagi koneksi NodeMCU V3 ke port USB (pastikan tidak kendor) dan instalasi
driver berhasil (cek di Device Manager).Selanjutnya kita koneksikan NodeMCU V3 ini dengan
jaringan internet WiFi. Sebelumnya siapkan hotspot (WiFi). Kita dapat memakai modem atau
HP. Nama jaringan WiFi dan passwordnya nantinya kita gunakan untuk menulis program,
misalnya :
Nama : instrumentasi
Password : instrumentasi

/*************************************
Program : Tes Koneksi WiFi NodeMCU V3
* Input : -
* Output : Serial Monitor
* ***********************************/
#include <ESP8266WiFi.h>
const char* ssid = "Instrumentasi"; //nama Wifi sesuaikan dengan WiFi yang digunakan
const char* password = "instrumentasi"; //password WiFi sesuaikan dengan WiFi nya
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(2000);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
void loop() {

10
}

Gambar 7.14 Tampilan program

Simpan (Save) kemudian Upload. Tunggu sampai selesai, setelah itu cek di Serial Monitor
(Tools Serial Monitor) maka akan tampil status koneksi NodeMCU dengan WiFi. Seting Serial
Monitor pada Baudrate 115200. Jika tidak tampil, dapat direset dengan menekan tombol RST di
NodeMCU.

Gambar 7.15 Hasil test WiFi

7.3. Monitoring Suhu dengan Tampilan Grafik di Internet

Kita akan membaca nilai temperature (suhu) lingkungan yang dibaca sensor LM35 kemudian
menampilkan hasilnya di sebuah web server dalam bentuk grafik. Kita akan menggunakan server
ThingSpeak, jika belum mempunyai akun di ThingSpeak silakan mendaftar dulu.

11
Gambar 7.16 Sistem IoT

Cara pendaftaran pada server ThingSpeak dapat dilakukan dengan cara:

 Buka : https://thingspeak.com

Gambar 7.17 Server ThingSpeak

 Daftarkan akun anda. Klik “Sign Up” yang ada di pojok kanan atas.

 Siapkan sebuah akun email kemudian isi data – data yang diperlukan serta ikuti
petunjuknya sampai regristrasi berhasil

12
Gambar 7.18 Proses mendaftar ThingSpeak

 Selanjutnya kita buat channel. Klik “New Chanel”

Gambar 7.19 Membuat channel

 Berikutnya isi kolom Name, Description dan Field 1.

Gambar 7.20 Pengisisan buat channel

 OK, selanjutnya klik “Save Channel”

13
-

Gambar 7.21 Proses akhir

 Berikutnya akan tampil sebuah grafik (chart)


 Langkah selanjutnya kita cek API , klik tab API Keys.

Gambar 7.22 API Key

 Perhatikan dan catat kode API Keys-nya , nanti kita pakai untuk membuat programnya.

Siapkan sebuah sensor suhu LM35. Sensor suhu LM35 sudah sangat umum dipakai untuk
membaca temperatur lingkungan, mulai dari 00 – 1000 Celcius. Rangkaiannya juga mudah,
tinggal beri tegangan 5VDC dan keluaran sensor akan liner dengan persamaan 10mV/10C.
Pasang jumper “J6” agar tegangan LM35 terhubung ke 5V dan hubungkan CN5 ke A0 dari
NodeMCU V3 (output LM35 terhubung ke A0).

Gambar 7.23 Koneksi NodeMCU V3

14
Selanjutnya kita siapkan programnya, buka lembar kerja baru (File New) di Arduino IDE,
kemudian buat source code berikut (di CD juga sudah ada, tinggal anda buka dan sesuaikan
WiFi-nya serta API Keys-nya Thingspeak.

/*************************************
* Program : Monitoring Suhu Thingspeak
* Input : LM35 di A0
* Output : Grafik Thingspeak
* Iot Starter Kit Inkubatek
* ***********************************/
int outputpin= A0;
int analogValue;
float millivolts,celsius;
#include <ESP8266WiFi.h>

// ganti dengan API Keys anda di Thingspeak


String apiKey = "0OWL7R5RTKKH7BXL";
const char* ssid = " instrumentasi ";
const char* password = " instrumentasi ";
const char* server = "api.thingspeak.com";
WiFiClient client;
//
=======================
= void setup()
{ Serial.begin(115200);
delay(10);
WiFi.begin(ssid, password);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{ delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
//
========================================
== void loop() {

15
analogValue = analogRead(outputpin);
millivolts = (analogValue/1024.0) * 3300;
celsius = millivolts/10;
if (client.connect(server,80))
{ String postStr = apiKey;
postStr +="&field1="; postStr
+= String(celsius); postStr +=
"\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n"); client.print("X-
THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");

client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
Serial.print("Temperature: ");
Serial.print(celsius);
Serial.print(" Celcius ");
Serial.println(" send to Thingspeak");
}
client.stop();
Serial.println("Waiting…");
delay(20000); //minimal nunggu 15 detik update Thingspeak
}

Sesuaikan beberapa variable berikut :

 API Keys Cek di akun Thingspeak, copy paste ke program untuk variable apiKey
 Nama jaringan WiFi , isikan ke ssid
 Password WiFi , isikan ke password

16
Gambar 7.24 Pengkopian API key

Save kemudian Upload. Pastikan tidak ada error. Buka Serial Monitor diArduino IDE (Tools
Serial Monitor ) maka akan tampil :

Gambar 7.25 Tampilan serial monitor Arduino IDE

Buka web thingspeak.com dan masuk ke akun anda dengan user name + password yang sudah
dibuat.Perhatikan tampilan grafik akan sesuai dengan nilai yang dibaca oleh sensor suhu LM35.

Gambar 7.25 Tampilan grafik pengukuran suhu

17
Mengirim data menggunakan ESP8266
(Modul Wi-fi) dengan Arduino – Part 2
Mengirim data dari ESP8266 ke webserver ThingSpeak.

ThingSpeak merupakan situs yang menyediakan server untuk melayani pengiriman data yang
dikirim melalui request HTTP dengan penanda token/API key. Dengan cara membuat akun di
ThingSpeak, kita bisa mendapat server masing-masing, channel masing-masing dengan field
yang bisa dikustomisasi.

Perangkat yang dibutuhkan adalah sebagai berikut.

1. Arduino Uno
2. Modul Wi-fi ESP8266
3. Kabel jumper secukupnya
4. Breadboard
5. Jaringan Internet melalui Wi-Fi
6. Laptop/PC
7. Browser

Langkah yang dilakukan adalah sebagai berikut:

18
1. Merakit komponen dengan skema sebagai berikut

2. Membuat akun di ThingSpeak, dengan username pribadi dan channel pribadi


3. Mengupload kode kosong ke dalam arduino
4. Melakukan koneksi dengan Access point yang ada dengan AT command

 AT+CWJAP=”INDIHOME”,”telkom135″ , untuk melakukan koneksi ke access point


 AT+CIPMUX=1, melakukan pengaturan koneksi satu jalur
 AT+CIPSTART=4,”TCP”,”184.106.153.149“,80 untuk membuka koneksi ke IP dari web
ThingSpeak
 AT+CIPSEND=4,45 , command untuk mengirim paket data sejumlah 45 bytes
 Yang di kirimkan adalah “GET http://api.thingspeak.com/update?
key=HOSFLKK4LSRMGIYS&field1=5&#8221; dengan API key
HOSFLKK4LSRMGIYS, dan data yang dikirimkan adalah 5.

Dari langkah diatas, ada 2 kemungkinan hasil yang didapat berdasarkan hipotesis kami.

 Jika data yang dikirimkan lebih panjang daripada deklarasi panjang pada command
CIPSEND, maka akan terjadi Bad Request dan berakhir close connection. Perlu
dilakukan command AT+RST untuk dapat melakukan koneksi lagi
 Tapi jika data yang dikirimkan panjangnya pas, maka data akan terkirim dengan baik
sehingga tidak terjadi close connection.

19
Kami sempat mencoba kode yang berisi command-command diatas dengan alur yang sudah
ditentukan dan sesuai. Namun, masih terkendala karena ESP8266 mengalami timed out yang
cukup sering dalam melakukan koneksi. Perkiraannya ada pada masalah delay yang terlalu cepat
sehingga instruksi dieksekusi lebih cepat, dan Baud rate yang tidak sesuai dengan device yang
ada.

Demikian percobaan kami, berikut ada dokumentasi yang berhasil kami rekam pas iseng nyoba-
nyoba.

20
Rangkuman

1. IoT adalah sebuah konsep yang bertujuan untukmemperluas manfaat dari konektivitas
internet yang tersambung secara terus-menerus.
2. Sistem dasar dari IoT terdiri dari 3 hal, yaitu hardware/fisik, koneksi internet dan cloud
data center.
3. Tahapan yang diperlukan untuk menggunakan board NodeMCUV3 terakses ke internet
adalah penginstalan board NodeMCUV3, seting Arduino IDE agar dapat dipakai untuk
NodeMCu V3, tambahkan library yang dibutuhkan ke Arduino IDE, mencoba modul
NodeMCU terkoneksi ke internet menggunakan wifi.
4. Kita dapat membaca nilai temperature (suhu) lingkungan yang dibaca sensor LM35
melalui sebuah web server dalam bentuk grafik dapat menggunakan server ThingSpeak.
5. Tahapan untuk menggunakan server ThingSpeak adalah mendaftar pada server
ThingSpeak, buat channel, dapatkan API Keys untuk dimasukkan dalam program.
6. Pada program Arduino IDE hal yang diperhatikan adalah penyesuaian WiFi-nya (Nama
dan password) serta API Keys-nya Thingspeak.

Daftar Bacaan

1. Abdul Kadir, 2012. Panduan Praktis Mempelajari Aplikasi Mikrokontroler dan


Pemrogramannya menggunakan Arduino. Penerbit ANDI, Yogyakarta
2. Inkubatek tim,2017. IoT Starter Kit Inkubatek, Membuat Aplikasi IoT (Internet of
Things) dengan IoT STARTER KIT, Tokotronik, Yogyakarta.

Soal latihan

1. Apa pengertian IoT ?


2. Jelaskan sistem dasar IoT ?
3. Jelaskan tahapan yang diperlukan untuk menggunakan board NodeMCUV3 terakses
ke internet.
4. Bagaimana pengujian board NodeMCU V3?
5. Jelaskan tahapan membuat monitoring suhu dengan tampilan grafik di internet.
6. Bagaimana tahapan untuk menggunakan server ThingSpeak ?
7. Sebutkan cara pendaftaran pada server ThingSpeak.
8. Apa hal yang diperhatikan pada saat pengubahan jaringan wifi pada sistem NodeMCu
V3?

Tugas Kegiatan Terstuktur (Tugas kelompok)

21
Uraikan melalui makalah pendek (tidak lebih dari empat halaman, spasi tunggal, font 12,
kertas A4) tentang tahapan membuat aplikasi instrumentasi elektronika lain berbasis
IoT(cari melalui internet)berbasis:
a. Web
b. HP Android

22

Anda mungkin juga menyukai