EdgeEye 사용자 매뉴얼 (User Manual)
1. 제품 개요
EdgeEye는 전력 소모와 네트워크 인프라가 제한된 극한의 환경에서 초장거리 무선 통신 기술(LoRaWAN)을 사용하여 현장의 고해상도 스틸 이미지를 전송하는 산업용 원격 모니터링 카메라입니다.
Wi-Fi, LTE 등 기존 유무선 통신 수단이 불가한 지역에서 최대 10km 이상의 거리(개활지 기준)를 극복하고 안정적으로 이미지 데이터를 게이트웨이 및 서버로 송신합니다. 제한된 LoRaWAN 대역폭을 극대화하기 위해 온디바이스 AI 기반 데이터 최적화 기술을 탑재하여, 불필요한 전송을 방지하고 핵심 데이터만을 선별 송신합니다.

주요 특징
- 초장거리 LoRaWAN 이미지 전송: 독자적인 이미지 분할 및 재조립 알고리즘을 통해 수 km 이상의 거리에서 무선 스틸샷 전송 성공률 극대화
- 스마트 대역폭 절감: 설정 주기에 맞춰 촬영하되, AI 분석을 통해 유효한 객체가 있을 때만 이미지를 송신하는 저전력 동작 지원
- 웹 기반 무설치 설정: USB 연결 시 자동 활성화되는 웹 인터페이스를 통해 카메라, 동작 시나리오, 촬영 주기 및 LoRaWAN 파라미터 등 간편 설정 지원
2. 제품 구성
- EdgeEye 본체
- 2dBi 무지향성 LoRa 안테나
- USB-A DC 전원 케이블
3. 각 부의 명칭 및 기능
- 카메라 렌즈: 스틸 이미지 촬영, 초점 조절
- USB-C 포트: PC 연결을 통한 LoRaWAN 망 연동 및 웹 설정 인터페이스 접속용 (전원 공급 불가 / 데이터 통신 전용)
- 전원 입력부 (DC Jack): 기본 제공된 USB-A DC 전원 케이블을 통해 전원 공급. (DC 5V 1A 추천)
- 안테나 포트: SMA 타입 고성능 LoRa 안테나 연결 단자
- 1/4″-20 UNC 마운트 홀 (제품 하단): 표준 카메라 삼각대, 관절형 거치대, 자석 클램프 등 다양한 고정 장치와 결합하기 위한 규격 홀



