一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

RT-Thread發(fā)布AT組件,讓AT設(shè)備開發(fā)更簡(jiǎn)單

電子設(shè)計(jì) ? 來源:電子發(fā)燒友網(wǎng) ? 作者:佚名 ? 2018-07-26 17:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AT 命令采用標(biāo)準(zhǔn)串口進(jìn)行數(shù)據(jù)收發(fā),將以前復(fù)雜的設(shè)備通訊方式轉(zhuǎn)換成簡(jiǎn)單的串口編程,大大簡(jiǎn)化了產(chǎn)品的硬件設(shè)計(jì)和軟件開發(fā)成本,這使得幾乎所有的網(wǎng)絡(luò)模組如GPRS、3G/4G 、NB-IoT、藍(lán)牙、WiFi 、GPS 等模組都采用AT命令。

隨著物聯(lián)網(wǎng)時(shí)代的發(fā)展,AT 命令被廣泛的用于單片機(jī)MCU)+ 網(wǎng)絡(luò)模塊 這樣的物聯(lián)網(wǎng)開發(fā)模式,但是對(duì)于不同設(shè)備的 AT 命令,其數(shù)據(jù)的收發(fā)和解析方式都大不相同,這直接提高開發(fā)的復(fù)雜度,也不利于代碼的維護(hù)和重用。

為了解決不同網(wǎng)絡(luò)模塊 AT 命令之間的差異導(dǎo)致的重復(fù)開發(fā)的問題,RT-Thread 發(fā)布了 AT 組件用于 AT 設(shè)備開發(fā)。

image.png

RT-Thread AT 組件解決方案

RT-Thread AT 組件介紹

我們的 AT 組件,是基于 RT-Thread 系統(tǒng)的 AT 客戶端和服務(wù)器的實(shí)現(xiàn)。

image.png

RT-Thread AT 組件介紹

1.AT 命令客戶端

主要應(yīng)用 MCU + AT 模塊的場(chǎng)景,MCU 內(nèi)部為 AT 命令客戶端。其主要功能特點(diǎn)如下:

  • URC 數(shù)據(jù)處理: 完備的 URC 數(shù)據(jù)的處理方式;

  • 數(shù)據(jù)解析: 支持自定義響應(yīng)數(shù)據(jù)的解析方式,方便獲取響應(yīng)數(shù)據(jù)中相關(guān)信息;

  • 調(diào)試模式: 提供命令行交互模式,主要用于設(shè)備調(diào)試;

  • AT Socket:提供標(biāo)準(zhǔn)的網(wǎng)絡(luò)編程接口;

  • 低資源占用:4.6K ROM 和 2.0K RAM

URC: 全稱是非請(qǐng)求結(jié)果碼(Unsolicited Result Code),特指 AT 服務(wù)器主動(dòng)發(fā)送給 AT 客戶端的數(shù)據(jù)。一般在特殊情況才會(huì)發(fā)送,具有一定的隨機(jī)性。

2.AT命令服務(wù)器

常應(yīng)用于 AT 模塊內(nèi)部,使 AT 模塊可以內(nèi)置一些 AT 命令。其主要功能特點(diǎn)如下:

  • 基礎(chǔ)命令: 實(shí)現(xiàn)多種通用基礎(chǔ)命令;

  • 命令兼容: 命令支持忽略大小寫,提高命令兼容性;

  • 命令檢測(cè): 命令支持自定義參數(shù)表達(dá)式,并實(shí)現(xiàn)對(duì)接收的命令參數(shù)自檢測(cè)功能;

  • 命令注冊(cè): 提供簡(jiǎn)單的用戶自定義命令添加方式;

  • 調(diào)試模式: 提供命令行交互模式,主要用于設(shè)備調(diào)試。

  • 低資源占用: 4.0K ROM 和 2.5K RAM。

AT 組件的創(chuàng)新

RT-Thread 的 AT 組件不僅僅有全面、完善的功能,還在用戶使用、調(diào)試測(cè)試等細(xì)節(jié)方面做了充分的考慮。保證了資源占用低的同時(shí),也能讓用戶用起來非常順手。下面這些都是我們做出來的創(chuàng)新:

1.靈活的響應(yīng)數(shù)據(jù)解析方式

響應(yīng)數(shù)據(jù)的解析作為 AT 模塊開發(fā)的另一大難題,不同設(shè)備的命令、同一設(shè)備的不同命令的響應(yīng)數(shù)據(jù)解析方式都可能大不相同,這大大增加開發(fā)者從響應(yīng)數(shù)據(jù)中獲取有效數(shù)據(jù)的難度。

