易截截图软件、单文件、免安装、纯绿色、仅160KB

MoteLab:返回串口数据处理(python)

从MoteLab返回的串口数据,包含messages.pickle文件这是MoteLab系统中串口收集数据的总和,但是这些数据需要解析后才能进行分析。下面的代码就是在python环境下提取message有效数据的代码。
使用命令 python TestOutput.py messages.pickle
生成的test.log就是获得的有效数据
返回数据的示例
1252985727.66  received from0Message <mviz_msg>  :时间 接收/发送 节点号 消息类型
  [version=0x0]
  [interval=0x400]                                                           :消息内容 和Mviz.h定义中相同
  [origin=0x4f]
  [count=0x0]
  [reading=0x0]
  [etx=0x0]
  [link_route_value=0x0]
  [link_route_addr=0x0]
1252985727.66  received from0Message <mviz_msg>
  [version=0x0]
  [interval=0x400]
  [origin=0x52]
  [count=0x0]
  [reading=0x0]
  [etx=0x0]
  [link_route_value=0x0]
  [link_route_addr=0x0]
源代码只要修改消息类就可以(代码中的mviz_msg)对其它数据进行分析
源代码
import os,sys,traceback,time,cPickle
sys.path.append(os.path.join(os.environ["TOSROOT"], "support/sdk/python"))
from tinyos.message import Message
import mviz_msg
logfile = open('test.log', 'w')
picklefile = open(sys.argv[1])
counters = {}
def checkmessage(m):
  if m.dest == 0xFFFF:
    return True
  if not counters.has_key(m.addr):
    counters[m.addr] = 0
    return True
  else:
    return True
while True:
  try:
    m = cPickle.load(picklefile)
    if m.amType() == mviz_msg.AM_TYPE:
      Mviz_msg = \
        mviz_msg.mviz_msg(dat


相关文档:

Python线程编程(一)线程对象

我们在做软件开发的时候很多要用到多线程技术。例如如果做一个下载软件象flashget就要用到、象在线视频工具realplayer也要用到因为要同时下载media stream还要播放。其实例子是很多的。
线程相对进程来说是“轻量级”的,操作系统用较少的资源创建和管理线程。程序中的线程在相同的内存空间中执行,并共享许多相 ......

python中使用方便的LIST对象

最近对python产生了兴趣,于是从网上下载了基本PYTHON的书和文档,开始了PYTHON的学习,发现PYTHON中的list对象的功能实在是非常强大,编程起来比其他的程序语言对列表的操作要方便的多。
在python中定义一个列表只需要如下语句
li = ["a","b","c","d"]
list有许多的函数可以用来进行对列表的操作,如extend,append,inse ......

最简单的 python 多线程示例

import time,thread
def test(a,b):
for i in range(a,b):
       time.sleep(1)
       print i
def start():
thread.start_new_thread(test,(1,1001))
thread.start_new_thread(test,(1000,2001))
if __name__=='__main__':
start()
......

Python Re

1. Basic
参考《Python正则表达式操作指南》 
模块re,perl风格的正则表达式
regex并不能解决所有的问题,有时候还是需要代码
regex基于确定性和非确定性有限自动机
2. 字符匹配(循序渐进)
元字符
. ^ $ * + ? { [ ] \ | ( )
1) "[" 和 "]"常用来指定一个字符类别,所谓字符类别就是你想匹配的一个字符集。如[ ......

easy_install让python的包管理变得easy

Python中的easy_install工具很好用,它的作用类似于Php中的pear,或者Ruby中的gem,或者Perl中的cpan。
如果想使用easy_install工具,可以直接安装ez_setup.py
脚本,再python ez_setup.py(之前先要安装python):
安装完后,最好确保easy_install所在目录已经被加到PATH环境变量里:
Windows: C:\Python25\Scripts
Li ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号