일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- trapmessage
- yolo
- Protocol
- 딥러닝
- 게임개발
- 논문
- 호흡분석
- ChatGPT
- 네트워크
- 논문리뷰
- 개발자
- C언어
- 언리얼엔진
- connx
- SNMP
- modbus-tcp
- 헬스케어
- 챗지피티
- 설치
- V3
- 딜러닝
- Detectron2
- 이터널리턴
- ctypes
- 프로그래머
- python
- 파이썬
- GPT
- MODbus
- 리뷰
- Today
- Total
yusukaid's IT note
[node.js]Wi-Fi 연결 테스트 환경 시작하기 본문
Node.js란?
js 코드를 브라우저 밖에서 실행할 수 있게 해주는 런타임 프레임워크다. 보통 네트워크 연결 테스트를 위해 임시 서버를 만들고 활용한다. 진행할 작업은 wifi 리스트를 임의로 만든 후, wifi 리스트 스캔 및 연결까지 동작하는지를 확인하는 것이다.
Node.js 설치하기
Node.js — 어디서든 JavaScript를 실행하세요
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
설치는 간단하다. 위 링크로 들어가서 다운로드를 하고 그대로 진행하면 된다.
테스트에 필요한 html, css, js 파일은 이미 작성이 완료됐다는 가정 하에 본 글을 따라 진행하자.
네트워크 테스트 환경 구축하기
1. Node.js & npm 설치 확인
node.js 설치가 완료되면 위와 같은 프로그램이 추가될 것이다. 우리가 쓸 것은 사진 기준 두번째 파일인 Node.js command prompt이다. node.js 버전 터미널이다.
가장 먼저 node.js와 npm이 제대로 설치됐는지 확인부터 해주자.
컴퓨터 좀 해봤다 싶으면 다들 알 기본적인 명령어다. 설치 및 버전을 확인했으면 다음 단계로 넘어가자.
2. package.json 파일 생성
프로젝트 폴더를 만들고 진입한 후, package.json 파일을 만들어주자.package.json은 프로젝트에 필요한 정보와 설정을 담은 "설정서"라고 보면되는데, 일종의 config 파일 역할을 한다고 보면 된다.
"-y" 옵션은 default 값으로 package.json을 만드는 옵션이다. 간단한 네트워크 연동 테스트니, package.json을 우리가 수정할 일은 없다.
3. Express 설치
express는 네트워크 테스트에 필요한 패키지다. 사진과 같은 명령어로 설치한 후, 프로젝트 폴더에 node_modules 폴더와 package-lock.json 파일이 제대로 생성됐는지 확인해주자.
파일이 생성된 것을 확인했으면 다음 단계로 넘어가자. html, css, js 파일은 public 폴더에 모아주면 된다.
4. index.js 작성
index.js는 네트워크 테스트에 필요한 서버의 정보들을 담은 파일이다. 즉, 테스트 서버를 설정할 코드를 작성하는 것이다.
- const express ~ const path: 네트워크 테스트에 필요한 기본 정보들을 선언한 변수이다.
- const wifilist: 네트워크 테스트에 연결할 wifi 목록들이다.
- ssid: wifi 이름
- secure: wifi 보안 유무
- password: 보안 wifi의 비밀번호
- rssi: wifi 신호 크기
- mode: 네트워크 모드 (DHCP, Static 중 하나)
- bssid: wifi의 서비스 영역을 식별하는 id
- channel: 채널
- ip ~ mac: wifi의 기본 정보 설정
각자 입맛에 맞게 설정해주자.
- app.get('/api/wifi/scan', (req, res) => {}); 위에서 선언한 wifi 목록을 JSON 형태로 응답한다.
- app.post('/api/wifi/connect, (req, res) => {}); html에서 만든 connect 버튼을 클릭하면, wifi 네트워크에 연결한다. 서버는 받은 정보를 콘솔에 로그로 출력하고, 연결 상태에 따라 로그를 다르게 출력해준다.
- const POST = 3000; 서버의 포트 번호를 3000으로 설정한다.
5. 서버 실행 및 테스트
node.js에서 프로젝트 폴더로 이동 후 서버를 실행시키자.
index.js 코드에 의해 터미널 (콘솔)에 로그가 찍히는 모습이다. 해당 링크로 브라우에서 접속을 시도하면
본인이 만든 html과 wifi 목록이 잘 스캔되는 것을 확인할 수 있다. wifi에 연결을 시도하면 ..
연결 시도의 상태에 따라 콘솔에 로그가 출력되고, wifi 연결 테스트는 성공적이다 !
정리
node.js 서버의 기본 구조를 요약하면 다음과 같다.
- node.js 서버에서 페이지 (html, css, js)를 웹 브라우저에 요청
- 브라우저에서 요청받은 페이지를 처리해 표시
[웹 브라우저] [Node.js 서버]
wifi.html → 정적 파일 제공
Scan → GET /api/wifi/scan
← Wi-Fi 목록(JSON)
Connect → POST /api/wifi/connect
← 200 OK
Disconnect → POST /api/wifi/disconnect
← 200 OK
기본적인 wifi 테스트 연결은 이렇게 쉽게 구현할 수 있다. 실무에 적용하려면 node.js에서 제공하는 wifi 전용 제어 모듈인 'wifi-control'이 있다. 이는 다음데 다루도록 한다.
'네트워크' 카테고리의 다른 글
MQTT에 대해 알아보자 (0) | 2025.04.24 |
---|---|
SNMP에 대해 알아보자 (0) | 2025.04.14 |
Modbus에 대해 알아보자 (TCP/RTU 비교) (0) | 2025.04.14 |
RS232 vs RS485 (0) | 2025.04.14 |