完了したら、一部のモーターの制御変数を変更する機能を有効にしようとしています。コマンドは、ソケットサーバーを介してwifi経由で着信します。コードは次のとおりです。
import SocketServer
import Tkinter as Tk
from Tkinter import *
class MyTCPHandler(SocketServer.BaseRequestHandler):
def handle(self):
self.DriveSend = self.request.recv(1024).strip()
self.SteeringSend = self.request.recv(1024).strip()
#print("{} wrote:".format(self.client_address[0]))
#print(self.DriveSend)
#print(self.SteeringSend)
#self.request.sendall(self.DriveSend.upper())
#self.request.sendall(self.SteeringSend.upper())
return (self.DriveSend,self.SteeringSend)
MotorControl()
def MotorControl():
MotorVar = MyTCPHandler()
MotorVar.handle()
MotorVar.DriveSend
MotorVar.SteeringSend
print(MotorVar.DriveSend)
print(MotorVar.SteeringSend)
print('test')
if __name__ == "__main__":
HOST, PORT = "192.168.2.12", 9999
server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
server.serve_forever()
サーバーが常に実行され、着信メッセージを監視していることがわかります。理想的には、クライアント プログラムから新しいメッセージを受信するたびに MotorControl 関数を実行したいと考えています。私はこれを試しましたが、値を出力しません(何かを試して制御する前に、基本的なものでテストする方法です)コメントアウトされたセクションはすべて、サーバー側をチェックするための元のテストからのコードの一部です。すべて正常に動作します。