BAB II LANDASAN TEORI 2.1 Definisi Enclosure Enclosure adalah struktur yang menyelubungi mesin, berfungsi untuk mencegah bising sehingga tidak menerobos ke lingkungan sekitar . Enclosure dapat dibuat dari material padat maupun tembus pandang. Enclosure pada BTS atau sering disebut sebagai Chassis adalah kotak berbahan plastik atau logam, yang merupakan tempat di mana komponenkomponen utama sebuah perangkat ditempatkan. Seperti, perangkat komputer, perangkat server, bahkan perangkat sinyal dan lain sebagainya. Enclosure pada BTS dirancang untuk melindungi perangkat BTS yang biasanya didesain untuk kondisi outdoor terutama kondisi hujan dan panas. 2.1.1 Struktur Dasar Enclosure Gambar 2.1 Struktur Dasar Enclosure 5 http://digilib.mercubuana.ac.id/ 6 Enclosure memiliki fungsi yang fleksibel tergantung penempatan dan penggunaannya. Secara penempatannya enclosure dapat ditempatkan pada tiang penyanggah atau didinding ruangan dengan dibor. Secara penggunaannya enclosure dapat digunakan untuk perangkat power (KWH dan Rectifier mini) dan perangkat telekomunikasi (BTS, Router, dan Access Point). Pada perangkat telekomunikasi dibutuhkan MCB sebagai power utama, filter udara, dan rak 19inch berbentuk list untuk memudahkan penempatan perangkat atau modul telekomunikasi, sebagai contoh adalah perangkat BTS mini. Umumnya enclosure yang tersedia dipasaran sudah memiliki Climate System atau kipas yang sudah disertakan pada enclosure tersebut. Permasalahan dilapangan yang sering terjadi adalah Climate System atau kipas pada enclosure tidak mampu mengatasi suhu panas cuaca, panas yang disebabkan kinerja perangkat itu sendiri, dan adanya penambahan perangkat pada enclosure yang digunakan. Dalam kondisi seperti ini sulit mendapatkan Climate System atau kipas tambahan secara cepat dan dengan harga yang terjangkau karena sifatnya yang pabrikasi dan satu paket dalam pembelian setiap enclosurenya. 2.1.2 Desain Enclosure Enclosure didesain dengan berbagai macam pilihan, diantaranya : Main Enclosure Main Enclosure memiliki bentuk yang besar dan memiliki desain yang lebih kompleks, biasanya digunakan untuk perangkat power seperti rectifier, generator, BTS Macro dan lain sebagainya. Mini Enclosure Mini Enclosure memiliki bentuk yang lebih kecil dan ringkas, biasanya digunakan untuk rectifier mini, BTS Semi Macro (BTS Hotel), BTS http://digilib.mercubuana.ac.id/ 7 Micro (Inbuliding System), server mini, hub/router dan lain sebagainya. 2.2 Power Supply (Pencatu Daya) Power Supply atau pencatu daya adalah sebuah peranti elektronika yang berguna sebagai sumber daya untuk peranti lain, terutama daya listrik. Pada dasarnya pencatu daya bukanlah sebuah alat yang menghasilkan energi listrik saja, namun ada beberapa pencatu daya yang menghasilkan energi mekanik, dan energi yang lain. 2.2.1 Jenis-Jenis Power Supply Power Supply atau pencatu daya dapat dibedakan menjadi beberapa jenis, diantaranya adalah DC Power Supply, AC Power Supply, Switch Mode Power Supply, Programmable Power Supply, Uninterruptible Power Supply, High Voltage Power Supply. Berikut ini adalah penjelasan singkat mengenai jenis-jenis Power Supply : 1. DC Power Supply DC Power Supply adalah pencatu daya yang menyediakan tegangan maupun arus listrik dalam bentuk DC (Direct Current) dan memiliki Polaritas yang tetap yaitu Positif dan Negatif untuk bebannya. Terdapat 2 jenis DC Power Supply yaitu : AC to DC Power Supply AC to DC Power Supply mengubah sumber tegangan listrik AC menjadi tegangan DC yang dibutuhkan oleh peralatan Elektronika. Pada umumnya terdiri dari Transformator yang menurunkan tegangan, Dioda sebagai Penyearah dan Kapasitor sebagai Penyaring (Filter). http://digilib.mercubuana.ac.id/ 8 Linear Regulator Linear Regulator berfungsi untuk mengubah tegangan DC yang berfluktuasi menjadi konstan (stabil) dan biasanya menurunkan tegangan DC Input. 2. AC Power Supply AC Power Supply adalah Power Supply yang mengubah suatu taraf tegangan AC ke taraf tegangan lainnya. Contohnya AC Power Supply yang menurunkan tegangan AC 220V ke 110V untuk peralatan yang membutuhkan tegangan 110VAC. Atau sebaliknya dari tegangan AC 110V ke 220V. 3. Switch-Mode Power Supply Switch-Mode Power Supply (SMPS) adalah jenis Power Supply yang langsung menyearahkan (rectify) dan menyaring (filter) tegangan Input AC untuk mendapatkan tegangan DC. Tegangan DC tersebut kemudian di-switch ON dan switch OFF pada frekuensi tinggi dengan sirkuit frekuensi tinggi sehingga menghasilkan arus AC yang dapat melewati Transformator Frekuensi Tinggi. 4. Programmable Power Supply Programmable Power Supply adalah jenis power supply yang pengoperasiannya dapat dikendalikan oleh Remote Control melalui antarmuka Input analog maupun digital seperti RS232 dan GPIB. 5. Uninterruptible Power Supply (UPS) Uninterruptible Power Supply atau sering disebut dengan UPS adalah Power Supply yang memiliki 2 sumber listrik yaitu arus listrik yang langsung berasal dari tegangan input AC dan Baterai/Genset yang terdapat didalamnya. Saat listrik normal, tegangan Input akan secara simultan mengisi Baterai dan menyediakan arus listrik untuk beban http://digilib.mercubuana.ac.id/ 9 (peralatan listrik). Tetapi jika terjadi kegagalan pada sumber tegangan AC seperti matinya listrik, maka Baterai/Genset akan mengambil alih untuk menyediakan Tegangan untuk peralatan listrik/elektronika yang bersangkutan. 6. High Voltage Power Supply High Voltage Power Supply adalah power supply yang dapat menghasilkan Tegangan tinggi hingga ratusan bahkan ribuan volt. High Voltage Power Supply biasanya digunakan pada mesin X-ray ataupun alat-alat yang memerlukan tegangan tinggi. 2.2.2 Power Supply pada Rangkaian Pada alat yang dirancang ini menggunakan power supply dengan tegangan input PLN 220V AC dan dengan output 12V DC sesuai yang dibutuhkan microcontroller Wemos untuk beroperasi. Oleh karena itu, alat ini memiliki sebuah rangkaian yang berfungsi untuk melakukan konversi arus listrik dari arus AC menjadi arus DC yang sesuai dengan rangkaian Elektronika-nya. Rangkaian yang mengubah arus listrik AC menjadi DC ini disebut dengan DC Power Supply. DC Power Supply atau Catu Daya ini juga sering dikenal dengan nama “Adaptor”. Berikut komponen yang dibutuhkan untuk microcontroller ini adalah sebagai berikut : - Transformator stepdown 220VAC ke 12VDC - Dioda Bridge - Kapasitor http://digilib.mercubuana.ac.id/ 10 Gambar 2.2 Rangkaian Sederhana Power Supply 12VDC Berikut ini adalah penjelasan singkat tentang prinsip kerja DC Power Supply (Adaptor) pada rangkaian diatas : 1. Transformator Transformator yang digunakan adalah Transformer jenis Step-down yang berfungsi untuk menurunkan tegangan listrik sesuai dengan kebutuhan microcontroller Wemos dan terdiri dari 2 bagian utama yang berbentuk lilitan yaitu lilitan Primer dan lilitan Sekunder. Lilitan Primer merupakan Input dari pada Transformator sedangkan Outputnya adalah pada lilitan sekunder. Meskipun tegangan telah diturunkan, Output transformator masih berbentuk arus AC yang harus diproses selanjutnya. Gambar 2.3 Rangkaian Transformator Stepdown http://digilib.mercubuana.ac.id/ 11 2. Rectifier (Penyearah) Rectifier atau penyearah adalah rangkaian elektronika dalam Power Supply yang berfungsi untuk mengubah gelombang AC menjadi gelombang DC setelah tegangannya diturunkan oleh Transformator Step down. Rangkaian Rectifier biasanya terdiri dari komponen Dioda. Rangkaian Rectifier dalam Power Supply terdiri dari 4 komponen dioda. Gambar 2.4 Rangkaian Rectifier (penyearah) 3. Filter (Penyaring) Dalam rangkaian Power supply ini, Filter digunakan untuk meratakan sinyal arus yang keluar dari Rectifier. Filter ini biasanya terdiri dari komponen Kapasitor (Kondensator) yang berjenis Elektrolit atau ELCO (Electrolyte Capacitor). Gambar 2.5 Rangkaian Filter http://digilib.mercubuana.ac.id/ 12 2.3 Kipas DC Kipas DC merupakan sebuah perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik. Energi mekanik ini digunakan untuk menggerakkan fan atau blower. Gambar 2.6 Kipas DC Keuntungan utama Kipas DC adalah dapat dikendalikan dengan mengatur : 1. Tegangan dinamo, meningkatkan tegangan dinamo akan meningkatkan kecepatan. 2. Arus medan, menurunkan arus medan akan meningkatkan kecepatan. 3. Pengendalian kecepatan yang tidak mempengaruhi kualitas pasokan daya. Dibawah ini merupakan komponen utama kipas DC yang digunakan dalam rangkaian : Gambar 2.7 Komponen Utama Kipas DC http://digilib.mercubuana.ac.id/ 13 Gambar diatas memperlihatkan sebuah motor DC yang memiliki beberapa komponen utama : 1. Kutub medan Kipas DC sederhana memiliki dua kutub medan yaitu kutub utara dan kutub selatan. Garis magnetik energi membesar melintasi ruang terbuka diantara kutub-kutub dari utara ke selatan. Untuk motor yang lebih besar atau lebih komplek terdapat satu atau lebih elektromagnet. 2. Dinamo/Rotor yang berbentuk silinder, dihubungkan ke as penggerak untuk menggerakan beban. Untuk kasus kipas DC yang kecil, dinamo berputar dalam medan magnet yang dibentuk oleh kutub-kutub, sampai kutub utara dan selatan magnet berganti lokasi. 3. Blower, atau baling-baling merupakan bagian pasif sebagai peniup angin hasil gerakan dari dinamo. 2.4 Sensor Suhu dan Kelembapan (DHT11) Kelembaban udara menggambarkan kandungan uap air di udara yang dapat dinyatakan sebagai kelembaban mutlak, kelembaban nisbi (relatif) maupun defisit tekanan uap air. Kelembaban nisbi adalah membandingkan antara kandungan/tekanan uap air aktual dengan keadaan jenuhnya atau pada kapasitas udara untuk menampung uap air. Peralatan elektronik juga menjadi mudah berkarat jika udara disekitarnya memiliki kelembaban yang cukup tinggi. Oleh karena itu, informasi mengenai kelembaban udara pada suatu area tertentu menjadi sesuatu hal yang penting untuk diketahui karena menyangkut efek-efek yang ditimbulkannya. Informasi mengenai nilai kelembaban udara diperoleh dari proses pengukuran. Alat yang biasanya digunakan untuk mengukur kelembaban udara adalah higrometer. DHT11 adalah sensor digital yang dapat mengukur suhu dan kelembaban udara di sekitarnya. Sensor ini sangat mudah digunakan bersama dengan Arduino maupun Wemos. Memiliki tingkat stabilitas yang sangat baik serta fitur kalibrasi yang sangat akurat. http://digilib.mercubuana.ac.id/ 14 Koefisien kalibrasi disimpan dalam OTP program memory, sehingga ketika internal sensor mendeteksi sesuatu, maka modul ini menyertakan koefisien tersebut dalam kalkulasinya, DHT11 ini termasuk sensor yang memiliki kualitas terbaik, dinilai dari respon, pembacaan data yang cepat, dan kemampuan anti-interference. Ukurannya yang kecil, dan dengan transmisi sinyal hingga 20 meter, dengan spesifikasi: Supply Voltage: +5V, Temperature range : 0-50 °C error of ± 2°C, Humidity : 20-90% RH ± 5% RH error, dengan spesifikasi digital interfacing system. membuat produk ini cocok digunakan untuk banyak aplikasi-aplikasi pengukuran suhu dan kelembaban. Tabel 2.1 Tabel karakteristik Sensor Suhu dan Kelembaban DHT11 Model DHT11 Power supply 3VDC - 5.5VDC Output signal Digital signal via single-bus Measuring range Humidity 20 - 90% RH ± 5% RH error Temperature 0 - 50°C error of ± 2°C Humidity ± 4%RH (Max ± 5%RH); Accuracy Temperature ± 2.0oCelsius Resolution or Sensitivity Humidity 1%RH; Temperature 0.1oCelsius Repeatability Humidity ± 1%RH; Temperature ± 1Celsius Humidity hysteresis ± 1%RH Long-term Stability ± 0.5%RH/year Sensing period Average : 2s Interchangeability Fully interchangeable Dimensions size 12 x 15.5 x 5.5mm Dari penjelasan (Tabel 2.1) diatas bahwa struktur yang merupakan cara kerja dari sensor kelembaban udara/Humidity DHT11 memiliki empat buah kaki yaitu: pada bagian kaki(VCC), dihubungkan ke bagian Vss yg bernilai sebesar 3V - 5V,pada board mikrokontroler dan untuk bagian kaki http://digilib.mercubuana.ac.id/ 15 GND dihubungkan ke ground (GND), sedangkan pada bagian kaki data yang merupakan keluaran (Output) dari hasil pengolahan data analog dari sensor DHT11 dan yang tak ketinggalan terdapat satu kaki tambahan yaitu kaki NC (Not Connected), yang tidak dihubungkan ke pin manapun. Gambar 2.8 Sensor kelembaban udara/Humidity (DHT11) 2.5 Transistor Pada umumnya, transistor memiliki 3 terminal, yaitu Basis (B), Emitor (E) dan Kolektor (C). Tegangan yang di satu terminalnya misalnya Emitor dapat dipakai untuk mengatur arus dan tegangan yang lebih besar daripada arus input Basis, yaitu pada keluaran tegangan dan arus output Kolektor. Transistor dalam rangkaian alat ini berfungsi semacam sakelar atau kran listrik, dimana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya. Pada umumnya, transistor memiliki 3 terminal, yaitu Basis (B), Emitor (E) dan Kolektot (C). Tegangan yang di satu terminalnya misalnya Emitor dapat dipakai untuk mengatur arus dan tegangan yang akan dikuatkan melalui kolektor.Selain digunakan untuk penguat transistor bisa juga digunakan sebagai saklar. Caranya dengan memberikan arus yang cukup besar pada basis transistor hingga mencapai titik jenuh. Pada kondisi seperti ini kolektor dan emitor bagai kawat yang http://digilib.mercubuana.ac.id/ 16 terhubung atau saklar tertutup, dan sebaliknya jika arus basis teramat kecil maka kolektor dan emitor bagai saklar terbuka. Dengan sifat pensaklaran seperti ini transistor bisa digunakan sebagai gerbang atau yang sering kita dengar dengan sebutan TTL yaitu Transistor Transistor Logic. Gambar 2.9 Bentuk fisik transistor Transistor di bedakan menjadi 2 tipe yaitu transistor PNP dan transistor NPN. Untuk membedakan transistor PNP dan NPN dapat di lihat dari arah panah pada kaki emitornya. Pada transistor PNP anak panah mengarah ke dalam dan pada transistor NPN arah panahnya mengarah ke luar. Gambar 2.10 Jenis Transistor NPN dan PNP http://digilib.mercubuana.ac.id/ 17 2.6 Internet of Things (IoT) Internet of Things, atau dikenal juga dengan singkatan IoT, merupakan sebuah konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet yang tersambung secara terus-menerus. Secara singkat Internet of Things dapat dikatakan sebagai sebuah konsep dari benda-benda di sekitar yang mampu berkomunikasi dan berbagi data antara satu sama lain melalui sebuah jaringan seperti internet. Adapun kemampuan seperti berbagi data, remote control, dan sebagainya, termasuk juga pada benda di dunia nyata. Contohnya bahan pangan, elektronik, koleksi, peralatan apa saja, termasuk benda hidup yang semuanya tersambung ke jaringan lokal dan global melalui sensor yang tertanam dan selalu aktif. Pada dasarnya, Internet of Things mengacu pada benda yang dapat diidentifikasikan secara unik sebagai representasi virtual dalam struktur berbasis Internet. Istilah Internet of Things awalnya disarankan oleh Kevin Ashton pada tahun 1999 dan mulai terkenal melalui Auto-ID Center di MIT. 2.6.1 Definisi Alternatif 1. Casagras (Coordination and support action for global RFID-related activities and standardisation) Mendefinisikan Internet of Things, sebagai sebuah infrastruktur jaringan global, yang menghubungkan benda-benda fisik dan virtual melalui eksploitasi data capture dan kemampuan komunikasi. Infrastruktur terdiri dari jaringan yang telah ada dan internet berikut pengembangan jaringannya. Semua ini akan menawarkan identifikasi obyek, sensor dan kemampuan koneksi sebagai dasar untuk pengembangan layanan dan aplikasi ko-operatif yang independen. Ia juga ditandai dengan tingkat otonom data capture yang tinggi, event transfer, konektivitas jaringan dan interoperabilitas. http://digilib.mercubuana.ac.id/ 18 2. SAP (Systeme, Anwendungen und Produkte) Mendefinisikannya bahwa Dunia di mana benda-benda fisik diintegrasikan ke dalam jaringan informasi secara berkesinambungan, dan di mana benda-benda fisik tersebut berperan aktif dalam proses bisnis. Layanan yang tersedia berinteraksi dengan ‘obyek pintar’ melalui Internet, mencari dan mengubah status mereka sesuai dengan setiap informasi yang dikaitkan, disamping memperhatikan masalah privasi dan keamanan. 3. CORDIS Rencana aksi untuk Uni Eropa untuk memperkenalkan pemerintahan berdasarkan Internet of Things. 4. ETP EPOSS Jaringan yang dibentuk oleh hal-hal atau benda yang memiliki identitas, pada dunia maya yang beroperasi di ruang itu dengan menggunakan kecerdasan antarmuka untuk terhubung dan berkomunikasi dengan pengguna, konteks sosial dan lingkungan. 2.6.2 Prinsip Kerja IoT Sebuah perangkat IoT memiliki sebuah radio yang dapat mengirim dan menerima koneksi wireless. Protokol wireless IoT didesain untuk memenuhi beberapa servis dasar yaitu beroperasi dengan daya dan bandwidth yang rendah, dan bekerja dalam jaringan mesh. Beberapa perangkat bekerja pada frekuensi bidang 2.4 GHz yang juga digunakan oleh Wi-fi dan Bluetooth, dan cakupan sub-GHz. Frekuensi sub-GHz tersebut termasuk 868 dan 915 MHz, memiliki keuntungan dalam rendahnya interferensi. Perangkat-perangkat IoT terhubung dalam sebuah jaringan mesh satu sama lain dan mengirimkan sinyal seperti pelari dalam lari estafet. jaringan ini berbalikan dengan jaringan tersentralisasi. Cakupan transmisi http://digilib.mercubuana.ac.id/ 19 dari perangkat IoT dalam jaringan mesh ialah ± 9 meter hingga lebih dari 90 meter. Karena perangkat dalam jaringan mesh mampu untuk “mentransfer” sinyal, tentu mereka dapat terhubung dengan ribuan sensor dalam suatu area yang luas, seperti sebuah kota, dan beroperasi dengan selaras. Jaringan mesh memiliki kemampuan tambahan untuk bekerja di sekitar area perangkat yang gagal (tidak terkoneksi). Protokol jaringan mesh IoT antara lain Z-Wave Alliance, Digbee Alliance, dan Insteon, yang juga bekerja sama dengan vendor. Protokolprotokol tersebut tidak memiliki interoperabilitas, yang berarti mereka tidak mampu untuk bekerja sama antar beberapa macam sistem, meskipun dapat juga dihubungkan melalui hubs. Digbee merupakan protokol terbuka (open protocol), namun banyak kritik yang menyatakan tidak semua pengimplementasiannya harus sama. Digbee menyediakan sertifikasi untuk memastikan standar pengaplikasian. Insteon dan Z-Wave merupakan protokol berpaten, sehingga standarisasi implementasinya lebih terjamin. Untuk meningkatkan skalabilitas akses komunikasi IoT, setelah bekerja keras sejak tahun 2007, akhirnya kita memiliki 6LoWPAN sebagai standar integrasi IP pada jaringan IoT berdaya rendah. 2.6.3 Penggunaan Daya Rendah dalam IoT Beberapa perangkat IoT akan mendapatkan daya dari listrik. Namun sebagian besar, seperti pengunci pintu dengan sensor yang berdiri sendiri, akan menggunakan baterai. Perangkat-perangkat ini mengirim dan menerima sedikit informasi secara berselang atau periodik. Maka dari itu, daya tahan baterai dalam perangkat IoT dapat berselang antara 1.5 hingga 10 tahun. Salah satu pembuat sistem IoT, Insteon, menggunakan kedua komunikasi radio dan powerline yang dapat mengirim data melalui pengkabelan yang ada juga via radio, yang menawarkan reliabilitas pengiriman data lebih tinggi. http://digilib.mercubuana.ac.id/ 20 2.6.4 Metode dan Pengimplementasian IoT Metode yang digunakan oleh Internet of Things adalah nirkabel atau pengendalian secara otomatis tanpa mengenal jarak. Pengimplementasian Internet of Things sendiri biasanya selalu mengikuti keinginan dari developer dalam mengembangkan sebuah aplikasi yang ia ciptakan, apabila aplikasinya itu diciptakan guna membantu monitoring sebuah ruangan maka pengimplementasian Internet of Things itu sendiri harus mengikuti alur diagram pemrograman mengenai sensor dalam sebuah rumah, berapa jauh jarak agar ruangan dapat dikontrol, dan kecepatan jaringan internet yang digunakan. Perkembangan teknologi jaringan dan Internet seperti hadirnya IPv6, 4G, dan Wimax, dapat membantu pengimplementasian Internet of Things menjadi lebih optimal, dan memungkinkan jarak yang dapat di lewati menjadi semakin jauh, sehingga semakin memudahkan kita dalam mengontrol sesuatu. 2.7 Mikrokontroler Wemos D1 (R2) ESP8266 Mikrokontroler Wemos D1 (R2) ESP8266 adalah sebuah Mikrokontroler pengembangan berbasis modul mikrokontroler ESP8266. Mikrokontroler Wemos dibuat sebagai solusi dari mahalnya sebuah sistem wireless berbasis Mikrokontroler lainnya. Dengan menggunakan Mikrokontroler Wemos biaya yang dikeluarkan untuk membangun sistem WiFi berbasis Mikrokontroler sangat murah, hanya sepersepuluhnya dari biaya yang dikeluarkan apabila membangun sistem WiFi dengan menggunakan Mikrokontroler Arduino Uno dan WiFi Shield. http://digilib.mercubuana.ac.id/ 21 Gambar 2.11 Mikrokontroler Wemos Yang berbeda pada Mikrokontroler ini yaitu kemampuannya untuk menyedikan fasilitas konektifitas WiFi dengan mudah serta memori yang digunakan sangat besar yaitu 4 MB. 2.7.1 Spesifikasi Mikrontroler Wemos D1 (R2) Mikrokontroler Wemos D1 R2 adalah mikrokontroler berbasis ESP8266 yaitu sebuah modul mikrokontroler nirkabel (Wifi) 802.11 yang kompatibel dengan Arduino IDE. Tata letak mikrokontroler ini didasarkan pada desain hardware Arduino standar dengan proporsi yang sama dengan Arduino Uno dan Leonardo. Mikrokontroler ini juga sudah termasuk satu set header Arduino standar yang artinya kompatibel dengan beragam Arduino shield. Mikrokontroler ini juga mencakup sebuah CH340 USB to serial interface yang memberikan kemampuan untuk terhubung dan diprogram secara langsung dari komputer Anda dan hanya membutuhkan kabel USB micro yang umum digunakan (tidak membutuhkan perangkat keras antarmuka atau konfigurasi tambahan). Setelah terhubung ke komputer, dan driver telah terinstal, Wemos D1 akan muncul sebagai port serial COM standar. Wemos D1 dapat diprogram langsung dari Arduino Integrated Development Environment (IDE) yang tersedia secara bebas untuk di-download dari situs Arduino (arduino.cc). Banyak dari perintah http://digilib.mercubuana.ac.id/ 22 default Arduino dapat digunakan termasuk fungsi pin digital dan analog dan banyak examples dalam IDE yang dapat digunakan dalam ESP8266s WiFi. Examples ini diantaranya dari Simple Blinking LED hingga mengubah Wemos D1 R2 menjadi web server yang berdiri sendiri. Gambar 2.12 Skema Mikrokontroler Wemos D1 R2 Board Berikut ini adalah spesifikasi dari mikrokontroler Wemos D1 R2 : Microcontroller : ESP8266EX Operating Voltage : 3.3V Digital I/O Pins : 11 (all I/O pins have interrupt / pwm / I2C / one-wire capability, except for D0) Analog Input Pins :1 Flash Memory : 4MB Power Supply Voltage : o Input : 9V to 18V o Output : 5V at 1A Max Board Dimensions : 68.6mm x 53.4mm (2.701" x 2.102") Weight : 21.8g http://digilib.mercubuana.ac.id/ 23 Tabel 2.2 Tabel PIN Wemos D1 R2 Board Pin TX RX A0 D0 D1 D2 D3 D4 D5 D6 D7 D8 GND 5V 3V3 RST 2.7.2 Function TXD RXD Analog input I/O I/O, SCL I/O, SDA I/O, 10k pull-up I/O, 10k pull-up, BUILTIN_LED I/O, SCK I/O, MISO I/O, MOSI I/O, 10k pull-down, SS Ground 5V 3.3V Reset ESP8266 Pin TXD RXD A0 GPIO16 GPIO5 GPIO4 GPIO0 GPIO2 GPIO14 GPIO12 GPIO13 GPIO15 GND 3.3V RST Chipset pada Mikrokontroler Wemos D1 (R2) Pada Mikrokontroler wemos memiliki 2 buah chipset yang digunakan sebagai otak kerja platform tersebut. Beberapa chipset pada Mikrokontroler ini adalah : 1. Chipset ESP8266 ESP8266 adalah sebuah chip mikrokontroler yang memiliki fitur Wi-Fi yang mendukung stack TCP/IP. Diproduksi oleh produsen Cina yang berbasis di Shanghai, Espressif. Pada Agustus 2014 AI-Thinker membuat modul ESP-01 dengan menggunakan lisensi oleh Espressif. modul kecil ini memungkinkan mikrokontroler untuk terhubung dengan jaringan Wi-Fi dan membuat koneksi TCP / IP hanya dengan menggunakan command yang sederhana seperti Hayes-gaya. Harga yang sangat rendah dan sangat sedikit komponen eksternal pada modul ini mengakibatkan sangat murahnya harga sebuah chip ini. Dengan clock 80 MHz chip ini dibekali dengan 4MB Eksternal RAM, http://digilib.mercubuana.ac.id/ 24 mendukung format IEEE 802.11 b/g/n sehingga tidak menyebabkan interferensi bagi yang lain. Mendukung enkripsi WEP, WPA sehingga menjadikan chipset ini sangat aman digunakan. Chipset ini memiliki 16 GPIO pin yang berkerja pada 3.3 Volt, 1 pin ADC dengan resolusi 10 bit. 2. Chipset CH340 CH340 adalah sebuah Chipset yang mengubah USB menjadi serial interface. Sebagai contohnya adalah aplikasi USB converter to IrDA atau aplikasi USB converter to Printer. Dalam mode serial interface, CH340 mengirimkan sinyal penghubung yang umum digunakan pada MODEM. CH340 digunakan untuk memperbesar asynchronous serial interface komputer atau mengubah perangkat serial interface umum untuk berhubungan dengan bus USB secara langsung. Modul Mikrokontroler ini dapat dibangun sendiri atau dibeli jadi. Perangkat lunaknya dapat didownload secara gratis. Desain referensi perangkat keras (File CAD) yang tersedia di bawah lisensi open-source, dan bebas untuk mengubahnya sesuai dengan kebutuhan. Walaupun modul Mikrokontroler ini berbeda dengan modul Mikrokontroler arduino, namun kita dapat menggunakan baik IDE, Library, Maupun command yang terdapat pada arduino untuk dapat digunakan pada mikrokontroler ini . 2.7.3 Pin I/O Mikrokontroler Wemos D1 (R2) Pada mikrokontroler Wemos D1 R2 ini memiliki Pin I/O sebagai gerbang komunikasi data antara mikrokontroler dan komponen agar dapat berkomunikasi. Pin I/O pada mikrokontroler ini diantaranya : 1. Pin Digital I/O Port pada modul Mikrokontroler Wemos dikenal dengan Pin Digital dan berjumlah 11 pin. Pin ini dapat dikonfigurasi baik sebagai http://digilib.mercubuana.ac.id/ 25 input ataupun dapat digunakan sebagai output. Berikut ini adalah karakteristik dari Pin Digital : Karakteristik pin digital ketika menjadi input Secara default pengaturan port digital adalah pengaturan untuk port masukan, sehingga mereka tidak perlu secara eksplisit dinyatakan sebagai input dengan pinMode (). Pin dikonfigurasi sebagai input sehingga pin tersebut berada dalam keadaan impedansi tinggi. Salah satu penjelasannya adalah pin input akan mengambil daya yang sangat kecil sekali pada rangkaian ketika dalam kondisi pengambilan sampel, dapat dikatakan bahwa ada resistor seri dari 100 MΩ di depan pin tersebut. Hal ini berarti bahwa hanya sangat sedikit arus yang digunakan untuk memindahkan kondisi pin input tersebut dari keadaan satu ke keadaan yang lain. Sehingga hal ini dapat membuat pin berguna untuk melakukan tugas-tugas seperti membaca sensor sentuh kapasitif, membaca sebuah LED sebagai dioda, atau membaca sebuah sensor analog dengan skema seperti RCTime. Akan tetapi hal ini juga berarti, apabila ada pin input yang tidak terhubung ke rangkaian, akan menghasilkan beberapa keadaaan seperti akan berlogika acak, menghasilkan noise, atau akan menjadi kapasitor coupling pada pin yang berdekatan dengan Pin tersebut. Karakteristik pin digital ketika menjadi Output Karakteristik pin digital apabila Pin digital dikonfigurasi sebagai Output dengan pinMode (), maka Pin ini akan berada dalam keadaan impedansi rendah. Hal ini berarti bahwa mereka dapat menyediakan sejumlah besar arus ke rangkaian lainnya. Pin Atmega dapat menjadi sumber arus positif atau menjadi sumber arus negatif hingga 40 mA arus ke perangkat lain. Hal ini cukup untuk menghidupkan sebuah LED, menjalankan banyak sensor, namun sayangnya saat ini tidak cukup untuk menjalankan relay, http://digilib.mercubuana.ac.id/ 26 solenoida, atau motor. Hubungan pendek pada pin, atau mencoba untuk menjalankan rangkaian dengan arus yang besar, dapat merusak atau menghancurkan transistor output pada pin, atau merusak chip secara keseluruhan. Sering kali ini akan menghasilkan sebuah pin "mati" dalam mikrokontroler akan tetapi chip yang tersisa masih akan berfungsi secara memadai. Maka untuk alasan ini, adalah sebuah ide yang baik untuk menghubungkan pin output ke perangkat lain dengan resistor 470Ω atau 1KΩ. 2. Pin Analog Pin analog pada mikrokontroler ini memiliki 10 bit resolusi dengan nilai maksimum 3.3 Volt. Pin analog ini dapat dikonfigurasi dan digunakan persis dengan cara yang sama seperti pin digital. Berikut ini adalah karakteristik dari Pin Analog : A/D Converter Chips pada Wemos memiliki 1 saluran analog-to-digital converter (ADC). ADC tersebut memiliki 10 bit resolusi dari 0 ke 1023. Sedangkan fungsi utama dari pin analog pada Arduino adalah untuk membaca sensor analog. pin analog juga memiliki semua fungsi General Purposes input/output (GPIO) pin. Pemetaan Pin Pin analog dapat digunakan sama seperti pin digital , menggunakan penamaan A0 (untuk input analog 0), A1, dll Sebagai contoh, kode berikut digunakan untuk mengatur 0 pin analog ke output, dan mengaturnya berlogika “High” : pinMode(A0, OUTPUT ); digital Write(A0, HIGH); http://digilib.mercubuana.ac.id/ 27 Pull up Resistor Pin analog juga memiliki resistor pullup, yang bekerja sama seperti resistor pullup pada pin digital. Mereka diaktifkan dengan mengeluarkan perintah seperti dibawah ini : digital Write(A0, HIGH); // set pullup on analog pin 0 Namun harus disadari bahwa mengatur Resistor pull-up akan mempengaruhi nilai yang akan diambil oleh analogRead (). Hal tersebut dikarenakan Perintah analogRead tidak akan bekerja dengan benar jika pin sebelumnya di gunakan sebagai output, akan tetapi apabila hal ini terjadi maka pin tersebut harus di atur kembali menjadi masukan sebelum menggunakan perintah analogRead. Hal yang sama pula harus diterapkan jika pin telah diatur untuk menjadi logika “High” sebagai output, resistor pullup harus diatur ketika beralih kembali ke input. 2.7.4 Program Processing Arduino IDE Processing adalah sebuah bahasa program open-source berdasarkan program Java, dengan menggunakan pemograman sintaks dan grafis yang disederhanakan serta dirancang untuk kebutuhan pengembangan elektronik, seni media, desain visual dengan tujuan pengajaran dasar-dasar pemograman komputer dalam konteks visual dan sebagai dasar sketsa elektronik. Proyek ini dimulai pada tahun 2001 oleh Casey Reas dan Benjamin Fry yang berasa dari lulusan Estetika dan Komputasi di MIT (Massachusetts Institute of Technology). Salah satu tujuan lain dari pengolahan adalah sebagai alat untuk mendapatkan nonprogrammer dimulai dengan pemograman, melalui kepuasan instan dari umpan balik visual. Arduino IDE (Integrated Development Environment) sendiri adalah sebuah software bawaan arduino yang juga dapat berfungsi untuk http://digilib.mercubuana.ac.id/ 28 memprogram perangkat keras mikrokontroler Wemos selain Arduino itu sendiri. software ini memungkinkan anda untuk membuat program yang sesuai dengan keinginan anda dan kemudian memasukkan/menanamkan progran tersebut ke dalam perangkat keras yang anda miliki tanpa menggunakan hardware eksternal, karena pada main board Wemos juga telah dilengkapi dengan bootloader dan downloader yang telah terpasang seperti pada main board Arduino. Gambar 2.13 Tampilan Arduino IDE Terdapat 6 buah tombol utama pada toolbar tersebut yang memiliki fungsi sesuai dengan deskripsi pada table di bawah ini : http://digilib.mercubuana.ac.id/ 29 Tabel 2.3 Tabel Deskripsi ToolBar Arduino IDE ToolBar Deskripsi Verify, Berfungsi untuk melakukan Error Checking kode yang dibuat Upload, Mengkompilasi dan melakukan upload kode pada Board yang digunakan. New, Berfungsi untuk membuat sketch baru Open, Berfungsi untuk membuka sketch yang pernah dibuat untuk editing atau upload ulang ke Mikrokontroler Save, Berfungsi untuk menyimpan sketch yang telah dibuat Serial Monitor, Dapat digunakan untuk menampilkan nilai proses, nilai pembacaan, serta pesan error Dalam perancangan alat ini penulis menggunakan Arduino IDE dikarenakan lebih mudah dan familiar seperti menggunakan Arduino Uno. IDE Arduino sendiri terdiri beberapa bagian program utama diantaranya : Editor Program, sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa Processing (red: yang benar adalah dalam bahasa C/C++ yang disederhanakan, yang merupakan turunan dari proyek open source Wiring. Salah satu miskonsepsi paling umum tentang bahasa yang digunakan di Arduino adalah bahwa bahasa ini merupakan “bahasa” Processing). Compiler, sebuah modul yang mengubah kode program (bahasa Processing C/C++) menjadi kode biner. Bagaimanapun sebuah mikrokontroler tidak akan bisa memahami bahasa Processing (red: tingkat tinggi seperti C/C++). Yang bisa dipahami oleh mikrokontroler adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini. http://digilib.mercubuana.ac.id/ 30 Uploader, merupakan sebuah modul yang memuat kode biner dari komputer ke dalam memori di dalam mikrokontroler. mendukung proses upload menggunakan fitur bootloader modul Arduino ataupun menggunakan bantuan device programmer. Library, sebuah file yang memberikan fungsi ekstra dari sketch yang kamu buat agar Arduino dapat bekerja dengan hardware tertentu dan melakukan proses manipulasi data. Untuk menginstal Library pihak ketiga alias Library bukan dari Arduino, dapat dilakukan dengan menambahkan Library Manager secara manual, Import file .zip, atau Copy-Paste secara manual folder library yang diinginkan pada folder libraries hasil instalasi Arduino. Board Manager, sebuah menu menambahkan modul ekstra dari Arduino IDE yang memungkinkan menggunakan Board Module selain Arduino sesuai yang diinginkan seperti Wemos D1 dan Generic ESP8266 Module. Sketch, sebuah teks editor sederhana untuk menulis kode program Arduino umumnya disebut dengan istilah sketsa. Kata “sketch” digunakan secara bergantian dengan “kode program” dimana keduanya memiliki arti yang sama. 2.7.5 Fitur Fungsi pada Sketch Arduino IDE Sketch merupakan lembar kerja pada sistem arduino yang digunakan untuk menulis listing program, mengedit, meng-compile dan kemudian meng-upload ke dalam Mikrokontroler tersebut. Sketch Arduino terdiri dari bagian-bagian seperti Comments, fungsi Setup (), fungsi Loop (), Fungsi Serial dan variabel. Dibawah ini akan dijelaskan secara lebih detail mengenai bagian-bagian tersebut. http://digilib.mercubuana.ac.id/ 31 1. Comments Comments digunakan untuk memudahkan membaca kode yang telah disediakan developer, untuk menjelaskan tujuan dari dibuatnya program ini, cara kerjanya, atau mengapa program tersebut ditulis seperti itu. Dibawah adalah contoh Comments : /* Blink Turns on an LED on for one second, then off for one second, repeatedly. Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to the correct LED pin independent of which board is used. If you want to know what pin the on-board LED is connected to on your Arduino model, check the Technical Specs of your board at https://www.arduino.cc/en/Main/Products This example code is in the public domain. modified 8 May 2014 by Scott Fitzgerald modified 2 Sep 2016 by Arturo Guadalupi modified 8 Sep 2016 by Colby Newman */ Salah satu tujuan comments adalah untuk membantu ketika adanya kode yang ingin diperbaiki serta hal ini dapat membantu orang lain http://digilib.mercubuana.ac.id/ 32 untuk belajar dari atau memodifikasi kode yang sudah berjalan. Ada comments dengan bentuk lain, yaitu single-line. Comments ini dimulai dengan “ // “ dan lanjut hingga ke akhir baris. Sebagai contohnya adalah : Blynk.begin(auth, "ZenMax", "1sampai9"); //insert here your SSID and password Kalimat yang berisi pesan ini “//insert here your SSID and password” adalah sebuah comments yang digunakan untuk menjelaskan perintah untuk menyesuaikan SSID dan password yang digunakan. 2. Fungsi Setup () Terdapat salah satu fungsi khusus yang merupakan bagian dari sketch yaitu “Setup ()“. Fungsi Setup () dipanggil sekali, yaitu ketika sketsa dimulai. Fungsi ini merupakan tempat yang baik untuk melakukan pengaturan-pengaturan seperti : Pengaturan mode output pada pin digital Inisialisasi Library Mikrokontroler Inisialisasi Variabel, dan lain-lain Fungsi Setup hanya akan berjalan sekali, setelah setiap PowerUp atau setelah tombol reset pada rangkaian modul Arduino ditekan. Berikut adalah contoh dari fungsi Setup () : void setup() { dht.begin(); Serial.begin(9600); // See the connection status in Serial Monitor Serial.println("DHTxx test!"); http://digilib.mercubuana.ac.id/ 33 Blynk.begin(auth, "ZenMax", "1sampai9"); //insert here your SSID and password pinMode(D6, OUTPUT); // Setup a function to be called every second timer.setInterval(3000, sendUptime); } 3. Fungsi Loop () Fungsi Loop () adalah salah satu fungsi utama dalam sketch Arduino IDE. Fungsi ini dipanggil berulang kali oleh modul Mikrokontroler untuk menjalankan program yang telah tersimpan di dalamnya. Berikut adalah contoh penggunaan dari fungsi Loop () : void loop() { Blynk.run();// Initiates Blynk timer.run(); // Initiates SimpleTimer // Read humidity kelembapan = dht.readHumidity(); Serial.print(kelembapan); Serial.println(" Rho"); // Read Temperature suhu = dht.readTemperature(); Serial.print(suhu); Serial.println(" Celcius"); Serial.println(); Serial.println(); http://digilib.mercubuana.ac.id/ 34 if (suhu >= 33) { digitalWrite(D6, HIGH); } else { digitalWrite(D6, LOW); } } Fungsi Loop () sesuai dengan namanya, melakukan perulangan setiap listing program yang dituliskan, yang pada saat tertentu variabel dari program anda telah di-upload berubah sehingga sistem merespon dan menghasilkan output baru yang berbeda dengan hasil output pertama. 4. Fungsi Serial () Fungsi Serial () berfungsi untuk mengkomunikasikan antara arduino dengan hardware lain, baik mengirimkan data ataupun menerima data. Arduino IDE dan hardware lain tersebut tersambung pada suatu temoat yang bernama Serial Port. Serial sendiri bukan merupakan sebuah fungsi, tetapi terdiri dari beberapa fungsi yang digunakan untuk melakukan operasi pada komunikasi serial. Bentuk umum fungsi ini adalah : Serial.begin(baudrate) Variabel baudrate disini adalah rasio modulasi, dan harus dicocokkan dengan baudrate hardware yang digunakan. Pada program ini, baudrate yang digunakan adalah 9600, karena kita akan berkomunikasi dengan komputer melewati port USB mikrokontroler. Untuk memakai serial, yang pertama harus kita lakukan adalah http://digilib.mercubuana.ac.id/ 35 melakukan inisiasi, yaitu dengan menggunakan fungsi Serial.begin(). Berikut contoh penggunaan fungsi Serial.begin() : void setup() { dht.begin(); Serial.begin(9600); // See the connection status in Serial Monitor Serial.println("DHTxx test!"); Blynk.begin(auth, "ZenMax", "1sampai9"); //insert here your SSID and password pinMode(D6, OUTPUT); // Setup a function to be called every second timer.setInterval(3000, sendUptime); } Contoh di atas bagaimana cara kita melakukan komunikasi serial antara Arduino dengan PC. Hal ini dilakukan dengan menggunakan Serial Monitor yang disediakan pada Arduino IDE. Pada Serial Monitor, kita bisa melihat data yang dikirim dari arduino ke PC. Selain itu, kita juga dapat mengirimkan data ke mikrokontroler dengan cara mengetikkannya pada bar di bagian atas. 5. Variabel Variabel adalah tempat untuk menyimpan data. Variabel memiliki nama, nilai, dan tipe. Sebagai contoh, pernyataan ini (disebut deklarasi). Perintah ini menciptakan variabel yang namanya pin, yang nilainya adalah 6, dan bertipe int. apabila user membutuhkan variabel ini, maka akan dapat menunjuk ke variabel ini dengan memanggil namanya. pada saat itu variabel ini nilainya akan dicari dan digunakan. seperti dalam pernyataan ini: http://digilib.mercubuana.ac.id/ 36 pinMode(D6, OUTPUT ); Keuntungan dari penggunaan variabel dalam hal ini adalah bahwa user tidak hanya perlu menentukan jumlah pin yang digunakan sekali, akan tetapi user dapat menggunakannya berkali-kali. sehingga jika user kemudian memutuskan untuk mengubah penggunaan dari pin D6 menjadi pin D7, user hanya perlu mengubah sedikit kode. User juga dapat menggunakan nama pengenal untuk membuat pentingnya variabel yang jelas (misalnya program mengendalikan LED RGB memungkinkan penamaan variabel redPin, greenPin, dan bluePin. 2.8 Aplikasi Blynk Blynk adalah platform aplikasi yang dapat diunduh secara gratis untuk iOS dan Android yang berfungsi mengontrol Arduino, Raspberry Pi dan sejenisnya melalui Internet. Blynk adalah dashboard digital di mana Anda dapat membangun sebuah antarmuka grafis untuk proyek Anda hanya dengan menarik dan menjatuhkan widget. Aplikasi ini sangat sederhana untuk menggunakannya bahkan dalam waktu kurang dari 5 menit. Blynk tidak terikat oleh board dan shield tertentu. Sebaliknya, mendukung hardware sesuai pilihan kita. Terlepas anda menggunakan Arduino atau Raspberry Pi dapat dihubungkan dengan Internet melalui Wi-Fi, Ethernet atau chip ESP8266 terbaru. Blynk dirancang untuk Internet of Things dengan tujuan dapat mengontrol hardware dari jarak jauh, dapat menampilkan data sensor, dapat menyimpan data, visual dan melakukan banyak hal canggih lainnya. Ada tiga komponen utama dalam platform : Blynk App, memungkinkan untuk membuat antarmuka menakjubkan untuk proyek-proyek dengan menggunakan berbagai widget yang tersedia. http://digilib.mercubuana.ac.id/ 37 Blynk Server, bertanggung jawab untuk semua komunikasi antara smartphone dan perangkat keras. Anda dapat menggunakan kami Blynk Cloud atau menjalankan server Blynk pribadi secara lokal. Blynk bersifat open-source, bisa dengan mudah menangani ribuan perangkat dan bahkan dapat diluncurkan pada Raspberry Pi. Blynk Library, dapat digunakan untuk semua platform perangkat keras yang populer serta memungkinkan komunikasi dengan server dan memproses semua perintah incoming dan outcoming. Gambar 2.14 Skema antarmuka Blynk 2.8.1 Fitur Blynk Blynk memiliki beberapa fitur menarik yang dapat diplikasikan pada berbagai macam hardware sesuai kebutuhan. Beberapa fitur dari Blynk diantaranya : API serupa dan UI untuk semua perangkat yang mendukung Koneksi ke Cloud Server Blynk dapat menggunakan : o Ethernet o Wifi o Bluetooth dan BLE http://digilib.mercubuana.ac.id/ 38 o USB (Serial), dan lain sebagainya Setting Widget (tombol antarmuka) yang mudah digunakan Manipulasi Direct Pin tanpa menulis kode program manual Memberikan kemuudahan mengintegrasikan dan menambahkan fungsi baru menggunakan Virtual Pin Memiliki data History Monitoring melalui sejarah Graph widget Komunikasi antar device menggunakan Bridge Widget Mengirim email, tweet, push notifications, dan lain-lain Dapat menentukan contoh sketsa meliputi Fitur dasar Blynk yang tedapat dalam library. Semua sketsa dirancang agar mudah dikombinasikan satu sama lain 2.8.2 Batasan dan Rekomendasi Penggunaan Blynk 1. Jangan menaruh perintah “Blynk.virtualWrite” dan setiap perintah “Blynk.xxx” di dalam “void perintah loop()” karena akan menyebabkan banyaknya untuk pesan keluar pada server Blynk dan koneksi akan dihentikan karena terbebani. 2. Direkomendasikan memanggil fungsi menggunakan interval. Misalnya, SimpleTimer library ini adalah library sederhana untuk durasi waktu. 3. Hindari menggunakan delay panjang dengan delay() karena menyebabkan koneksi terhambat. 4. Jika pengguna mengirim lebih dari 100 nilai per detik maka dapat menyebabkan “Flood Error” dan hardware akan secara otomatis terputus dari server. 5. Hati-hati mengirimkan banyak perintah “Blynk.virtualWrite” karena kebanyakan hardware tidak kuat (seperti ESP8266) sehingga tidak dapat menangani banyak permintaan http://digilib.mercubuana.ac.id/ 39 2.8.3 Fungsi Operasi Utama pada Blynk 1. Virtual Pins Blynk dapat mengontrol Digital dan Analog I/O Pin pada perangkat keras secara langsung. Pengguna bahkan tidak perlu menulis kode untuk itu. Blynk merancang Virtual Pins melalui apa pun yang terhubung pada hardware pengguna akan dapat berkomunikasi baik mengirim dan menerima data dengan Blynk dari mikrokontroler dan kemudian mengirimkannya kembali ke smartphone. Pengguna dapat menggunakan fungsi, baca perangkat I2C, mengkonversi nilai-nilai, kontrol servo atau motor DC dan lain-lain. Virtual Pins dapat digunakan sebagai antarmuka eksternal library (Servo, LCD dan lainlain) dan melaksanakan fungsi kustom. Hardware pengguna dapat mengirimkan data ke Widget melalui Virtual Pins seperti contoh berikut ini : Blynk.virtualWrite(10, suhu); // virtual pin 10 Blynk.virtualWrite(11, kelembapan); // virtual pin 11 Blynk.virtualWrite(12, suhu); // virtual pin 12 Blynk.virtualWrite(13, kelembapan); // virtual pin 13 2. Mengirim data dari aplikasi ke hardware Semua Widget Controller dapat mengirim data ke Virtual Pins pada hardware pengguna sendiri. Misalnya, kode di bawah ini menunjukkan bagaimana untuk mendapatkan nilai-nilai dari Tombol Widget di aplikasi Blynk. BLYNK_WRITE(V1) //Button Widget is writing to pin V1 { int pinData = param.asInt(); } http://digilib.mercubuana.ac.id/ 40 3. Menerima Data dari Hardware Ada dua cara mendorong data dari hardware ke Widget di aplikasi melalui Virtual Pins, yaitu : Lakukan permintaan dari Widget Menggunakan pembacaan frekuensi built-in ketika aplikasi aktif dengan melakukan setting “Reading Frequency” parameter untuk beberapa interval. Gambar 2.15 Penggunaan Reading Frequency BLYNK_READ(V5) // Widget in the app READs Virtal Pin V5 with the certain frequency { // This command writes Arduino's uptime in seconds to Virtual Pin V5 Blynk.virtualWrite(5, millis() / 1000); } Mendorong data dari hardware Jika menggunakan PUSH sensor atau data lainnya dari hardware ke Widget, pengguna dapat menulis logika yang diinginkan hanya dengan mengatur frekuensi ke mode PUSH. Setiap perintah yang http://digilib.mercubuana.ac.id/ 41 hardware kirimkan ke Blynk Cloud akan secara otomatis tersimpan di server dan pengguna dapat menampilkan setiap info ini baik dengan History dari Grafik widget atau dengan HTTP API. 4. Widget Widget adalah modul antarmuka. Masing-masing melakukan fungsi input / output tertentu ketika berkomunikasi dengan perangkat keras. Ada 4 jenis Widget diantaranya : Controller, berfungsi mengirimkan perintah ke hardware dan menggunakannya untuk mengontrol komponen yang diinginkan Display, digunakan untuk berbagai visualisasi data yang berasal dari hardware untuk smartphone Notifications, berbagai widget digunakan untuk mengirim pesan dan notifikasi Interface, berbagai widget dapat digunakan untuk membuat tampilan UI menjadi lebih baik Others, merupakan widget yang tidak masuk kategori apapun Setiap Widget memiliki pengaturan sendiri serta beberapa Widget (mis Bridge Widget) digunakan untuk mengaktifkan beberapa fungsi dan mereka tidak memiliki banyak pengaturan. http://digilib.mercubuana.ac.id/