RT-Thread 對(duì)于響應(yīng)數(shù)據(jù)的解析方式,提供了多種解析接口。比如:可以通過行號(hào)解析,也可以通過關(guān)鍵字查找解析。解析的方式還使用了標(biāo)準(zhǔn) scanf 的表達(dá)式,它支持 正則表達(dá)式。使開發(fā)者在保存原始響應(yīng)數(shù)據(jù)的同時(shí),輕松的解析出想要的重要數(shù)據(jù)。

2.完備的URC 數(shù)據(jù)的處理機(jī)制

URC 數(shù)據(jù)為服務(wù)器主動(dòng)下發(fā)的數(shù)據(jù),一般在特殊情況才會(huì)發(fā)送,比如:開機(jī)日志,網(wǎng)絡(luò)連接提示等。對(duì)于這些特殊情況,開發(fā)者往往都非常頭疼。

因?yàn)?URC 數(shù)據(jù)一般沒有固定格式,并且可能隨機(jī)發(fā)送,處理不好很容易影響到整個(gè)數(shù)據(jù)的交互流程。所以對(duì)于 URC 的處理需要一個(gè)非常完善的機(jī)制。

目前, AT 組件已具備強(qiáng)大的 URC 處理框架,確保每個(gè) URC 數(shù)據(jù)都能得到合理的處理,并且支持對(duì)每一個(gè) URC 數(shù)據(jù)執(zhí)行自定義的操作。

3.簡(jiǎn)化 AT 命令的收發(fā)流程

對(duì)于傳統(tǒng)的 AT 模塊開發(fā)流程,一個(gè) AT 命令收發(fā)的整個(gè)流程可能需要多個(gè)步驟的處理,包括命令發(fā)送、發(fā)送結(jié)果判斷、接收響應(yīng)數(shù)據(jù)、響應(yīng)結(jié)果判斷等多個(gè)步驟。且不同命令的處理方式不同,導(dǎo)致代碼很難被重用。

AT 組件中命令收發(fā),只需要通過 一個(gè)函數(shù) 實(shí)現(xiàn),且該函數(shù)返回響應(yīng)結(jié)果并處理了響應(yīng)數(shù)據(jù),方便后續(xù)使用。極大的簡(jiǎn)化了交互流程。

4.提供標(biāo)準(zhǔn)的網(wǎng)絡(luò)編程接口

在使用 AT 模塊后,一般的單片機(jī)可以通過 AT 命令,完成設(shè)備的網(wǎng)絡(luò)連接、數(shù)據(jù)透?jìng)鞯裙δ堋5呛茈y復(fù)用之前已開發(fā)過的,基于標(biāo)準(zhǔn) BSD Socket API 的代碼,例如: MQTT、HTTP、Web Socket 等。即使在一個(gè)模塊上實(shí)現(xiàn)了上網(wǎng)功能,但是最終又很難復(fù)用到其他的產(chǎn)品上。

RT-Thread 的 AT 組件在 AT 客戶端的基礎(chǔ)上實(shí)現(xiàn)了 AT Socket 功能,該功能是 SAL (Socket 抽象層)的一種實(shí)現(xiàn)。為上層提供標(biāo)準(zhǔn)的 BSD Socket 網(wǎng)絡(luò)編程接口。在使用 AT 模塊的產(chǎn)品上,極大的簡(jiǎn)化了網(wǎng)絡(luò)開發(fā)代碼并增強(qiáng)了軟件可重用性。

RT-Thread 已對(duì)接常用的 AT 模塊

當(dāng)前RT-Thread 已提供針對(duì)于移遠(yuǎn)的 M26 GPRS 模塊、樂鑫的 ESP8266 WiFi 模塊的對(duì)接文件。其他熱門的無線模組,RT-Thread也將會(huì)優(yōu)先支持(歡迎留言說說你希望RT-Thread優(yōu)先支持的AT模塊),開發(fā)者可以根據(jù)RT-Thread提供的AT組件編程手冊(cè)(https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-manual-doc/zh/1chapters/14-chapter_at/)方便快捷的自行完成對(duì)接。

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

    關(guān)注

    2930

    文章

    46201

    瀏覽量

    391901
  • GPRS
    +關(guān)注

    關(guān)注

    21

    文章

    985

    瀏覽量

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

    關(guān)注

    32

    文章

    1402

    瀏覽量

    41875
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    965

    瀏覽量

    47367
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RT-Thread記錄(一、版本開發(fā)環(huán)境及配合CubeMX)

    RT-Thread 學(xué)習(xí)記錄的第一篇文章,RT-Thread記錄(一、RT-Thread 版本、RT-Thread Studio開發(fā)環(huán)境 及
    的頭像 發(fā)表于 06-20 00:28 ?5949次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(一、版本<b class='flag-5'>開發(fā)</b>環(huán)境及配合CubeMX)

    如何更好地使用RT-Thread AT組件?

    本文介紹了RT-Thread AT組件的基本知識(shí)和AT客戶端的使用方法,幫助開發(fā)者更好地使用RT-Thread AT組件。
    發(fā)表于 03-30 07:23

    如何使用RT-Thread AT組件

    RT-Thread AT 組件的基本知識(shí)和使用方法,幫助大家更好地使用 RT-Thread AT 組件。在實(shí)際開發(fā)中,我們常有聯(lián)網(wǎng)的需求,
    發(fā)表于 12-10 06:14

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開發(fā)組(2015-03-31)。RT-Thread做為國(guó)內(nèi)有較大影響力的開源實(shí)時(shí)操作系統(tǒng),本文是RT
    發(fā)表于 11-26 16:06 ?0次下載

    RT-Thread開發(fā),如何有效學(xué)習(xí)RT-Thread的五個(gè)步驟

    RT-Thread推出RT-Thread Inside戰(zhàn)略開放RT-Thread開發(fā)平臺(tái)授權(quán)合作,與硬件十萬個(gè)為什么合作首次推出第一款RT-
    的頭像 發(fā)表于 09-25 09:55 ?3.5w次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>開發(fā)</b>,如何有效學(xué)習(xí)<b class='flag-5'>RT-Thread</b>的五個(gè)步驟

    RT-Thread軟件包定義和使用

    RT-Thread軟件包是運(yùn)行于RT-Thread物聯(lián)網(wǎng)操作系統(tǒng)平臺(tái)上,面向不同應(yīng)用領(lǐng)域的通用軟件組件 。RT-Thread 同時(shí)提供了開放的軟件包平臺(tái),為
    的頭像 發(fā)表于 05-21 11:29 ?1.1w次閱讀
    <b class='flag-5'>RT-Thread</b>軟件包定義和使用

    RT-Thread 應(yīng)用筆記 - RTC Alarm 組件的使用

    RT-Thread 應(yīng)用筆記 - 不正確使用LOG也會(huì)引發(fā)hard faultRT-Thread 應(yīng)用筆記 - RTC Alarm 組件的使用RT-Thread 應(yīng)用筆記 - free
    發(fā)表于 01-25 18:18 ?10次下載
    <b class='flag-5'>RT-Thread</b> 應(yīng)用筆記 - RTC Alarm <b class='flag-5'>組件</b>的使用

    RT-Thread學(xué)習(xí)筆記 RT-Thread的架構(gòu)概述

    的種種優(yōu)越之處。RT-Thread 是一款完全由國(guó)內(nèi)團(tuán)隊(duì)開發(fā)維護(hù)的嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),具有完全的自主知識(shí)產(chǎn)權(quán)。經(jīng)過 16 個(gè)年頭的沉淀,伴隨著物聯(lián)網(wǎng)的興起,它正演變成一個(gè)功能強(qiáng)大、組件豐富的物
    的頭像 發(fā)表于 07-09 11:27 ?5013次閱讀
    <b class='flag-5'>RT-Thread</b>學(xué)習(xí)筆記 <b class='flag-5'>RT-Thread</b>的架構(gòu)概述

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    RT-Thread文檔_UART 設(shè)備

    RT-Thread文檔_UART 設(shè)備
    發(fā)表于 02-22 18:32 ?4次下載
    <b class='flag-5'>RT-Thread</b>文檔_UART <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_PWM 設(shè)備

    RT-Thread文檔_PWM 設(shè)備
    發(fā)表于 02-22 18:35 ?2次下載
    <b class='flag-5'>RT-Thread</b>文檔_PWM <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_SPI 設(shè)備

    RT-Thread文檔_SPI 設(shè)備
    發(fā)表于 02-22 18:36 ?3次下載
    <b class='flag-5'>RT-Thread</b>文檔_SPI <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_Pulse Encoder 設(shè)備

    RT-Thread文檔_Pulse Encoder 設(shè)備
    發(fā)表于 02-22 18:39 ?1次下載
    <b class='flag-5'>RT-Thread</b>文檔_Pulse Encoder <b class='flag-5'>設(shè)備</b>

    RT-Thread文檔_FAL 組件

    RT-Thread文檔_FAL 組件
    發(fā)表于 02-22 18:41 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_FAL <b class='flag-5'>組件</b>

    RT-Thread v5.0.2 發(fā)布

    ://github.com/RT-Thread/rt-thread/releases/tag/v5.0.2 RT-Thread 迎來了全新的版本 v5.0.2,自 v5.0.0?版本發(fā)布
    的頭像 發(fā)表于 10-10 18:45 ?1941次閱讀
    <b class='flag-5'>RT-Thread</b> v5.0.2 <b class='flag-5'>發(fā)布</b>