- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经编写了一些代码来模拟我正在使用的一些硬件,并将其上传到 Arduino 板上。此代码有效。我知道这一点,因为我从 HyperTerminal 得到了预期的响应。
但是,当我尝试使用 PySerial 进行连接时,连接不会出错,但我发送的命令没有得到任何响应。
为什么会这样?
Python代码
import serial
def main():
sp = serial.Serial()
sp.port = 'COM4'
sp.baudrate = 19200
sp.parity = serial.PARITY_NONE
sp.bytesize = serial.EIGHTBITS
sp.stopbits = serial.STOPBITS_ONE
sp.timeout = 0.5
sp.xonxoff = False
sp.rtscts = False
sp.dsrdtr = False
sp.open()
sp.write("GV\r\n".encode('ascii'))
value = sp.readline()
print value
sp.write("GI\r\n".encode('ascii'))
value = sp.readline()
print value
sp.close()
if __name__ == "__main__":
main()
注意:Arduino 上的代码在命令响应结束时发回 \r\n
。
super 终端配置:
我发现如果我将超时增加到 10 秒并在发送任何内容之前添加一个 sp.readline()
,那么我会收到对这两个命令的响应。
PySerial 和 Arduino 或 USB RS-232 端口之间的硬件握手通常需要多长时间?
最佳答案
无法验证这一点,但可能是您在有任何数据之前尝试读取,因此您没有得到回复。
要对此进行测试,您可以尝试轮询直到有数据为止
value = None
while not value:
value = sp.readline()
print value
编辑
当您打开串行连接时,Arduino 将重置,启动期间写入的任何数据都可能会进入天堂。在进行任何读/写操作之前,您可以休眠 2 秒(无法找到所需的确切时间,可能会有所不同)。
或者,您可以写入它,直到收到回复,收到回复后,您才开始做“真正的工作”。
关于python - PySerial 不与 Arduino 交谈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8149628/
我有一个应用需要检测用户何时与该应用通话。我不想有任何第三方 API。我用过 this turtorial,但我不得不将它转换为 swift 2。这是我正在使用的代码: import UIKit im
我有一个由 PNI Corp 开发的传感器,称为 spacepoint-fusion。我需要用 C++ 与这个设备进行交互,并不断地从设备中读取新数据。 当我将设备插入计算机时,我看到/dev/hid
我正在使用 kafka-python 为 Kafka 2.2.1 集群(来自 AWS 的 MSK 服务的托管集群实例)生成消息。我能够检索引导服务器并与它们建立网络连接,但没有消息通过。而是在类型 A
所以在我的应用程序中,我使用了 Storyboard,以及初始的 viewController是 UITabBarController .我想要做的是当应用程序启动时,我希望能够设置tabBarCon
Python版本:2.6.6 PySerial版本:2.5 Arduino 开发板:Duemilanove 328 我已经编写了一些代码来模拟我正在使用的一些硬件,并将其上传到 Arduino 板上。
有没有一种标准方法可以从 Scala 控制 Arduino?如果不是我有兴趣一起破解一个,但我不确定我应该从哪里开始。 Firmata 库似乎是可行的方法,但没有 Java 或 Scala 接口(in
我们正在尝试在无服务器中基于 Express 构建的 lambda 中连接到 AWS DocumentDB。为此,我们使用 Mongoose 和一个看起来像的连接函数 import mongoose
我想针对 Microsoft Exchange 2007(或 2010)网络服务测试一个简单的 SOAP 应用程序。互联网上有可用的演示服务器吗?我的问题是,我这里没有 64 位机器来为自己安装服务器
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
当我连接到 gtalk 时,我可以在 appspot 中与我的机器人交谈。但是当我登录到 jabber.org 时,我无法与我的机器人交谈?我需要配置什么吗? testetefsdf@appspot.
首先,我试图让 fabric 正常工作,但它一直要求我输入密码。 所以我正在努力减少这个问题。从 Python 创建 SSH 连接也许是一个很好的 POC。我发现 fabric 使用 parmiko
我刚开始使用 react.js,我喜欢组件的工作方式。我创建了一个 Card 组件,它会在点击时添加一个 css 类 expanded。这就像一个魅力。现在我希望所有其他卡片在单击另一张卡片后松开 e
一段时间以来,我一直在想最好的方法... 目前,为了获取 UIViewController 的 subview 的 subview 以向 UIViewController 发送消息,我将让二级 sub
我正在尝试遵循 MVP 模式。但是,我对如何处理此模式的适配器和 View 持有者有一些疑问。 我应该将适配器用作演示者吗?有业务逻辑? 或者我应该传递一个处理列表逻辑的呈现器实例,然后在与适配器元素
我试图连接到 AWS 使用 的实例码头机连接已完成,但出现错误 Error getting SSH command to check if the daemon is up: Something we
我在一个房间里有两台 Apple TV。一台新的开发者 Apple TV 和一台旧的 Apple TV 3。 我遇到的问题是要么同时远程控制两个设备。 有没有办法让 Remote 只与各自的设备通话?
我是一名优秀的程序员,十分优秀!