问题标签 [nesc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cygwin - 在 Windows 中启动 TinyOS 编程和仿真
我想在 Windows 环境下开始为 TinyOS 上的无线传感器网络编程 nesC。到目前为止,我安装了 Cygwin 终端,但不知道如何安装这些软件包。要安装软件包,命令类似于“rpm ***”,但在 Cygwin 中不是 sun 命令,它是基于 Linux 的。有没有人可以帮忙?
tinyos - TinyOS 中事件的返回类型
我正在使用nesC
for实现一个模块TinyOS
。我的模块使用接口 Timer<> 所以我必须实现接口 Timer 触发的事件,有可能在此实现中返回一个值,或者事件必须始终为 void?
wireless - 如何编写将显示 telosb motes 的实时数据采集(发送和接收数据)的 dokuwiki?
我正在开展一个项目,使用 dokuwiki 显示 telosb 微尘的实时数据采集读数。我使用的是 Windows 7,所以这些微粒是在 cygwin 上配置的。我不知道如何连接 wiki 和 telosb。
python - NesC / GMP 未定义符号
我正在尝试制作一个与 TOSSIM(TinyOS 模拟器)一起使用的 NesC 程序,包括 gmp 库这是我的代码示例
使用make micaz sim
或env "CFLAGS = -lgmp" make micaz sim
当我尝试通过 python 脚本执行它时,编译运行良好,我收到此错误:
c - 我在 nesC(tinyOS) 中的数组有问题
我在 nesC 中初始化数组时遇到问题。
当我对下面的行进行编码并构建项目时,出现如下所示的错误:
错误:
在下面的 Timer0.fired() 函数中,数组被初始化,作为函数的一部分:
任何人都可以帮助我吗?
c - 如何将数组拆分为特定大小
我即将在 telosb motes 中实现一些算法。我需要做的是,获取一个文件并将其拆分为更小的对象,然后将对象拆分为更小的称为页面的对象,如下图所示。
之后,页面将被无线传输到其他节点。一次一个称为数据包。
我有一个 2000 字节的数组,我想如图所示溢出,页面的要求是每个数据包应小于 110 字节或更少。
任何帮助,将不胜感激。
c - 从一个大数组中填充一个数组,一次两个元素
我有一个包含 10 个随机元素的数组,生成如下:
然后我生成一个包含 2 个元素的新数组。数组的值取自上面的数组,并放入包含 2 个元素的数组中。就像下面的代码示例一样:
输出如下所示:
我想遍历数组并获取接下来的两个值并将它们放在数据包数组中,依此类推,直到数组中的最后一个元素。
c - nesC 文件使用 C 文件的功能
当我的源代码无法编译时,我帮助理解了一些帮助,主要的错误报告是:
在我的实现中,我正在使用头文件来定义要在 nesC 文件中访问的结构和接口,我的疑问之一是结构!我可以定义像 C 中的结构以在 nesC 中运行吗?
我的头文件代码:
我的 .c 文件:
在所有声明和实现之前,我尝试在我的 nesC 文件中使用它,但在输出中出现了一些错误。
我的 nesC 文件:
nesc - NesC(C 的变体):函数 startTimers() 的隐式声明
我正在编译以下代码(在微尘上)。我有以下错误:
第 174 行:函数“startTimers”的隐式声明
请你帮助我好吗?
这是我的代码。
非常感谢您的帮助!
汤姆
tinyos - TinyOS PC 到微尘通信
我正在为我的无线传感器网络项目编写一个软件。现在我关心将各种数据包注入网络。
我正在使用 MIB520 接口板和安装在 IRIS 微尘上的 TinyOS-2.1.2。我尝试了来自 sdk/c/sf 的各种实用程序,以及来自 net.tinyos.sf.* 和 net.tinyos.tools.* Java 包的工具。
到目前为止我尝试了什么:
我一直在使用我的mote上安装的apps/BaseStation和apps/BaseStation15.4,或者使用apps/test/TestSerial对其进行闪烁。我通过 USB 读取从 mote 发送的数据没有问题。我可以使用 net.tinyos.tools.SerialForwarder 或来自 sdk/c/f 或 net.tinyos.tools * 的实用程序很好地阅读它。
但是当谈到从 PC 向 mote 发送数据时,似乎没有任何效果。我使用了 net.tinyos.tools.Send、serialsend.c、sf.c 和 sfsend.c。 SerialForwarder会在一段时间后抛出错误消息,而 C 实用程序会抛出“no ack”错误。
在 TinyOS wiki 和 SO 上搜索答案后,我认为可能是 mote 发送“ack”消息的问题。按照这里的建议,我正在寻找一种生成合法数据包并将其发送到 mote 的方法。
在 wiki 上的文章之后,我找到了适当的 TEP 并使用了其中列出的位(“7e 40 09 00 be ef 05 7d 5d 06 01 02 03 04 05 7e”)。
我使用 Wireshark 嗅探 USB,我在 USB 上将数据发送到 mote,我看到发送到 mote 的相同位。我的理论是 mote 无法识别我发送的输入,或者我错误地使用了实用程序。无论如何,这个特定事件永远不会被触发:
我的问题是,我该如何从 PC 向 mote 发送数据?也许有一些我忽略的现成实用程序?我一直在按照 BaseStation15.4 中的说明进行操作,但我被卡住了。
编辑:
来自 BaseStation/README.txt “只有当消息成功排队以传递到无线电链路时,BaseStation 才会确认通过串行链路到达的消息。” 这将解释 serialsend.c 中的“no ack”和 SerialForwarder.java 中的“write failed”。
但是,UartReceive.receive() 事件仍然不会被触发,即使在清除它的主体(在 BaseStation 中)并且只留下 LED 切换之后也是如此。