/* NodeMCU Access Point (AP) modunda çalışmaktadır. Kablosuz ağlardan "Robot"a bağlanın. Şifre: 12345678 Tarayıcıdan 192.168.4.1 adresine girin. */ #include // NodeMCU kurulumuyla gelir. #include // NodeMCU kurulumuyla gelir. #include // NodeMCU kurulumuyla gelir. #include // WebSockets v2.3.6 #include // NodeMCU kurulumuyla gelir. const char* ssid = "Robot"; const char* password = "12345678"; // Şifre en az sekiz haneli olmalı. const byte IN1 = D0, IN2 = D1, IN3 = D2, IN4 = D3; // PWM pinleri. (enA ve enB'de jumper takılı). int hiz = 150; char karakter; static const char PROGMEM INDEX_HTML[] = R"rawliteral( Wifi Robot  
Wifi Robot
 
 
 
 
)rawliteral"; WebSocketsServer webSocket = WebSocketsServer(81); ESP8266WebServer server(80); void setup() { Serial.begin(9600); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); WiFi.mode(WIFI_AP); // Access point modunda. WiFi.softAP(ssid, password); // Kablosuz ağı başlat. IPAddress IP = WiFi.softAPIP(); server.on("/", [](){ server.send(200, "text/html", INDEX_HTML); }); server.begin(); webSocket.begin(); webSocket.onEvent(webSocketFonksiyonu); } void loop() { if (karakter == 'a') { // ileri. analogWrite(IN1, hiz); analogWrite(IN2, 0); analogWrite(IN3, hiz); analogWrite(IN4, 0); } else if (karakter == 'b') { // Geri. analogWrite(IN1, 0); analogWrite(IN2, hiz); analogWrite(IN3, 0); analogWrite(IN4, hiz); } else if (karakter == 'c') { // Sol. analogWrite(IN1, hiz); analogWrite(IN2, 0); analogWrite(IN3, 0); analogWrite(IN4, hiz); } else if (karakter == 'd') { // Sağ. analogWrite(IN1, 0); analogWrite(IN2, hiz); analogWrite(IN3, hiz); analogWrite(IN4, 0); } else if (karakter == 'e') { // Dur. analogWrite(IN1, 0); analogWrite(IN2, 0); analogWrite(IN3, 0); analogWrite(IN4, 0); } webSocket.loop(); server.handleClient(); } void webSocketFonksiyonu(byte sayi, WStype_t type,byte * veri, size_t length){ switch(type) { case WStype_DISCONNECTED: break; case WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP(sayi);} break; case WStype_TEXT: karakter = veri[0]; Serial.println(karakter); webSocket.broadcastTXT(veri, length); break; case WStype_BIN: hexdump(veri, length); webSocket.sendBIN(sayi, veri, length); break; default: break; } }