我正在使用Telosb motes,在教程的帮助下,我可以将数据记录到mote的闪存中。但我不知道如何从闪存中检索记录的数据。是否有任何类型的命令必须在linux终端上给出才能执行此功能。请引导我。
我的程序是在计时器启动时记录计数器值。
module LogC {
uses {
interface Boot;
interface Leds;
interface Timer<TMilli>;
interface LogWrite;
}
}
implementation {
uint8_t counter=0;
typedef nx_struct logentry_t {
nx_uint8_t value;
} logentry_t;
logentry_t m_entry;
event void Boot.booted() {
call Timer.startPeriodic(200);
}
event void Timer.fired() {
counter++;
m_entry.value = counter;
if( call LogWrite.append(&m_entry, sizeof(logentry_t))==SUCCESS){;
call Leds.led1Toggle();
}
}
event void LogWrite.appendDone(void* buf, storage_len_t len,
bool recordsLost, error_t err) {
call Leds.led0Toggle();
}
event void LogWrite.syncDone(error_t err) { }
event void LogWrite.eraseDone(error_t err) { }
}
您需要编写一个应用程序,该应用程序使用LogRead
接口从闪存中检索记录的数据,例如,使用串行连接将其发送到PC(这还需要PC端的Java应用程序)。
看这里http://www.tinyos.net/tinyos-2.x/doc/html/tep103.html有关日志记录接口的更多信息,请点击此处http://tinyos.stanford.edu/tinyos-wiki/index.php/Mote-PC_serial_communication_and_SerialForwarder有关远程计算机和PC之间串行通信的教程。