Official StoreTekan tombol di atas untuk membeli semua alat dan bahan eksperimen di web ini

IoT dengan Arduino dan Thingspeak

IoT atau Internet of Things banyak digunakan untuk me-remote atau memonitor perangkat melalui internet menggunakan sebuah smartphone, laptop atau tablet. Karena transmisi data dilakukan melalui internet maka Anda dapat menghubungi perangkat dimana saja dan kapan saja asal Anda dan perangkat Anda sama-sama terhubung dengan internet.

Sekilas tentang IoT

IoT adalah sebuah teknologi transfer data melalui internet yang tidak membutuhkan IP public di sisi client. Asal terhubung internet maka perangkat Anda sudah terhubung ke IoT cloud. Menggunakan ip private yang dynamic pun tidak ada masalah (jika Anda menggunakan modem GPRS/3G/4G, biasanya sim card operator seluler hanya akan memberi ip tipe ini). Sekilas tentang teknologi ini dan bagaimana terminologinya dapat Anda baca di sini.

IoT dan Arduino

Teknologi IoT mendukung transmisi data (payload) yang sangat kecil. Kurang lebih sekali kirim hanya akan menghabiskan data 15 kb saja. Ini tentunya sangat cocok diterapkan pada embedded system client semacam Arduino, Raspberry, Teensy, dll yang memiliki memori yang terbatas.

Khusus untuk Arduino, sudah tersedia beberapa library yang akan memudahkan Anda untuk join ke IoT network. Jika Anda menggunakan pure MQTT server (public broker) semacam test.mosquitto.org atau broker.mqttdashboard.com, Anda dapat menggunakan library PubSubClient.h yang sudah tersedia di Arduino IDE secara gratis (built-in). Sudah tersedia contoh programnya sehingga Anda dapat mencobanya sendiri. Untuk contoh sketch yang tersedia hanya untuk koneksi internet menggunakan Ethernet shield dan ESP8266 ya (ESP8266 sebagai serial to WIFI), jika Anda menggunakan modem GSM Anda harus menggunakan library yang lain.

IoT, Arduino dan Thingspeak

Jika Anda menggunakan pure MQTT server atau disebut juga public broker, ada sedikit kelemahan, yaitu Anda harus membangun server sendiri untuk menyimpan data (history/log). Karena sifat dasar dari IoT menggunakan protokol MQTT adalah data akan hilang begitu dikirim ke broker (real time data). Perangkat client harus secepat mungkin mengolah data yang datang. Nah, jika Anda ingin menyimpan data, Anda harus membangun semacam database server sendiri yang bertindak sebagai ‘subscriber’ MQTT.

Dalam terminology IoT dengan protokol MQTT, dikenal tiga macam network element, yakni publisher (pengirim data), subscriber (penerima data) dan broker (penghubung subscriber dan publisher)

Jika Anda tidak ingin ribet membangun infrastruktur IoT, Anda dapat memanfaatkan layanan dari Thingspeak.com, yakni semacam opensource IoT server. Dengan Thingspeak Anda dapat memanfaatkan semua layanan IoT secara gratis termasuk di dalamnya adalah free broker, free logging, free API (Application Programming Interface), dll. Hmm, benar-benar sangat membantu buat Anda yang sedang membangun sistem ‘IoT solution’.

Contoh Penggunaan IoT dengan Arduino dan Thingspeak

Berikut ini akan saya contohkan penggunaan IoT dengan Arduino dan Thingspeak. Arduino di sini berfungsi sebagai publisher dengan Thingspeak sebagai broker dan datalog server. Sebagai subscriber, Anda dapat menggunakan smartphone Android Anda sendiri. Di sini smartphone akan digunakan untuk memonitor data dalam bentuk chart yang dikirim oleh Arduino client. Hmm, menarik, bukan? Anda dapat melihat grafik datalogging sensor dimana saja dan kapan saja, asal smarphone Android Anda memiliki kuota internet. Kurang lebih begini ilustrasi penggunaan Thingspeak untuk sistem IoT yang akan kita bangun, ‘Monitoring Sensor Arus dan Suhu menggunakan IoT

topologi-jaringan-iot-dengan-arduino-dan-thingspeak

Untuk membangun sistem IoT di atas, setidaknya ada tiga langkah yang harus Anda siapkan, yakni:
1. Menyiapkan sisi client (publisher), dalam hal ini adalah Arduino, agar dapat mengukur parameter lingkungan menggunakan sensor dan mengirimnya ke IoT broker/server
2. Menyiapkan sisi IoT server, dalam hal ini adalah Thingspeak agar dapat menerima data dari Arduino (publisher), menyimpan data dan menampilkannya dalam bentuk grafik
3. Menyiapkan sisi subscriber, dalam hal ini adalah smartphone Android agar dapat memonitor data sensor (dari Arduino) secara real time dan interaktif.

Baiklah, pelan-pelan akan saya jelaskan:
1. Menyiapkan IoT Publisher (Arduino + Sensor)
Untuk sisi publisher, kurang lebih yang harus Anda siapkan adalah:

script handler untuk sensor
Script handler adalah source code dalam bahasa C yang dapat menyebabkan hardware IC mikrokontroller dalam papan Arduino dapat berinteraksi dengan sensor melalui port-port nya. Script handler ini sangat spesifik terhadap tipe sensornya. Antara sensor yang satu dengan sensor lainnya akan berbeda. Sebagai contoh, jika Anda ingin mengukur suhu maka Anda dapat memilih menggunakan sensor LM35 atau DHT11. Nah, script handler untuk kedua sensor ini sangatlah berbeda, menyesuaikan karakteristik masing-masing sensor. Anda dapat melihatnya lebih detail di artikel ini dan itu.

library untuk mengirim data ke Thingspeak
Untuk mengirim data ke Thingspeak, caranya cukup mudah. Jika Anda menggunakan Ethernet shield untuk mengirim data melalui internet, Anda dapat menggunakan library bawaan SPI.h dan Ethernet.h. Namun saat mengirim data, Anda harus menyertakan header yang berisi API dari Thingspeak (lihat point no 2 di bawah).

Berikut ini adalah contoh sketch Arduino untuk mengirim data ke IoT server menggunakan Thingspeak. Sketch di bawah akan mengirim data pembacaan tegangan analog dari pin A0 ke Thingspeak

Download source code di sini

Gambar rangkaian untuk sistem di atas:

detail-sisi-arduino-menggunakan-ethernet-shield-topologi-jaringan-iot-dengan-arduino-dan-thingspeak

Jika Anda menggunakan Ethernet shield untuk sistem IoT, Anda harus mendesain topologi jaringan LAN Anda agar dapat terhubung ke internet.

Untuk ethernet shield, dapat Anda beli di sini

Untuk konfigurasi jaringan di atas, Anda terhubung ke internet menggunakan hub/switch dan atau router yang berlangganan internet melalui ISP (Internet Service Provider)

Ada alternatif lain, yakni dengan menggunakan sebuah router 3G/4G yang berisi sim card. Jadi koneksi internet di dapat dari tethering router 3G/4G, yang kemudian akan mengubahnya menjadi koneksi Ethernet (RJ45) ke Ethernet shield Arduino. Dengan demikan Anda dapat mengatur kuota internetnya sesuai budget Anda sendiri, beda dengan layanan dari ISP yang relatif lebih mahal (dan bulanan).

detail-sisi-arduino-menggunakan-3g-4g-router-topologi-jaringan-iot-dengan-arduino-dan-thingspeak

Untuk 3G Router dapat dibeli di sini.

2. Menyiapkan IoT server (Thingspeak)

Untuk sisi IoT server menggunakan Thingspeak, Anda harus menyiapkannya agar dapat menerima data dari Arduino. Berikut langkah-langkahnya:

Buka https://thingspeak.com dan daftarkan account Anda

daftar-thingspeak

membuat channel data

Isikan field yang diperlukan (satu channel maks 8 field), minimal yang harus diisikan adalah nama channel (‘Name’) dan ‘field1’ (centang opsi ‘Make Public’ jika data Anda ingin dapat dilihat orang lain). Field ini nantinya akan berisi data sensor yang dikirim dari Arduino. Jika sudah, tekan tombol ‘Save Channel’.

