Kontrol arduino lewat WiFi(tanpa koneksi internet) - electriali

electriali

Want to benefit to other

test banner

Post Top Ad

Responsive Ads Here

Kontrol arduino lewat WiFi(tanpa koneksi internet)

Share This

Koneksi arduino lewat WiFi

Assalamualaikum wrwb . Bertemu lagi di MraMikrokontrol kali ini saya akan memberikan tutorial bagai mana mengontrol arduino lewat WiFi. Namun kali ini kita tidak akan benar benar menggunakan arduino tapi menggunakan modul Nodemcu yaitu salah satu modul pengembangan dari esp 8266 yang memiliki 2 fungsi,fungsi pertama untuk mengkoneksikan mikrokontroler dengan WiFi dan yang kedua sebagai mikrokontroler nya sendiri yang memiliki fungsi fungsi seperti I/O ADC pwm SPI i2c uart seperti layaknya mikrokontroler pada umumnya.

Dengan menggunakan NodeMcu ini kita tidak perlu lagi melakukan wiring atau penyambungan Antara modul WiFi dengan arduino karena antara mikrokontroler dengan modul Wi-Fi sudah tersambung dalam 1 board. Namun node mci memiliki pilihan yang terbatas sehingga jika ingin menggunakan banyak pin maka harus menyambungkannya dengan board lain melalui komunikasi serial misalnya i2c SPI atau uart. 
Berikut adalah pin out dari Nodemcu yang digunakan yaitu Nodemcu 12E


Oke langsung pada prakteknya agar tidak kesuwen ...,,*_*

Komponen yang di butuhkan hanyalah Nodemcu 12 E saja kemudian niat dan kopi satu cangkir heheh

Karena kita menggunakan NodeMcu kita tidak perlu lagi melakukan wiring atau pengkabelan karena antara mikrokontroler dan modul WiFi yang sudah bersatu alias gandengan hehehehe.oleh karena itu kita langsung ke program atau coding nya 

Jika anda belum menginstal library Board Nodemcu nya klik Disana

Kemudian ini coding antara

  1.  /*
  2.  *  This sketch demonstrates how to set up a simple HTTP-like server.
  3.  *  The server will set a GPIO pin depending on the request
  4.  *    http://server_ip/gpio/0 will set the GPIO2 low,
  5.  *    http://server_ip/gpio/1 will set the GPIO2 high
  6.  *  server_ip is the IP address of the ESP8266 module, will be 
  7.  *  printed to Serial when the module is connected.
  8.  
  9.  modifikasi oleh : muchamat rifaia ali
  10.  */

  11. #include <ESP8266WiFi.h>

  12. const char* ssid = "ssid wifi anda";
  13. const char* password = "password wifi anda";

  14. // Create an instance of the server
  15. // specify the port to listen on as an argument
  16. WiFiServer server(80);
  17. int val=0;
  18. void setup() {
  19.   Serial.begin(115200);
  20.   delay(10);

  21.   // prepare GPIO2
  22.   pinMode(LED_BUILTIN, OUTPUT);
  23.   digitalWrite(LED_BUILTIN, 0);
  24.   
  25.   // Connect to WiFi network
  26.   Serial.println();
  27.   Serial.println();
  28.   Serial.print("Connecting to ");
  29.   Serial.println(ssid);
  30.   
  31.   WiFi.begin(ssid, password);
  32.   
  33.   while (WiFi.status() != WL_CONNECTED) {
  34.     delay(500);
  35.     Serial.print(".");
  36.   }
  37.   Serial.println("");
  38.   Serial.println("WiFi connected");
  39.   
  40.   // Start the server
  41.   server.begin();
  42.   Serial.println("Server started");

  43.   // Print the IP address
  44.   Serial.println(WiFi.localIP());
  45. }

  46. void loop() {
  47.   // Check if a client has connected
  48.   WiFiClient client = server.available();
  49.   if (!client) {
  50.     return;
  51.   }
  52.   
  53.   // Wait until the client sends some data
  54.   Serial.println("new client");
  55.   while(!client.available()){
  56.     delay(1);
  57.   }
  58.   
  59.   // Read the first line of the request
  60.   String req = client.readStringUntil('\r');
  61.   Serial.println(req);
  62.   Serial.println("oke");
  63.   client.flush();
  64.   
  65.   // Match the request
  66.   
  67.   if (req.indexOf("/gpio/0") != -1)
  68.     val = 0;
  69.   else if (req.indexOf("/gpio/1") != -1)
  70.     val = 1;
  71.   else {
  72.     Serial.println("invalid request");
  73.     client.stop();
  74.     return;
  75.   }

  76.   // Set GPIO2 according to the request
  77.   digitalWrite(LED_BUILTIN, val);
  78.   
  79.   client.flush();

  80.   // Prepare the response
  81.   String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html><head><title>MRAmikrokontrol monitor</title></head><body><h1>kondisi lampu</h1> <p>keadaan led sekarang adalah ";
  82.   s += (val)?"mati":"nyala";
  83.   s += "</p><li><a href='http://IP addres local anda/gpio/0'>nyala</a></p></li><li><a href='http://ip addres local anda/gpio/1'>mati</a></li></html>\n";

  84.   // Send the response to the client
  85.   client.print(s);
  86.   delay(1);
  87.   Serial.println("Client disonnected");

  88.   // The client will actually be disconnected 
  89.   // when the function returns and 'client' object is detroyed
  90. }


Yang perlu di ganti pada program di atas adalah 
1. Ssid WiFi
2. Password WiFi
3.ip address Anda cara nya upload program tersebut kemudian buka di serial monitor


Kemudian buka browser laptop atau hp. Pokoknya yang terhubung dalam 1 WiFi kemudian masukan url ini

IP anda/gpio/0

Contoh
192.198.43.15/gpio/0

Nanti akan tampil halaman website untuk mengontrol LED yang ada di Nodemcu nya
 Sekian tutorial ini semoga bermanfaat.

*Koneksi arduino dengan WiFi * control arduino dengan wifi* * Nodemcu 12 E tutorial * koneksi arduino Nodemcu * kontrol arduino esp tanpa koneksi internet * arduino esp 8266 tanpa koneksi internet