제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 2 |
프로젝트 아이디어
Node.js는 실시간 애플리케이션을 위한 최고의 옵션 중 하나입니다. 이전에 소켓을 사용하여 일부 실시간 앱을 작업한 적이 있으므로 동일한 개념으로 자가 학습을 위해 Node.js 서버로 일부 IoT 프로젝트를 만들기로 결정했습니다.
이 Rover는 Bluetooth를 사용하여 Node.js 서버와 통신하고 프런트 엔드에서는 소켓을 사용하여 서버에 명령을 보냅니다.
프로젝트 목표
노드 서버와 하드웨어(이 경우 Rover) 간의 무선 통신을 연구 및 구현하고 소켓을 사용하여 노드 서버에서 제공하는 모바일 웹 페이지로 Rover를 원격으로 제어합니다.
전제 조건
노드, 소켓 프로그래밍 및 L298 모터 드라이버 작동에 대한 기본 지식이 필요합니다.
요구 사항 <울>
1단계 - 로버 만들기
Rover를 만드는 것은 그렇게 복잡하지 않습니다. 온라인에서 쉽게 구할 수 있고 모든 조립 장치와 함께 제공되는 "2륜 섀시 키트"를 구입할 수 있습니다.
Arduino Uno 및 L298 모터 드라이버는 Rover 상단에 내장되어 있으며 둘 다 2개의 9볼트 배터리로 개별적으로 구동됩니다.
Arduino Uno는 서버와 통신할 HC-05 Bluetooth 모듈에 전원을 공급합니다.
회로도
위의 회로도에서 볼 수 있듯이 L298 모터 드라이버는 9V 배터리에 의해 전원이 공급되고 2개의 모터 제어 출력은 모터 A와 모터 B에 연결되며 모터에는 극성이 없으므로 터미널에 연결할 수 있지만 다음을 확인하십시오. 두 모터가 같은 방향으로 회전합니다. 5V 레귤레이터 점퍼를 제거하지 마십시오.
참고 :12볼트 이상으로 L298에 전원을 공급하면 온보드 5V 전압 조정기가 손상됩니다.
Arduino Uno는 또한 양극 단자가 Arduino의 Vin 핀에 연결되고 음극 단자가 공통 접지에 연결된 9V 배터리로 전원이 공급됩니다. Arduino는 차례로 Bluetooth 모듈에 전원을 공급하므로 HC-05의 Vcc 핀을 Arduino의 5V에 연결하고 GND를 접지에 연결합니다.
HC-05와 아두이노의 시리얼 통신을 위해서는 HC-05의 TXD 핀을 아두이노의 RX 핀에 연결하고 HC-05의 RXD 핀을 아두이노의 TX 핀에 연결합니다.
이제 L298 모듈을 제어하기 위해 EN1 및 EN2 핀을 Arduino의 PWM 핀에 연결할 수 있습니다. 그런 다음 L298의 입력 핀 -1, 2, 3, 4를 Arduino의 디지털 핀에 연결합니다.
데이터 전송
위의 그림과 같이 신호의 전송을 나타내는 그림입니다.
1. 사용자는 노드 서버에서 제공하는 웹 페이지에 액세스합니다. URL은 포트 번호가 사용된 IP 주소입니다(예:"192.XXX.XXX.129:8080").
2. 사용자가 웹 페이지에서 버튼을 클릭하면 서버가 필요한 기능을 수행하도록 트리거합니다. 이 통신은 소켓으로 인해 발생합니다.
3. 블루투스를 통해 HC-05 모듈에 연결된 노드 서버는 필요한 데이터를 HC-05 모듈로 보냅니다.
4. HC-05는 직렬 통신을 사용하여 데이터를 Arduino UNO로 전송합니다.
5. Arduino UNO는 차례로 L298 모듈을 제어합니다.
2단계 - 서버 설정
우리 서버의 경우 Node.js를 설치해야 합니다. 안정적인 버전의 노드를 설치하십시오. 제 것은 11.15 버전입니다. 다음 패키지를 설치해야 합니다-
<울>참고 - "node-gyp"의 설치는 일부 최신 버전의 Node를 지원하지 않기 때문에 까다로울 수 있으므로 Node의 버전 11.15를 설치하는 것이 좋습니다.
이제 웹 페이지에서 이벤트를 수신해야 합니다. 웹 페이지와 상호 작용하는 동안 이벤트가 트리거되는 즉시 페이지는 노드 서버에서 실행해야 하는 필수 기능을 방출합니다. 서버는 차례로 해당 메시지를 듣고 원하는 기능을 실행합니다(여기서는 블루투스로 데이터 전송).
따라서 "express" 및 "EJS"와 같은 패키지를 사용하여 서버 및 웹 페이지를 만듭니다. 원하는 컨트롤로 웹 페이지를 디자인하고 소켓 서버를 생성하여 소켓 연결을 설정합니다. 이 문서를 참조할 수 있습니다.
블루투스 설정에 대해서는 이 문서를 참조하십시오. 제어 버튼을 클릭할 때마다 메시지가 HC-05 모듈로 전송됩니다.
여기 내 간단한 웹 페이지가 있습니다 --
3단계 - Arduino 코드
Bluetooth는 직렬 통신을 사용하여 Arduino-Uno와 통신하므로 일부 "문자열"을 명령으로 보내고 문자열을 종료하고 캡처하도록 지시하는 추가 문자를 보냅니다.
예를 들어-:앞으로 나아가기 위해 Bluetooth는 "forwardT"를 전송하고 Arduino 끝에서는 문자 "T"를 만나자마자 직렬 통신이 완료되었음을 알 수 있습니다.
그리고 들어오는 문자열 명령으로 L298 드라이버가 앞으로, 뒤로, 왼쪽, 오른쪽으로 이동하고 속도를 변경하는 등의 작업을 수행하도록 구성합니다.
첨부된 아두이노 코드를 찾습니다.
4단계 - 최종 결과
개선 사항 및 향후 범위
차후에는 음성 명령과 장애물 회피 기능을 이용하여 로버를 제어할 계획입니다. 나는 또한 이동 거리, 최대 속도, 평균 속도 등과 같은 통계 기록을 보관할 데이터베이스를 유지할 수 있습니다. 또한 온도, 빛 및 습도와 같은 여러 센서를 추가하고 정기적으로 추적할 것입니다. DB에 저장됩니다.
다음 버전
내 다음 프로젝트 "모바일을 사용하는 음성 제어 로버" 확인
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">
제조공정
이 튜토리얼에서는 이전 비디오에서 만든 Arduino 로봇 자동차를 무선으로 제어하는 방법을 배웁니다. HC-05 블루투스 모듈, NRF24L01 트랜시버 모듈, HC-12 장거리 무선 모듈, 스마트폰과 맞춤형 안드로이드 애플리케이션 등 세 가지 무선 제어 방법을 보여드리겠습니다. 자세한 내용은 다음 동영상을 보거나 아래에 작성된 튜토리얼을 참조하세요. 이러한 각 모듈을 Arduino 보드에 연결하고 사용하는 방법에 대한 자습서가 이미 있으므로 자세한 내용이 필요하면 언제든지 확인할 수 있습니다. 각각에 대한 링크는 아래 기
웹 서버와 애플리케이션 서버 모두 콘텐츠에 대한 사용자 요청에 응답합니다. 그러나 두 서버 유형 사이에는 몇 가지 주요 차이점이 있으며 이러한 차이점을 알면 요구 사항에 적합한 소프트웨어 및 하드웨어 인프라를 구성하는 데 도움이 될 수 있습니다. 계속 읽으십시오.웹 서버와 애플리케이션 서버의 차이점 및 일상적인 사용 사례 어떤 것이 비즈니스 요구사항에 더 적합한지 확인하세요. 앱 서버와 웹 서버:주요 차이점 다음은 앱 서버와 웹 서버 간의 주요 차이점에 대한 개요입니다. 웹 서버 비교 포인트 애플리케이션 서버 웹사이트 호