buat-channels-thingspeak

isi-data-channels-thingspeak

menyalin API ke sketch Arduino

Jika Channel sudah jadi, buka tab ‘Api Keys’, copy ‘Write API key’ dan salin ke sketch Arduino di atas (lihat point 1 di atas)

‘Write API Key’ digunakan untuk mengirim data, ‘Read API Key’ digunakan untuk membaca data

api-key-thingspeak

Sampai langkah di atas, Anda sudah berhasil menyiapkan server IoT yang akan meng-handle pengiriman data dari Arduino. Untuk melihat tampilan grafik historical data, Anda dapat membuka tab ‘Public View’ (atau Private View).

tampilan-channel-grafik-suhu-thingspeak

3. Menyiapkan IoT Subscriber (smartphone Android)

Berikut ini adalah langkah-langkah menyiapkan smartphone Android Anda agar dapat memonitor data Arduino:

menginstal aplikasi ‘ThingsView’ di Google Play Store
Buka URL https://play.google.com/store/apps/details?id=com.cinetica_tech.thingview&hl=in atau search melalui Play Store langsung dari smartphone. Instal aplikasi tersebut

mengisi ‘channel ID’ yang dibuat pada point 2 di atas
Jika aplikasi ‘ThingsView’ sudah terinstal, jalankan aplikasi tersebut dan isi Channel ID sesuai yang tertera di web Thingspeak

isi-channel-di-thingsview

menampilkan grafik dengan memilih channel tersebut
Selamat, channel data Arduino sudah didaftarkan di aplikasi ThingsView. Kini Anda dapat membuka grafik pengukuran sensor langsung dari aplikasi Android Anda

tampilan-grafik-suhu-di-thingsview

Demikian tutorial tentang IoT menggunakan Arduino dan Thingspeak, semoga dapat memicu kreativitas Anda untuk membuat sistem-sistem IoT yang lain.

Incoming search terms:

penjelasan thingspeak, cara menggunakan thingspeak, apa itu thingspeak, IoT Saptaaji, iot menggunakan arduino, iot topologi, iot dengan arduino, apa itu web thingspeak, Contoh iot mqtt, contoh sketch iot

Leave a Reply

138 Comments on "IoT dengan Arduino dan Thingspeak"

avatar
  Subscribe  
newest oldest most voted
Notify of
Arif
Guest

Kang request dong mengambil DB dari server menggunakan IoT dan ditampilkan di Android menggunakan Delphi. Aturnuhun kangg

Agus Sopian
Guest

Mantap penjelasannya…kalo pake sim800l bisa gak? minta tutorialnya yang pake sim800l gan.. terimakasih

Kutil
Guest

Coding dari thinkspeak ke android tetap memakai bahasa C kan om? Atau?

M Adita Putra
Guest

Om bisa nggak kita ambil tampilan grafik thingspeak nya aja untuk ditampilin di website kita sendiri ?setiap orang bisa buka gitu

nico
Guest

mas , bedain kode arduino yg buat ke thingspeak sama ga itu gmn si mas ? kalo kode kita tuh sebelum nya gapake ethernet shield ,tuh nambahin apa ya ?

nico
Guest

mas, klo uplod data arduino load cell ke thingspeak, gimana ya mas? belum ada code ethernet sheld nya juga ,di tambahin simbol atau gimana? beda ga sih ,code thimgspeak yg di arduino dengan yg diuplod beda ga sih?

Aditya
Guest

kalo untuk koneksi di ethernet shield nya menggunakan modem usb yang dihubungkan dengan konverter usb to rj45 apakah bisa?

Ardi
Guest

Scirp untuk sensor dht11 nya dimasukin di bagian mananya ya?

Akbar
Guest

mas mau tanya tapi OOT nih..
klo misal mau ngambil data yg ada di website, misal dari arduinodev buat ambil data tanggal sama jam gimana ya?

arul
Guest

mas untuk konfigurasi pin sensor dht11 yang 3 pin ke etehrnetshieldnya apakah benar seperti ini? pin 1 ke 5v, pin 2 ke A0, pin 3 ke GnD . soalnya keluaran hasil suhu di thingspeaknya tidak akurat, sering diatas 100 hasil suhunya

