Skip to content

golagola2020/hango-raspberry-pi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hango-raspberry-pi (행고 라즈베리파이)

주의 : GitHub Pages에 대해서 충분히 숙지할 것.
주의 : Collaborating with issues and pull requests을 정독할 것

안내

하드웨어

  1. 아두이노 시작하기를 통해 사물을 감지하고, 라즈베리파이로 감지 데이터를 송신할 수 있습니다.
  2. 라즈베리파이 시작하기를 통해 아두이노의 감지 데이터를 수신하고, 데이터를 가공하여 스피커로 출력할 수 있습니다.

모바일

  1. 안드로이드 시작하기를 통해 hango 자판기를 관리하고, 음료 잔량을 파악하는 등의 데이터를 제공받을 수 있습니다.

웹서버

  1. 웹서버 시작하기를 통해 hango-server와 hango-mysql을 구축하고, API 서버를 통해 클라이언트에게 데이터를 제공하며, 고객 관리 시스템을 이용할 수 있습니다.

시작하기에 앞서

hango-raspberry-pi 프로젝트를 실행시키기 위한 도구 및 프로그램 설치

  1. pip 설치
    $ sudo apt-get install python-pip
    
  2. virtualenv 설치
    $ sudo pip install virtualenv
    

설치(로컬)

주의 : 패키지 충돌을 방지하기 위해 가상환경에 설치하는 것을 권장합니다.

  • 가상환경 만들기

    $ virtualenv hango-raspberry
    $ cd hango-raspberry
    $ source bin/activate
    
  • https://github.com/golagola2020/hango-raspberry-pi 에 push 권한이 있다면 :

    • git fetch or pull or clone
      $ git clone https://github.com/golagola2020/hango-raspberry-pi.git
      $ cd hango-server
      
  • https://github.com/golagola2020/hango-raspberry-pi 에 push 권한이 없다면 :

    1. https://github.com/golagola2020/hango-raspberry-pi 에서 Fork버튼 클릭하고,
    2. 포크 저장소 계정(maybe 개인 계정) 선택
    3. git fetch or pull or clone
      # 포크한 저장소 clone
      $ git clone https://github.com:YOUR_GITHUB_ACCOUNT/hango-raspberry-pi.git
      $ cd hango-server
      
      # hango-server 레포지터리를 upstream으로 리모트 설정
      $ git remote add upstream https://github.com/golagola2020/hango-raspberry-pi.git
      
      # 로컬 코드와 hango-server 동기화
      $ git fetch upstream
      $ git checkout master
      $ git merge upstream/master
      

실행(로컬)

주의 : 먼저, 설치를 통해 hango-raspberry-pi를 설치해주십시오.
주의 : 아래 명령은 hango-raspberry-pi의 requirements.txt 파일이 있는 루트 경로에서 실행되어야 합니다.

  1. 패키지 설치하기
    $ pip install -r requirements.txt
    
  2. config.py 설정 파일 수정
    • /mobule 로 이동 후 수정
    $ cd raspberry/module
    $ vi config.py
    
    PORT = 아두이노_시리얼_포트
    USER_ID = 자판기_소유자_아이디  # 모바일에서 회원가입한 유저 아이디를 의미한다. 초기 데이터 셋은 'rltn123'으로 하면 잘 동작할 것임
    SERIAL_NUMBER = 자판기_고유_번호 # 자판기마다 부여되는 고유번호를 의미한다. [hango-server](https://github.com/golagola2020/hango-server)의 고객 관리 시스템에서 등록할 수 있다. 초기 데이터 셋은 '20200814042555141'으로 하면 잘 동작할 것임
  3. API.py 서버 데이터 요청 및 응답 경로 설정 파일 수정
    • 해당 API.py를 수정해도 되지만, 보안을 위해 OS에 직접 환경 변수를 등록하는 것을 권장합니다.
      vi API.py
      
      URL = http://127.0.0.1:9700  # 행고 웹서버는 9700포트에서 가동되기 때문에 9700 포트와 포워딩을 시켜주는 것.
    • 환경 변수로 등록하는 방법
      1. API.py 설정
        import os       # 시스템 모듈
        
        # 데이터 요청 Domain 선언
        URL = str(os.environ['HANGO_URL'])  # 초기 설정대로 두면 된다. 변경할 필요 없음.
      2. OS 환경 변수 설정
        • .bashrc 파일 가장 하단에 HANGO_URL 등록
        $ vi ~/.bashrc
        
        # 가장 하단에 아래 코드 추가할 것
        export HANGO_URL="http://127.0.0.1:9700"
        
      3. 수정된 .bashrc 파일 적용
        • 재부팅을 하는 방법도 있으나 아래 명령어로 간단하게 적용할 수 있음.
        source ~/.bashrc
        
  4. 실행
    • hango-raspberry-pi 루트 경로의 raspberry 폴더 안에 있는 main.py 실행
    • 주의 : 해당 경로까지 이동한 뒤에 실행시켜야 합니다.
      $ cd ../
      $ python3 main.py
      

배포(발행)

가이드 데모

Watch the video

기여하기

CONTRIBUTING.md 를 읽으신 후 기여를 해주십시오.
자세한 Pull Request 절차와 행동 규칙을 확인하실 수 있습니다.

개발자

기여자 목록을 확인하여 이 프로젝트에 참가하신 분들을 보실 수 있습니다.