问题标签 [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.

0 投票
2 回答
858 浏览

cygwin - 在 Windows 中启动 TinyOS 编程和仿真

我想在 Windows 环境下开始为 TinyOS 上的无线传感器网络编程 nesC。到目前为止,我安装了 Cygwin 终端,但不知道如何安装这些软件包。要安装软件包,命令类似于“rpm ***”,但在 Cygwin 中不是 sun 命令,它是基于 Linux 的。有没有人可以帮忙?

0 投票
1 回答
89 浏览

tinyos - TinyOS 中事件的返回类型

我正在使用nesCfor实现一个模块TinyOS。我的模块使用接口 Timer<> 所以我必须实现接口 Timer 触发的事件,有可能在此实现中返回一个值,或者事件必须始终为 void?

0 投票
1 回答
84 浏览

wireless - 如何编写将显示 telosb motes 的实时数据采集(发送和接收数据)的 dokuwiki?

我正在开展一个项目,使用 dokuwiki 显示 telosb 微尘的实时数据采集读数。我使用的是 Windows 7,所以这些微粒是在 cygwin 上配置的。我不知道如何连接 wiki 和 telosb。

0 投票
1 回答
170 浏览

python - NesC / GMP 未定义符号

我正在尝试制作一个与 TOSSIM(TinyOS 模拟器)一起​​使用的 NesC 程序,包括 gmp 库这是我的代码示例

使用make micaz simenv "CFLAGS = -lgmp" make micaz sim 当我尝试通过 python 脚本执行它时,编译运行良好,我收到此错误:

0 投票
0 回答
616 浏览

c - 我在 nesC(tinyOS) 中的数组有问题

我在 nesC 中初始化数组时遇到问题。

当我对下面的行进行编码并构建项目时,出现如下所示的错误:

错误:

图片

在下面的 Timer0.fired() 函数中,数组被初始化,作为函数的一部分:

任何人都可以帮助我吗?

0 投票
1 回答
85 浏览

c - 如何将数组拆分为特定大小

我即将在 telosb motes 中实现一些算法。我需要做的是,获取一个文件并将其拆分为更小的对象,然后将对象拆分为更小的称为页面的对象,如下图所示。

之后,页面将被无线传输到其他节点。一次一个称为数据包。

我有一个 2000 字节的数组,我想如图所示溢出,页面的要求是每个数据包应小于 110 字节或更少。

任何帮助,将不胜感激。

0 投票
3 回答
91 浏览

c - 从一个大数组中填充一个数组,一次两个元素

我有一个包含 10 个随机元素的数组,生成如下:

然后我生成一个包含 2 个元素的新数组。数组的值取自上面的数组,并放入包含 2 个元素的数组中。就像下面的代码示例一样:

输出如下所示:

我想遍历数组并获取接下来的两个值并将它们放在数据包数组中,依此类推,直到数组中的最后一个元素。

0 投票
1 回答
291 浏览

c - nesC 文件使用 C 文件的功能

当我的源代码无法编译时,我帮助理解了一些帮助,主要的错误报告是:

在我的实现中,我正在使用头文件来定义要在 nesC 文件中访问的结构和接口,我的疑问之一是结构!我可以定义像 C 中的结构以在 nesC 中运行吗?

我的头文件代码:

我的 .c 文件:

在所有声明和实现之前,我尝试在我的 nesC 文件中使用它,但在输出中出现了一些错误。

我的 nesC 文件:

0 投票
1 回答
272 浏览

nesc - NesC(C 的变体):函数 startTimers() 的隐式声明

我正在编译以下代码(在微尘上)。我有以下错误:

第 174 行:函数“startTimers”的隐式声明

请你帮助我好吗?

这是我的代码。

非常感谢您的帮助!

汤姆

0 投票
1 回答
1266 浏览

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 切换之后也是如此。