RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RT-Thread軟件包定義和使用

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來(lái)源:未知 ? 作者:李倩 ? 2018-05-21 11:29 ? 次閱讀

1、軟件包的目的

軟件包在高級(jí)語(yǔ)言中非常常見(jiàn),很多高級(jí)語(yǔ)言都有對(duì)應(yīng)的軟件包平臺(tái),比如 Python 的 PyPi,Ruby 的 Gems 等等。軟件包生態(tài)對(duì)于一門(mén)語(yǔ)言的選擇至關(guān)重要,因?yàn)檫@些軟件包具有很強(qiáng)的可重用性,模塊化程度很高,極大的方便應(yīng)用開(kāi)發(fā)者在最短時(shí)間內(nèi),打造出自己想要的軟件。

從工具的角度去看軟件包,我們很容易聯(lián)想到高級(jí)動(dòng)物與低級(jí)動(dòng)物的差別:無(wú)外乎就是使用和制造工具的熟練程度。這個(gè)道理對(duì)于我們程序員世界也同樣適用,比如高級(jí)的程序員和初級(jí)程序員的差距可以歸納為:開(kāi)發(fā)工具和軟件包的熟練程度上,甚至在于是否會(huì)創(chuàng)造適用面廣的軟件包(圓輪子)或開(kāi)發(fā)工具。

所以,想要成為高級(jí)程序員就快來(lái)使用、創(chuàng)造軟件包吧~

2、軟件包的定義

RT-Thread 軟件包:運(yùn)行于 RT-Thread 物聯(lián)網(wǎng)操作系統(tǒng)平臺(tái)上,面向不同應(yīng)用領(lǐng)域的通用軟件組件。軟件包由描述信息,源代碼或庫(kù)文件組成。

RT-Thread 同時(shí)提供了開(kāi)放的軟件包平臺(tái),這里存放了官方提供或開(kāi)發(fā)者提供的軟件包。該平臺(tái)為開(kāi)發(fā)者提供了眾多可重用軟件包的選擇,這也是 RT-Thread 生態(tài)的重要組成部分。

3、軟件包的使用

RT-Thread 為開(kāi)發(fā)者提供的全面的使用教程,詳情如下:

入門(mén)文檔教程:位于 RT-Thread 官網(wǎng),文檔->開(kāi)發(fā)指南->env 工具用戶(hù)手冊(cè)

軟件包制作教程:位于 RT-Thread 官網(wǎng),文檔->開(kāi)發(fā)指南->package 開(kāi)發(fā)指南

4、軟件包匯總

RT-Thread 已經(jīng)支持的軟件包數(shù)量已經(jīng)達(dá)到40+。所有軟件包已經(jīng)按照軟件功能的角度,在 menuconfig 中進(jìn)行了分類(lèi)。每個(gè)分類(lèi)下的軟件包都可以在menuconfig->RT-Thread online packages菜單里對(duì)應(yīng)的子菜單下找到。

為了降低大家的上手門(mén)檻,每個(gè)軟件包在其項(xiàng)目首頁(yè)都有詳細(xì)的使用說(shuō)明文檔及示例代碼。

4.1 物聯(lián)網(wǎng)相關(guān)的軟件包

物聯(lián)網(wǎng)(IoT) 是 RT-Thread 當(dāng)前非常重視一個(gè)環(huán)節(jié),與其相關(guān)的軟件包也非常龐大。你所開(kāi)發(fā)的任何物聯(lián)網(wǎng)應(yīng)用,幾乎都可以在這里找到對(duì)應(yīng)的軟件包,目前包括如下:

Paho MQTT:基于 Eclipse 開(kāi)源的 Paho MQTT,對(duì)于做了很多功能及性能優(yōu)化,比如:增加了斷線(xiàn)自動(dòng)重連功能,采用 pipe 模型,支持非阻塞 API,支持 TLS 加密傳輸?shù)鹊龋?/p>

WebClient:簡(jiǎn)單易用的 HTTP 客戶(hù)端,支持 HTTP GET/POST 等常見(jiàn)請(qǐng)求功能,支持 HTTPS ,斷點(diǎn)續(xù)傳等功能;

mongoose:嵌入式 Web 服務(wù)器網(wǎng)絡(luò)庫(kù),類(lèi)似嵌入式世界里的 Nginx 。授權(quán)許可不夠友好,商業(yè)需要收費(fèi);

