ESP8266 IoT part 1 (Mengkonfigurasi arduino IDE)

Hai semua, pasti kalian pernah merasa ingin membuat project IoT tapi bingung untuk mulai dari mana. Nah di sini saya akan share tutorial untuk membuat project IoT sederhana sampai yang kompleks.

sebelum mulai, kalian perlu persiapkan beberapa hal yang dibutuhkan, diantaranya adalah :

  1. nodemcu esp8266
  2. project board / breadboard
  3. arduino IDE
  4. xampp
  5. notepad++

setelah install arduino IDE, kalian perlu untuk menginstall board esp8266, tapi sebelumnya kalian harus menambahkan additional boards manager url dengan cara klik file->preference

Kemudian tambahkan url berikut di bagian additional Boards Manager URLs: http://arduino.esp8266.com/stable/package_esp8266com_index.json

Setelah itu click ok, dan kemudian install board esp8266 dengan cara
klik Tools->Board->Boards Manger

Ketik esp8266 pada kotak pencarian, dan kemudian klik install, kemudian cloase

Setelah semua selesai, ganti board menjadi esp8266 dan siap diprogram.

selanjutnya berlanjut di ESP8266 IoT part 2 (membuat database dan file php)

Bahasa Pemrograman

Banyaknya jenis bahasa pemrograman yang digunakan oleh developer dan juga software engineer seperti C, C++, C#, Java, Python, VB, PHP dan lain-lain. Hal ini tentunya akan membingungkan bagi pemula dalam menentukan bahasa pemrograman apa yang seharusnya dipelajari. Pada dasarnya penggunaan bahasa-bahasa ini disesuaikan dengan kebutuhan dan untuk keperluan apa aplikasi tersebut didevelop.


Image: IEEE Spectrum Interactive Ranking (2017)

Misalnya saja untuk aplikasi berbasis desktop (desktop based application) akan lebih banyak menggunakan C#, C++, Java ataupun Python yang biasa dibuat bersama dengan GUI (Graphic User Interface) ataupun hanya berupa console / command prompt untuk untuk menampilkan output karena aplikasi yang dibuat tidak membutuhkan banyak menu dan hanya keperluan yang sederhana. Untuk aplikasi yang berbasis perhitungan dan matriks, maka Python akan lebih banyak digunakan karena memiliki banyak library yang memang dikembangkan untuk hal-hal yang berkaitan dengan perhitungan yang berbasis matriks, seperti pengolahan citra (Image Processing), Data Mining, Artificial Neural Network. Library seperti Numpy dan Scipy akan sangat banyak digunakan untuk penggunaan-penggunaan seperti yang sudah disebutkan di atas.

Sedangkan untuk aplikasi yang berbasis web, bahasa yang sering digunakan diantaranya adalah PHP, Java, .net/VB. Pada aplikasi berbasis web secara garis besar dibedakan menjadi dua bagian, yaitu front-end dan back-end. Bahasa-bahasa yang tadi disebutkan adalah untuk beck-end atau bahasa yang digunakan agar bisa berkomunkasi dengan server. Tampilan /Interface yang biasa kita lihat di web browser adalah bagian front-end. Untuk keperluan front-end developer harus bisa menguasai beberapa bahasa tambahan seperti HTML, JavaScript, dan CSS.

Untuk aplikasi berbasis mobile (mobile apps) di handphone Android / iOS bisa dikategorikan menjadi dua, yaitu :

1. Native mobile apps yang didevelop menggunakan Android Studio / Kotlin. Untuk kategori ini, bahasa yang pasti digunakan adalah Java sebagai bahasa utamanya dan xml sebagai bahasa untuk membuat GUI pada aplikasi android/iOS. Android Studio merupakan IDE (integrated development environment) yang resmi dari Google dan tidak berbayar yang ditujukan untuk mengembangkan Android Apps yabg terdiri dari SDK (Service Development Kit) dan juga JDK (Java Development Kit) yang akan kita bahas lebihblanjut di postingan berikutnya tentang Java.

2. Web View mobile apps yang didevelop sama seperti aplikasi berbasis web, yaitu menggunakan bahasa php ataupun java sebagai beckend, namun sudah memeiliki view yang dinamis, yaitu view yang mengikuti resolusi/besarnya layar gadget yang membuka halaman web tersebut dengan menggunakan AngularJS ataupun ReactJS yang menjadikan tampilan menjadi lebih menarik dan hidup. Kemudian ada juga juga yang membungkus Web View ini kedalam format .apk (Application Package) sehingga dapat diinstall di perangkat gadget sama seperti applikasi yang didevelop menggunakan Android Studio.