新聞中心
RTOS 是一個(gè)開源的 ??嵌入式設(shè)備操作系統(tǒng)??,由 RT-Thread 開發(fā)。它為開發(fā)者提供了標(biāo)準(zhǔn)化的、友好的基礎(chǔ)架構(gòu),開發(fā)者可以基于各種設(shè)備編寫代碼,它包含大量有用的類庫(kù)和工具包,使開發(fā)過程更加便捷。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)高安免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
RTOS 使用的是模塊方式,以便于擴(kuò)展,這一點(diǎn)跟 Linux 類似。各種軟件包可以讓開發(fā)者將 RTOS 用于任何想要的目標(biāo)設(shè)備。RTOS 最常用的一種擴(kuò)展是 AT 設(shè)備包,它包含各種不同 AT 設(shè)備(例如調(diào)制解調(diào)器)的移植文件和示例代碼。
在超過 62,000 次下載中(截止至撰寫本文時(shí)),最流行的 RTOS 擴(kuò)展之一是 AT 設(shè)備包,其中包括用于不同 AT 設(shè)備的移植文件和示例代碼。
關(guān)于 AT 命令
起初,AT 命令是一個(gè)協(xié)議,用于控制撥號(hào)調(diào)制解調(diào)器。隨著調(diào)制解調(diào)器技術(shù)發(fā)展到較高的帶寬,它仍然可以用作輕量級(jí)而高效的設(shè)備控制協(xié)議,主流的移動(dòng)電話廠商也聯(lián)手開發(fā)了一系列 AT 命令,用于控制移動(dòng)電話上的 GSM 模塊。
如今,AT 命令仍然在網(wǎng)絡(luò)通信領(lǐng)域具有通用性,很多設(shè)備,例如 WiFi、藍(lán)牙、4G,都支持 AT 命令。
如果你正在創(chuàng)建用于邊緣計(jì)算輸入、監(jiān)控或物聯(lián)網(wǎng)(IoT)的專用設(shè)備,則你可能接觸到一些 RTOS 支持的 AT 設(shè)備,包括 ESP8266、ESP32、M26、MC20、RW007、MW31、SIM800C、W60X、SIM76XX、A9/A9G、BC26、AIR720、ME3616、M 6315、BC28 和 EC200X。
RT-Thread 包含套接字抽象層(SAL)組件,SAL 實(shí)現(xiàn)了多種網(wǎng)絡(luò)協(xié)議和接口的抽象,為上層提供了一系列標(biāo)準(zhǔn)的 ??BSD 套接字?? API。SAL 進(jìn)而接管了 AT 的套接字接口,所以開發(fā)者只需要考慮網(wǎng)絡(luò)應(yīng)用層提供的網(wǎng)絡(luò)接口。
這個(gè)軟件包實(shí)現(xiàn)了設(shè)備(包括上述設(shè)備)上的 AT 套接字功能,支持通過標(biāo)準(zhǔn)套接字接口以 AT 命令的形式通信。??RT-Thread 編程指南?? 中就有關(guān)于這些功能的詳細(xì)介紹。
at_device 軟件包是在 LGPLv2.1 許可證下分發(fā)的,借助 ??RT-Thread Env 工具?? 可以方便地獲取到。該工具包含一個(gè)配置器和一個(gè)包管理器,它們分別用于配置內(nèi)核和組件功能,可以用于定制組件并管理在線包。有了這些工具,開發(fā)者可以像搭積木一樣構(gòu)建系統(tǒng)。
獲取 AT 設(shè)備包
為了使用配置了 RTOS 的 AT 設(shè)備,你必須啟用 AT 組件庫(kù)和 AT 套接字功能,需要:
- RT_Thread 4.0.2+
- RT_Thread AT 組件 1.3.0+
- RT_Thread SAL 組件
- RT-Thread netdev 組件
AT 設(shè)備包已經(jīng)針對(duì)多種版本進(jìn)行了相應(yīng)的更新。版本不同,配置選項(xiàng)也相應(yīng)地不同,因此必須針對(duì)相應(yīng)的系統(tǒng)版本進(jìn)行適配。目前最常用的 AT 設(shè)備包版本有:
- V1.2.0: 針對(duì)低于 V3.1.3 的 RT-Thread,V1.0.0 的 AT 組件
- V1.3.0: 針對(duì)低于 V3.1.3 的 RT-Thread,V1.1.0 的 AT 組件
- V1.4.0: 針對(duì)低于 V3.1.3 或等于 V4.0.0 的 RT-Thread,V1.2.0 的 AT 組件
- V1.5.0: 針對(duì)低于 V3.1.3 或等于 V4.0.0 的 RT-Thread,V1.2.0 的 AT 組件
- V1.6.0: 針對(duì)低于 V3.1.3 或等于 V4.0.1 的 RT-Thread,V1.2.0 的 AT 組件
- V2.0.0/V2.0.1: 針對(duì)高于 V3.1.3 的 RT-Thread,V1.3.0 的 AT 組件
- 最新版: 針對(duì)高于 V3.1.3 的 RT-Thread,V1.3.0 的 AT 組件
獲取正確的版本的過程主要是在生成菜單時(shí)自動(dòng)完成的。它基于現(xiàn)有的系統(tǒng)環(huán)境提供最合適的 AT 設(shè)備包。
正如前文提到的,不同的版本需要不同的配置選項(xiàng)。例如,
RT-Thread online packages --->
IoT - internet of things --->
-*- AT DEVICE: RT-Thread AT component porting or samples for different device
[ ] Enable at device init by thread
AT socket device modules (Not selected, please select) --->
Version (V1.6.0) --->
按線程啟用 AT 設(shè)備初始化的選項(xiàng)決定了配置是否創(chuàng)建一個(gè)單獨(dú)的線程來初始化設(shè)備網(wǎng)絡(luò)。
2.x 版本支持同時(shí)啟用多個(gè) AT 設(shè)備:
RT-Thread online packages --->
IoT - internet of things --->
-*- AT DEVICE: RT-Thread AT component porting or samples for different device
[*] Quectel M26/MC20 --->
[*] Enable initialize by thread
[*] Enable sample
(-1) Power pin
(-1) Power status pin
(uart3) AT client device name
(512) The maximum length of receive line buffer
[ ] Quectel EC20 --->
[ ] Espressif ESP32 --->
[*] Espressif ESP8266 --->
[*] Enable initialize by thread
[*] Enable sample
(realthread) WIFI ssid
(12345678) WIFI password
(uart2) AT client device name
(512) The maximum length of receive line buffer
[ ] Realthread RW007 --->
[ ] SIMCom SIM800C --->
[ ] SIMCom SIM76XX --->
[ ] Notion MW31 --->
[ ] WinnerMicro W60X --->
[ ] AiThink A9/A9G --->
[ ] Quectel BC26 --->
[ ] Luat air720 --->
[ ] GOSUNCN ME3616 --->
[ ] ChinaMobile M6315 --->
[ ] Quectel BC28 --->
[ ] Quectel ec200x --->
Version (latest) --->
這個(gè)版本包含了很多其他選項(xiàng),其中也有啟用示例代碼的選項(xiàng),這對(duì)初學(xué)者或使用不熟悉的設(shè)備的開發(fā)者很有幫助。
你也可以設(shè)置相應(yīng)選項(xiàng),選擇你想用來給你的組件供電的針腳、指示電源狀態(tài)的針腳、樣本設(shè)備使用的串行設(shè)備的名稱,以及樣本設(shè)備接收數(shù)據(jù)的最大長(zhǎng)度。在合適的設(shè)備上,你也可以設(shè)置 SSID 和密碼。
簡(jiǎn)而言之,控制選項(xiàng)是夠用的。
- V2.x.x 版本支持同時(shí)啟用多個(gè) AT 設(shè)備,欲查看啟用的設(shè)備信息,在 ??finsh shell?? 中執(zhí)行 ?
?ifocnfig?? 命令即可。 - V2.X.X 版本需要設(shè)備在使用前先注冊(cè);注冊(cè)可以在樣例目錄中進(jìn)行,或在應(yīng)用層以自定義方式進(jìn)行。
- 針腳選項(xiàng),例如電源針腳和電源狀態(tài)針腳是按照設(shè)備的硬件連接來配置的。如果硬件的開啟功能不可用,它們就會(huì)被設(shè)置為 ?
?-1??。 - 一臺(tái)AT 設(shè)備應(yīng)當(dāng)對(duì)應(yīng)一個(gè)序列名稱,每臺(tái)設(shè)備的 AT 客戶端名稱應(yīng)當(dāng)是不同的。
AT 組件配置選項(xiàng)
當(dāng)選擇了 AT 組件包,啟用了設(shè)備支持,AT 組件的客戶端功能也就默認(rèn)選擇完成了。對(duì) AT 組件來說,這就意味著有更多的選項(xiàng)要設(shè)置:
RT-Thread Components --->
Network --->
AT commands --->
[ ] Enable debug log output
[ ] Enable AT commands server
-*- Enable AT commands client
(1) The maximum number of supported clients
-*- Enable BSD Socket API support by AT commnads
[*] Enable CLI(Command-Line Interface) for AT commands
[ ] Enable print RAW format AT command communication data
(128) The maximum length of AT Commonds buffer
與 AT 設(shè)備包有關(guān)的配置選項(xiàng)有:
- 支持的客戶端最大個(gè)數(shù):選擇 AT 設(shè)備包中的多臺(tái)設(shè)備時(shí),需要將該選項(xiàng)配置為對(duì)應(yīng)的設(shè)備臺(tái)數(shù);
- 通過 AT 命令啟用 BSD 套接字 API 功能:當(dāng)選擇 AT 設(shè)備包時(shí)默認(rèn)選擇該選項(xiàng)。
- AT 命令的最大長(zhǎng)度:AT 命令可發(fā)送的數(shù)據(jù)的最大長(zhǎng)度
一切皆有可能
當(dāng)你開始進(jìn)行嵌入式系統(tǒng)編程,你會(huì)很快意識(shí)到,你可以創(chuàng)造自己想象得到得任何東西。RTOS 旨在幫助你實(shí)現(xiàn)它,它的那些功能包為你提供了良好的開端?,F(xiàn)在,設(shè)備的互聯(lián)也是可期待的。邊緣的物聯(lián)網(wǎng)技術(shù)必須能夠通過各種協(xié)議進(jìn)行通信,而 AT 協(xié)議是關(guān)鍵。
當(dāng)前名稱:通過編寫嵌入式系統(tǒng)入門邊緣計(jì)算
分享路徑:http://www.5511xx.com/article/coejiho.html


咨詢
建站咨詢
