IoT 기능
Repository
https://github.com/osamhack2020/IoT_KookMoBan_PonJohmNaimann
서버 통신
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 |
Last updated