Anda di halaman 1dari 41

BKPM

(BUKU KERJA PRAKTEK MAHASISWA)

INTERNET OF THINGS
SEMESTER 4

Oleh:
YOGISWARA.,ST,MT

PROGRAM STUDI TEKNIK KOMPUTER


JURUSAN TEKNOLOGI INFORMASI

POLITEKNIK NEGERI JEMBER


2018
HALAMAN PENGESAHAN

Identitas Matakuliah

1. Nama Matakuliah : Internet Of Things


2. Nomor Kode : TKK
3. Bidang Ilmu : Teknik Komputer
4. Semester : 4
5. Jumlah SKS : 3(2–1)
6. Profil Lulusan : Jaringan Komputer
7. Program Studi : Teknik Komputer
8. Jurusan : Teknologi Informasi

Jember, Desember 2018

Menyetujui
Ketua Program Studi Koordinator Matakuliah,
Teknik Komputer,

Hariyono Rakhmad, S.Pd, M.Kom Yogiswara,ST, MT


NIP 19701128 200312 1 001 NIP 19700929 2003 12 1 001
PRAKATA

Puji syukur kehadirat Allah SWT, karena penulis dapat menyelesaikan Buku Kerja Praktek
Mahasiswa (BKPM) untuk matakuliah Jaringan Komputer 2. Penulisan BKPM ini dimaksudkan
untuk melengkapi dan mengembangkan bahan rujukan agar dimanfaatkan oleh segenap
civitas akademika di lingkungan Jurusan Teknologi Informasi, Politeknik Negeri Jember.
Desain Instruksional matakuliah ini dirancang untuk Semester III program studi Teknik
Komputer, Politeknik Negeri Jember yang disusun atas dasar pembelajaran keahlian.

Penulis menyadari bahwa BKPM ini masih jauh dari kesempurnaan, maka dari itu penulis
sangat berharap adanya saran dan kritik yang membangun dari rekan-rekan dan pembaca
agar desain instruksional ini dapat lebih baik lagi.

Jember, Desember 2018

Penulis
DAFTAR ISI
Acara 1
Pokok Bahasan : Pengenalan Tentang Disiplin Ilmu IoT.
Acara Praktek : Pengenalan Konsep Internet of Things.
Tempat : Laboratorium Arsitektur dan Jaringan Komputer.
Alokasi Waktu : 1 x 170 menit.

a. Capaian Pembelajaran Mata Kuliah ( CPMK ) Indikator


Mahasiswa mampu menjelaskan tentang Definisi IOT, Komponen dan berbagai contoh
penerapannya terkait IoT