WebTerminal:網(wǎng)友 @armink 開(kāi)發(fā)的,可以在瀏覽器訪問(wèn) Finsh/MSH Shell 的軟件包,甚至是手機(jī)端;

cJSON:超輕量級(jí)的 JSON 解析庫(kù);

ljson:網(wǎng)友 @qiaoqidui 開(kāi)發(fā)的 json 到 struct 的解析,輸出庫(kù);

ezXML: XML 文件解析庫(kù),目前還不支持解析 XML 數(shù)據(jù);

nanopb:Protocol Buffers 格式數(shù)據(jù)解析庫(kù),Protocol Buffers 格式比 JSON、XML 格式資源占用更少;

GAgent:接入機(jī)智云的軟件包;

Marvell WiFi:Marvell WiFi 驅(qū)動(dòng);

Wiced WiFi:Wiced 接口的 WiFi 驅(qū)動(dòng);

CoAP:移植 libcoap 的 CoAP 通信軟件包;

nopoll:移植的開(kāi)源 WebSocket 通信軟件包;

netutils:實(shí)用的網(wǎng)絡(luò)調(diào)試小工具集合,包括:ping、TFTP、iperf、NetIO、NTP、Telnet 等;

OneNet:與中國(guó)移動(dòng) OneNet 云對(duì)接的軟件包;

4.2 安全相關(guān)的軟件包

安全一直是 RT-Thread 非常重視一個(gè)領(lǐng)域,尤其是在 RT-Thread 3.0 IoT OS 發(fā)布以后。接入網(wǎng)絡(luò)的設(shè)備對(duì)于網(wǎng)絡(luò)安全需求更是強(qiáng)烈,主要軟件包:

mbedtls:ARM 公司開(kāi)源的、可移植的適合嵌入式領(lǐng)域的 SSL 庫(kù),一些物聯(lián)網(wǎng)包中的一些加密通信都會(huì)依賴(lài)它;

libsodium:現(xiàn)代化的、可移植的、易于使用的加密庫(kù),libsodium 的目標(biāo)是提供構(gòu)建高層密碼學(xué)工具所需的核心算法;

TinyCrypt:輕量級(jí)、可配置的加密庫(kù),支持 MD5、base64、AES、SHA1、SHA256 算法;

4.3 腳本語(yǔ)言相關(guān)的軟件包

高級(jí)語(yǔ)言中的一些特性非常人性化,也很大程度上降低的開(kāi)發(fā)門(mén)檻,但一直受限于嵌入式的資源。隨著 MCU 技術(shù)的逐步發(fā)展,資源也是越來(lái)越多了。未來(lái),也許 C 將不在是 MCU 編程的主流選擇。目前 RT-Thread 支持的腳本語(yǔ)言如下:

JerryScript:超輕量級(jí)的 JavaScript 引擎;

MicroPython:針對(duì)嵌入式領(lǐng)域的 Python 語(yǔ)言實(shí)現(xiàn)軟件包。這塊也是 RT-Thread 最近一直在熱推的技術(shù),只要是支持的 RT-Thread 并有一定資源(ROM: 190KB, RAM: 8KB)的開(kāi)發(fā)板,都可以跑 MicroPython 在官網(wǎng)文檔中能找到 RTT 最新出爐的《MicroPython 開(kāi)發(fā)手冊(cè)》。MicroPython 現(xiàn)在也被廣泛應(yīng)用于產(chǎn)品原型驗(yàn)證、教育、創(chuàng)客 DIY硬件測(cè)試等領(lǐng)域;

4.4 多媒體相關(guān)的軟件包

Openmv:基于 MicroPython 的開(kāi)源的機(jī)器視覺(jué)庫(kù);

mupdf:網(wǎng)友 @rtoslab 移植的輕量級(jí) PDF, XPS, E-book解析/渲染庫(kù)。用 RTT DIY 一個(gè) Kindle 不是夢(mèng);

4.5 工具類(lèi)軟件包

這里主要是一些輔助開(kāi)發(fā)、調(diào)試的實(shí)用工具。這些專(zhuān)業(yè)化的工具,使用以后能夠很大程度上提高大家的開(kāi)發(fā)效率,節(jié)省我們程序員的寶貴開(kāi)發(fā)時(shí)間。

