答案 0 :(得分:2)
答案 1 :(得分:1)
我刚买了一个Dream Cheeky Thunder Missile Launcher,它似乎是这里问题中提到的模型的继承者(也是rocket.codeplex.com为之编写的模型)。
但我无法让rocket.codeplex.com使用我的模型(是的,我使用构造函数重载,它允许我提供VendorID和DeviceID,是的,我为我的模型提供了正确的ID ),所以我写了自己的库。
在这里,也许它也有助于其他人:
MissileSharp
答案 2 :(得分:1)
"报复"踢屁股...就像一个魅力,它的修改和运行非常简单......
https://github.com/codedance/Retaliation
您需要下载并安装USB库访问Python语言才能使用它 http://sourceforge.net/apps/trac/libusb-win32/wiki
使用这个程序,安装过滤器驱动程序,这使您能够捕获通过该USB端口发送的所有内容,记住哪一个,因为它只有在您再次插入该特定端口时才有效...
之后,只需运行retaliation.py并享受=)
我对我的retaliation.py进行了一些修改,因为我有一个旧型号的火箭发射器,它并没有带有#34;加载序列"没有开火...
elif command == "prefire":
send_cmd(FIRE)
time.sleep(4.5)
send_cmd(STOP)
elif command == "firewithprefire":
send_cmd(FIRE)
time.sleep(.5)
send_cmd(STOP)
第二个命令,在#34;加载"之后发射,所以未经怀疑的受害者听不到加载声音,因为它是预加载的#34;只是点击和导弹飞行。 ..
另外,使用旧版本的火箭发射器,你可以在移动命令上发送过高的值,而火箭发射器会尝试这样做,似乎较新的版本会阻止基地追踪某些地点,旧版本同样,但只有当它达到最大值时,所以发送移动(2000000,左)将使它一直向前走,然后试图继续向左,基本上打破齿轮,但如果它已经在最左边,它会忽略命令,所以我修改了这样的移动:
def send_move(cmd, duration_ms):
secs = (duration_ms / 1000.0)
for x in range(0, int(secs)):
send_cmd(cmd)
time.sleep(1)
send_cmd(STOP)
这可能看起来很糟糕,但它是确保在发送移动命令时不会超过最大值的唯一方法,特别是在使用" park"命令,将启动器移动到0,0位置......
希望这有助于某人=)
欢呼声