问题标签 [riot-os]

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 投票
1 回答
74 浏览

iot - 如何使用物联网实验室平台以及如何选择合适的节点

我想创建一个物联网项目,我将不得不创建一个浇水系统。我将在 ESP32 或 ESP8266 上使用 Riot-OS,它将与水泵、n-mosfet、电源和湿度传感器交互。同时,我将运行一个 Linux 网络服务器,接收来自该控制器的数据。

在我的硬件到货之前,我想使用 iot-lab 测试代码。但是,我不知道我必须使用哪些节点以及为什么。如何选择正确的?我是否还需要一个用于传感器的 .elf 文件,例如本教程中的https://www.iot-lab.info/earn/用于灯?

另外,关于我是否使用 ssh keygen 命令,然后复制粘贴和连接到实验是我唯一需要做的事情才能正确运行我的代码?

是否有一个很好的教程来解释这些事情,因为我没有找到任何东西?

0 投票
0 回答
68 浏览

c - Riot 客户端使用 sock_udp 导致分段错误

我正在尝试使用 c 和套接字在 RIOT OS 中构建服务器 - 客户端进行通信。他们需要能够交换消息。首先需要将客户端配置为能够从硬件读取值,然后将它们发送到服务器。我是新手,所以我需要一些帮助。我的服务器目前正在运行,没有任何问题,但客户端总是导致分段错误,我不知道。我找到了这条线。使用 make debug PORT=tap1。这是 :

服务器代码

客户端代码:

当然,在相同的目录中还存在带有模块的 makefile。

我得到的错误是照片中的:

在此处输入图像描述

要运行服务器客户端,首先我需要创建一个 tap 界面和 make 命令。

我曾尝试提高堆栈的大小,但没有帮助。我继续收到同样的错误。知道为什么会导致分段错误会非常有帮助。

0 投票
1 回答
403 浏览

multithreading - [zephyr-rtos][riot-os] Zephyr vs. RIOT OS

我是图卢兹大学软件定义电力电子学研究员 Luiz Villa。我的团队正在尝试将 RTOS 嵌入到微控制器中,以便在电力电子设备中创建更友好的嵌入式控制开发过程。我们尽可能避免使用 ISR,原因有两个:

  • 它使软件开发中的协作变得更加容易(我们的项目是开源的)
  • 中断使代码执行时间不确定(我们希望避免这种情况)

我们想在线程速度方面在 Zephyr 和 RIOT-OS 之间做一个基准测试。我们需要一个以 20kHz 运行的代码,其中包含两到三个线程:

  • ADC 采集和数据平均
  • 控制的数学计算(使用 CMSIS)
  • 与外界的交流

由于时间对我们来说如此重要,我们需要知道:

  • 在 Zephyr 和 RIOT-OS 中执行线程的最短时间是多少?
  • 在 Zephyr 和 RIOT-OS 中切换线程所需的时间?

我们的初步结果表明:

  • 单线程测试时睡眠时间为0us,Zephyr的周期为9us,暴动为5us
  • 单线程测试时sleep时间10us,Zephyr周期39us,riot 15us

我们使用带有以下代码的 Nucleo-G474RE:https ://gitlab.laas.fr/owntech/zephyr/-/tree/test_adc_g4

我们对我们的结果感到非常惊讶,因为我们预计这两个操作系统消耗的资源都比它们少得多。

你怎么看?您是否尝试过尽可能快地运行这些操作系统?你的结果是什么?你测试过 Zephyr 的线程切换时间吗?

0 投票
0 回答
232 浏览

linux - 无法使用 BlueZ 堆栈创建 BLE L2CAP 连接

我正在尝试在 nRF52840DK 和 RPI 的本机蓝牙之间创建 L2CAP 连接。nRF52840 运行 RIOT OS 和灵活的堆栈,RPI 使用 BlueZ 5.50 蓝牙堆栈。

目前,RPI 可以发现 nRF52840 并hci_le_create_conn成功创建 GAP 连接。在连接建立阶段,节点接收到两个 GAP 事件,即BLE_GAP_EVENT_CONNECT (code 0)BLE_GAP_EVENT_MTU (code 15)。MTU 事件将 ATT 的 MTU 从 0 更改为 256。

但是,当我使用connect()创建 L2CAP 套接字连接时,发生超时并返回错误Host is down。nRF52840 收到了一个BLE_GAP_EVENT_DISCONNECT (code 1). 可能我的代码有一些错误,因为网上相关的代码很少。我怎样才能使它正确?

nRF52840DK 正在运行nimble_l2cap_server 示例,输出为:

我的 BlueZ 代码是:

0 投票
0 回答
34 浏览

riot-os - 用于物联网执行器的 Riot-os 驱动程序

大家好,感谢您阅读本文。我正在 Ubuntu 中使用 RIOT OS 开发一个小项目。我在主板上添加了两个模拟传感器,一个 STM32F401RE。这项工作并显示传感器测量的值。现在我想知道如何添加一个执行器,实际上是一个小型的summersion 5V水阀。必须将什么添加到 make 文件中以及要包含到 main.c 中的库?非常感谢您的帮助。再见

0 投票
0 回答
74 浏览

cryptography - 在 micro-ecc 中的 uECC_make_key 方法中使用自定义的随机数生成密钥对 - Riot OS

我正在尝试在micro_ecc中实现椭圆曲线方案,其中密钥是两个随机数的加法,公钥是从密钥派生的,如下 priv_key = (a+b) public_key = (a+b)G . 我检查了 micro_ecc 中的代码,密钥对生成是在 uECC.c 的 uECC_make_key() 中定义的,但似乎无法修改实现以添加任何新元素。我已经运行了测试文件夹中给出的 pkg_micro-ecc-with-hwrng 示例中的代码。有人可以告诉我如何随机选择密钥然后生成如上所述的密钥对吗?如果 Riot 中的 micro_ecc 不支持它,我可以在 relic 中做同样的事情