CmBacktrace:網(wǎng)友 @armink 開(kāi)源的 ARM Cortex-M 系列 MCU 的 HardFault 錯(cuò)誤追蹤庫(kù)。目前已對(duì) RTT 做了無(wú)縫對(duì)接,不用在修改任何移植代碼,下載即用;

EasyFlash:網(wǎng)友 @armink 開(kāi)源的輕量級(jí) Flash 閃存庫(kù),非常適用于物聯(lián)網(wǎng)產(chǎn)品的參數(shù)存儲(chǔ)、日志記錄的場(chǎng)景;

EasyLogger:網(wǎng)友 @armink 開(kāi)源的超輕量級(jí)日志庫(kù)。日志支持異步輸出模式,各級(jí)別日志格式(包括顏色)可獨(dú)立設(shè)置,并支持日志關(guān)鍵詞過(guò)濾功能。極大的方便的開(kāi)發(fā)者的調(diào)試過(guò)程。

SystemView:可以實(shí)時(shí)查看、追蹤、分析 RT-Thread 各線(xiàn)程等資源使用情況,對(duì)于性能分析很有幫助。這里有很多是網(wǎng)友 @ArdaFu 的貢獻(xiàn);

4.6 系統(tǒng)相關(guān)的軟件包

系統(tǒng)類(lèi)的軟件包,更多的是與操作系統(tǒng)精密聯(lián)系在一起的軟件組件:

RTGUI:RT-Thread GUI 繪圖引擎。RT-Thread 的 Persimmon 柿餅 UI 組件,就依賴(lài)于該軟件包;

Persimmon UI:適合嵌入式的,支持手勢(shì)識(shí)別、滑動(dòng)特效等類(lèi) Android 的 UI 庫(kù);

lwext4:來(lái)自網(wǎng)友 @parai 移植的,適合嵌入式的 ext2/3/4 文件系統(tǒng)庫(kù);

partition:一個(gè)簡(jiǎn)單的適合塊設(shè)備的分區(qū)管理庫(kù);

SQLite:一個(gè)高可靠的、適合嵌入式領(lǐng)域的SQL數(shù)據(jù)庫(kù)引擎。SQLite 也是 Android 內(nèi)部集成的數(shù)據(jù)庫(kù),有一定的應(yīng)用領(lǐng)域;

RT-Thread Insight:簡(jiǎn)寫(xiě)是 RTI ,一個(gè)用于 RT-Thread 的探測(cè)工具,用來(lái)幫助分析系統(tǒng)的內(nèi)部行為;

LittlevGL2RTT:網(wǎng)友 @liu2guang 移植的 LittlevGl GUI 庫(kù),這是一個(gè)最近新出的嵌入式 GUI 庫(kù);

4.7 外設(shè)庫(kù)和驅(qū)動(dòng)類(lèi)軟件包

STM32F4_HAL:STM32 F4 系列的 HAL 固件函數(shù)庫(kù);

STM32F4_Drivers:STM32 F4 系列的 標(biāo)準(zhǔn) 固件函數(shù)庫(kù);

4.8 其他的軟件包

Fastlz:一個(gè)可移植的、實(shí)時(shí)的壓縮庫(kù);

miniLZO:一個(gè)類(lèi) LZO 壓縮庫(kù)的小型實(shí)時(shí)壓縮庫(kù);

QuickLZ:一個(gè)號(hào)稱(chēng)是世界上壓縮速度最快的壓縮庫(kù);

MultiButton:由網(wǎng)友 @liu2guang 移植的簡(jiǎn)單易用的,基于事件驅(qū)動(dòng)型的按鍵驅(qū)動(dòng)庫(kù),可無(wú)限量擴(kuò)展按鍵;

CanFestival:Canfestival (一個(gè)開(kāi)源的 CANopen 協(xié)議棧)在 RT-Thread 系統(tǒng)上的移植,由網(wǎng)友 @gbcwbz 移植。提供了 CANopen 的一些示例,力圖做到開(kāi)箱即用;

samples:RT-Thread 的示例代碼。這是一個(gè)降低新手入門(mén)學(xué)習(xí)門(mén)檻的軟件包,里面從基礎(chǔ)、內(nèi)核、文件系統(tǒng)、網(wǎng)絡(luò)以及驅(qū)動(dòng)這幾個(gè)方面,由淺入深,逐個(gè)引導(dǎo)大家去上手使用 RT-Thread 。不僅有詳細(xì)代碼及注釋?zhuān)€有完善的文檔。把這個(gè)軟件包都學(xué)會(huì),就算已經(jīng)入 RT-Thread 的門(mén)了;

