Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

Rabu, 30 Juni 2021

[ ESP8266 ] Kunci Motor Menggunakan wifi + password lewat SD card - (Part1 : AsyncWebServer)

Keamanan yg canggih merupakan sebuah keniscayaan di jaman serba digital, didukung oleh semakin terjangkaunya modul-modul kontrol digital siap pakai. Pada seri tulisan kali ini akan dibahas secara mendalam mengenai perancangan sistem kunci digital berbasis ESP8266 - yg merupakan modul favorit kesukaan para pencipta mikrokontroler AVR 8 bit dengan keunggulan modul wifi siap pakai.






Praktek kali ini merupakan penggabungan dari berbagai library dari hardware esp8266 yg bisa anda pakai langsung atau dalam modul kit development yg bisa nda pilih seperti node mcu, wemoz, esp32 dan sebagainya. Untuk versi yang saya kembangkan meliputi bahasan seperti berikut :


-  EspAsyncWebserver  ( dari Me-No-Dev


Merupakan librari popular dan sangat ampuh untuk membuat Async HTTP dan WebSocket Server pada  ESP8266 Arduino. Dengan library ini memudahkan pekerjaan server yg bekerja diluar loop utama sehingga handal dalam melayani akses dari beberapa user secara bersama.




Untuk ESP8266 memerlukan ESPAsyncTCP untuk menggunakan library ini, Anda mungkin perlu memiliki versi git terbaru dari ESP8266 Arduino Core


Contoh yg saya gunakan seperti pembuatan form sederhana dibawah ini, dimana wemos d1 saya berfungsi sebagai SoftAP 


#include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include <WiFiClient.h> 


AsyncWebServer server(80);

const char* PARAM_INPUT = "input";
const char *ssid = "coba";
const char* password = "sayamencoba";

String SendHTML()
{

String ptr = " <!DOCTYPE HTML><html><head> ";
  ptr +="<title>CONTOH INPUTAN</title> ";
  ptr +="<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"> ";
  ptr +=" </head><body> ";
  ptr +=" Masukkan Sesuatu disini ";
  ptr +=" <br> ";
  ptr +="<form action=\"/get\"> ";
  ptr +=" Challenge: <input type=\"text\" name=\"input\"> ";
  ptr +="  <input type=\"submit\" value=\"Submit\"> ";
  ptr +="</form><br><br>";
  ptr +="</body> ";
  ptr +="</html> ";
  return ptr;
}

void notFound(AsyncWebServerRequest *request) {
  request->send(404, "text/plain", "Not found");
}

void setup(){
 
 Serial.begin(9600);
 WiFi.softAP(ssid, password );//AP
 
 IPAddress apip = WiFi.softAPIP(); //alamat IP
    Serial.print("Hubungkan wifi dan buka : \n");  //menuliskan alamat IP yang bisa dikunjungi
    Serial.println(apip);
 
  // Send web page dengan inputan berupa text 
    server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
    request->send(200, "text/html", SendHTML() ); 
  });

  // Send a GET request to <ESP_IP>/get?input=<inputMessage>
  server.on("/get", HTTP_GET, [] (AsyncWebServerRequest *request) {
    String inputMessage;
    String inputParam;
    
    // GET input1 value on <ESP_IP>/get?input=<inputMessage>
    if (request->hasParam(PARAM_INPUT) ) {
      inputMessage = request->getParam(PARAM_INPUT)->value();
      inputParam = PARAM_INPUT;

    }
   
    else {
      inputMessage = "No challenge ";
      inputParam = "none";
    }

    Serial.print("param : ");
    Serial.println(inputParam );
    Serial.print("pesan : ");
    Serial.println(inputMessage); 
    
     request->send(200, "text/html", "Dikirm dengan Param (" 
                                     + inputParam + ") dengan pesan : " + inputMessage +
                                     "<br><a href=\"/\">Return to Home Page</a>");
                                     
  });
  server.onNotFound(notFound);
  server.begin();
}

void loop() {
  // kosong

}


Hasil nya ketika saya masuk ke wifinya yg dipancarkan oleh Wemos / ESP8266 dan masuk ke alamat http://192.168.4.1 seperti berikut :






- Membaca SD card
Share:

0 komentar:

Posting Komentar

Kontak Penulis



12179018.png (60×60)
+628155737755

Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (19) android (14) antares (11) arduino (28) artikel (11) attiny (3) attiny2313 (19) audio (5) baterai (5) blog (1) bluetooth (1) chatgpt (2) cmos (2) crypto (2) dasar (46) digital (11) dimmer (5) display (3) esp8266 (26) euro2020 (13) gcc (1) gsm (1) iklan (1) infrared (2) Input Output (3) iot (76) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (17) komputer (3) komunikasi (1) kontrol (8) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) lora (11) lorawan (2) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroler (2) mikrokontroller (14) mikrotik (5) modbus (9) mqtt (3) ninmedia (5) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (88) pcb (2) power (1) praktek (2) project (33) proyek (1) python (8) radio (28) raspberry pi (9) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (2) sharing (3) signage (1) sinyal (1) sms (6) software (18) solar (1) solusi (1) tachometer (2) technology (1) teknologi (2) telegram (2) telepon (9) televisi (167) television (28) telkomiot (5) transistor (2) troubleshoot (3) tulisan (94) tutorial (108) tv digital (6) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3) yolo (7)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika