用于Xmesh
无线传感器节点,
1-可以使节点(Motes
)相互发送和接收?不仅仅是向基站发送信息??
2-我可以修改它的数据包以添加一些字段吗?
3-可以在 Motes 存储中存储一些值吗?
我使用 TinyOs 对 motes 进行编程,从 type MICAZ
??
1-是的,如果您研究消息头,则有目标地址和源地址。当您使用 AMSend 接口发送数据包时,您可以为该方法的第一个参数提供您尝试访问的节点的 ID。
节点的 ID 在编译期间设置。例如,如果您运行以下命令,您将为开发板提供一个可以发送到的唯一 ID。当然,您可以为多个节点提供任意数量的 id:
$make telosb install.1 bsl,/dev/ttyUSB0
上面的命令会将您的程序上传到一个节点并为其提供一个唯一的 ID 1
。现在在另一个节点中,当您收到数据包时,您可以检查 ID。这可以从数据包标头中提取,或者只是在您自己的自定义数据包中,您可以unit16_t
从常量中存储节点 ID,TOS_NODE_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-微尘存储?如果您的微尘带有闪存芯片,是的,您可以。如果可用,有一些接口和组件允许您从传感器板上的闪存芯片写入/读取。
您可以从我的教程中了解更多信息。