hello:這是一個(gè)軟件包的模板,如果想要制作軟件包,需要可以借鑒它。

5、軟件包的未來(lái)

從去年 9 月 RT-Thread 3.0 發(fā)布至今,RT-Thread 官方團(tuán)隊(duì)和我們開(kāi)發(fā)者在半年多的時(shí)間里積累下來(lái) 40 多個(gè)軟件包足以說(shuō)明的 RT-Thread 軟件生態(tài)的強(qiáng)大。當(dāng)然我們并沒(méi)有滿(mǎn)足于此,未來(lái)已經(jīng)有更多的、更高質(zhì)量的軟件包在我們開(kāi)放計(jì)劃中了,例如:

AT 命令庫(kù):同時(shí)支持 AT 服務(wù)器及客戶(hù)端,提供 CLI 命令行交互調(diào)試模式,自動(dòng)檢測(cè)參數(shù)格式等等實(shí)用功能。已經(jīng)進(jìn)入發(fā)布倒計(jì)時(shí);

低功耗框架:超低功耗設(shè)計(jì)、系統(tǒng)自動(dòng)休眠,動(dòng)態(tài)調(diào)頻調(diào)壓,應(yīng)用不需要關(guān)心低功耗狀態(tài);

軟件包的積累將會(huì)是一個(gè)量變到質(zhì)變過(guò)程,能夠匯集到更多大家常用的軟件組件。真正做到,底層使用 RT-Thread 操作系統(tǒng),上層使用搭積木方式開(kāi)發(fā)應(yīng)用。

當(dāng)然,距離這個(gè)目標(biāo)還是有一定的距離。RT-Thread 作為國(guó)內(nèi)最為活躍嵌入式開(kāi)源社區(qū),深刻體會(huì)到了開(kāi)放的心態(tài)所能產(chǎn)生的價(jià)值。期待更多的人來(lái)使用、反饋甚至是創(chuàng)建自己的軟件包。換個(gè)角度去想,也許今天你的分享所產(chǎn)生的積累,未來(lái)可能會(huì)是你解決明天困難的“鑰匙”。

最后,借用一句歌詞:如果人人都貢獻(xiàn)(包括反饋)軟件包,嵌入式將變成美好的明天

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2909

    文章

    44557

    瀏覽量

    372753
  • 軟件包
    +關(guān)注

    關(guān)注

    0

    文章

    104

    瀏覽量

    11590
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1285

    瀏覽量

    40079

