Busan IT/로봇제어2015. 10. 23. 15:44

==================================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문법 적용

 

일반적으로 웹 서비스를 제공하기 위해서는 웹을 표현하는 htmlASP, JSP, PHP 중 택 1하여 사용하여야 한다.

 

ASPwindow운영체제를 사용해야 하지만 JSPPHP는 운영체제를 가리지 않고 사용할 수 있다.

 

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]




반응형
Posted by newind2000