참고: 본 기기에는 별도의 LED 표시등 및 물리 버튼이 없습니다. 또한 USB-C 포트를 통한 전원 공급(USB Power)을 지원하지 않으므로, 기기 구동 및 설정 시에는 항상 전원 어댑터가 먼저 연결되어 있어야 합니다.
4. Getting Started
EdgeEye를 최초로 연동하기 위한 LoRaWAN 네트워크 서버 설정 및 이미지 수신 가이드입니다.
4.1 전원 연결 및 웹 설정 시작
EdgeEye를 처음 사용하시는 경우, 아래 순서로 진행하시면 되며 웹 설정을 통해 LNS에 따로 등록할 기기 정보를 확인할 수 있습니다.
- 본체 전원 입력부(DC Jack)에 기본 제공된 전원 케이블로 DC 5V 1A 이상 전원 어댑터를 연결하여 기기를 켭니다.
- 전원이 켜진 상태에서 제공된 USB-C 케이블로 PC와 본체를 연결합니다.
- USB-C 연결 시 PC가 192.168.42.x 대역 IP를 자동으로 할당받습니다. IP 할당이 완료된 후 PC 웹 브라우저를 열고 http://192.168.42.1로 접속합니다.
- 최초 접속 시 ID와 Password를 설정합니다. 이후 접속부터는 설정한 ID와 Password로 로그인합니다.
- 좌측 메뉴에서 LoRaWAN Configuration 페이지로 이동하여 AppKey를 입력 또는 랜덤 생성하고 Save를 누릅니다.
- Live Control 페이지에서 해상도, 가로 세로 반전 여부 등을 설정하고 Save를 누릅니다.
- Operation Configuration 페이지에서 기본 동작 모드를 Snap으로, 주기를 600초(10분)로 설정하고 Save를 누릅니다.
- 모든 설정이 완료되면 좌측 메뉴바에서 Exit을 클릭하면 웹 접속이 자동 종료되고 EdgeEye가 설정한 모드로 동작을 시작합니다. Exit 후 USB-C 케이블은 분리해도 기기가 정상 동작합니다.
이제 ChirpStack 및 EdgeEye Image Reassembler 설치를 진행하면 됩니다.
4.2 ChirpStack 연동
오픈소스 LoRaWAN 네트워크 서버인 ChirpStack에 EdgeEye 기기를 등록하는 방법입니다.
참고: ChirpStack v4 이상만 지원합니다.
Device Profile 생성:
EdgeEye Image Reassembler는 장치가 EdgeEye인지 아닌지 Device Profile로 구분합니다.
- ChirpStack 콘솔에 로그인한 뒤 Device profiles -> Add device profile을 선택합니다.
- LoRaWAN MAC version: LoRaWAN 1.0.4 선택
- Regional parameters revision: Regional Parameters v1.0.4 RP002-1.0.5 선택
- ADR algorithm: Default ADR algorithm 활성화
- Region: KR920 (한국 표준 대역)으로 설정
- Join (OTAA/ABP): Device supports OTAA 활성화 후 Submit 합니다.

