Top 10 Out-of-Box Software Packages of All Time in RT-Thread IoT OS
This article lists the top 10 Software Packages downloads of all time in the RT-Thread IoT platform, a platform that has powered over 800 million devices.
Join the DZone community and get the full member experience.
Join For FreeRT-Thread is an embedded open-source real-time operating system. It has a rich middle-tier component and a great hardware and software ecosystem that delivers great support for the Internet of Things (IoT). Until now, RT-Thread has powered 800 Million devices. This article takes you through the top 10 downloads of Software Packages in the RT-Thread IoT platform.
1. at_device (63706 Downloads)
The AT device software package is composed of the transplantation files and sample codes of the RT-Thread AT component for different AT devices.
2. fal (63775 Downloads)
The FAL (Flash Abstraction Layer) is an abstraction layer for the management and operation of Flash and Flash-based partitions. The upper layer unifies the Flash and partition operation API (the framework diagram is shown below), and it has the following characteristics:
- It supports the static and configurable partition table and can associate with multiple Flash devices.
- The partition table supports automatic loading. This allows you to avoid the problem that the partition table is defined multiple times in multiple firmware projects.
- The code is streamlined, has no dependency on the operating system, and can run on bare metal platforms, such as Bootloader, which has certain requirements for resources.
- Unified operation interface ensures the file system, OTA, NVM (for example EasyFlash), and other components have certain dependencies on Flash and ensures the reusability of the underlying Flash driver.
- Comes with Finsh/MSH-based test commands, which can be operated in byte addressing mode (read, write, and erase) Flash or partition through Shell, which is convenient for developers to debug and test.
3. netutils (44264 Downloads)
In network-related product development and debugging, useful gadgets can often achieve more. Based on the Network development scenario, RT-Thread created the NetUtils component that collects a lot of easy-to-use network development tools.
RT-Thread NetUtils serves as a network tool gadget, and it is useful in ping commands for testing debugging, such as NTP tools (time sync), Iperf, NetIO (performance and bandwidth testing), and lightweight file transfer tool (TFTP that is widely used in embedded systems), to easily transfer files between two devices over the network. In addition, RT-Thread provides advanced aids to solve the practical problem, such as Telnet tools that can log on remotely to RT-Thread Finsh/MSH Shell, and the tcpdump packet capture tool that is based on lwIP.
4. ota_downloader (42008 Downloads)
This package is a firmware downloader for OTA upgrades, which offers a variety of firmware download methods. Developers are free to choose the upgrade method according to needs, each of which can be implemented by calling function or command one-time. Download methods currently support the following:
- HTTP/HTTPS protocol to download firmware
- The Ymodem protocol to download the firmware
5. pahomqtt (35041 Downloads)
[Paho MQTT] is a client of the MQTT protocol implemented by Eclipse, and this package is a set of MQTT client programs designed on the basis of the source package of Eclipse (paho-mqtt).
The RT-Thread MQTT client features the following:
- Automatically re-connected
The RT-Thread MQTT package implements a reconnection mechanism that maintains the log-in state, reconnects, and automatically re-subscribes to Topic in the event of disconnection or network instability. It improves the reliability of the connection and increases the ease of use of the package.
- Pipe model, non-blocking API
It reduces the difficulty of programming and improves the efficiency of code operation, which is suitable for High Concurrency and small amounts of data.
- Event callback mechanism
These are custom callback functions that can be performed when events such as establishing a connection, receiving a message, or disconnection happens.
TLS encrypted transition
MQTT can be transmitted in TLS encryption to ensure the security and integrity of the data.
6. Freemodbus (30093 Downloads)
FreeModbus is an open-source Modbus protocol stack. Its slave is open-source, however, the host needs to pay for use. At the same time, there is no open-source Modbus host stack substitute found on the web, so this freeModbus protocol stack to support host mode was developed.
- The newly added host source code is consistent with the original user style and interface.
- It supports the host to run on the same protocol stack as the master.
- It provides support for porting real-time operating systems and bare metal.
- It provides a variety of request modes for the application; users can choose blocking or non-blocking mode, custom time-out, etc., to facilitate flexible calls at the application layer.
- It supports all commonly used Modbus methods.
7. webclient (27168 Downloads)
The WebClient package is an implementation of a client based on the HTTP protocol that provides the basic functionality of the device's communication with the HTTP Server.
The features of the WebClient package are as follows:
- Support for IPV4/IPV6 addresses.
- Support for GET/POST request methods.
- Support for the upload and download of files.
- Support for HTTPS encrypted transport.
- Perfect head data addition and processing.
8. JSON (26501 Downloads)
Ultralightweight JSON parser in ANSI C.
9. WIZnet (21175 Downloads)
The WIZnet package is implemented to porting based on the WIZnet official ioLibrary_Driver. Based on its original code base functionality, the package docks the RT-Thread SAL socket abstraction layer to support the standard BSD Socket APIs, and it is compatible with a variety of software packages and network functions, which improves the compatibility of the WIZnet device.
10. at24cxx (20697 Downloads)
The AT24CXX package provides the basic functionality of EEPROM for the at24cxx series.
Conclusion
RT-Thread software packages were provided by RT-Thread and its community developers. These packages have strong reusability and high modularity, which greatly facilitates application developers to build their desired application systems in the shortest amount of time. By the time RT-Thread built the Env tool and Studio IDE, all packages were already at your fingertips.
Resources
Get to know RT-Thread Studio IDE!
Download RT-Thread Studio IDE!
RT-Thread Contact Info:
Opinions expressed by DZone contributors are their own.
Comments