adit
Guest

untuk konfigurasi dht11 3 pin ke ethernetshld nya itu gmn ya mas?
pin 1 ke mana, pin 2 kemana, pin 3 kemana?

arul
Guest

kira2 di pengaturan chanel yg dimananya mas? soalnya pengukurannyalangsung berubah kalo vcc nya di tancapkan

Fauzi Septiandhi
Guest

om kalo make sim800l gimana yah tutorialnya? terimakasih banyak

Nurhati Triningtyas
Guest

kok program diatas byk yg error ya?
dan mau tanya dong itu API KEY yang disuruh di copy mau di salin dimana ya?

arul
Guest

tapi pas di cek tanpa koneksi internet, hasil pembacaannya normal mas.
masih bingung dmn salahnya

agus
Guest

mas aji kapan” bisa kopdar gak buat ngajarin saya carapenggunaan iot.
saya bener’ awam.

Arfan
Guest

Kalo mau saya hubungkan dengan Ethernet Shield,apakah dengan script dia atas bisa ? apakah ada pengaturan lanjutan mengenai ip , dns, dll ? thx

Arfan
Guest

Menambahkan pertanyaan mas. Saya menghubungkan arduino shield dengan kabel rj45 ke laptop yg terhubung dengan wifi. Tetapi saat saya cek di serial monitor, muncul komentar “DHCP failed, Connection to Thingspeak failed”. Apakah prosedur saya salah ? lalu yang benar bagaimana mas ? agar dapat mengirimkan sinyal menuju thingspeak

rif
Guest

Saya sudah berhasil mennampilkan data melalui thingspeak. Tetapi hanya 3 menit, kemudian thingspeak tidak menampilkan data lagi. Mohon pencerahannya !

thx

Ariiif
Guest

Untuk menampilkan data sensor analog A0 & A1 dalam 2 fields, script nya di edit d bagian mana ya ? thx

Arul
Guest

Mas, kalo contoh diatas itu mau saya tambahin broker, misal pakek amqp. Bisa kah?

taufik
Guest

mas mau tanya.. ini saya sudah coba dengan 3g router itu kendalanya sama yaitu “dhcp failed, conecting to thinkspeak failed”.. sementara kalo pake router yang tidak pake modem bisa.. ada komentar “arduino connect to network” tapi selang beberapa menit langsung ada komentar connection to thingspeak failed. nah itu bagaimana ya mas?
yang berikutnya.. saya pake sensor ds18b20, apakah perlu perubahan di sketch arduinonya?

gunawan
Guest

mas…
numpang tanya…
platfom untuk tampilan data selain thinkspeek thinsboard itu apa ya..
yg mudah2, ngk pake mqtt..

q dah nyoba dweet.io blom berhasil2..

mhon bantuan….

Achmad Fauzi
Guest

Mas tanya saya kan sedang project skripsi membuat data logger dengan web sendiri, nah saya pengen di web saya itu nampilin grafik hasil pengiriman data dr arduino kira2 mungkin gak sih?

Abdul Goffar Al Mubarok
Guest
Abdul Goffar Al Mubarok

Terimakasih Mas Ajie..
Sangat mencerdaskan dan sangat menarik sekali tulisan Mas tentang IoT yang dimuat di sini. Saya tertarik untuk menggunakan ThingSpeak, tapi saya punya satu pertanyaan, adakah batas tertentu dari ThingSpeak terkait pencatatan data khususnya untuk pengguna gratis? Misalnya request maksimal harian seperti di Pushingbox yang hanya mampu menerima 1000 request per hari.

wildan
Guest

mas mau tanya thinkspeak bisa tampilin gambar ga? jadi gambar yang disimpan di micro sd di tampilin gitu

reva
Guest

maaf mas mau numpang tanya kalo untuk IOT ini, saya masih bingung soal jaringan internetnya, lebih baik saya memakai modul wifi esp8266 dengan mifi huawei atau saya menggunakan modul ethernet shield dimana internetnya bersumber dari router+modem? maaf merepotkan..

Siti Rohana
Guest

