问题标签 [contiki]
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.
datetime - contiki cc2530dk边界路由器问题
当我生成border-router.hex,并用Flash Programmer对节点进行编程后,运行命令sudo ./tunslip6 -s /dev/ttyUSB0 aaaa::1/64
,有如下所示的打印信息,没有其他进一步的打印,有人能遇到吗?问题是什么?
ipv6 - 无线传感器网络中的邻居发现有多准确?
无线传感器网络中的邻居发现有多准确,我们使用的是 contikios 和运行 raspberry pi 的网关。我正在研究网关发现网络中所有传感器的方法,在我的情况下,传感器是固定的并且是静态的。
c - Contiki 时钟时间模块不更新
我正在尝试在 Contiki 中定期生成一些样本。我使用ctimer来生成,如下图:
但是,样本不会定期生成,如下面的日志所示:
生成样本时,SN 发送几个字节。未生成样本时,SN 发送零字节。行尾的数字是时钟时间(clock_time())。当没有生成样本时,时钟时间似乎没有更新。因此,我怀疑时钟模块在某些情况下没有更新。有没有人见过这个?如果有,能解释原因吗?
gcc - 用于两个处理器之间的串行通信的 makefile (gcc)
我必须对两个处理器(STM 32 和 MSP 430)进行编程。算法是:
流程一:做算法一
进程 1:向进程 2 发送 hello
进程2:回复消息到进程1
进程 2:完成后执行算法 2 向进程 1 发送消息(数据交换)
流程一:读取数据,做算法一
处理器通过电线 (UART) 链接。编译器是 gcc。我有相同的操作系统(续集)。
我有不同的 API、设备文件和每一层的通信协议。
我的问题是如何对这些处理器进行编程以通过 UART 进行通信?写一个.c文件?还是两个?
我可以写一个makefile还是我必须写两个makefile?
请我需要帮助。我寻找解决方案,但我没有任何明确的解决方案。我非常感谢您的帮助。
此致。
c - Contiki 空中编程:超越洪水
我正在使用在 TmoteSky 平台上为 Contiki 实施的 Deluge。我或多或少地遵循了这里提出的建议:我在 Contiki 中关于 OAP 的第一篇文章。
在编写我的第一轮代码时,我注意到要进行分发(例如,考虑两个节点:发送者节点 A 和接收者节点 B)节点 B 必须具有与要分发的文件相同大小和名称的文件by mote A.
我刚刚读完 Deluge 发表论文,并相信这正是它应该做的。
但是,我正在寻找一个 OAP 协议(最好已经在 TmoteSky 上的 Contiki 中实现),它允许接收节点没有传播文件的版本。
这样可以使用全新的代码库更新接收节点。即,相同名称和大小的文件不必存在于接收节点上。
我的问题是:
1)假设我正确理解了 Deluge 理论的功能及其 Contiki-TmoteSky 实现,是否有适合我需求的东西?
2) 有谁知道 Contiki 的 codeprop 是否这样做?我现在正在研究它,但还没有找到任何真正好的文档或论文,并且正在努力使用所使用的网络协议......
3) 我曾考虑过将 Deluge 与“智能”代码传输一起使用。即使用 Deluge 发送代码,告诉 mote 如何重新编程自己而不是实际代码。但是,我还没有找到满足我需求的好方法,因为我基本上必须告诉代码如何任意编码......如果有人对使用这种方法有任何建议,我会很高兴听到他们的声音。
我可能忽略了一些明显的协议,所以请放轻松。
谢谢
embedded - Contiki UDP数据包传输持续时间与CC2538
有人可以解释一下 Contiki-OS 在传输 UDP 数据包时发生了什么吗?
这是我的设备在 CC2538 芯片上运行的详细电流消耗:
我的问题是:为什么传输 UDP 广播数据包需要这么长时间(大约 250 毫秒)知道理论上 250kbps 的 408 位长度的数据包应该在大约 2 毫秒内传输?我会理解传输是否持续十毫秒,但这里的差异是巨大的。
我用这个例子 contiki/examples/ipv6/simple-udp-rpl/broadcast-example.c
有人有想法吗?
file - Contiki:如果 ELF 文件包含具有多个未指定整数的计算,则会出错
我在使用 contiki ELF-loader 时遇到了一些问题,希望有人能提供更多的见解或一些提示来解决这些问题。在下文中,我尽量保持问题描述简短。
我的目标是:
在 T-Mote-Sky 上执行 ELF 文件。
此 ELF 文件包含一个带有计算的 contiki 过程(数据样本随时间的线性回归)。
使用“cooja”进行模拟
代码具体信息:
ELF 文件大小约 2000 字节
几个 unsigned-int-16 数字的相当大的计算:
“记录”在调用elfloader的主进程中初始化和定义,并通过extern定义访问
如果我使用常量进行计算,它会起作用
问题:
如果我尝试将乘法与“*”一起使用,则会导致错误消息:
Symbol not found: __MPY
如果我尝试将除法与“/”一起使用,则会导致类似的错误消息
- 所以我的解决方法是乘法和除法基于加法,并且它有效(在大多数情况下)
尽管如此,当我尝试计算斜率时,我仍然收到错误:“未找到段:”。
- 我推断这是内存大小的问题或试图通过 extern 从主进程获取数据,因为如果我只使用常量,计算斜率是有效的。
非常感谢您的帮助和问候,
卡威乐
c - 如何使用外部库并将它们与 Contiki 应用程序一起编译
我希望能够连接一些传感器并使用 Contiki-OS 将传感器数据发送到 Thingspeak 云。C 库可用于连接传感器,而 libthingspeak 库可用于更新 Thingspeak 上的提要。我可以使用示例/udp-ipv6 文件夹中提供的示例在两个节点之间执行通信,将一个节点设置为客户端,将另一个节点设置为服务器。我现在如何在我的应用程序中包含所需的库代码并构建它。Makefile 需要做哪些修改?我正在使用 cc2538 开发套件。
contiki - Contiki OS CC2538:降低电流/功耗
我正在尝试降低在 CC2538 开发套件上运行的 contiki os 的电流消耗。
我想用运行寿命为 2 年的 CR2032 操作该设备。为了实现这一点,我需要一个小于 100uA 的平均电流。
但是,当我在 3V 下运行以下命令时,我得到以下结果:
- contiki/examples/hello-world = 0.4mA - 2mA
- contiki/examples/er-rest-example/er-example-client = 27mA
- contiki/examples/er-rest-example/er-example-server = 27mA
- thingsquare websocket 示例 = 4mA
我还基于cc2538设计了自己的目标平台,得到了类似的结果。
我已阅读https://github.com/contiki-os/contiki/blob/648d3576a081b84edd33da05a3a973e209835723/platform/cc2538dk/README.md上的指南, 并确保在 contiki-conf.h 文件中: - LPM_CONF_ENABLE 1 - LPM_CONF_MAX_PM 2
谁能给我一些关于如何降低电流的指示。将不胜感激。
问候, 谢恩
operating-system - 申请在 QEMU 中运行 Contiki 应用程序
我试图在模拟器中使用几个微型操作系统,但在 QEMU 中被 Contiki 卡住了。理想情况下,编译后的可执行文件应该在 QEMU 中作为内核运行。对于我正在使用的所有操作系统,我使用这个简单的命令在 QEMU 中运行可执行文件:
qemu- system- platform - nographic -kernelcompiled_executable
在 Contiki 的情况下,QEMU 冻结,无论可执行文件编译到的任何目标平台,即使是目标平台“native”,根据文档,它是用“x86 gcc”构建的。
我还尝试了具有相同冻结问题的基于 ARM 的平台。如果我指定了一个正确的 CPU 模型(例如 cc2538dk 的 cortex-m3),我会收到一个分段错误。
我想知道我是否错过了导致 QEMU 冻结的任何步骤。这是否意味着编译后的可执行文件(还)不能被视为内核,除非我提供一些特定于 QEMU 的代码来将 QEMU 初始化为 Contiki 的“板”?