Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1277372
  • 博文数量: 129
  • 博客积分: 1449
  • 博客等级: 上尉
  • 技术积分: 3048
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-24 18:36
文章分类

全部博文(129)

文章存档

2015年(3)

2014年(20)

2013年(65)

2012年(41)

分类: Python/Ruby

2014-07-24 09:18:35

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)


阅读(1945) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~