애플리케이션 및 기기 추가:
- Applications 메뉴에서 대상을 선택하거나 새 애플리케이션을 생성합니다.
- Add device를 클릭하고 기기 정보(Device name, Description 등)를 기입합니다.
- Device EUI (DevEUI): EdgeEye 웹 인터페이스(http://192.168.42.1)의 기기 정보 탭 또는 제품 라벨에 표시된 16자리 DevEUI 값을 입력합니다.
- Device Profile은 앞서 생성한 것을 선택합니다.

AppKey 발급:
등록된 디바이스 상세 화면의 OTAA keys 탭으로 이동합니다. Application Key (AppKey): 임의의 32자리 16진수 키를 EdgeEye에서 설정한 값과 일치 시킵니다.

4.3 EdgeEye Image Reassembler 연동
LoRaWAN은 프로토콜 규격상 한 번에 전송할 수 있는 페이로드 크기가 매우 작습니다. 따라서 EdgeEye는 스틸샷 이미지를 여러 개의 조각(Fragment)으로 분할하여 전송합니다. EdgeEye Image Reassembler는 분할 이미지 데이터를 수신하여 완전한 JPEG로 재조합하고 MJPEG 스트리밍과 자동 업로드를 지원하는 참조 브릿지 유틸리티입니다.
- EdgeEye Integration: EdgeEye LoRaWAN 카메라의 통신 프로토콜 구현
- ChirpStack v4 Support: ChirpStack MQTT에 연결하여 Device Profile ID로 트래픽 필터링
- Image Reassembly: 분할 데이터를 완전한 JPEG 이미지로 재구성
- MJPEG Streaming: HTTP를 통한 실시간 진행 상황 및 최신 이미지 제공
- Automatic Upload: 재조합 완료 시 원격지 HTTP 엔드포인트로 이미지 자동 전송
1) 작동 구조
EdgeEye 카메라 ➔ LoRaWAN 게이트웨이 ➔ ChirpStack ➔ MQTT Broker ➔ EdgeEye Image Reassembler ➔ 최종 이미지(.jpg)
2) 사전 준비 사항
- Docker 및 Docker Compose가 설치된 서버 또는 PC
- ChirpStack v4 (MQTT Broker, PostgreSQL, Redis 등 ChirpStack 구동에 필요한 모든 서비스 포함)
3) 설정 및 구동
공식 GitHub 저장소에서 소스코드를 클로닝하고 환경변수를 설정한 후 Docker Compose로 실행합니다.
① 소스 코드 클로닝
git clone https://github.com/CoXlabInc/EdgeEye-Image-Reassembler.git
cd EdgeEye-Image-Reassembler
② 환경 변수 설정 (.env)
템플릿 파일을 복사하여 .env 파일을 생성한 후 환경에 맞게 수정합니다.
cp .env.template .env
.env 파일에서 설정할 핵심 항목은 다음과 같습니다.
MQTT_URL: ChirpStack MQTT Broker URL (필수)MQTT_USER: (선택) MQTT 인증 사용자명MQTT_PASS: (선택) MQTT 인증 비밀번호DEVICE_PROFILE_ID: ChirpStack에서 생성한 EdgeEye 기기용 Device Profile의 UUID (필수, EdgeEye 전용 Profile 사용 권장)UPLOAD_URL: (선택) 이미지 자동 전송을 위한 원격지 HTTP EndpointUPLOAD_HEADERS: (선택) 업로드시 추가할 HTTP Header (JSON 문자열, 예: {“X-API-Key”: “token”})TZ: 로컬 시간대 (예: Asia/Seoul)REDIS_URL: Redis 내부 통신용 URL (기본값 사용 권장: redis://redis:6379)
※ APP_UPLOAD, DET_UPLOAD_MODE, UPLOAD_OVERLAY, SAVE_DIR 등 고급 설정은 GitHub 저장소 README를 참고하세요.
③ 컨테이너 실행
다음 명령으로 전체 서비스를 백그라운드로 가동합니다.
docker compose up -d --build
실행된 서비스는 다음과 같습니다.
| 서비스 | 설명 |
|---|---|
redis | 상태 저장 및 메시징 |
mjpeg_streamer | HTTP MJPEG 스트리밍 서버 (Port 8080) |
edgeeye_reassembler | 이미지 재조합 엔진 |
4) 사용 방법
HTTP API
아래 URL에서 {devEui}를 기기의 DevEUI 16자리 HEX 문자열로 대체하여 접근하십시오.
http://{server address}/: Device Dashboard — 전체 기기 목록 및 재조합 진행률http://{server address}/{devEui}: Live Reassembly — 실시간 이미지 재조합 스트리밍http://{server address}/{devEui}/last: Last Completed — 마지막 완료된 이미지
세부 Query Parameters(mjpeg, det) 및 포트 정보는 GitHub 저장소 README를 참고하세요.
Save to Disk
SAVE_DIR 환경변수(기본값: saved_images)를 설정하면 재조합 완료 시 이미지가 자동으로 디스크에 저장됩니다.
- 저장 경로 (호스트):
./{SAVE_DIR}/ - 파일명 규격:
{devEui}_{timestamp}_det.jpg bbox오버레이 활성화 시 객체 탐지 박스가 포함된 이미지가 저장되며, 비활성화 시 원본 JPEG이 저장됩니다.
Automatic Upload
UPLOAD_URL이 설정된 경우, 재조합 완료 시 multipart/form-data POST 요청으로 원격지에 이미지를 자동 전송합니다. 세부 설정(DET_UPLOAD_MODE, UPLOAD_HEADERS 등)은 GitHub 저장소 README를 참고하세요.
5) 재조합 이미지 확인
EdgeEye 카메라가 촬영 주기에 맞춰 전송을 실행하면 LNS가 조각을 수신하고, 수신 즉시 Docker Reassembler가 데이터를 재조합합니다.
재조합이 완료된 이미지는 SAVE_DIR 환경변수로 지정된 경로에 저장됩니다.
- 저장 경로 (호스트):
./{SAVE_DIR}/ - 파일명 규격:
{devEui}_{timestamp}_det.jpg