我有一个1-Wire USB适配器(蓝色的),想从一个小的Linux盒子里使用它来监测温度。Linux盒子现在坏了,所以在此期间,我想在Windows桌面上使用基于.NET的监控软件来记录温度。但目前似乎还没有一个可用于.NET的.NET库。Maxim SDK附带的那个需要J#,我没有也不想使用。我甚至不确定我是否可以将它与基于.NET 4.0的应用程序一起使用,因为J#已停止使用AFAIK。SourceForge(owdotnet)上的另一项"开源努力"是在2008年,看起来已经死了。甚至没有任何关于它的信息页面。Maxim SDK还附带了一个"Compact.NET"版本,它至少可以找到一个连接到适配器的设备,但我似乎需要自己实现整个1-Wire协议(发送原始字节,等待一小段时间,诸如此类)。所以现在这并没有多大帮助。谷歌没有找到其他任何东西。你呢?
我的印象是,整个1-Wire的东西已经死了。它只能在Linux系统上使用(使用owfs,编译起来就像巨大的),整个产品生态系统并不完全活跃。还有什么其他解决方案可以测量温度、环境参数(湿度、水、压力等)和状态(比如打开的门),甚至可以切换不需要花费大笔钱的东西(比如"家庭自动化")?并且最好也可以从.NET代码访问?
好吧,为了回答问题,这个问题已经存在了足够长的时间。
我得出的结论是没有这样的库可用。
如果你发现了什么,请添加你的答案,这样我就可以在这里更新了。
您不需要OWFS,尽管我明白为什么它会让生活更轻松。我过去试过,但它没有达到我想要的效果,因为我有一些不受支持的设备。
我目前使用的OWW是我目前在树莓派上运行的,它确实运行得很好。然而,它只是基于linux的。
很抱歉,我无法帮助您查询.net,因为我从未使用过它。除了Maxim之外,我似乎找不到其他基于.net的查询。
我不确定是否对您的问题有足够的了解,无法给您一个正确的答案(但这只是一个开始,我们有可能共同改进它。)
我知道你在J#有一些东西可以做这项工作。
J#应用程序可编译为普通的.NET程序集。你有J#代码吗(在这种情况下,你可以使用旧的J#编译器将其编译成一个库,然后在你的.NET应用程序中引用这个库以从任何.NET语言使用它),或者你已经有了ab程序集,在这种情况下,可以随意将其与任何语言一起使用。
否则,您可以找到一个本机库,然后使用C++/CLI围绕它创建一个.NET包装器。根据我的经验,这个选项非常有效。主要问题是32/64位兼容性:您的.NET应用程序需要限制为本机dll格式(64位或32位)
我在工作中的上一个项目也会遇到同样的问题。
几周前,我使用了OW.NET,并在sourceforge项目中为Container41类提供了一个svn补丁文件。有了我的补丁,这个设备系列的大部分功能都应该得到支持。
但是,是的,没有完整的图书馆。马克西姆的J#图书馆是个坏笑话。
我在树莓派上使用DS1820单线温度传感器。这是基于新的System.Device.Gpio-nuget包。目前,这只是一个概念的证明。https://github.com/dos-ise/OneWire