我已安装owfs
并尝试从iButton温度记录仪读取数据.
owfs
让我将iButton安装为保险丝文件系统,我可以看到所有数据.我无法弄清楚访问数据的最佳方法是什么.我可以通过cat
文件来获得单独的读数,例如cat onewire/{deviceid}/log/temperature.1
,但是onewire/{deviceid}/log/temperature.ALL
文件被"破坏"(可能太大,histogram/temperature.ALL
工作正常).
用于读取所有文件的python脚本似乎可以工作,但需要很长时间.有没有更好的方法呢?有没有人有任何例子?
我正在使用Ubuntu 8.04并且无法运行java"one wire viewer"应用程序.
更新:使用owpython
(与owfs一起安装),我可以获得当前温度,但无法弄清楚如何访问记录的日志:
>>> import ow
>>> ow.init("u") # initialize USB
>>> ow.Sensor("/").sensorList()
[Sensor("/81.7FD921000000"), Sensor("/21.C4B912000000")]
>>> x = ow.Sensor("/21.C4B912000000")
>>> print x.type, x.temperature
DS1921 22
Run Code Online (Sandbox Code Playgroud)
x.log
给出一个AttributeError
.
我有一个1-Wire USB适配器(蓝色的那个),并希望从一个小型Linux机箱中使用它来监控温度.Linux盒子现在已经无序了,所以在此期间我想在我的Windows桌面上使用基于.NET的监控软件来记录温度.但似乎并没有一个可用的.NET .NET库.Maxim SDK附带的那个需要J#,我没有并且想要使用它.我甚至不确定我是否可以在基于.NET 4.0的应用程序中使用它,因为J#已经停止使用AFAIK.SourceForge(owdotnet)上的另一个"开源工作"是在2008年,看起来已经死了.甚至没有关于它的任何信息页面.Maxim的SDK还带有一个"紧凑型.NET"版本,至少可以找到连接到适配器的设备,但我需要实现整个1-Wire协议本人似乎(发送原始字节,等待一小会儿,那种东西).所以这对现在没什么帮助.谷歌没有找到任何其他东西.你呢?
我的印象是整个1-Wire的东西已经死了.它只能在Linux系统上使用(使用owfs,编译起来很庞大),整个产品生态系统并不完全活跃.还有哪些其他解决方案可以测量温度,环境参数(湿度,水,压力等)和状态(如打开的门),甚至可以切换不需要花钱的东西(打开和关闭灯)(和"家庭自动化"一样)?并且最好也可以从.NET代码访问?