#II3230
Explore tagged Tumblr posts
edvinwh · 8 years ago
Text
II3231 IoT Project : SPOTS (Smart Pond Temperature System) - FINAL
Tumblr media
Halo semua! Puji Syukur kami panjatkan ke hadirat Tuhan yang Maha Esa karena pengembangan proyek ini akhirnya SELESAI! Sistem dapat berjalan sesuai dengan harapan dan rancangan awal.  
Sistem bekerja secara real-time. Sensor suhu dapat membaca suhu saat itu. Pada saat suhu melewati batas minimal maupun maksimal, Arduino mampu menggerakkan aktuator untuk mengaktifkan turbin. Data suhu air mampu disimpan dan divisualisasikan ke petambak ikan.
IDENTIFIKASI MASALAH
Kematian ikan pada sebuah tambak menyebabkan penurunan produktivitas. Kematian tersebut dapat disebabkan oleh berbagai hal. Salah satu penyebab kematian ikan adalah kondisi lingkungan hidup dari ikan tersebut. Kurangnya pengawasan terhadap kolam / tambak tempat ikan tersebut tinggal dapat menyebabkan ikan berpotensi tekena penyakit dan mati akibat berbagai faktor dari lingkungan. Salah satu faktor yang berperan besar dalam menjaga kualitas hidup ikan adalah suhu. Perubahan suhu yang mendadak dapat menyebabkan kematian ikan secara cepat. Akibatnya, produktivitas ikan mengalami penurunan secara mendadak.
Petani ikan memiliki keterbatasan untuk mengamati kondisi lingkungan ikan setiap waktu. Tuntutan untuk mempertahankan produktivitas ikan selalu menyertai setiap petani ikan sehingga petani ikan dituntut untuk dapat meminimalkan risiko kematian ikan. Kebutuhan ini mendorong adanya sistem monitoring lingkungan tambak khususnya suhu air tambak tersebut. 
ALTERNATIF PEMECAHAN MASALAH
Kami melakukan analisis terhadap berbagai alternatif solusi yang dapat membantu petani ikan meningkatkan dan menjaga kesehatan ikan dari penjagaan kondisi lingkungan tambak. Berikut ini merupakan alternatif-alternatif yang kami temui.
Sistem terotomatisasi dengan mikrokontroler yang dapat mendeteksi, mengelola, dan melaporkan kondisi suhu air dari tambak ikan
Sistem terotomatisasi dengan mikrokontroler yang dapat mendeteksi, mengelola, dan melaporkan tingkat kekeruhan air dari tambak ikan
Sistem terotomatisasi dengan mikrokontroler yang dapat mendeteksi, mengelola, dan melaporkan kadar oksigen terlarut dari tambak ikan
Kami menggunakan trade-off analysis untuk menentukan alternatif mana yang akan kami implementasikan. Setelah melalui beberapa pertimbangan, kami memilih ALTERNATIF PERTAMA untuk menjawab permasalahan yang ada. Alternatif kedua dan ketiga kurang tepat untuk diimplementasikan saat ini karena tidak cost-efficient, sulit dikembangkan, ROI lama, dan kurang efektif.
SPESIFIKASI DESAIN
Berikut ini merupakan spesifikasi desain dari sistem yang akan kami ajukan.
Komponen
Arduino Uno + Kabel USB
ESP8266-01
Kabel Jumper
LM35
Motor DC
Breadboard
IC L293D
Beberapa poin yang perlu diperhatikan mengenai desain dari sistem yang akan kami kembangkan adalah sebagai berikut.
Sistem menggunakan Thingspeak sebagai server dan phpmyadmin.co sebagai database online
Sistem menggunakan tegangan listrik sebesar 5V dengan arus sebesar 0.5A
Sistem menerima besaran input dari sensor suhu LM35
Sistem mengeluarkan output suhu 1 dan suhu 2 (dalam Celcius) yang telah dikonversi dari besaran analog
Selisih suhu yang didapatkan dalam Fahrenheit
Sistem menggunakan protokol HTTP untuk berkomunikasi dengan website dan database
DESAIN PERANGKAT KERAS
Berikut ini merupakan diagram blok sistem dari sistem yang kami ajukan.
Tumblr media
DESAIN PERANGKAT LUNAK
Berikut ini merupakan state diagram dari sistem yang akan kami ajukan.
Tumblr media
DESAIN USER INTERFACE
Berikut ini merupakan user interface dari aplikasi web yang kami buat.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
IMPLEMENTASI PERANGKAT KERAS
Komponen yang digunakan pada pembuatan sistem sesuai dengan spesifikasi desain yang didefinisikan sebelumnya. Berikut ini merupakan ilustrasi dari rangkaian yang telah kami buat.
Tumblr media
Berikut ini merupakan dokumentasi dari implementasi sistem yang telah kami buat.
Tumblr media
IMPLEMENTASI PERANGKAT LUNAK
Pengembangan sistem dari segi perangkat lunak mengandalkan tutorial yang tersedia di internet. Fungsionalitas dari sistem kami buat dari dasar. Namun, Kami menggunakan tutorial untuk menyambungkan internet dan arduino. Kami perlu mengerti bagaimana cara menggunakan HTTP Request pada program agar sistem kami dapat terhubung dengan internet. Berikut ini source code dari program Arduino.
// esp8266_test.ino // // Plot LM35 data on thingspeak.com using an Arduino and an ESP8266 WiFi // module. // // Author: Mahesh Venkitachalam // Website: electronut.in
#include <SoftwareSerial.h> #include <stdlib.h>
// temperature variable int val1 = 0; int val2 = 0; // LM35 analog input int tempPin1 = A1; int tempPin2 = A2;
// replace with your channel's thingspeak API key String apiKey = "4JUVSWA8KGG29NWW";
// connect 10 to TX of Serial USB // connect 11 to RX of serial USB SoftwareSerial ser(11, 10); // RX, TX
// this runs once void setup() {                  // initialize the digital pin as an output.  pinMode(8, OUTPUT);  pinMode(9, OUTPUT);  
 // enable debug serial  Serial.begin(115200);  // enable software serial  ser.begin(115200);
 // reset ESP8266  ser.println("AT+RST"); }
