当前位置:首页 > 物联网 > IoT设计分享
[导读]当我们谈论嵌入式项目时,首先想到的是Arduino。但为什么是Arduino?因为Arduino是一个单核微控制器,在市场上价格很低。此外,还有各种支持的传感器/执行器板可用,我们可以将其用作即插即用。在IoTDesignPro,我们也用Arduino构建了许多物联网项目,如果你感兴趣的话可以看看。

当我们谈论嵌入式项目时,首先想到的是Arduino。但为什么是Arduino?因为Arduino是一个单核微控制器,在市场上价格很低。此外,还有各种支持的传感器/执行器板可用,我们可以将其用作即插即用。在IoTDesignPro,我们也用Arduino构建了许多物联网项目,如果你感兴趣的话可以看看。

但是当涉及到具有时间复杂性的应用程序时,我们必须实时执行多个任务,我们开始怀疑。Arduino适合这个项目吗?还是我们应该改变它?我们该怎么办?在这里,RIOT是一个救援。

你可能会想什么是RIOT?好吧,RIOT并不是一个复杂的东西,事实上,它是一个嵌入式系统的实时操作系统,附带了各种库,帮助我们完成物联网操作。简而言之,我们称RIOT-OS为“物联网的友好操作系统”。我们已经介绍了关于“在嵌入式设备中使用什么以及如何使用RIOT-OS”的教程,在那里我们可以了解更多关于RIOT-OS的信息。

在本教程中,我们将开始使用Arduino和RIOT-OS,并在Arduino上设置RIOT-OS。我们将使用RIOT-OS在Arduino上演示LED闪烁操作到另一个任务。

组件的要求

1.Arduino Uno/Nano(我使用Arduino Nano)

2.LED(我用红色LED)

3.220Ω电阻

4.电路试验板

5.跳线

6.最新发布的RIOT-OS SDK

7.任何支持C Makefile项目的IDE。

8.USB电缆

9.我使用Ubuntu 16.04来开发这个应用程序。(RIOT-OS目前支持Linux/MAC-OS)

LED与Arduino Nano的硬件连接

设置的完整连接图如下所示。您只需要按照图中所示进行连接,就可以看到LED闪烁。

代码的解释

在这个项目中,我们使用RIOT-OS从一个独立的线程中使LED以1秒的间隔闪烁。

下面提到的那些库包含在代码的开头。

接下来,定义一个名为“EXTERNAL_LED”的“#define”变量,用于访问与Arduino-Nano GPIO-A5连接的LED。但在RIOT OS中,所有模块引脚都与其PORT & PIN进行映射。如果微控制器的端口被称为“PORT-A, PORT-B, PORT-C”,.....或“PA, PB, PC, .....”或“P0, P1, P2, .....”,那么在RIOT OS中,这些端口被分配了类似“0,1,2,.....”的数字等等。因此,当我们需要访问与atmega328p引脚“PC5”映射的GPIO-A5时,我们需要调用GPIO_PIN(PORT, pin)函数,其中端口=0,引脚=5。

现在,为一个任务创建一个堆栈,并实现任务函数,以1秒的间隔独立完成Led闪烁过程。

在main()循环中,我们使用thread_create()函数创建线程。

测试和调试RIOT通信过程

一旦电路和代码完成,我们在这些命令的帮助下构建和测试代码。

所以,在这种情况下,我们使用Ubuntu 20.04.2 LTS-64bit,为了创建开发环境,我们需要在设置RIOT OS之前安装先决条件。

在安装完所有需求之后,我们就可以设置RIOT-OS了。为此,我们需要创建一个工作区文件夹,用于下载和git clone最新版本的RIOT-OS。要做到这一点,请遵循以下步骤:

现在是时候为Arduino设置硬件工具链了。

安装完Arduino的RTOS-OS后,是时候编译代码了。对于构建/编译代码,我们需要调用make命令和BOARD参数。

在我们的例子中,我们使用Arduino-Nano开发板,所以板的值是“Arduino-Nano”。如果您使用不同的板,那么请检查路径[$HOME/riot_workspace/RIOT/boards]以获取支持的Arduino板列表。

为了将代码闪现到Arduino Nano中,我们需要调用flash命令。

在闪过代码之后,我们需要调用term命令来检查屏幕上的日志输出。

[注意:如果出现类似“ Permission denied: '/dev/ttyUSB0' ”的错误,那么调用这个命令来解决这个“ sudo chmod a+rw /dev/ttyUSB0 ”]

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