이 프로젝트는 CSI(채널 상태 정보) 데이터를 데이터베이스에 실시간으로 저장할 수 있게 해 주고, 이를 보다 용이하게 해 줍니다 CSI 데이터 처리를 위한 와이파이 센싱 연구
- Raspberry Pi 4 (installed Nexmon CSI Tool)
- Linux Ubuntu
I did it on Linux for the experiment, but it is executable regardless of OS (Windows, macOS).
- MySQL Server == 8.0.33
- Python == 3.8
Open
- Flask
- mysql-connector-python
Open
- pypcap
- dpkt
- keyboard
- pandas
- numpy
- requests
-
project repository 복제
git clone https://github.com/pjs990301/mowa-wifi-sensing-labelling.git
-
Flask Server 설치
pip install -r requirements_server.txt
-
CSI 데이터 전송을 위한 Raspberry Pi 4 구성
pip install -r requirements_pi.txt
-
플라스크 서버용
app.py
실행python app.py
-
모니터 모드를 활성화한 상태에서
csi_send_server.py
를 실행sudo python3 csi_send_server.py
-
CSI 데이터 추출 Mac 주소 필터링
selected_mac = 'Enter your AP MAC Address'
- CSI 데이터 추출을 위해 AP MAC 주소를 필터링하려면
csi_send_server.py
에서 21번째 줄을 수정해야 합니다.
-
플라스크 및 데이터베이스 관리
{ "publish_SERVER": { "host": "0.0.0.0", "port": "SERVER_PORT" }, "Database": { "host": "DATABASE_IP", "user": "USER_NAME", "password": "USER_PASSWORD!", "database": "DATABASE_NAME" }, "private_SERVER": { "host": "SERVER_IP", "port": "SERVER_PORT" } }
-
데이터베이스 이름이 변경되면 해당 이름에 따라 쿼리를 변경해야 합니다.
현재 64개의 부반송파가 조회되고 있습니다. 부반송파를 더 저장하려면columns_query
를 수정해야 합니다 -
Table 생성 예제
CREATE TABLE [Your Database Name].{table_name}( { columns_query });
-
Table name is default {label name}_{Collection start time}_{Collection end time}
Demo.mp4
이 프로젝트는 MIT 라이선스로 라이선스가 부여됩니다. 자세한 내용은 LICENSE.md 파일을 참조하십시오