// the loop void loop() {
 // PHYSICAL SYSTEM  // read the value from LM35.  // read 10 values for averaging.  val1 = analogRead(tempPin1);  val2 = analogRead(tempPin2);  
 // convert to temp:  float mv1 = (val1/1024.0)*5000;  float mv2 = (val2/1024.0)*5000;  float cel1 = mv1/10;  float cel2 = mv2/10;
 // temperature difference  float difcel = minus(cel1,cel2);  float farh = (difcel*9)/5 + 32;
 // motor activation  float bound = 40;  if(farh > bound){    turnonMotor();  } else {    turnoffMotor();  }
 // convert to string  char buf[16];  String strTemp = dtostrf(farh, 4, 1, buf);
 Serial.println(strTemp);
 // THINGSPEAK CONNECTION  // TCP connection THINGSPEAK  String cmd = "AT+CIPSTART=\"TCP\",\"";  cmd += "184.106.153.149"; // api.thingspeak.com  cmd += "\",80";  ser.println(cmd);
 if(ser.find("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(cel1);  getStr +="&field3=";  getStr += String(cel2);  getStr += "\r\n\r\n";
 // send data length  cmd = "AT+CIPSEND=";  cmd += String(getStr.length());
 ser.println(cmd);
 if(ser.find(">")){    ser.print(getStr);  }  else{    ser.println("AT+CIPCLOSE");    // alert user    Serial.println("AT+CIPCLOSE");  }
 // thingspeak needs 15 sec delay between updates  delay(16000);   }
void turnonMotor(){  int ind = 0;  digitalWrite(8,!ind);  digitalWrite(9,ind);  delay(500);  if(ind > 1)    ind = 1; }
void turnoffMotor(){  int ind = 0;  digitalWrite(8,!ind);  digitalWrite(9,!ind); }
float minus(float a,float b){  if(a>b)    return (a-b);  else    return (b-a); }
Source code dari program Arduino dan aplikasi web dapat diakses pada Google Drive berikut ini.
https://drive.google.com/open?id=0B6b9qLRRbrE8UUwwMmVnOEdCeEU
PENGUJIAN
Setelah sistem yang dibuat jadi dan seluruh fungsionalitasnya berhasil dieksekusi, tibalah saatnya melakukan pengujian. Pengujian yang dilakukan adalah sebagai berikut.
Pengujian Arduino
Pengujian ini dilakukan dengan cara mengunggah kode program blink pada board Arduino. Hasil dari pengujian ini adalah Arduino yang digunakan dapat mengeksekusi perintah sehingga dapat digunakan untuk proyek ini.
Pengujian sensor suhu LM35
Pengujian ini dilakukan dengan cara memasang LM35 pada breadboard, menghubungkannya dengan pin yang terdapat pada Arduino, kemudian mengeksekusi program yang berkaitan dengan pengecekan suhu. Hasil dari pengujian ini yaitu kedua sensor LM35 yang kami gunakan dapat berfungsi dengan baik. Hal ini terbukti dari data suhu yang muncul di serial monitor.
Pengujian ESP8826–01
Pengujian ini dilakukan dengan cara menghubungkan modul ESP8826–01 dengan Arduino, kemudian melakukan pengaturan koneksi wifi, dan mengeksekusi program utama. Hasil yang diperoleh dari pengujian ini yaitu modul ESP8826–01 dapat terhubung ke internet dan dapat mengirimkan data ke Thingspeak dalam interval waktu 16 detik.
D. Pengujian website
Pengujian ini dilakukan dengan cara menguji seluruh fungsionalitas utama website yang kami buat yaitu http://imka-tgf.esy.es . Hal yang diuji yaitu melakukan scrolling, melakukan login, menekan tombol-tombol yang tersedia, memeriksa akurasi peta yang tersemat pada website, dan mengamati data yang ditampilkan pada website yang berasal dari Thingspeak. Hasil yang diperoleh dari pengujian ini adalah website mampu menangani hal-hal utama yang dikehendaki yaitu melakukan login, menampilkan deskripsi produk secara singkat, menggunakan parallax design, dan menampilkan data dari Thingspeak dan database.
Pengujian database
Pengujian ini tidak terlepas dari pengujian website karena dilakukan di dalam kode PHP yang sekaligus menjadi bagian utama dari website. Pengujian ini dilakukan dengan cara menghubungkan website dengan database, melakukan refresh pada website sehingga data dari Thingspeak dimasukkan ke dalam database, dan mengamati data yang berada di dalam database baik melalui phpmyadmin.co maupun melalui website kami. Hasil dari pengujian ini adalah database dapat terhubung dengan website kami dan data yang terdapat di dalam database dapat ditampilkan pada website kami.
Berikut ini merupakan hasil sistem yang kami kembangkan.
youtube
0 notes
edvinwh · 8 years ago
Text
II3231 IoT Project : SPOTS (Smart Pond Temperature System) - PROGRESS #2
Hi! Kembali lagi dalam pembahasan pengembangan SPOTS. Pada post sebelumnya, kami sudah sedikit menyinggung mengenai koneksi internet melalui ESP8266-01. Post hari ini akan menceritakan kelanjutan pengembangan proyek SPOTS ini. Setelah mencoba melakukan konfigurasi terhadap ESP8266-01, kami mengalami berbagai kendala.
Kami sudah mencoba beberapa konfigurasi terhadap ESP8266-01. Namun, ESP kami sempat tidak menunjukkan hasil apa-apa. Kami mencoba berbagai referensi di internet untuk melihat bagaimana ESP8266-01 dapat menyambungkan arduino dengan internet. Setelah melewati beberapa pertemuan yang berjam-jam, secara ajaib kami akhirnya mampu melakukan ATCommandSet terhadap ESP8266-01 kami.
Berikut ini merupakan konfigurasi pemasangan dari ESP8266-01 kami.
Tumblr media
Berikut ini merupakan ATCommandSet yang kami lakukan dalam mengatur koneksi dari arduino ke jaringan internet.
AT
OK
AT+CWJAP=“Mi 5″,”qwerty12345″ Wifi Disconnected Wifi Connected
OK
Yeah! Akhirnya kami berhasil menyambungkan ESP8266-01 tersebut. Kami mencoba untuk menghubungkan data yang dideteksi oleh sensor ke dalam Thingspeak agar data tersebut dapat divisualisasikan. Kendala pun dimulai ketika kami tidak mendapatkan koneksi internet yang stabil. Hal ini membuat pertukaran data kami gagal. Awalnya, kami menganggap kami salah dalam membuat rangkaian. Pada akhirnya, Kesalahan murni terjadi karena ESP8266-01 belum terkoneksi pada jaringan manapun. Setelah sekian lama kembali berlalu, Thingspeak menunjukkan tanda-tanda adanya keberhasilan. Mantap! Akhirnya data tercatat pada thingspeak. Thingspeak memanfaatkan API di dalam berkomunikasi sehingga program yang kami rancang harus mengakses API tersebut agar data dapat terkirim ke server Thingspeak. Berikut ini dokumentasi dari Thingspeak kami.
Tumblr media Tumblr media Tumblr media
DAN, PR terakhir yang harus kami kerjakan adalah DATABASE. Kami sempat bingung bagaimana agar data dari thingspeak dapat disimpan ke dalam database. Kami sempat berpikir untuk mengirimkan data suhu tersebut ke server thingspeak dan database secara terpisah. Namun, ide tersebut pun gagal. Kami kesulitan dalam melakukan pengiriman data secara paralel tersebut.
Tercetuslah ide untuk mengirim data langsung dari Thingspeak. Namun, bagaimana caranya? Setelah mencari celah dari Thingspeak, kami mendapatkan sebuah fitur dari Thingspeak yang dapat mengubah data di Thingspeak menjadi JSON. Nah! Inilah yang kami tunggu-tunggu daritadi. Kami memutuskan untuk mencari cara agar data dari JSON dapat dikonversi untuk mampu disimpan di database. We did it! Kita mampu menyimpan data-data suhu tersebut ke dalam database sesuai yang diminta!
Tumblr media Tumblr media
Berikut ini merupakan screenshot dari program yang kami rancang.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Berikut ini merupakan video implementasi dari sistem yang sudah berjalan sampai saat ini.
youtube
TIM PROYEK 18214018 Mahbub Haq Al Farisi 18214030 Rezha Kusuma Astri 18214054 Edvin William Handoko
0 notes
edvinwh · 8 years ago
Text
II3231 IoT Project : SPOTS (Smart Pond Temperature System) - PROGRESS #1
Halo! Setelah beberapa hari tidak posting di blog, saya akan menceritakan progress dari pengerjaan proyek kami. Seperti yang dijelaskan pada post sebelumnya, kami akan membuat sebuah sistem yang bernama SPOTS (Smart Pond Temperature System). Sistem ini merupakan sistem monitoring terhadap suhu lingkungan tambak. Sistem akan mengirimkan suhu pada beberapa titik pada tambak. Suhu pada beberapa titik digunakan untuk melihat perbandingan dari suhu antar titik tersebut. Apabila terdapat perbedaan suhu yang jauh, Sistem akan menyalakan turbin untuk menetralkan air. Air akan bercampur sehingga suhu yang ada dalam tambak sama. Seluruh log suhu akan tercatat dalam sistem dan disimpan pada database. Sistem secara realtime menampilkan kondisi suhu tambak.
Progress Progress pengembangan sistem saat ini sudah cukup baik. Kami sudah membuat skematik dari sistem yang akan dibangun. Berikut ini merupakan desain dari sistem.
Tumblr media
Seluruh komponen sudah kami dapatkan. Kami memulai pengerjaan sistem kami dengan membuat rangkaian pendeteksi suhu dengan menggunakan sensor suhu (LM35). Kami menggunakan 2 sensor suhu untuk melihat apakah kedua sensor dapat digunakan secara bersamaan. Selain sensor, kami juga menyusun rangkaian dinamo. Kedua rangkaian (suhu dan dinamo) terhubung ke dalam arduino. Arduino akan menyalakan dinamo apabila LM35 pertama dan LM35 kedua memiliki selish suhu yang berbeda cukup tinggi. Kami menyusun program untuk implementasi subsistem tersebut. Berikut ini merupakan program yang kami pakai dalam membangun rangkaian suhu-dinamo.
Tumblr media Tumblr media Tumblr media
Pertama, kami sempat mengalami kendala dalam menyusun rangkaian agar suhu dapat mendeteksi dengan tepat. Setelah beberapa penyesuaian, kami menemukan rangkaian yang membuat kedua LM35 dapat membaca suhu dengan baik. Ternyata, saya lupa mempertimbangkan hubungan paralel dan seri dari sebuah breadboard. Implementasi dapat dilihat dalam foto berikut ini.
Tumblr media Tumblr media Tumblr media
Berikut ini merupakan video implementasi dari subsistem di atas.
youtube
Setelah berhasil membuat sistem, kami mencoba untuk menyambungkan arduino dengan ESP8266-01. ESP ini membutuhkan penyesuaian sebelum digunakan. Kami melakukan penyesuaian berdasarkan referensi berikut ini.
http://www.instructables.com/id/Connecting-ESP8266-01-to-Arduino-UNOMEGA-and-BLYNK/
Berikut ini merupakan software yang diperlukan dalam konfigurasi ESP8266-01.
Arduino IDE link : https://www.arduino.cc/en/main/software
Download esp8266_flasher [For Windows] : https://github.com/Stadslab/ESP8266_example/tree/m...
ESP perlu melewati proses flashing agar dapat digunakan dengan baik pada sistem. Kami sempat beberapa kali menemui kendala untuk melakukan flashing. Beberapa kali ESP tidak mampu tersambung dengan arduino sehingga program gagal. Setelah beberapa waktu, kami berhasil melakukan flashing. Akan tetapi, kami masih harus mengatur koneksi ESP dengan menggunakan AT Command Set. Kami meng-upload program kosong untuk memeriksa koneksi WiFi tersebut. Beberapa kali kami mengalami kendala. Kami harus mengatur baud, setting pada arduino, dan sebagainya. Pada akhirnya, kami berhasil menghubungkan arduino dengan jaringan internet melalui ESP8266-01. Berikut ini merupakan serial monitor dari koneksi arduino dengan internet.
Tumblr media
Sekian progress yang bisa dibagikan. Semoga kami dapat melanjutkan proyek ini dengan baik, cepat dan lancar.
TIM PROYEK 18214018 Mahbub Haq Al Farisi 18214030 Rezha Kusuma Astri 18214054 Edvin William Handoko
0 notes
edvinwh · 8 years ago
Text
II3231 IoT Project : SPOTS (Smart Pond Temperature System) - DESKRIPSI
Tumblr media
Setelah beberapa hari tidak mengerjakan proyek arduino, Kami mendapatkan tugas untuk menyusun proyek akhir. Tema Besar dari Proyek Akhir kami adalah Internet of Things. Setelah berdiskusi cukup panjang, kami memutuskan untuk membuat Sistem Pengaturan Suhu Air Tambak secara Otomatis. Sistem ini terinspirasi dari e-fishery yang sudah dibuat sebelumnya. Pada akhirnya, sistem ini akan menjadi salah satu fitur dalam e-fishery.
Proyek ini akan diimplementasikan dengan menggunakan Arduino untuk memodelkan sistem secara keseluruhan. Pada post kali ini, saya akan mencoba mendeskripsikan secara singkat seperti apa proyek yang akan kami kerjakan.
LATAR BELAKANG Kematian ikan pada sebuah tambak menyebabkan penurunan produktivitas. Kematian tersebut dapat disebabkan oleh berbagai hal. Salah satu penyebab kematian ikan adalah kondisi lingkungan hidup dari ikan tersebut. Kurangnya pengawasan terhadap kolam / tambak tempat ikan tersebut tinggal dapat menyebabkan ikan berpotensi tekena penyakit dan mati akibat berbagai faktor dari lingkungan. Salah satu faktor yang berperan besar dalam menjaga kualitas hidup ikan adalah suhu. Perubahan suhu yang mendadak dapat menyebabkan kematian ikan secara cepat. Akibatnya, produktivitas ikan mengalami penurunan secara mendadak. Petani ikan memiliki keterbatasan untuk mengamati kondisi lingkungan ikan setiap waktu. Tuntutan untuk mempertahankan produktivitas ikan selalu menyertai setiap petani ikan sehingga petani ikan dituntut untuk dapat meminimalkan risiko kematian ikan. Kebutuhan ini mendorong adanya sistem monitoring lingkungan tambak khususnya suhu air tambak tersebut.
DESKRIPSI SISTEM
Komponen Sistem Berikut ini merupakan komponen-komponen yang dibutuhkan dalam merealisasikan sistem.
Arduino Uno
Kabel Jumper
Resistor
Breadboard
Kabel USB
Modul Komunikasi Wireless (ESP8266)
Sensor Suhu (LM35)
Aktuator
Smartphone
Turbin / Kipas
Implementasi Sistem Sistem akan bekerja secara real-time. Arduino bertidak sebagai pengatur sistem yang ada di tambak. Sensor suhu membaca suhu air tambak. Data tersebut akan dipantau secara langsung untuk menentukan apakah Arduino harus menggerakkan aktuator atau tidak. Bila suhu air tambak melewati batas minimal maupun maksimal, Arduino akan menggerakkan aktuator untuk mengaktifkan turbin. Turbin akan berputar dan mencampur air tambak. Pencampuran air bertujuan agar suhu air dapat kembali stabil. Data suhu air akan dikirimkan ke smartphone dan ditampilkan melalui aplikasi. Hal ini bertujuan agar Petani Ikan dapat mengetahui kondisi suhu air tambak untuk memantau kondisi tambak secara langsung tanpa harus selalu berada di tambak.
Diagram Sistem
Tumblr media
TIM PROYEK 18214018 Mahbub Haq Al Farisi 18214030 Rezha Kusuma Astri 18214054 Edvin William Handoko
0 notes