全球首发! 1-wire的linux下的python专用库. openwrt下测试成功

2690阅读 0评论2014-07-24 qiushui_007
分类:Python/Ruby

1. 硬件: DS9490R, 温度探头: DS18B20, 刷好openwrt的WR703N一台
2. 安装python-mini, 大约占用空间1.6M.
  opkg install libffi python-mini
3. 提供ar71xx内核的python专用库, 文件名为: xuowpy.so
  将本文件拷贝到路由器上, 并修改属性
  chmod +x  xuowpy.so

4. python的代码如下

点击(此处)折叠或打开

  1. # 1-wire的linux下的python专用库测试例程
  2. # 硬件: DS9490R, 温度探头: DS18B20, 刷好openwrt的WR703N一台
  3. # http://blog.chinaunix.net/uid-27194309-id-4371278.html
  4. # opkg install libffi python-mini
  5. # chmod +x xuowpy.so

  6. import xuowpy

  7. str1 = xuowpy.test1("12")
  8. print str1

  9. data1 = [0x31, 0x32, 0x33, 0x34, 0x35, 0x36]
  10. #data1 = [0x01, 0x32, 0x33, 0x34, 0x35, 0x36]
  11. str1 = ""
  12. for i in range(len(data1)):
  13.   str1 = str1 + "%02X" % data1[i] #大写2位16进制字串
  14. print str1

  15. num = xuowpy.get_crc8(str1)
  16. print "crc8 = " + hex(num) + ", " + str(num)

  17. num = xuowpy.get_crc16(str1)
  18. print "crc16 = " + hex(num) + ", " + str(num)

  19. num = xuowpy.get_crc32(str1)
  20. print "crc32 = " + hex(num) + ", " + str(num)

  21. #---- 1-wire 测试
  22. device_name = "USB"
  23. portnum = xuowpy.device_open(device_name)

  24. if portnum > 0:
  25.   value = xuowpy.ds18b20_get(portnum)
  26.   print "ds18b20 = " + str(value)

  27.   xuowpy.device_close(portnum)


上一篇:全球首发! 1-wire的linux下的lua专用库. openwrt下测试成功
下一篇:lua中解析json