kak kenapa ak udh upload sensor flame & sensor buzzer menggunakan esp8266 di upload ke thingspeak grafiknya cuman angka 0 aja ya. ngga ad agka yg lain. itu kesalahan koding atau bagaimana???

yogha
Guest

gan, kalo ngirim data ke web server buatan sendiri pake protokol mqtt gimana dari arduino+esp8266?

Maskur
Guest

Mas saya mau tanya, saya punya kerjaan hampir sama kaya artikel iot ini sudah mirip, tapi kalo aplikasi androidnya buatan sendiri bisa tidak ya? Jadi dari sensor arduino mengirim ke thingspeak, kemudian muncul notif di aplikasi androidnya? Minta bantuannya

Zylan
Guest

mas kalau thingspeak sebagai sistem kontrol berbasis web bisa nggak kan karena kan yang disini hanya sebagai monitorng aja

agun ardiansyah
Guest

Mas maksih sebelumnya, Kenapa yah mas data si sensor saya gak kebaca, jadi gk muncul grafik sensornya?mohon pencerahannya mas hhe

reka irawan
Guest

assalamualaikum mas aji, mas, cara daftar akun thingspeak gimana iya mas, kok saya enggak bisa” daftar pdahal passwoard yang di masukkin udah betul tapitetap di bilang salah. menurut mas gimana solusinya mas.

agun
Guest

mas gmana cara mengatur si grafik data sensor di thingspeak supaya tidak terlalu berdekatan,mkasih mas

hendra
Guest

mas mau nanya. kalo dalam satu chanel ada 2 fungsi misal field 1 sampe 6 saya pake untuk monitoring. kemudian field 7 dan 8 saya untuk control relay kira kira bisa apa engga ya mas?
terimakasih

Edhyl
Guest

Apakah sensor MQ-2 bisa jga digunakan dlam rancangan ini ya mas???

ujang
Guest

bang mau nanya kalo Iot Thingspeak pake arduino + NodeMCU bisa kan?

Mark
Guest

Selamat Siang mas Ajie,
Mohon dibantu tutorialnya jika hasil monitoring tersebut dibuat aplikasi apk (android), misal pakai MIT app.

Mohon dibantu. Terima kasih.

rifandi
Guest

misi mas mau nanya
kalau arduinonya tidak mau terkoneksi ke networknya itu kenapa ya mas ?

Joshua
Guest

Makasih atas penjelasan nya, mau nanya , cara memonitor jumlah tegangan baterai ke thingspeak gimana ya? Intinya agar kita bisa ngeliat tegangan baterai tersebut dalam web(thingspeak) Makasih

tatak
Guest

nanya mas, thinkspeak ini hanya untuk monitoring saja/satu arah saja?
atau bisa untuk remote …mis untuk merubah port ucontroller on /off.

Ria Aatuti
Guest

Assalamu’alaykum warahmatullahi wabarakatuh… Mas, saya mau nanya dong, bisa kasih tutorial pkai thingspeak yg bisa menyimpan data(database)?

Hannafi
Guest

assalamualaikum mas, mau nanya mas kalo iot thingspeak ini saya pakai sensor gps neo 6M bisa gk ya mas? jadi nanti data yg ditampilin berupa waktu dan kcepatan, kalau bs,sy ngrubah sketch codingnya di bagian mana ya mas utk sensor sy? mhon sekali bantuannya mas ..tks

Deby
Guest

Assalamualaikum.. saya ingin menggunakan sim 800l sebagai pengganti ethernet shield. bisakah saya minta kontak email untuk tutor dalam pengerjaannya?
terima kasih sebelumnya..

Susanto nugraha
Guest

Terima kasih penjelasannya, Mas saya mau nanya, saya punya tugas besar sama seperti artikel ini hanya saja bedanya tugas besar saya hanya menampilkan lewat web saja bukan dithingspeak, nah kira-kira koding dan gambar topologi diatas bisa dipakai? Dan klo diubah sebelah mananya ya mas? Mohon pencerahannya mas

Yuli
Guest

maaf saya mau nanya, kalo cara menghubungkan arduino ke web aplikasi yang kita buat gimana ya? apa bisa kita memakai api key yang ada di thingspeak ini?

error: Content is protected !!