开源库分享--为物联网(IoT)设计和优化的开源大数据

开源库分享--为物联网(IoT)设计和优化的开源大数据,第1张

你好,一、RT-Thread的定义
RT-Thread,全称是 Real Time-Thread, 是一款主要由中国开源社区主导开发的开源实时 *** 作系统(许可证GPLv2),包含了实时、嵌入式系统相关的各个组件:TCP/IP协议栈、图形用户界面等。
相较于Linux,RT-Thread 具有体积小,成本低,功耗低、启动快速的优势。除此以外,实时性高、占用资源小等特点,使得它也非常适用于各种资源受限(如成本、功耗限制等)的场合。
在物联网设备的应用中,RT-Thread 能使用在线软件包管理工具,配合系统配置工具,实现直观、快速的模块化裁剪、无缝导入丰富的软件功能包,以及类似 Android 的图形界面和触摸滑动、智能语音交互等复杂功能。
RT-Thread 系统完全开源,可以免费在商业产品中使用,并且不需要公开私有代码。
二、RT-Thread的架构
相对于一些传统的RTOS 如 FreeRTOS、uC/OS 等,RT-Thread 架构上最大的区别在于:它是一个物联网 *** 作系统(IoT OS)。
即RT-Thread 除了包含一个实时内核外,还包括如文件系统、图形库等较为完整的中间件组件,是具备低功耗、安全、通信协议支持和云端连接能力的软件平台,如下图所示:
在这里插入描述
具体包括以下部分:
内核层:
① RT-Thread 内核:系统核心部分,包括了内核系统中对象的实现,例如多线程及其调度、消息队列、内存管理等;
② libcpu/BSP(芯片移植相关文件 / 板级支持包):与硬件密切相关,由外设驱动和 CPU 移植构成;
组件与服务层:
组件是基于内核之上的上层软件,例如虚拟文件系统、FinSH 命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合;
RT-Thread 软件包:
运行于 RT-Thread 物联网 *** 作系统平台上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。开发者可依据自身需求,选择、组合不同软件包,打造自己想要的系统。
目前支持的软件包有且不仅有:
① 物联网相关:Paho MQTT、WebClient、mongoose、WebTerminal 等;
② 脚本语言相关:JerryScript、MicroPython ;
③ 多媒体相关:Openmv、mupdf;
④ 系统相关:RTGUI、Persimmon UI、lwext4、partition、SQLite 等。
三、RT-Thread的开发工具
Env 是 RT-Thread 的开发辅助工具,提供编译构建环境、图形化系统配置、软件包管理等功能。主要特性如下:
使用 scons 作为构建工具(根据一定的规则或指令,将源代码编译成可执行的二进制程序),提供编译环境,生成工程;
内置简单易用的配置剪裁工具——menuconfig,可对内核、组件和软件包进行自由裁剪,以搭积木的方式构建系统;
借助由 Kconfig 语法 编写的Kconfig 文件,生成系统配置文件 rtconfigh。rtconfigh 文件,负责在执行 menuconfig 命令时,指导生成 RT-Thread 系统的配置、剪裁界面;
提供多种软件包,可在线下载,各包耦合关联少,具有良好的可维护性。

嵌入式和智能物联网设备的成熟和经过验证的跨平台GUI系统。

是一个自由软件项目,其目标是提供一个快速、稳定、跨 *** 作系统的图形用户界面(GUI)支持系统,尤其是基于 Linux/uClinux、eCos 以及其他传统 RTOS(如 VxWorks、ThreadX、uC/OS-II、Nucleus 等)的实时嵌入式 *** 作系统。

MiniGUI 的开发起始于 1998 年底,到现在已历经二十年多时间。

在这个版本中,我们主要增强和调整与文本呈现相关的API,以便MiniGUI可以处理复杂的书写系统(脚本),如阿拉伯语和印度语:

另一个重要的增强功能是`dri` NEWGAL引擎,可用于支持Linux上的现代DRM驱动的图形卡或GPU。通过使用`dri`引擎,一个MiniGUI应用程序现在可以使用硬件加速的图形渲染来实现2D / 3D图形。

你知道哪些好用的嵌入式 GUI *** 作系统,欢迎评论分享,共同探讨学习

编程语言Toit开源了!

Toit 是一种面向对象的物联网编程语言,在 IoT设备上能够实现秒级代码部署(注:如果使用C语言,一个简单的代码更改需要几分钟才能重新部署);同时,Toit也是一种现代的、内存安全的编程语言,集成了先进的编辑器功能,如语法高亮、goto-definitions 、代码自动补全等等。

Toit 编程语言具备以下特征:

Toit的出现是因为有一群软件工程师对IoT开发的现状感到不满,凭借着在Google为Flutter构建V8 JavaScript 引擎和Dart语言的丰富经验,他们开始自己构建适用于IoT的最佳平台。也正是在平台构建过程中,他们意识到必须有一种高效的编程语言来满足物联网的需求。最开始,他们尝试使用了Python和JavaScript,但在微控制器上,这两种语言的速度都不够快。

为了解决性能和健壮性问题,Toit团队开始研究Toit语言,经过测试发现,Toit在 ESP32 上的执行代码速度比 MicroPython 快 30 倍以上,同时学习门槛也很低,Python开发人员在几小时内就可以学会它。

为什么会选择开源Toit?Toit团队表示:“从一开始,我们就明确知道Toit肯定是会在某个时刻开源的,因为所有主流的编程语言都是开源的。开源可以获得充满活力的生态系统,编程语言才能被大规模采用。经过多次迭代和实际环境的应用,Toit语言已经成为微控制器编写强大软件的利器,我们希望更多开发者能够从中受益,因此选择将它开源出来。”
链接:>物联网 *** 作系统分为低资源MCU设备端和高资源CPU设备端;
低资源MCU设备端,由于硬件资源有限,一般都是用极低内核资源的 *** 作系统,如FreeRTOS,TinyOS,Lite OS,这类os,一般都是以C,C++进行编程,一般由资深的嵌入式工程师进行应用程序设计,难度较高。
还有一类是目前针对物联网应用开发而设计的低门槛的 *** 作系统,一般使用目前最流行的JAVA,JavaScript,LUA等高级语言编程的 *** 作系统; 使用JavaScript编程的目前有多种开源 *** 作系统,运营的比较好的是RUFF,目前有一款nodemcu使用LUA编程,JAVA因为移植难度比较大,目前只有钛极OS(TiJOS)可以实现在低资源MCU上进行编程。在淘宝上可以找到他们的开发套件,例程也比较详细和丰富。
高资源CPU设备端,资源大,可以实现复杂功能,一般都有大公司在拼,如谷歌的Brillo OS,微软的WIN10 IOT版本,uClinux,华为LiteOS等。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/13475296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-14
下一篇 2023-08-14

发表评论

登录后才能评论

评论列表(0条)

保存