==================================Outline====================================
웹 프로그래밍
- GPIO를 통한 웹서비스 메시지 제어
----------------------------------------------------------------------------
//PiFace는 따로 장치를 구입해서 장착해야되기 때문에 교재의 해당 부분은 넘어가도록 한다.
교재 p/200
웹 프로그래밍
네트워크를 사용하기 위해서는 웹 서비스를 제공하는 서버가 필요하다.
플라스크는 파이썬을 위한 마이크로 웹 프레임워크로 Werkzeug, Jinja2를 기반으로 하는 오픈소스 서비스이다.
윈도우의 경우 IIS(Internet Information Services)를 제공한다. 무료로 제공되는 서비스 중에 톰캣이 있다.
//Apache Tomcat - http://tomcat.apache.org/
HTML은 소스코드가 고정 되어 있기 때문에 유동성 있게 페이지가 변동되지 않는다. 유동성 있는 서비스를 제공하기 위해서는 ASP, JSP, PHP를 사용하여 변수 값을 바꾼 후 다시 HTML로 변환해야 한다.
서비스 제공자 - ASP: Microsoft
JSP: JAVA
PHP: C문법 적용
일반적으로 웹 서비스를 제공하기 위해서는 웹을 표현하는 html과 ASP, JSP, PHP 중 택 1하여 사용하여야 한다.
ASP는 window운영체제를 사용해야 하지만 JSP와 PHP는 운영체제를 가리지 않고 사용할 수 있다.
GPIO를 통한 웹서비스 메시지 제어
GPIO제어를 통한 웹서비스 메시지를 제어하는 것을 해보자.
p/202~p/211을 참고한다.
우선 파이선PIP를 설치한다.
apt-get install python-pip
python-pip 설치 후 플라스크를 설치한다.
pip install flask
교재 p/203의 "hello_flask.py"를 작성한다.
[hello_flask.py]
입력을 마친 후 실행시킨다.
입력한 IP와 포트번호를 웹에 입력하면 자신이 설정한 메시지가 뜬다.
웹에서 해당 서비스를 요청한 경우 이를 라즈베리파이에서 확인할 수 있다.
플라스크 서버에 HTML 웹페이지를 구성하고, 웹브라우저를 통해 클라이언트가 접속했을 때 서버의 시간을 출력해 보자.
교재 p/205에 나와있는 "gettime.py"를 작성하고 작성한 파일과 동일한 위치에 "templates"라는 폴더를 만든다. 그런 다음 main.html 파일을 작성하여 만든 폴더에 넣는다.
[gettime.py]
[main.html]
플라스크를 기반으로 GPIO 포트 모니터링
플라스크를 이용하여 웹을 통해 라즈베리 파이를 제어해본다. 핀에 on/off 상태를 웹서버에서 확인할 수 있도록 만든다.
port 23, 24, 25를 사용하도록 한다.
[gpio.html]
[check_switch.py]
'Busan IT > 로봇제어' 카테고리의 다른 글
푸쉬 버튼을 이용한 LED on/off 제어 (0) | 2015.10.28 |
---|---|
플라스크 기반의 GPIO 포트 제어, 스마트홈 (0) | 2015.10.26 |
PWM을 사용한 LED dimming, 스크래치 (0) | 2015.10.20 |
교재 훑어보기, 라즈베리파이2와 파이선을 활용한 코딩 (0) | 2015.10.20 |
모듈 파라미터 장치, 드라이버의 형식 (0) | 2015.10.16 |