我正在构建一个使用Python远程控制的机器人,通过简单的GUI通过Internet发送控制消息.
我的代码部分工作得很好,GUI和控制系统,但我被卡住了.我正在尝试使用视差ping传感器来获取Arduino Mega中对象信息的距离,并将该值发送到我的Python控制脚本以显示在远程GUI上.
我遇到的主要问题是如何集成将使用已建立的COM端口与Arduino的Python代码,并发送消息告诉Arduino轮询ping传感器,然后发送到将接收值的Python程序,然后让我将该值插入我的GUI.
我已经有了这个代码来控制Arduino,它可以用我简单的GUI工作.
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600)
from PythonCard import model
class MainWindow(model.Background):
def on_SpdBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
def on_FBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('F')
ser.write(chr(spd))
def on_BBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('B')
ser.write(chr(spd))
def on_LBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('L')
ser.write(chr(spd))
def on_RBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('R')
ser.write(chr(spd))
def on_SBtn_mouseClick(self, event):
spd = self.components.SpdSpin.value
ser.write('@')
ser.write('S')
ser.write('0')
def on_PngDisBtn_mouseClick(self, event):
ser.write('~')
ser.write('P1')
ser.write('p2')
app = model.Application(MainWindow)
app.MainLoop() …Run Code Online (Sandbox Code Playgroud) 我有一个.ini(配置文件),我提到了服务器名称,数据库名称,用户名和密码,我可以将我的应用程序连接到MSSQL
self.db = pyodbc.connect('driver={SQL Server};server=homeserver;database=testdb;uid=home;pwd=1234')
上面提到的相应数据connect语句现在在config.ini`self.configwrite = ConfigParser.RawConfigParser()configread = SafeConfigParser()configread.read('config.ini')
driver = configread.get('DataBase Settings','Driver')
server = str(configread.get('DataBase Settings','Server'))
db = str(configread.get('DataBase Settings','Database'))
user = str(configread.get('DataBase Settings','Username'))
password = str(configread.get('DataBase Settings','Password'))'
Run Code Online (Sandbox Code Playgroud)
我将如何在pyodbc connect语句中传递这些变量
我厌倦了这个
self.db = pyodbc.connect('driver={Driver};server=server;database=db;uid=user;pwd=password')
错误.