728x90
Codebot 상태 단계
typedef enum {
STEP_NONE = 0,
STEP_ASK_LOGIN, // 유저 이름을 물어보는 단계입니다. 유저이름을 모를때는 계속 유저이름을 입력할때까지 물어봅니다.
STEP_LOGIN_OK,
STEP_ASK_MAP_MISSION,
STEP_ASK_NEXT_MAP_MISSION,
STEP_SELECT_MAP,
STEP_SELECT_MISSION,
STEP_WAIT_FOR_STARTING_GAME,
STEP_PLAY_GAME,
STEP_ASK_NEXT_GAME,
STEP_MAX,
} step_t;
ASK_AI.py는 라즈베리파이로 명령을 전달합니다.
라즈베리파이+카메라에서는 사진촬영을 하고 데이터를 서버로 전송합니다.
import socket
import os
from time import sleep
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('', 0))
addr = '192.168.100.7', 4000
output = 'camera capture'
print('send')
sock.sendto(output.encode('utf-8'), addr)
sleep(0.1)
sock.close()
import json
import socket
import time
import os
import keyboard
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('', 0))
def sendto(text) :
sock.sendto(text, ('192.168.100.8',12345))
while True:
if keyboard.is_pressed('b'):
message = 'test,블럭모드로변경합니다,BLOCK_MODE'
sendto(message.encode('utf8'))
time.sleep(2)
if keyboard.is_pressed('v'):
message = 'test,음성모드로변경합니다,VOICE_MODE'
sendto(message.encode('utf8'))
time.sleep(2)
if keyboard.is_pressed('up'):
message = 'test,오늘쪽으로턴,MOVE_FRONT'
sendto(message.encode('utf8'))
time.sleep(2)
if keyboard.is_pressed('down'):
message = 'test,뒤로한칸이동,MOVE_BACK'
sendto(message.encode('utf8'))
time.sleep(2)
if keyboard.is_pressed('right'):
message = 'test,우회전,TURN_RIGHT'
sendto(message.encode('utf8'))
time.sleep(2)
if keyboard.is_pressed('left'):
message = 'test,좌회전,TURN_LEFT'
sendto(message.encode('utf8'))
time.sleep(2)
if keyboard.is_pressed('a'):
message = 'test,영상을분석합니다,ASK_AI'
sendto(message.encode('utf8'))
time.sleep(2)
if keyboard.is_pressed('d'):
message = 'test,test,ask_differnt_map'
sendto(message.encode('utf8'))
time.sleep(2)
if keyboard.is_pressed('n'):
message = 'test,내이름은철수야,answer_name'
sendto(message.encode('utf8'))
time.sleep(2)
#message = ',한,MOVE_FRONT'
#message = 'test,내이름은 철수야,LED_ON'
#message = 'test,음성모드로변경합니다,VOICE_MODE'
#message = 'test,앞으로한칸이동,MOVE_FRONT'
#message = 'test,뒤로한칸이동,MOVE_BACK'
#message = 'test,블럭모드로변경합니다,BLOCK_MODE'
#message = 'test,무슨그림이니,AI'
#sendto(message.encode('utf8'))
sock.close()
테스트 영상
음성 명령에 따라 코드봇이 동작합니다.
영상을 촬영하고 서버에서 분석하여 코드봇이 TTS를 이용하영 문자를 음성으로 내보내줍니다.
'쪼물락 비젼 AI' 카테고리의 다른 글
STT 대화형 질문 & TTS 응답 (0) | 2020.10.06 |
---|---|
물체인식 AI 서버 연결 (0) | 2020.10.06 |
CODEBOT UDP Send To Raspberry UDP Server (0) | 2020.09.15 |
라즈베리파이 + CAMERA + FTP UPLOAD (0) | 2020.09.15 |
CODEBOT 시리얼 연결 & 컴파일 & 실행 (0) | 2020.07.11 |