OSAM 국방 모바일 반납
  • 국방 모바일 반납
  • ABOUT PROJECT
    • 개발 동기
    • 개발 목표
    • 개발 일정
  • HOW TO COLLABORATE
    • Notion
    • Git Workflow
    • Git Contribution
    • CI/CD
    • API Documenation
  • Technical Note
    • 시스템 구성
    • 작동 시나리오
    • 분야별 기능
      • WEB 기능
      • APP 기능
      • IoT 기능
    • Time-based OTP 인증
  • HOW TO BUILD
    • WEB
    • APP
    • IoT
  • HOW TO USE
    • 관리자 설정
    • 기기 등록
    • 기기 반납
    • 현황 파악
  • ADVANCED
    • QR코드 색상암호화
    • 1:N 반납기
    • 아두이노 미사용
    • 관리자용 APP
    • 본 프로젝트에 대한 비평
  • License
    • WEB License
    • APP License
    • IoT License
Powered by GitBook
On this page
  • Repository
  • 서버 통신
  • 무게 인식
  • QR코드 인식
  • 상태 저장
  • 사용 라이브러리

Was this helpful?

  1. Technical Note
  2. 분야별 기능

IoT 기능

PreviousAPP 기능NextTime-based OTP 인증

Last updated 4 years ago

Was this helpful?

Repository

서버 통신

reqeusts 모듈을 통해 서버의 각종 API에 접근한다. 인자들은 JSON으로 dump하여 전송한다.

무게 인식

무게 측정에는 가해지는 압력에 따라 저항이 변하는 압력 센서인 FSR402를 사용한다. FSR402에 10kΩ 저항을 직렬연결하고 전체에 5V 전압을 가한 뒤, 센서와 저항 사이의 전압을 아두이노로 analogRead 하여 라즈베리파이에 Serial로 제공한다.

QR코드 인식

QR코드 인식 라이브러리인 zbar의 python 래핑 라이브러리인 pyzbar를 사용하여 QR코드를 인식하고, JSON 형태로 제공되는 값을 python의 dictionary 형태로 변환하여 사용한다.

상태 저장

반납기의 핸드폰 보관 여부, 무게 정보, 관리자 ID를 수시로 save.pickle 파일에 pickle 형태로 저장하여, SW가 예기치 않게 종료되거나 전원이 끊기게 되더라도 다시 실행했을 때 원래의 동작 상태를 유지하도록 하였다.

반납기를 처음 실행하는 경우나, save.pickle 파일에 오류가 생겼을 경우 pickelinitializer.py 파일을 통해 저장 내용을 초기화할 수 있다.

사용 라이브러리

Licenses

Package

pyzbar

MIT

pillow

HPND

opencv-python

MIT

picamera

BSD 3-Clause

numpy

BSD 3-Clause

pybase64

BSD 2-Clause

requests

Apache-2.0

​https://github.com/osamhack2020/IoT_KookMoBan_PonJohmNaimann​