b. Dasar Teori
Salah satu metode untuk mempelajari sebuah materi contohnya “internet of things” adalah
dengan menggunakan peta konsep. Peta konsep adalah suatu gambar yang memaparkan
struktur konsep yaitu keterkaitan antar konsep dari suatu gambaran yang menyatakan
hubungan yang bermakna antara konsep-konsep dari suatu materi pelajaran yang
dihubungkan dengan suatu kata penghubung sehingga membentuk suatu proposisi.
Adapun langkah-langkah dalam membuat peta konsep adalah sebagai berikut
- Mengidentifikasi ide pokok atau prinsip yang melingkupi sejumlah konsep. Contoh
Ekosistem
- Mengidentifikasi ide-ide atau konsep-konsep sekunder yang menunjang ide utama.
Contoh individu, populasi, dan komunitas.
- Tempatkan ide-ide utama di tengah atau di puncak peta tersebut
- Kelompokkan ide-ide sekunder di keliling ide utama yang secara visual menunjukkan
hubungan ide-ide tersebut dengan ide utama.
Langkah-langkah mutlak dalam membuat peta konsep adalah sebagai berikut.
- Brainstorming atau curah gagasan
- Menentukan 8-12 konsep (topik) utama ( mayor)
- Menulis dan menyusun konsep-konsep dalam satu bentuk gambar
- Menghubungkan konsep-konsep dengan garis
- Memberikan label di atas garis panah
Dari langkah-langkah yang dikemukakan di atas dapat disederhanakan bahwa dalam
membuat suatu peta konsep langkah awalnya di mulai dari memilih suatu bahan bacaan,
lalu menentukan konsep-konsep yang relevan kemudian menyusun konsep-konsep
tersebut secara hierarki dari yang inklusif sampai yang kurang inklusif dalam satu bagan.
Kemudian antara konsep yang satu dengan konsep yang lainnya dihubungkan dengan kata
penghubung seperti “terdiri atas”, “contoh”, dan lain-lain. ( Cobalah untuk membaca
materi tentang peta konsep di internet.

c. Alat dan Bahan


- Peralatan : Komputer Worstation, Printer
- Bahan : Koneksi Internet, Kertas, Karton , Spidol
d. Prosedur Kerja
1. Gunakan Internet untuk mencari informasi tentang terminologi internet of things. (
Definisi, fungsi, komponen yang terkait, proses pembuatan, teknologi. dll
2. Buatlah sebuah peta konsep tentang internet of things menggunakan kisi kisi yang
dijelaskan di dasar teori
3. Lakukan diskusi kelompok hasil peta konsep yang dibuat
4. Membuat laporan ringkas tentang Internet of things
e. Hasil dan Pembahasan
Gambarkan Peta Konsep sementara pada lembar dibawah ini

f. Kesimpulan
g. Rubrik Penilaian.

No Indikator Skor*
1 Ketepatan menjelaskan konsep Internet Of Things 1 2 3 4
2 Kelengkapan dalam menjelaskan konsep Internet Of Things 1 2 3 4
3 Ketepatan mengidentifikasi komponen-komponen Internet Of Things 1 2 3 4

4 Keruntutan dalam menjelaskan konsep Internet Of Things 1 2 3 4


Jumlah skor

* lingkari salah satu

Nilai Deskripsi
4 Seluruh konsep Internet Of Things dijelaskan dengan benar
Seluruh konsep Internet Of Things dijelaskan secara lengkap
Seluruh komponen-komponen Internet Of Things diidentifikasi dengan benar
Seluruh konsep Internet Of Things dijelaskan secara runtut

3 Sebagian besar konsep Internet Of Things dijelaskan dengan benar


Sebagian besar konsep Internet Of Things dijelaskan secara lengkap
Sebagian besar komponen-komponen Internet Of Things diidentifikasi dengan benar
Sebagian besar konsep Internet Of Things dijelaskan secara runtut

2 Sebagian konsep Internet Of Things dijelaskan dengan benar


Sebagian konsep Internet Of Things dijelaskan secara lengkap
Sebagian komponen-komponen Internet Of Things diidentifikasi dengan benar
Sebagian konsep Internet Of Things dijelaskan secara runtut
1 Tidak mampu menjelaskan konsep Internet Of Things dengan benar
Tidak mampu menjelaskan konsep Internet Of Things secara lengkap
Tidak mampu mengidentifikasi komponen-komponen Internet Of Things
Tidak mampu menjelaskan konsep Internet Of Things secara runtut

Petunjuk :
1. Skor akhir menggunakan skala1-4
2. Perhitungan skor akhir = skor yang diperoleh X 100
4
Acara 2
Pokok Bahasan : Pengenalan Tentang IOT Networking
Acara Praktek : Jaringan komunikasi pada IoT.
Tempat : Laboratorium Arsitektur dan Jaringan Komputer.
Alokasi Waktu : 1 x 170 menit.

a. Capaian Pembelajaran Mata Kuliah ( CPMK ) Indikator


Mahasiswa mampu Mengetahui, memahami dan menjelaskan dan memahami penerapan
Jaringan IOT
b. Dasar Teori
Arsitektur Jaringan IoT pada dasarnya memiliki karakteristik dengan jaringan komputer.
Beberapa topologi memiliki konsep yang sama, perbedaan yang dapat diidentifikasi adalah
pada metode komunikasi , protocol dan beberapa konsep pengembangan layanan
aplikasinya.
c. Alat dan Bahan
Peralatan :
Komputer Worstation, Printer, Arduino Uno, Wemos, Kabel Jaringan dan konnektor
Bahan : Kabel Wemos, Wemos D1, LED
d. Prosedur Kerja
1. Gunakan Internet untuk mencari informasi tentang komponen IoT, Device, Koneksi
lokal, back end service dan aplikasi
2. Persiapkan instalasi board wemos pada aplikasi arduino dengan mengikuti langkah
langkah dibawah ini
- Download Arduino IDE dari web resmi Arduino.cc
- Download driver CH340G dari web Wemos.cc
- Lakukan instalasi kedua software diatas di komputer Anda
- Buka Arduino IDE kemudian masuk ke menu File -> Preference
Kemudian pada bagian Additional Board Manager URL masukkan URL berikut ini
: http://arduino.esp8266.com/stable/package_esp8266com_index.json

Kemudian masuk ke menu Tool -> Board Manager


Pada kotak pencarian masukkan esp8266, maka akan muncul pilihan dari ESP8266
Community. Klik pada bagian more info dan Install. Tunggu sampai selesai

Setelah selesai maka tipe board baru akan muncul di Arduino IDE. Masuk ke menu Tool
-> Board lalu cari Wemos D1 R2 & Mini. Pilih tipe board ini jika Anda ingin memprogram
Wemos dengan Arduino
Selanjutnya jangan lupa pilih port serial yang sesuai dengan yang dipakai Wemos.
Contoh pada komputer saya adalah COM4 (tidak semua komputer sama).

Untuk menguji coba upload program, gunakan Example dari contoh program blink dari
Sub Folder ESP8266.
Upload program Anda dan pastikan proses upload telah sukses dengan indikator pesan
“Done Uploading”

Setelah program berhasil terupload perhatikan LED yang berada dekat chip ESP8266
menyala berkedip. Jika LED berkedip maka proses dan cara memprogram wemos
dengan arduino Anda sudah benar

3. mencoba sebuah rancangan IoT sederhana dengan memasukkan kode program


dibawah ini melalui aplikasi arduino.

#include <ESP8266WiFi.h>

const char* ssid = "AJK_STUDENT"; // Nama SSID


const char* password = "123123123"; //Password Wifi yang akan dikonekan
int ledPin = D5;
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// 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 Konek");
// Start the server
server.begin();
Serial.println("Aktikan Server");
// Print the IP address
Serial.print("Akses alamat berikut : ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
WiFiClient client = server.available();
if (!client) {
return;
}
Serial.println("Client Baru");
while(!client.available()){
delay(1);
}
String request = client.readStringUntil('r');
Serial.println(request);
client.flush();
int value = LOW;

if (request.indexOf("/LED=ON") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1){
digitalWrite(ledPin, LOW);
value = LOW;
}

// Respon
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.print("LED : ");
if(value == HIGH) {
client.print("On");
} else {
client.print("Off");
}
client.println("<br><br>");
client.println("Click <a href="/LED=ON">here</a> LED : pin 5 ON<br>");
client.println("Click <a href="/LED=OFF">here</a> LED : pin 5 OFF<br>");
client.println("</html>");
delay(1);
Serial.println("Client Diskonek");
Serial.println("");
}

Setelah proses upload behasil, buka serial monitoring, akan ditampilkan data tampilan
status koneksi berhasil, dan link IP ESP akan ditampilkan juga.
Akses alamat IP pada web browser perangkat anda Laptop/HP menggunakan web
browser.
Kemudian klik link untuk menyala dan mematikan lampu. Pada program diatas saya
gunakan LED onboard yang terhubung pada pin D5/SCK, sehingga LED SCK akan mati
dan nyala sesuai dengan kondisi tombol anda.

e. Hasil dan Pembahasan


Amati hasil praktek kegiatan instalasi wemos D1 pada arduino dan buatlah analisis
kerja program pada prosedur 3 dan buatlah ringkasan singkat tentag pengenalan
komunikasi wireless pada perangkat IoT dalam hal ini menggunakan Wemos D1

f. Kesimpulan
g. Rubrik Penilaian

No Indikator Skor*
1 Ketepatan menjelaskan konsep Jaringan Internet Of Things 1 2 3 4
2 Kelengkapan dalam menjelaskan konsep Jaringan Internet Of Things 1 2 3 4
3 Ketepatan mengidentifikasi komponen-komponen Jaringan Internet Of 1 2 3 4
Things
4 Keruntutan dalam menjelaskan konsep Internet Of Things 1 2 3 4
Jumlah skor

* lingkari salah satu

Nilai Deskripsi
4 Seluruh konsep jaringan Internet Of Things dijelaskan dengan benar
Seluruh konsep jaringan Internet Of Things dijelaskan secara lengkap
Seluruh komponen-komponen jaringan Internet Of Things diidentifikasi dengan
benar
Seluruh konsep jaringan Internet Of Things dijelaskan secara runtut
3 Sebagian besar konsep jaringan Internet Of Things dijelaskan dengan benar
Sebagian besar konsep jaringan Internet Of Things dijelaskan secara lengkap
Sebagian besar komponen-komponen jaringan Internet Of Things diidentifikasi
dengan benar
Sebagian besar konsep jaringan Internet Of Things dijelaskan secara runtut

2 Sebagian konsep jaringan Internet Of Things dijelaskan dengan benar


Sebagian konsep jaringan Internet Of Things dijelaskan secara lengkap
Sebagian komponen-komponen jaringan Internet Of Things diidentifikasi dengan
benar
Sebagian konsep Internet Of Things dijelaskan secara runtut
1 Tidak mampu menjelaskan konsep jaringan Internet Of Things dengan benar
Tidak mampu menjelaskan konsep jaringan Internet Of Things secara lengkap
Tidak mampu mengidentifikasi komponen-komponen jaringan Internet Of Things
Tidak mampu menjelaskan konsep jaringan Internet Of Things secara runtut
Acara 3
Pokok Bahasan : Protokol Komunikasi IOT
Acara Praktek : Instalasi MQTT Server.
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 1 x 170 menit

a. Capaian Pembelajaran Mata Kuliah ( CPMK ) Indikator


Mahasiswa memahami protokol pada IoT dan dapat mengimplementasikan pada
perangkat IoT

b. Dasar Teori
Protokol MQTT (Message Queuing Telemetry Transport) adalah protokol yang berjalan pada
diatas stack TCP/IP dan mempunyai ukuran paket data dengan low
overhead yang kecil (minimum 2 bytes) sehingga berefek pada konsumsi catu daya yang juga
cukup kecil. Protokol ini adalah jenis protokol data-agnostic yang artinya anda bisa
mengirimkan data apapun seperti data binary, text bahkan XML ataupun JSON dan protokol
ini memakai model publish/subscribe daripada model client-server.
Stack TCP/IP sekarang sudah banyak di dukung oleh mikrokontroler seperti seri STM32Fx7
maupun device board yang umum dipasaran seperti Arduino Yun, Arduino + Ethernet
Shield, ESP8266 WiFi SoC, Raspberry Pi dll. Jadi sebenarnya banyak pilihan untuk belajar IoT
dengan memakai protokol ini ditambah lagi harga device yang semakin murah dan
terjangkau.

c. Alat dan Bahan


- Peralatan :
- Komputer Worstation, Printer, Arduino Uno, Wemos, Kabel Jaringan dan konnektor
- Bahan : Kabel Wemos, Wemos D1, LED

d. Prosedur Kerja
1. Lakukan installasi MQTT Broker pada aplikasi windows dengan tahapan dibawah ini
Download sumber data dari alamat ini https://mosquitto.org/download/
Untuk windows pilih versi yang sesuai

Selain itu download juga aplikasi eclipse for windows


Eksekusi file download.exe dan akn muncul kotak dialog instalasi

Disitu anda akan diminta download file dan lakukan download serta installasi juga hasil
download tersebut. Untuk Open SSL akan muncul tampilan sebagai berikut
Sedangkan untuk pthreadvc2 akan muncul tampilan dibawah ini dan lakukan
instalasinya juga

Berikutnya adalah tampilan pilihan -> next

Pilih Lokasi dan install


Installasi selesai dan untuk memeriksa apakah aplikasi telah terintall dengan baik
dengan membuka window service dengan menggunakan tools windows

Untuk menguji apakah koneksi telah terregistrasi. Buka windows command dan ketik
netstat-an dan akan menampilkan koneksi yang aktiv pada windows
2. Lakukan praktek untuk menjalankan MQTT sesuai tahapan dibawah ini

e. Hasil dan Pembahasan


Buatlah analisis tentang sistem kerja MQTT dan cari bagaiman cara penguian MQTT yang
lainnya

f. Kesimpulan
g. Rubrik Penilaian

No Indikator Skor*
1 Ketepatan menjelaskan tentang MQTT Server 1 2 3 4
2 Kelengkapan dalam menjelaskan tahapan instalasi MQTT Server 1 2 3 4
3 Ketepatan mengidentifikasi komponen pada MQTT Server 1 2 3 4
4 Keruntutan dalam menjelaskan MQTT 1 2 3 4
Jumlah skor

* lingkari salah satu

Nilai Deskripsi
4 Seluruh konsep MQTT dijelaskan dengan benar
Seluruh konsep MQTT dijelaskan secara lengkap
Seluruh komponen-komponen MQTT diidentifikasi dengan benar
Seluruh konsep MQTT dijelaskan secara runtut

3 Sebagian besar MQTT dijelaskan dengan benar


Sebagian besar MQTT dijelaskan secara lengkap
Sebagian besar komponen-komponen MQTT diidentifikasi dengan benar
Sebagian besar konsep jaringan Internet Of Things dijelaskan secara runtut

2 Sebagian konsep MQTT dijelaskan dengan benar


Sebagian MQTT dijelaskan secara lengkap
Sebagian komponen- MQTT diidentifikasi dengan benar
Sebagian konsep Internet Of Things dijelaskan secara runtut

1 Tidak mampu menjelaskan MQTT dengan benar


Tidak mampu menjelaskan MQTT secara lengkap
Tidak mampu mengidentifikasi MQTT secara lengkap
Tidak mampu menjelaskan MQTT secara runtut
Acara 4
Pokok Bahasan : Implementasi Sensor pada IOT ( M2M )
Acara Praktek : implementasi sensor suhu berbasis IoT
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 1 x 170 menit

a. Capaian Pembelajaran Mata Kuliah ( CPMK ) Indikator


Mahasiswa mampu Mengetahui, memahami dan menjelaskan teknik
mengimplementasikan sensor pada IOT

b. Dasar Teori

c. Alat dan Bahan


Peralatan :
Komputer Worstation, Printer, Arduino Uno, Wemos, Kabel Jaringan dan konnektor
Bahan : Kabel Wemos, Wemos D1, Sensor Suhu LM35DZ

d. Prosedur Kerja
1. Buat rangkaian perangkat keras antara wemos dengan sensor suhu dengan
konfigurasi sebagai berikut

Wemos D1 Mini Sensor DHT 11


3V3 VCC
D1 DATA
G GND

2. Upload kode dibawah ini


#include
#include

#define DHTPIN D2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

/* Parameters:
* t = temperature
* h = humidity
* i = ID
*/
const char* server = &quot;api.servermu.com&quot;; // ganti dengan alamat servermu
const char* ssid = &quot;wifimu&quot;; // ganti dengan SSID modem/router wifimu
const char* password = &quot;passwordmu&quot;; // ganti dengan password utk konek ke wifimu
const char* SensorID = &quot;ESP001&quot;; // ini sekedar identitas sensormu

WiFiClient client;
void setup() {
Serial.begin(115200);
delay(10);
dht.begin();

pinMode(BUILTIN_LED, OUTPUT);
digitalWrite(BUILTIN_LED, HIGH);

WiFi.begin(ssid, password);
Serial.println();
Serial.println();
Serial.print(&quot;Connecting to &quot;);
Serial.print(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(&quot;.&quot;);
}
Serial.println(&quot;&quot;);
Serial.println(&quot;WiFi Connected&quot;);
}

void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println(&quot;Gagal membaca sensor DHT&quot;);
return;
}

Serial.print(&quot;Temperature: &quot;);
Serial.print(t);
Serial.print(&quot; *C. Humidity: &quot;);
Serial.println(h);

if (client.connect(server,80)) {
Serial.print(&quot;Posting data...&quot;);
digitalWrite(BUILTIN_LED, LOW);
Serial.println(&quot;Temperature: &quot; + String(t) + &quot;, Humidity: &quot; + String(h));

client.println(&quot;GET /dht.php?t=&quot; + String(t) + &quot;&amp;amp;h=&quot; + String(h) +


&quot;&amp;amp;i=&quot; +SensorID+ &quot; HTTP/1.1&quot;);
client.println(&quot;HOST: api.servermu.com&quot;);
client.println(&quot;Connection: close&quot;);
client.println();
/*
while (client.connected() &amp;amp;&amp;amp; !client.available()) delay(1);
while (client.connected() || client.available()) {
char c = client.read();
Serial.print(c);
}
*/
client.stop();
Serial.println();
digitalWrite(BUILTIN_LED, HIGH);
}
delay(5000); // Beri delay 5 detik sebelum polling berikutnya

Aktifkan Serial Monitor unutk melihat hasilnya. Kalau berhasil, mungkin akan
menampilkan seperti contoh berikut:

Selain itu tanda lainnya adalah LED internal Wemos dinyalakan saat posting data

3. Untuk agar bisa diakses melalui website silahkan Upload kode dibawah ini

#include <DHT.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#define DHTPIN D1
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

IPAddress ip(192, 168, 43, 100);


IPAddress gateway(192, 168, 43, 1);
IPAddress subnet(255, 255, 255, 0);

const char* ssid = (Zendewo(;


const char* pass = (password&quot;;

ESP8266WebServer server(80);

void handle_root() {
server.send(200, (text/plain&quot;, ({\&quot;Product ID\&quot;:\(NCS_DHT_00001\&quot;, \(Product
Name\&quot;:\(NCS Temperatur and Humidity Sensor\&quot;, \(Date\&quot;:\(2016-08-31\&quot;,
\(Author\&quot;:\&quot;Emanuel Setio Dewo\&quot;,
\&quot;Email\&quot;:\&quot;setio.dewo@gmail.com\&quot;}&quot;);
delay(100);
}

void setup() {
pinMode(BUILTIN_LED, OUTPUT);
digitalWrite(BUILTIN_LED, HIGH);

Serial.begin(115200);
delay(10);
dht.begin();
Serial.println(NCS Sensor Server&quot;);
Serial.print(Connecting&quot;);

WiFi.begin(ssid, pass);
WiFi.config(ip, gateway, subnet);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(&quot;.&quot;);
}
Serial.println(&quot;&quot;);
Serial.print(&quot;Connected to: &quot;);
Serial.println(ssid);
Serial.print(&quot;IP address: &quot;);
Serial.println(WiFi.localIP());
server.on(&quot;/&quot;, handle_root);

server.on(&quot;/sensor&quot;, []() {
digitalWrite(BUILTIN_LED, LOW);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
server.send(200, &quot;text/plain&quot;, &quot;{\&quot;Suhu\&quot;:\&quot;ERR\&quot;,
\&quot;Lembab\&quot;:\&quot;ERR\&quot;}&quot;);
}
else {
server.send(200, &quot;text/plain&quot;, &quot;{\&quot;Suhu\&quot;:&quot;+String(t)+&quot;,
\&quot;Lembab\&quot;:&quot;+String(h)+&quot;}&quot;);
}
digitalWrite(BUILTIN_LED, HIGH);
});
server.begin();
Serial.println(&quot;NCS DHT server started&quot;);
}
void loop() {
server.handleClient();
}
4. Buka browser dari laptop/hape yang terkoneksi dengan wifi yang sama dengan
Wemos. Ketikkan IP dari Wemos di browser dan jika semua proses sukses akan
menampilkan

Dan untuk melihat data kelembapan dan suhu dengan menambah /sensor sehingga
akan menampilkan hasil seperti dibawah ini

e. Hasil dan Pembahasan


f. Kesimpulan

g. Rubrik Penilaian

No Indikator Skor*
1 Ketepatan menjelaskan tentang MQTT Server 1 2 3 4
2 Kelengkapan dalam menjelaskan tahapan instalasi MQTT Server 1 2 3 4
3 Ketepatan mengidentifikasi komponen pada MQTT Server 1 2 3 4
4 Keruntutan dalam menjelaskan MQTT 1 2 3 4
Jumlah skor

* lingkari salah satu

Nilai Deskripsi
4 Seluruh konsep tentang sensor dijelaskan dengan benar
Seluruh konsep tentang sensor dijelaskan secara lengkap
Seluruh komponen-komponen tentang sensor diidentifikasi dengan benar
Seluruh konsep tentang sensor dijelaskan secara runtut

3 Sebagian besar tentang sensor dijelaskan dengan benar


Sebagian besar tentang sensor dijelaskan secara lengkap
Sebagian besar komponen-komponen tentang sensor diidentifikasi dengan benar
Sebagian besar konsep tentang sensor dijelaskan secara runtut

2 Sebagian konsep tentang sensor dijelaskan dengan benar


Sebagian tentang sensor dijelaskan secara lengkap
Sebagian komponen- tentang sensor diidentifikasi dengan benar
Sebagian konsep tentang sensor dijelaskan secara runtut

1 Tidak mampu menjelaskan tentang sensor dengan benar


Tidak mampu menjelaskan tentang sensor secara lengkap
Tidak mampu mengidentifikasi tentang sensor secara lengkap
Tidak mampu menjelaskan tentang sensor secara runtut
Acara 5
Pokok Bahasan : Implementasi Aktuator pada IOT ( M2M )
Acara Praktek : Prktek implementasi sensor suhu dengan ThinkSpeak
Tempat : Laboratorium Arsitektur dan Jaringan Komputer
Alokasi Waktu : 1 x 170 menit

a. Capaian Pembelajaran Mata Kuliah ( CPMK ) Indikator


Mahasiswa mampu Mengetahui, memahami dan menjelaskan teknik
mengimplementasikan sensor pada IOT

b. Dasar Teori

Pengantar ESP8266
ESP8266 adalah sebuah komponen chip terintegrasi yang didesain untuk keperluan dunia
masa kini yang serba tersambung. Chip ini menawarkan solusi networking Wi-Fi yang
lengkap dan menyatu,yang dapat digunakan sebagai penyedia aplikasi atau untuk
memisahkan semua fungsi networking Wi-Fi ke pemproses aplikasi lainnya. ESP8266
memiliki kemampuan on-board prosesing dan storage yang memungkinkan chip tersebut
untuk diintegrasikan dengan sensor-sensor atau dengan aplikasi alat tertentu melalui pin
input output hanya dengan pemrograman singkat.
Spesifikasi Umum ESP8266

• 802.11 b/g/n
• Integrated low power 32-bit MCU
• Integrated 10-bit ADC
• Integrated TCP/IP protocol stack
• Integrated TR switch, balun, LNA, power amplifier and matching network
• Integrated PLL, regulators, and power management units
•Supports antenna diversity
• WiFi 2.4 GHz, support WPA/WPA2
• Support STA/AP/STA+AP operation modes
• Support Smart Link Function for both Android and iOS devices
• SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote Control, PWM, GPIO
• STBC, 1×1 MIMO, 2×1 MIMO
Gambar : ESP8266

Pengantar THINGSPEAK
ThingSpeak merupakan sebuah website yang mendukung mengirimkan data tangkapan
sensor melalui HTTP. Untuk dapat melakukan percobaan dengan menggunakan
ThingSpeak ini anda perlu untuk daftar terlebih dahulu. Setelah terdaftar anda harus
membuat channel barulah anda dapat melakukan percobaan. Berikut ini alur kerja dari
ThingSpeak:

Gambar Alur kerja Thing Speak


Gambar Tampilan Data Think Speak

c. Alat dan Bahan


- Peralatan :
- Komputer Worstation, Printer, Arduino Uno, Wemos, Kabel Jaringan Kabel Jumper
- Bahan : Kabel Wemos, Wemos D1, Relay Shield wemos

d. Prosedur Kerja
1 Akses input digital dan Output Digita;
Semua pin pada Arduino, baik pin digital maupun pin analog, dapat digunakan sebagai
pin digital. Digital berarti sinyal yang dikirimkan/diterima bernilai 1 atau 0, on atau off,
HIGH atau LOW, ada atau tidak ada sinyal. Berbeda dengan sinyal analog yang nilainya
bersifat kontinyu, yakni nilai antara 0 dan 1 dipertimbangkan. Pin digital berarti pin dapat
menerima/mengirim sinyal digital.
Secara umum pin pada Arduino dapat dikonfigurasi ke dalam dua mode, yaitu mode input
dan output. Mode input berarti mengeset pin agar dapat digunakan untuk menerima
masukan sinyal. Mode output berarti mengeset pin agar dapat mengirimkan sinyal.
Untuk mengeset mode pin, kita gunakan fungsi pinMode(). Fungsi ini biasanya dipanggil
di dalam suatu rutin fungsi setup(). Fungsi ini memerlukan dua parameter,
pinMode([nomorPin], [mode]). Parameter pertama diisi oleh nomor pin, dan parameter
kedua diisi oleh konstanta INPUT atau OUTPUT, sesuai dengan mode yang ingin kita
gunakan. Sebagai contoh, lihat pada kode berikut

void setup()
{
pinMode(2, INPUT); // set pin 2 sebagai pin input
pinMode(13, OUTPUT); // set pin 13 sebagai pin output
}

Pada dasarnya semua pin yang ada pada Arduino (ATMega) berada pada mode input
secara default. Jadi ketika kita ingin menggunakan suatu pin sebagai input, maka kita
tidak harus menuliskan “pinMode(nomorPin, INPUT);”.
Untuk menerima input digital yang masuk ke pin, kita gunakan fungsi
”digitalRead(nomorPin)”. Fungsi ini menerima satu parameter, yaitu nomor pin mana
yang akan dibaca nilai inputnya. Fungsi ini akan mengembalikan nilai 1 dan 0, atau HIGH
dan LOW (HIGH adalah konstanta dengan nilai 1 dan LOW adalah konstanta dengan nilai
0).
Supaya lebih paham, silakan coba contoh berikut. Skenarionya adalah kita akan
menghubungkan kabel jumper ke pin 2 dan menyalakan LED yang ada pada board Arduino
Uno pin 13 saat kabel jumper disambungkan ke GND (input aktif LOW)

Buat rangkaian seperti berikut:

Tahap berikutnya adalah memprogram Arduino agar sensor suhu LM35 dapat dibaca dan
ditampilkan pada serial monitor. Namun, sebelum membuat program, kita akan
menghitung bagaimana cara mengukur dan mengkonversi output dari LM35 menjadi
suhu. Kita akan mengkonversi tegangan pada kaki output sensor suhu LM35, kemudian
menghitungnya berdasarkan tegangan referensi yang digunakan, dan mengubahnya
menjadi satuan derajat celcius, lalu mengirimkannya ke komputer melalui komunikasi
serial. Jika menggunakan tegangan referensi 5 Volt, maka Arduino bisa mengukur
setidaknya hingga 5000 mV. Dan kemampuan baca sensor suhu LM35 adalah sebesar 10
mV / derajat celcius. Berdasarkan persamaan sederhana, maka hitung suhu berdasarkan
perbandingan antara kapasitas tegangan yang bisa dicacah oleh pin analog Arduino
(1024) dan kemampuan sensor suhu LM35 dalam mengukur suhu. Persamaan untuk
mengkonversi tegangan analog sensor suhu LM35 menjadi derajat celcius :
Suhu = (data_adc * 5000) / 1024 / 10

Tulis program Arduino seperti berikut :


//definisi input #define sensor_suhu A0

//variabel float suhu, data_adc;

void setup() {
//setting awal mikrokontroller
Serial.begin(9600);
//setting baudrate komunikasi serial monitor }
void loop() {
//program utama
data_adc = analogRead(sensor_suhu);
suhu = data_adc * 5000.0f / 1023.0f / 10.0f;
Serial.print("data_adc: ");
Serial.print(data_adc);
Serial.print(" Suhu: ");
Serial.print(suhu);
Serial.print(" C");
Serial.println();
delay(1000) ; }

Program diatas akan membaca data_adc dari sensor suhu pada pin A0 Arduino kemudian
mengkonversinya menjadi suhu. Informasi suhu akan dikirim ke komputer melalui
komunikasi serial dengan baud rate 9600 dengan jeda setiap 1000 milisekon atau 1 detik.
Variabel suhu dan data_adc menggunakan float, yaitu tipe data yang memuat angka
pecahan. Disini menggunakan pecahan karena adanya proses perhitungan pembagian.
Jika menggunakan integer, maka hasil proses perhitungan pembagiannya akan selalu
dibulatkan. Fungsi analogRead() digunakan untuk membaca masukan dari sensor analog.
Nilai dari analog read ini berkisar dari 0 hingga 1023 berdasarkan kemampuan dari
mikrokontroller dalam mencacah dari 0 – 5 Volt. Selanjutnya hasil pembacaan analog read
dimasukkan dalam persamaan konversi tegangan menjadi satuan derajat celcius melalui
variabel suhu, dan nilai
dari varibel suhu akan ditampilkan ke serial monitor Arduino melalui Serial.print(suhu).
Hasil perhitungan suhu ditampilkan secara real-time setiap 1000 milisekon atau 1 detik.

Hubungkan Arduino ke komputer melalui kabel USB dan upload program di atas.
Kemudian buka serial monitor Arduino. Berikut hasil tampilan pembacaan suhu pada serial
monitor arduino :
Koneksi dengan IoT
Buatlah akun padawebsite thingspeak.com

Setelah terdaftar, silahkan melakukan Login. Kemudian klik New Channel

Klik pada Tab Channel setting, dan isikan Form sesuai dengan Kebutuhan lalu Save
Klik Tab API Keys lalu Copy-Paste pada Notepad

Susunlah rangkaian seperti gambar dibawah ini atau melalui board khusus untuk
ESP8266 yang sudah disediakan dengan built-in power regulator 3.3V

Sambungkan koneksi dari board ESP8266 ke papan Arduino sebagai berikut :


• Pin +5V pada board ESP8266 ke pin 5V Arduino
• Pin Gnd pada board ESP8266 ke pin Gnd Arduino
• Pin Tx pada board ESP8266 ke pin 10 Arduino
• Pin Rx pada board ESP8266 ke pin 11 Arduino
• Kaki 1 sensor suhu LM35 ke 5V Arduino
• Kaki 2 sensor suhu LM35 ke pin analog A0 Arduino
• Kaki 3 sensor suhu LM35 ke GND Arduino
Tulis program Arduino seperti berikut

#include <SoftwareSerial.h>
#include <stdlib.h> //definisi input output
#define led_output 13 //led_output pada pin 13
#define sensor_suhu A0 //sensor_suhu pada pin A0

//variabel
String cmd;
String apiKey = "XXXXXXXXXXXX"; //Ubah dengan API Key Write anda
String ssid = "XXXX"; //Ubah dengan WIFI SSID and
password anda String password = "XXXXXXXXX";

SoftwareSerial ser(10, 11); //RX, TX

void setup()
{
//setting awal
pinMode(led_output, OUTPUT); //set led_output ke mode OUTPUT
Serial.begin(9600); //set baudrate komunikasi serial monitor
ser.begin(9600); //set baudrate komunikasi esp8266
//WIFI connection
cmd = "AT+CWJAP=\"";
cmd += ssid;
cmd += "\",\"";
cmd += password;
cmd +="\"";
ser.println(cmd);
delay(1000); //get ip addr
ser.println("AT+CIFSR");
delay(1000);
ser.println("AT+RST"); //reset ESP8266 }

void loop()
{
//program utama
digitalWrite(led_output, HIGH); //nyalakan led
delay(200);
digitalWrite(led_output, LOW); //matikan led
int adc_value = 0;
for(int i = 0; i < 10; i++)
{
//ambil 10 data sensor_suhu
adc_value += analogRead(sensor_suhu);
delay(500);
}
int average_adc_value=adc_value/10;
//rumus konversi adc_value to temp
float temp = average_adc_value*5000.0f/1023.0f/10.0f;
char buf[16];
String strTemp = dtostrf(temp, 0, 2, buf);
Serial.println(strTemp);
// convert decimal to string
/* The format is:
dtostrf(floatvar, StringLengthIncDecimalPoint, numVarsAfterDecimal, charbuf);

where: floatvar=float variable


StringLengthIncDecimalPoint=This is the length of the string that will be created
numVarsAfterDecimal=The number of digits after the deimal point to print
charbuf=the array to store the results
*
//TCP connection
cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += "184.106.153.149";
// api.thingspeak.com
cmd += "\",80";
ser.println(cmd);
if(ser.find("Error"))
{ //saat TCP error
Serial.println("AT+CIPSTART error");
return;
}
//prepare GET string
String getStr = "GET /update?api_key=";
getStr += apiKey;
getStr +="&field1=";
getStr += String(strTemp);

//getStr +="&field2=";
//getStr += String(strTemp2);
getStr += "\r\n\r\n";

//send data length


cmd = "AT+CIPSEND=";
cmd += String(getStr.length());
ser.println(cmd);
if(ser.find(">"))
{
//saat string komplit
ser.print(getStr); }
else
{
//saat string tidak komplit
ser.println("AT+CIPCLOSE");
// alert user
Serial.println("AT+CIPCLOSE");
}
delay(16000); //thingspeak memerlukan update data per 16 milisecond (minimal 15
milisecond)

Hubungkan Arduino ke komputer melalui kabel USB dan upload program di atas
Buka serial monitor Arduino. Berikut hasil tampilan pembacaan suhu pada serial monitor
Arduino
Buka aplikasi thingspeak.com, lalu masukkan user name dan password

e. Hasil dan Pembahasan


Dari kegiatan yang telah dikerjakan buatlah analisis program arduino dan dilakukan hal
yang sama menggunakan sensor lainnya

f. Kesimpulan
g. Rubrik Penilaian

No Indikator Skor*
1 Ketepatan menjelaskan tentang MQTT Server 1 2 3 4
2 Kelengkapan dalam menjelaskan tahapan instalasi MQTT Server 1 2 3 4
3 Ketepatan mengidentifikasi komponen pada MQTT Server 1 2 3 4

4 Keruntutan dalam menjelaskan MQTT 1 2 3 4


Jumlah skor

* lingkari salah satu

Nilai Deskripsi
4 Seluruh konsep tentang thinkspeak dijelaskan dengan benar
Seluruh konsep tentang thinkspeak dijelaskan secara lengkap
Seluruh komponen-komponen tentang thinkspeak diidentifikasi dengan benar
Seluruh konsep tentang thinkspeak dijelaskan secara runtut

3 Sebagian besar tentang thinkspeak dijelaskan dengan benar


Sebagian besar tentang thinkspeak dijelaskan secara lengkap
Sebagian besar komponen-komponen tentang thinkspeak diidentifikasi dengan
benar
Sebagian besar konsep tentang thinkspeak dijelaskan secara runtut
2 Sebagian konsep tentang thinkspeak dijelaskan dengan benar
Sebagian tentang thinkspeak dijelaskan secara lengkap
Sebagian komponen- tentang thinkspeak diidentifikasi dengan benar
Sebagian konsep tentang thinkspeak dijelaskan secara runtut

1 Tidak mampu menjelaskan tentang thinkspeak dengan benar


Tidak mampu menjelaskan tentang thinkspeak secara lengkap
Tidak mampu mengidentifikasi tentang thinkspeak secara lengkap
Tidak mampu menjelaskan tentang thinkspeak secara runtut
https://dewo.wordpress.com/2016/08/31/server-monitor-suhu-dan-
kelembaban-ruangan-dengan-wemos-d1-mini/

https://dewo.wordpress.com/2016/07/10/pemantau-suhu-kelembaban-udara-
dengan-wemos-d1-mini-dht11/

http://www.sfe-electronics.com/blog/news/tutorial-wemos-d1-led-controller-
berbasi-local-webserver

Anda mungkin juga menyukai