밥엔푸드 운송관리 연결 · 2026-11-05

온도 전송: 시작할 때 한 번, 이후 10분마다.
출발·도착: LCD 버튼으로 저장된 기록을 약 1초 간격으로 확인하고 전송.
인터넷이 끊기면 전송할 기록을 SD카드에 보관하고 연결 복구 후 재전송.
작은 LCD의 현재 온도 측정/표시는 기존처럼 약 2초 간격으로 유지됩니다.
서버와 앱은 한국시간의 날짜와 시각을 함께 표시합니다.

이 설치는 실제 라즈베리파이에서 진행해야 합니다.
원격으로 설치됐다고 가정하지 마세요.

1. 밥엔푸드 앱의 관리자 메뉴 → 운송관리로 들어갑니다.
   주소: https://baben-order.pages.dev/transport
   기존 관리자 아이디/비밀번호로 관리자 확인을 합니다.

2. 실제 설치할 차량을 고릅니다. 첫 번째 기기는 1호차(ST1-01)를 선택합니다.
   '라즈베리파이 연결' → '연결 설정 파일 만들기'를 누릅니다.
   ST1_transport_config.json 파일을 윈도우 바탕화면에 저장합니다.
   이 파일에는 해당 차량만 전송할 수 있는 연결키가 들어 있습니다.
   파일을 다른 사람에게 보내거나 공개 페이지에 올리지 마세요.
   재발급하면 기존 연결키가 즉시 무효화됩니다.

3. ST1_TRANSPORT.zip도 같은 윈도우 바탕화면에 저장합니다.
   윈도우 PowerShell 새 창에서 아래 두 줄을 각각 실행합니다.
   (st01@st01 창이 아니라 PS C:\Users\...가 보이는 창)

scp "$([Environment]::GetFolderPath('Desktop'))\ST1_TRANSPORT.zip" st01@192.168.0.69:~/
scp "$([Environment]::GetFolderPath('Desktop'))\ST1_transport_config.json" st01@192.168.0.69:~/

   기존 라즈베리파이 비밀번호를 입력합니다.
   비밀번호 입력 중에는 글자가 보이지 않는 것이 정상입니다.
   주소가 달라졌다면 공유기에서 새 주소를 확인해 변경합니다.

4. 라즈베리파이에 접속합니다.

ssh st01@192.168.0.69

5. 압축을 풀고 설치합니다. 아래를 한 줄씩 실행합니다.

unzip -o ~/ST1_TRANSPORT.zip -d ~/st1-transport
bash ~/st1-transport/install.sh

   프로그램이 검사 결과를 보여줍니다.
   차량 ID가 ST1-01, 전송 간격이 600, 센서 상태가 ok인지 확인합니다.
   오류가 나면 그 결과를 보내주세요. 다음 작업은 진행하지 마세요.

6. 서비스 상태 확인:

sudo systemctl status baben-transport.service --no-pager

   active (running)이 나오면 실행 중입니다.
   앱을 새로 열면 1호차에 실제 온도가 들어오는지 확인합니다.
   첫 연결 후 이미 열려 있던 앱은 온도 정기 갱신을 기다릴 수 있으므로
   페이지를 한 번 새로 열거나 새로고침합니다.

7. 전송 로그 확인:

sudo journalctl -u baben-transport.service -n 20 --no-pager

   accepted가 1 이상이면 그 개수만큼 서버에서 기록 수신을 확인했습니다.
   HTTP 401이면 연결 설정 파일의 키가 맞는지/재발급됐는지 확인합니다.
   HTTP 400이면 라즈베리파이의 날짜와 시간이 정확한지 확인합니다.

timedatectl status

8. 정상 수신 후에는 LCD에서 출발 → 앱 출발 날짜/시각 확인 →
   LCD 도착 → 도착 확인 → 앱 도착 날짜/시각 확인 순서로 시험합니다.
   온도는 기기에서 10분 간격으로 전송합니다.
   앱은 새 기록을 10초마다 확인하므로, 기기 전송 후 화면 반영까지
   정상 통신 중 약 10초가 추가로 걸릴 수 있습니다.
   출발·도착은 10분을 기다리지 않고 발생 직후 전송합니다.
   마지막 수신 시각과 온도 측정 시각을 함께 확인하세요.

주의할 동작
- 처음 설치할 때 이미 완료된 과거의 시험 운행은 자동으로 보내지 않습니다.
- 현재 진행 중인 운행과 설치 이후의 운행부터 전송합니다.
- 측정 온도/출발·도착 시각과 서버 도착 시각은 구분하여 보관합니다.
- 늦게 도착한 과거 기록이 현재 온도/운행 상태를 덮어쓰지 않습니다.
- 온도 센서 오류일 때 이전 온도를 현재 온도처럼 전송하지 않습니다.
- 위치(GPS) 전송은 이번 버전에 포함하지 않았습니다.
- 키 발급/로그인은 서버 연결이 준비된 뒤에 사용할 수 있습니다.

전송 중지:
sudo systemctl disable --now baben-transport.service

전송 재시작:
sudo systemctl enable --now baben-transport.service
