
Pada postingan sebelumnya sudah dijelaskan pengertian dari IOT, kali ini saya akan mencoba menjelaskan board yang digunakan untuk membangun IOT. Ada banyak board yang banyak digunakan untuk membangun IOT diantaranya:
- C.H.I.P
C.H.I.P merupakan board yang cocok untuk mengembangkan proyek IOT dilengkapi dengan WIFI, Bluetooth 4.0, dan kapasitas penyimpanan 4GB, 1GHz Processor, 512 MB RAM serta menggunakan OS Linux - TESSEL2
Tessel 2 merupakan platform yang digunakan untuk membangun robot dan IoT. Tessel 2 memanfaatkan semua libraries Node.JS untuk membuat proyek. - Particle (Photon and Electron)
Particle (Photon and Electron) menyediakan fitur bawaan WiFi, cellular, Bluetooth - Flutter Wireless
Flutter Wireless merupakan radio board yang memiliki processor ARM, komunikasi nirkabel yang sangat kuat, built-in battery charging, onboard security chip, dan terdapat wireless sensor networks - ESP8266
ESP8266 merupakan microchip WiFi yang dilengkapi dengan TCP/IP dan menggunakan micro-controller UAR. ESP memiliki 1 MiB built-in flash yang memungkinkan perangkat chip tunggal dapat terhubung ke WiFi - Arduino Genu
Arduino merupakan micro controller dual-inline-package (DIP) ATmega328 AVR.
Untuk membuat modul IOT saya mencoba menggunakan Arduino Mega + Ethernet Shield dan NodeMCU ESP8266, kedua device tersebut memiliki banyak perbedaan
- NodeMCU ESP8266
- Pin analog hanya ada satu
int buzzer = A0;
- Deklarasi pin menyesuaikan dengan nama pin yang terdapat pada board
int led1 = 15; // GPIO14 int led2 = 14; // GPIO15 int led3 = 12; // GPI012 int led4 = 4 ; // GPI013 int led5 = 5; //GPIO16
atau
#define led1 D4 #define led2 D5
- Jika ingin menambahkan sensor harus menambah tegangan karena tegangan yang terdapat pada ESP8266 hanya 3v
- Library yang digunakan pada ESP8266
#include <ESP8266WebServer.h> #include <ESP8266WiFi.h> #include <Wire.h>
- Deklarasi server port
ESP8266WebServer webServer(80);
- Deklarasi koneksi WiFi yang digunakan
const char* ssid = "ssid_name"; const char* password = "ssid_password";
untuk memberi IP Statik
IPAddress ip(10,4,128,33); IPAddress gateway(10,4,128,1); IPAddress subnet(255, 255, 252, 0);
pada fungsi setup
Wire.begin(); // Untuk memulai web server WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }
- Konfigurasi get parameters menggunakan perintah Arg
- Arduino Mega + Ethernet Shield
- Terdapat lebih dari satu pin analog
int buzzer = A0; int solenoid = A1; Ultrasonic ultrasonic(A3, A2);
- Deklarasi pin disesuaikan dengan urutan pin yang terdapat pada board
int led1 = 3; int led2 = 4; int led3 = 5; int led4 = 6;
- Tidak perlu menambahkan tegangan jika ingin memasang sensor tetapi jika akan menambah device yang memiliki tegangan lebig dari 5v harus ditambah tegangan lagi
- Library yang digunakan pada Ethernet Shield
#include <SPI.h> #include <Ethernet.h> #include <WebServer.h> #include <EEPROM.h>
- Deklarasi server port
WebServer webserver(80);
- Deklarasi koneksi ethernet
static uint8_t ip[] = { 10,4,126,163 }; static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
pada fungsi setup
Ethernet.begin(mac, ip); webserver.begin(); // untuk memulai web server
- Konfigurasi get parameters
void switchReq(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete) { URLPARAM_RESULT rc; char name[32]; char value[32]; int id = -99; //! server.httpSuccess(); while (strlen(url_tail)) { rc = server.nextURLparam(&url_tail, name, 32, value, 32); if (rc != URLPARAM_EOS) { if (strcmp(name, "id") == 0) { id = atoi(value); Serial.print(F("id=")); Serial.println(id); } if(id !=-99) { if (strcmp(name, "action") == 0) { Serial.print(F("action=")); Serial.println(value); if(strcmp(value, "0") == 0) { server.print(F("OFF")); Serial.println(F("OFF")); toggleOff(id); } else if(strcmp(value, "1") == 0) { server.print(F("ON")); Serial.println(F("ON")); toggleOn(id); } } } } } }
Supaya jaringan stabil maka saya menyarankan menggunakan arduino + ethernet shield, selain itu juga walaupun menggunakan kabel LAN namun perangkat ini juga dapat dikontrol dari jarak jauh.
Sekian dulu pengenalan perangkat IOTnya
Referensi:
https://iotboys.com/10-diy-development-boards-for-iot-in-2018
https://www.amazon.in/C-H-I-P-Computer-Development-Board/dp/B01N677869
https://tessel.io/
https://techtutorialsx.com/2016/10/22/esp8266-webserver-getting-query-parameters/
- Projects
- None
- Subscribers
- None