【发布时间】:2013-03-26 09:52:24
【问题描述】:
将Xmesh用于无线传感器节点,
1- 可以让nodes (Motes) 互相发送和接收??不仅仅是向基站发送信息??
2-我可以修改它的数据包以添加一些字段吗??
3-可以在 Motes 存储中存储一些值吗?
我使用 TinyOs 对 mote 进行编程,类型为 MICAZ?? 的 mote
【问题讨论】:
标签: networking wireless sensors tinyos nesc
将Xmesh用于无线传感器节点,
1- 可以让nodes (Motes) 互相发送和接收??不仅仅是向基站发送信息??
2-我可以修改它的数据包以添加一些字段吗??
3-可以在 Motes 存储中存储一些值吗?
我使用 TinyOs 对 mote 进行编程,类型为 MICAZ?? 的 mote
【问题讨论】:
标签: networking wireless sensors tinyos nesc
1- 是的,如果您研究消息头,则有目标地址和源地址。当您使用 AMSend 接口发送数据包时,您可以为该方法的第一个参数提供您尝试访问的节点的 ID。
节点的 ID 在编译期间设置。例如,如果您运行以下命令,您将为开发板提供一个可以发送到的唯一 ID。当然,您可以为多个节点提供任意数量的 id:
$make telosb install.1 bsl,/dev/ttyUSB0
上面的命令会将你的程序上传到一个节点,并给它一个唯一的 ID 1。现在在另一个节点中,当您收到数据包时,您可以检查 ID。这可以从数据包头中提取,或者只是在您自己的自定义数据包中,您可以使用unit16_t 来存储来自TOS_NODE_ID 常量的节点ID,该常量始终等于您在上传期间指定的唯一ID。
2 - 是的,您可以拥有一个 255 字节大小的数据包。您可以定义如下数据包:
typedef nx_struct MyPacket
{
nx_uint16_t NodeID;
nx_uint8_t yourCustomField;
nx_uint32_t anotherField; //and so on
} MyPacket_t;
3- 微尘存储?如果您的微尘带有闪存芯片,是的,您可以。如果可用,有一些接口和组件允许您从传感器板上的闪存芯片写入/读取。
您可以通过我的教程Here了解更多信息。
【讨论】: