亲爱的Stack Overflow社区,
我写信希望你能帮我连接到使用C#或C++的802.15.4无线收发器.让我解释一下我的项目.本学期,我花了一些时间开发出一种无线传感器板,可以每隔8秒将光,温度,湿度和运动检测水平传输到USB无线收发器.现在,我没有开发USB收发器.该课程的其中一个TA是,他在我的传感器板的整个开发过程中帮助了我(这是我的第一个真正的PCB).
现在,我已经对传感器板进行了编程,我知道它正在将数据发送到收发器.我知道这个的原因是这个TA编写了一个简单的python模块,可以从收发器中获取最新的信息包(无论何时收到),解压缩十六进制消息,并将一些传感器数据转换为工作单元(如度摄氏度,%相对湿度等)
问题是python模块在他的计算机(Mac)上运行,但在我的计算机上运行(Windows 7).基本上,他正在使用一个名为zigboard的库来解压传感器消息,以及草图中的pyusb和pyserial库.802.15.4无线收发器在Mac上自动枚举,但在PC上运行时会遇到更大的问题.基本上,我认为问题在于缺乏签名的驱动程序.我正在使用libusb为这个特定的设备生成.inf文件......我知道它在我的机器上工作,因为我的传感器板和收发器上有一个LED,当发送/接收消息时它会闪烁.但是,当我运行这个TA在他的机器上运行的相同python模块时,我收到一条错误消息,指出错过了一些Windows后端二进制文件,因此,它从未真正进入返回数据的阶段.
但是,更大的问题不在于这个python模块.更大的问题是我不想使用Python.这个传感器板将成为一个大型项目的一部分,我将在其中设计一个C#或C++的软件接口来做许多不同的事情(其中一些是处理这个传感器数据).因此,最终我希望能够在.NET中工作,以便从此收发器访问数据.但是,我必须要做的就是这个python草图(它甚至不能在我的机器上运行).我知道最简单的事情就是问这个TA更多关于如何在我的机器上工作的问题...但是我已经在这个学期关于这个项目垄断了大量的时间,而且他目前已经离开镇.此外,他的偏好是python,因为我最喜欢C#或C++,并希望将此环境用于此项目.现在,我会说我在电子和编程方面很有能力(但肯定不是专家......我的背景实际上是建筑学).但是,如果有人可以帮助我开发一些代码,以便我可以解开从板发送的传感器消息,我将不胜感激.我已经附上了下面的Python草图,这是TA用来在他的机器上解压缩传感器信息的内容(但就像我说的......我的Windows机器上有问题).有没有人有什么建议?
再次感谢.
from zigboard import ZigBoard
from struct import unpack
from time import sleep, time
zb = ZigBoard()
lasttime = time()
while True:
pkt = zb.receive()
if pkt is None:
sleep(0.01)
continue
if len(pkt.data) < 10:
print "short packet"
sleep(0.01)
continue
data = pkt.data[:10]
cmd, bat, light, SOt, SOrh, pir = unpack("<BBHHHH", data)
lasttime = time()
d1 = -39.6
d2 = 0.01
c1 = -2.0468
c2 = 0.0367
c3 = -1.5955E-6
t1 = 0.01
t2 = 0.00008
sht15_tmp = d1 + d2 * float(SOt);
RHL = c1 + c2 * SOrh + c3 * float(SOrh)**2
sht15_rh = (sht15_tmp - 25.0) * (t1 + t2 * float(SOrh)) + RHL
print "address: 0x%04x" % pkt.src_addr
print "temperature:", sht15_tmp
print "humidity:", sht15_rh
print "light:", light
print "motion:", pir
print
Run Code Online (Sandbox Code Playgroud)
我不是 100% 确定具体如何执行此操作,但快速浏览后我发现问题的核心是您需要在 C# 中实现类似 ZigBoard 库的东西。
ZigBoard 库使用 python USB 库通过 API 与 USB 设备进行通信,您应该能够通过LibUsbDotNet在 C# 中复制此内容,如果您阅读 ZigBoard 库代码,您应该能够计算出该 API。
| 归档时间: |
|
| 查看次数: |
981 次 |
| 最近记录: |