공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
서보 모터와 웹소켓에 대하여
우리는 서보 모터와 WebSocket에 대한 구체적인 튜토리얼을 가지고 있습니다. 각 튜토리얼은 하드웨어 핀아웃, 작동 원리, ESP8266에 대한 배선 연결, ESP8266 코드 등에 대한 자세한 정보와 단계별 지침을 포함하고 있습니다. 다음 링크에서 더 자세히 알아보세요:
올바른 ESP8266 보드를 선택하세요. 예를 들어, (NodeMCU 1.0 (ESP-12E Module))과 해당 COM 포트입니다.
Arduino IDE의 왼쪽 탐색 바에 있는 Library Manager 아이콘을 클릭하여 라이브러리 관리자를 엽니다.
“WebSockets”를 검색한 다음, Markus Sattler이 만든 WebSockets를 찾습니다.
WebSockets 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
아두이노 IDE에서 새 스케치를 생성하고 이름을 지어주세요. 예를 들어, newbiely.kr.ino
아래 코드를 복사하고 아두이노 IDE로 열어주세요.
/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-controls-servo-motor-via-web */#include <Servo.h>#include <ESP8266WiFi.h>#include <ESP8266WebServer.h>#include"index.h"#define SERVO_PIN D7 // The ESP8266 pin D7 connected to servo motorServo servo;const char* ssid = "YOUR_WIFI_SSID"; // CHANGE ITconst char* password = "YOUR_WIFI_PASSWORD"; // CHANGE ITESP8266WebServer server(80); // Web server on port 80DIYables_ESP32_WebSocket* webSocket;void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length) {switch (type) {case WStype_DISCONNECTED:Serial.printf("[%u] Disconnected!\n", num);break;case WStype_CONNECTED: {IPAddress ip = webSocket.remoteIP(num);Serial.printf("[%u] Connected from %d.%d.%d.%d\n", num, ip[0], ip[1], ip[2], ip[3]); }break;case WStype_TEXT://Serial.printf("[%u] Received text: %s\n", num, payload);String angle = String((char*)payload);int angle_value = angle.toInt();Serial.println(angle_value); servo.write(angle_value);break; }}voidsetup() {Serial.begin(9600); servo.attach(SERVO_PIN); // attaches the servo on ESP8266 pin// Connect to Wi-FiWiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED) {delay(1000);Serial.println("Connecting to WiFi..."); }Serial.println("Connected to WiFi");// Initialize WebSocket server webSocket.begin(); webSocket.onEvent(webSocketEvent);// Serve a basic HTML page with JavaScript to create the WebSocket connection server.on("/", HTTP_GET, []() {Serial.println("Web Server: received a web page request");String html = HTML_CONTENT; // Use the HTML content from the index.h file server.send(200, "text/html", html); }); server.begin(); Serial.print("ESP8266 Web Server's IP address: "); Serial.println(WiFi.localIP());}void loop() {// Handle client requests server.handleClient();// Handle WebSocket events webSocket.loop();}
Arduino IDE에서 index.h 파일을 생성하려면:
시리얼 모니터 아이콘 바로 아래 버튼을 클릭한 후 새 탭을 선택하거나, Ctrl+Shift+N 키를 사용하세요.