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
  • 설치 안내 (Installation Process)
  • HW빌드
  • SW 빌드

Was this helpful?

  1. HOW TO BUILD

IoT

PreviousAPPNext관리자 설정

Last updated 4 years ago

Was this helpful?

Repository

​​

설치 안내 (Installation Process)

HW빌드

회로도

사용 부품

부품

용도

RaspberryPi 4B 2GB 1개

MCU

RPI 8MP CAMERA BOARD 1개

QR코드 인식 및 핸드폰 사진 촬영

Arduino Nano ATMEGA328P 1개

압력센서 감지용

ITS-1105 1개

불출 버튼 구현

SG-90 1개

반납기 문(덮개) 구현

3BC4UC-17 1개

반납기 내부 조명

FSR402 1개

압력센서

5AB3PD00 1개

상태표시등(파랑)

5AG3PD00 1개

상태표시등(초록)

5AY3PD00 1개

상태표시등(노랑)

5AR3PD00 1개

상태표시등(빨강)

빌드 방법

  1. Github Repository > iot_docu > model > 모든 stl 파일을 다운로드한다.

  2. 3D 프린터로 출력한다.

  3. 부품을 위 회로도에 맞게 연결한다.

  4. 각 파트와 부품을를 조립한다.

조립 방법

  • Part 1, Part 6을 결합한다.

  • Part 6은 불출시에 누르는 스위치로 사용된다.

  • Part 1의 중앙 돌출부에 압력센서 FSR402를 부착한다.

  • Part1의 후면 구멍으로 라즈베리파이 전원 케이블을 통과시킨다.

  • Part 6에 스위치 ITS-1105를 부착한다.

  • Part 2를 Part1 위에 덮어씌운다.

  • 우측 상단의 구멍을 통해 압력센서와 스위치, 라즈베리파이 전원 케이블을 통과시킨다.

  • 좌측 상단의 소켓에 서보모터 SG-90을 장착한다.

  • 소켓에 나 있는 구멍으로 서보모터의 전선을 통과시킨다.

  • Part 3을 Part 2의 패인 구멍 위에 놓는다.

  • Part 3의 아래 돌출부가 핸드폰의 하중을 압력센서에 전달한다.

  • Part 7을 Part 2의 좌측 하단 경첩 부분과 서보모터와 결합시킨다.

  • Part 4를 Part 1, 2, 7 위에 덮어씌운다.

  • Part 4 위에 라즈베리파이와 아두이노 나노를 위치시킨다.

  • 시리얼 통신 케이블을 사용하여 둘을 연결시킨다.

  • Part 1과 서보모터에서 올라오는 전선들을 각각 연결한다.

  • 라즈베리파이에 연결된 picamera를 중앙 구멍에 통과시켜 고정한다.

  • 백색 LED를 중앙 구멍에 통과시켜 고정한다. 이는 반납기의 내부 조명으로 사용된다.

  • 파랑, 초록, 노랑, 빨강 LED를 Part 4 전면부의 구멍에 고정한다. 이는 반납기의 상태 표시에 사용된다.

  • Part 5를 덮는다.

3D 모델링

위 모델링을 파트별로, 혹은 전체적으로 살펴보고 싶다면 아래 링크를 참조하면 된다.

반납기 실물 예시

SW 빌드

2. USB-Mini to USB-A 케이블을 통해 아두이노와 라즈베리파이를 연결한다.

3. RaspberryPi에 SSH 또는 Serial, VNC를 통해 접속하여 터미널을 켠다.

4. 다음 명령어를 입력하여 실행 파일을 다운로드한다.

git clone https://github.com/osamhack2020/IoT_KookMoBan_PonJohmNaimann.git

5. 다음 명령어를을 입력하여 필요한 라이브러리를 설치한다.

pip install pyzbar pillow opencv-python picamera serial numpy pybase64 requests

6. pickleinitializer.py를 실행하여 저장 파일(save.pickle)을 초기화한다.

python3 pickleinitializer.py

7. 다음 명령어를 입력하여 아두이노가 연결되어 있는 USB포트의 이름을 확인한다.

lsusb

8. main.py를 vim으로 열고 SERVER_URL을 사용할 서버 URL로, SERIAL_PORT를 아두이노가 연결된 포트로 변경한다.

vim main.py

# 27th line
SERVER_URL     = 'https://osam.riyenas.dev'    # Change Here!

# 45th line
SERIAL_PORT    = 'dev/ttyUSB0'    # Change Here!

8. main.py를 실행한다.

python3 main.py

1. Github Repository > arduino > 파일을 Arduino Nano 보드에 업로드한다.

sketch_oct17a.ino
https://github.com/osamhack2020/IoT_KookMoBan_PonJohmNaimann
Onshape
Logo