Internet
yang semakin luas jangkauannya membuat perkembangan teknologi juga
semakin luas jangkauannya. Dulu yang bisa tersambung internet adalah
komputer dan ponsel pintar. Sekarang, hampir semua peralatan bisa
tersambung menggunakan internet. IoT atau Internet of Things adalah
bentuk komunikasi dimana semua perangkat lunak dapat disambungkan.
Caranya adalah sensor dihubungkan ke perangkat komputer atau arduino
kemudian data hasil pembacaan sensor dikirimkan ke server. Selanjutnya
data dapat diakses menggunakan browser atau aplikasi ponsel pintar
semacam android.
ESP8266
adalah modul wifi murah meriah dengan harga 50ribuan ynag dapat
digunakan untuk mengirim data ke server. Komunikasi ESP8266 dengan
arduino menggunakan komunikasi serial (AT+Command).
Rangkaian Jadi arduino dan esp8266
Skema Pin ESP8266
Pin ESP8266
Di atas adalah skema pin ESP8266. Rangkaian esp8266 dan arduino uno adalah sebagai berikut :
Arduino
ESP8266
3.3 V
VCC
3.3 V
RST
3.3 V
CH_PD
RX
TX
TX
RX
Algoritma
di dalam sketch arduino dibagi menjadi 2 bagian, yaitu pada bagian
untuk menyambungkan ke router wifi dieksekusi pada bagian void setup().
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
voidsetup(){
Serial.begin(115200);//inisialisasi serial
Serial.println("AT");
delay(5000);//menunggu 5 detik bisa ubah biar lebih cepat
//sambungkan ke wifi
Serial.println("AT+CWMODE=1");//mode wifi client
delay(2000);//menunggu dengan interval 2 detik
Stringcmd="AT+CWJAP=\"";//at command konek ke wifi router
cmd+=SSID;//SSID diisi nama wifi
cmd+="\",\"";
cmd+=PASS;//PASS diisi password wifi
cmd+="\"";//simpelnya ya gini AT+CWJAP="SSID","PASS";
Serial.println(cmd);//kirim at command ke esp8266
delay(5000);//tunggu sampe 5 detik
if(Serial.find("OK")){//respon dari esp8266
digitalWrite(4,HIGH);//dismbungkan ke led sebagai indikator
digitalWrite(3,LOW);//disambungkan ke led sebagai indikator
}else{
digitalWrite(4,LOW);//disambungkan ke led sebagai indikator
digitalWrite(3,HIGH);//disambungkan ke led sebagai indikator
}
//end sambungan ke wifi
}
Selanjutnya adalah bagian untuk mengirim data ke server.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
voidloop(){
//inisialisasi alamat server
Stringdatasensor="unit_id=1&output=105";//data yang akan dikirim ke server dengan "key" = unit_id
//dan output, nilai unit_id adalah id sensor dan output adalah hasil pembacaan sensor
Stringcmd="AT+CIPSTART=\"TCP\",\"ip\",80";//IP diisi dengan ip server atau web service
Serial.println(cmd);//mengirim at command ke esp8266
delay(500);
//end inisialisasi alamat server
//coba kirim data
cmd="PUT /index.php/monitoring/unit/ HTTP/1.1\r\n";//PUT REQUEST ke server
cmd+="Host: alamatweb.com\r\n";//alamat host
cmd+="Content-Length: ";//content atau hasil pembacaan sensor yang akan dikirim
cmd+=datasensor.length();//panjang karakter data sensor
Post a Comment