传感器节点与PC通信技术详解
日志存储与操作
日志存储有着独特的特性。日志实现保证单个LogWrite.append操作写入的数据要么完全存在,要么完全不存在,所以日志中不会包含部分摘要。我们可以从日志开头以512字节(一个摘要的大小)为块进行读取,这样就能确保读取到有效的摘要样本。
日志存储还提供有限的查找支持。LogRead和LogWrite接口包含如下命令:
command storage_len_t getSize ();以及
command storage_cookie_t currentOffset ();currentOffset()会返回一个表示下一次读取或追加操作起始位置的cookie。这些cookie并非日志卷中的偏移量,它们仅包含足够的信息,以便日志存储实现能在日志中找到该位置。LogRead的分阶段查找命令可以定位到这些cookie。这使得像FlashSampler这样的应用程序能够将样本位置报告给PC,并按需重新读取特定样本。
相关练习
以下是一些相关的练习,有助于进一步掌握相关技术:
1. 将防盗应用程序移植到除micaz之外的其他平台,编写适合可用特定传感器的新防盗检测代码。
2. 扩展防盗应用程序,使节点能够注意到相邻节点发送的