原文標(biāo)題:RT-Thread 軟件包介紹

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RT-Thread記錄(十八、SHT21與24C02軟件包

    本文學(xué)習(xí)測(cè)試一下幾款典型設(shè)備的 RT-Thread I2C軟件包
    的頭像 發(fā)表于 07-08 11:07 ?3396次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(十八、SHT21與24C02<b class='flag-5'>軟件包</b>)

    RT-Thread Studio添加軟件包報(bào)錯(cuò)怎么解決?

    RT-Thread Studio添加軟件包報(bào)錯(cuò)ImportError: No module named psutil
    發(fā)表于 03-01 08:41

    RT-Thread OneNET軟件包的功能特點(diǎn)是什么?

    有哪位大神能否介紹一下OneNET 平臺(tái) 。 RT-Thread OneNET 軟件包功能特點(diǎn)是什么?
    發(fā)表于 04-02 06:39

    介紹RT-Thread軟件包

    學(xué)習(xí)要點(diǎn)介紹 RT-Thread軟件包;簡(jiǎn)介 nRF24L01 軟件包的使用,講解如何使用此軟件包將數(shù)據(jù)正確發(fā)送和接收;學(xué)習(xí)線(xiàn)程間的通信,IPC 的使用,即獲取溫度的線(xiàn)程 A 與無(wú)
    發(fā)表于 07-27 06:07

    使用menuconfig配置基于RT-Thread的NimBLE軟件包

    controller 功能的選項(xiàng),當(dāng)其沒(méi)有被定義時(shí),NimBLE 軟件包中藍(lán)牙 controller 部分功能則會(huì)被屏蔽失效。還有一些宏可以用于定義運(yùn)行參數(shù),例如棧大小、線(xiàn)程優(yōu)先級(jí)等,關(guān)于
    發(fā)表于 06-27 11:18

    使用RT-Thread Studio開(kāi)發(fā)CH32V307實(shí)現(xiàn)按鍵軟件包使用

    使用上篇帖子創(chuàng)建的工程,使用RT-Thread Studio軟件包添加工具,快速實(shí)現(xiàn)MultiButton的使用在RT-Thread Studio工程內(nèi)打開(kāi)RT-Thread Sett
    發(fā)表于 04-15 21:16

    RT-Thread 軟件包介紹

    。所以,想要成為高級(jí)程序員就快來(lái)使用、創(chuàng)造軟件包吧~軟件包定義RT-Thread 軟件包:運(yùn)行于 RT
    發(fā)表于 05-21 19:38 ?5552次閱讀

    RT-Thread社區(qū)上有哪些優(yōu)秀的軟件包?

    SX12XX 軟件包是基于 semtech 官網(wǎng) Firmware Drivers V2.1.0代碼庫(kù)的移植實(shí)現(xiàn),目前只支持 SX1278 LoRa設(shè)備。該軟件包在原代碼庫(kù)功能的基礎(chǔ)上,對(duì)接 RT-Thread SPI 設(shè)備驅(qū)動(dòng)
    的頭像 發(fā)表于 04-03 15:35 ?7630次閱讀

    RT-Thread v4.1.0中FAL介紹

    在 V4.1.0 中,將 fal 軟件包重新定義RT-Thread 內(nèi)部組件。
    的頭像 發(fā)表于 04-26 13:34 ?3842次閱讀

    2022 RT-Thread全球技術(shù)大會(huì):RT-Thread軟件包

    RT-Thread在2022年上半年新增幾十個(gè)軟件包:rtt-rust、LuatOS、gui-guider-demo。
    的頭像 發(fā)表于 05-27 14:12 ?1052次閱讀
    2022 <b class='flag-5'>RT-Thread</b>全球技術(shù)大會(huì):<b class='flag-5'>RT-Thread</b><b class='flag-5'>軟件包</b>

    RT-Thread全球技術(shù)大會(huì):恩智浦新增100+軟件包

    RT-Thread全球技術(shù)大會(huì):恩智浦新增100+軟件包,支持了很多有用的功能。 ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:26 ?954次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會(huì):恩智浦新增100+<b class='flag-5'>軟件包</b>

    RT-Thread在線(xiàn)軟件包改為本地軟件包的方法

    RT-Thread軟件包,使用時(shí)需要手動(dòng)通過(guò) ENV 工具 更新到 本地的 packages 目錄,并且 packages 目錄默認(rèn)不參與 Git 工程管理,軟件包多了,偶爾需要更改軟件包
    的頭像 發(fā)表于 08-11 15:02 ?1210次閱讀
    <b class='flag-5'>RT-Thread</b>在線(xiàn)<b class='flag-5'>軟件包</b>改為本地<b class='flag-5'>軟件包</b>的方法

    RT-Thread使用cjson軟件包發(fā)送64位長(zhǎng)整型數(shù)據(jù)

    開(kāi)發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源為0.2.2,rt-thread版本為4.1.1,cjson軟件包使
    的頭像 發(fā)表于 10-11 15:09 ?916次閱讀
    <b class='flag-5'>RT-Thread</b>使用cjson<b class='flag-5'>軟件包</b>發(fā)送64位長(zhǎng)整型數(shù)據(jù)

    RT-Thread中Agile Modbus軟件包的使用方法

    開(kāi)發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源為0.2.2,Agile Modbus軟件包版本為v1.1.2。工程使用上一篇
    的頭像 發(fā)表于 10-11 15:37 ?2668次閱讀
    <b class='flag-5'>RT-Thread</b>中Agile Modbus<b class='flag-5'>軟件包</b>的使用方法

    RT-Thread中mymqtt軟件包的使用方法

    在上一篇文章 RT-Thread中Lan8720和lwip協(xié)議棧的使用的工程基礎(chǔ)上添加mymqtt軟件包。 使能mqtt example和mqtt test,保存,等待下載更新軟件包。
    的頭像 發(fā)表于 10-13 10:44 ?974次閱讀
    <b class='flag-5'>RT-Thread</b>中mymqtt<b class='flag-5'>軟件包</b>的使用方法
    RM新时代网站-首页