2012-09-09 5 views
0

나는 지금까지 잘 작동하고있는 프로젝트를 가지고있다.Python HTTP 서버 상호 작용

하지만 파이썬을 현명하게 시작하려면 어느 정도 분실했습니다. 프로젝트의 기본은 파이썬 프로그램에서 xBee 네트워크 (이 부분은 코드화되고 작동 중임)를 통해 명령을받는 무선 링크 (이미 설정)를 통해 Arduino에 의해 제어되는 조명 시스템입니다. 프로젝트를 인터넷에서 제어 할 수 있기를 바랍니다.

파이썬 프로그램이 설치하기 쉬운 http 서버를 실행하도록 실행하려고 생각했습니다.

여기 내가 과거에 파이썬과 놀지 않았으므로 문제가 있습니다. 페이지에서 클릭 한 내용에 따라 프로그램이 요청 및 실행 코드에 응답하도록하려면 어떻게합니까?

사람이 올바른 방향으로 날 지점 수

+0

일부 Python 웹 프레임 워크를 사용할 때의 문제점은 무엇입니까? –

답변

4

당신은 임의의 포트에서 메시지를 수신 토네이도와 같은 프레임 워크를 사용하여 서버 응용 프로그램을 작성할 수 있습니다하시기 바랍니다.

그러나 웹 인터페이스를 구축하려는 것 같습니다. 이를 위해서는 웹 프레임 워크를 선택해야합니다. 내가 가장 좋아하는 마이크로 프레임 워크는 Flask입니다. 빠른 링크를 통해 간단하게 사이트를 운영하는 것이 얼마나 쉬운지를 알 수 있습니다.

그런 다음 사용자 인터페이스의 각 동작에 대한 함수를 작성합니다. 사용자가 관련 URL을 방문하는 링크 (또는 버튼)를 클릭하면 해당 기능이 활성화됩니다.

@app.route('/') 
def index(): 
    return render_template('index.html') 

@app.route('/dim_lights/<room>') 
def dim_lights(**kwargs): 
    dim_lights_for_room(kwargs['room']) 

'index.html' 템플릿 <a href="/dim_lights/lounge">Dim the Lights in the Lounge</a>.

그 의미가 있는가와 같은 링크를 포함 할 것인가?

+0

플라스크 용 +1. 놀라운 프레임 워크입니다. – Blender

+0

정보를 주셔서 감사합니다, 지연에 대해 며칠 동안 집 밖에서 나간 것,이 솔기가 내가 필요로하는 것보다 더 길어야합니다. 나는 그것에 약간의 연구를 할 것이다 –

0

프로젝트와 연결되는 웹 기반 응용 프로그램을 만들려는 경우 Flask을 프레임 워크로 사용하고 http 서버로 Gunicorn을 사용할 수 있습니다. 플라스크를 더 잘 이해하려면 플라스크 설명서를 읽으십시오. 그 사이트에서 python web deveveloper 초보자를위한 튜토리얼이 있습니다.

그런 다음 하드웨어 용 스크립트를 작성하고 웹 응용 프로그램과 통합 할 수 있습니다.

1

단일 파이썬 응용 프로그램에서 직렬 포트 및 웹 응용 프로그램으로 작업하는 경우 twisted를 사용합니다. 이벤트 루프는 직렬 포트뿐만 아니라 웹 요청 등을 다루고 있습니다. 이것은 일종의 프레임 워크이기도합니다. 대부분의 다른 "프레임 워크"는 직렬 포트 (이벤트 루프의 일부로 - 데이터 수신시 콜백)를 즉시 사용할 수 있도록 지원하지 않습니다. http://twistedmatrix.com/trac/