기본 장고 설정을 실행 중이며 현재 직렬 연결에 일부 데이터를 쓰도록 dajaxice 호출을 구현 중입니다 (RainbowDuino가 반대쪽에 있음).dajaxice 호출에서 사용할 수있는 지속적인 직렬 연결을 유지 하시겠습니까?
다음 코드는 Arduino에 직렬 연결을 설정할 때 Arduino가 다시 설정 될 때 데이터를 쓰기 전에 기다려야합니다.
from django.utils import simplejson
from dajaxice.decorators import dajaxice_register
import time, serial
def serialWrite(msg):
try:
ser = serial.Serial('/dev/ttyUSB0', 9600)
time.sleep(1.5) #wait for arduino to reset
ser.write(msg)
return "Running Animation"
except:
return "Failed to communicate with cube"
@dajaxice_register
def animate(request, data):
msg = serialWrite(str(data))
return simplejson.dumps({'message':msg})
나는 모든 것을 파이썬에 새로 온 사람과 내가이 환경에서 직렬 연결을 사용할 수있는 지속성 개체를 유지하는 방법을 확실 해요 장고. 내 자신의 독서와 테스트에서 나는 dajaxice 등록 된 메소드가 해당 버튼 클릭의 수신시에만 호출된다는 것을 알 수 있습니다.
내 응용 프로그램보기를 사용하여 직렬 연결을 인스턴스화 할 수있는 경우입니까? 그렇다면 어떻게하면 dajaxice 호출과 연결을 공유 할 수 있습니까?
이상적인 설정은 아니지만 영구 연결을 설정할 특별한 이유가 있습니까? 다른 방법이있을 수 있지만 런타임 설정 (실제로 장고 앱을 제공하는 방식)에 따라 달라집니다. 다른 접근법은 Arduino와의 지속적인 연결을 설정하고 Django에서 보낸 명령 (아마도 Redis를 통해)을 수신하는 별도의 프로세스를 실행하는 것일 수 있습니다. – robertklep
솔직히 개인적인 취향 일 뿐이므로 4x4 LED 큐브를 리셋 할 때 스위치가 꺼지면 멋지지 않습니다. 현재 django 앱은 나무 딸기 파이에서 제공되며 학교 프로젝트의 필수 조건입니다. 나는 Redis를 조사 할 것이고 제안에 감사한다. – Gybe