• Stars
    star
    214
  • Rank 184,643 (Top 4 %)
  • Language
    C
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

AT component porting or samples for different devices

AT device

Chinese | English

1. Introduction

The AT device software package is composed of the transplantation files and sample codes of the RT-Thread AT component for different AT devices. Currently supported AT devices are: ESP8266, ESP32, M26, MC20, RW007, MW31, SIM800C, W60X, SIM76XX, A9/ A9G, BC26, AIR720, ME3616, M6315, BC28, EC200X, M5311, L610 series devices, etc. At present, the above devices have completed the transplantation of the AT socket function, and the device implements the standard socket programming interface through AT commands to complete the socket communication For detailed function introduction, please refer to "RT-Thread Programming Guide" AT command chapter.

1.1. Directory structure

Name Description
src AT device implementation source code directory
inc AT device header file directory
sample Sample file directory for different devices
class Migration and adaptation catalog of AT components for different devices
class/esp8266 ESP8266 device's migration directory for AT components, realizing AT Socket function
class/esp32 ESP32 device's migration directory for AT components to realize AT Socket function
class/rw007 RW007 device is a migration directory for AT components, realizing AT Socket function
class/sim800c SIM800C device for AT component transplantation directory, realize AT Socket function
class/sim76xx SIM76XX device's migration directory for AT components, realizing AT Socket function
class/m26 M26/MC20 device's migration directory for AT components, realizing AT Socket function
class/ec20 EC20 device's migration directory for AT components, realizing AT Socket function
class/mw31 Migration directory for AT components of MW31 equipment, realizing AT Socket function
class/w60x W60X device's migration directory for AT components, realizing AT Socket function
class/a9g A9G device's migration directory for AT components, realizing AT Socket function
class/bc26 The migration directory of bc26 device aiming at AT components to realize AT Socket function
class/air720 Air720 device is aimed at AT component transplantation catalog, realizes AT Socket function
class/me3616 The me3616 device is aimed at the transplantation directory of AT components, and realizes the AT Socket function
class/m6315 The migration directory of m6315 equipment for AT components, realizes the AT Socket function
class/bc28 The migration directory of bc28 equipment for AT components, realizes AT Socket function
class/ec200x EC200T, EC200S equipment for AT component migration catalog, realize AT Socket function
class/n21 N21 device's transplantation directory for AT components to realize AT Socket function
class/n58 N58 device's migration directory for AT components, realizing AT Socket function
class/m5311 M5311 device is aimed at AT component transplantation catalog, realizes AT Socket function
class/l610 A migration directory for AT components of L610 equipment, realizing AT Socket function
class/ml305 A migration directory for AT components of ML305 equipment, realizing AT Socket function

1.2 License

See the LICENSE file for details.

1.3 Dependency

  • RT_Thread 4.0.2+
  • RT_Thread AT component 1.3.0+
  • RT_Thread SAL component
  • RT-Thread netdev component

2. How to Obtain

The AT device software package is a transplantation of the AT component and AT socket function. You need to enable the AT component library and AT socket function to obtain the AT device software package.

Version number description

At present, the AT device software package has been released in multiple versions, and the option configuration method between each version and its corresponding system version are different. The following mainly lists the currently available software package version information:

  • V1.2.0: applicable to RT-Thread version less than V3.1.3, AT component version equal to V1.0.0;
  • V1.3.0: applicable to RT-Thread version less than V3.1.3, AT component version equal to V1.1.0;
  • V1.4.0: applicable to RT-Thread version less than V3.1.3 or equal to V4.0.0, AT component version equal to V1.2.0;
  • V1.5.0: Suitable for RT-Thread version less than V3.1.3 or equal to V4.0.0, AT component version equal to V1.2.0;
  • V1.6.0: applicable to RT-Thread version equal to V3.1.3 or equal to V4.0.1, AT component version equal to V1.2.0;
  • V2.0.0/V2.0.1: applicable to RT-Thread version greater than V4.0.1 or greater than 3.1.3, AT component version equal to V1.3.0;
  • latest: Only applicable to RT-Thread version greater than V4.0.1 or greater than 3.1.3, AT component version equal to V1.3.0;

The above version judgment is automatically completed in menuconfig. When the at_device software package selects the version, it will give the best version support according to the current system environment. The version introduction is used as a reference for the operating environment.

For different version numbers, the option configuration in ENV is also different, mainly divided into the following parts:

V1.X.X version configuration options introduction

Open the AT device software package. This version only supports Enable one AT device at the same time. The configuration options are as follows:

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) --->
  • Enable at device init by thread: Configure whether to enable the device network initialization to be completed by creating a thread;

  • AT socket device modules: AT device selection, currently only supports RW007、ESP8266、M26/MC20、EC20、SIM800C、SIM76XX. More device support should choose V2.X.X branch.

  • Version: download the software package version;

V2.X.X (latest) version configuration options introduction

Open the AT device software package, this version supports open multiple AT devices at the same time configuration options are as follows:

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 --->
        [] Neoway N21 --->
        [] Neoway N58 --->
        [] ChinaMobile M5311 --->
        [] ChinaMobile ML305 --->
        Version (latest) --->
  • Quectel M26/MC20: enable M20/MC20 (2G module) device support;
    • Enable initialize by thread: enable the use of threads to initialize the device (non-blocking mode initialization);
    • Enable sample: Open the sample code, the sample code has the registration of the sample device;
    • Power pin: Configure the power-on pin of the sample device;
    • Power status pin: Configure the power status pin of the sample device;
    • AT client device name: Configure the serial device name used by the sample device;
    • The maximum length of receive line buffer: Configure the maximum data length received in one line of the sample device;
  • Quectel EC20: enable EC20 (4G module) device support;
  • Espressif ESP8266: enable ESP8266 (WIFI module) device support;
    • Enable initialize by thread: enable the use of threads to initialize the device (non-blocking mode initialization);
    • Enable sample: Open the sample code, the sample code has the registration of the sample device;
    • WIFI ssid: Configure the WIFI user name connected to the sample device;
    • WIFI password: Configure the WIFI password connected to the sample device;
    • AT client device name: Configure the serial device name used by the sample device;
    • The maximum length of receive line buffer: Configure the maximum length of data received in one line of the sample device;
  • Espressif ESP32: enable ESP32 (WIFI module) device support;
  • Realthread RW007: enable RW007 (WIFI module) device support;
  • SIMCom SIM800C: enable SIM800C (2G module) device support;
  • SIMCom SIM76XX: enable SIM76XX (4G module) device support;
  • Notion MW31: enable MW31 (WIFI module) device support;
  • WinnerMicro W60X: enable W60X (WIFI module) device support;
  • AiThink A9/A9G: enable A9/A9G (2G module) device support;
  • Quectel BC26: enable BC26 (NB-IOT module) device support;
  • Luat Air720: enable air720 (4g module) device support;
  • GOSUNCN ME3616: enable ME3616 (NB-IOT module) device support;
  • ChinaMobile M6315: enable M6315 (2G module) device support;
  • Quectel BC28: enable BC28 (NB-IoT module) device support;
  • Quectel EC200X: enable EC200T, EC200S (4G module) device support;
  • Neoway N21: enable N21 (NB-IoT module) device support;
  • Neoway N58: enable N58 (4G module) device support;
  • ChinaMobile M5311: enable M5311 (NB-IoT module) device support;
  • ChinaMobile ML305: enable ML305 (4G module) device support;
  • Version: download the software package version;

The above configuration options take 2G module and WIFI module options as examples to introduce the configuration method of the AT device software package of the V2.X.X version. The following points are worth noting:

  • V2.X.X version supports multiple AT devices to be turned on at the same time. You can view the information of the turned on devices through the ifocnfig command in FinSH;
  • Devices of V2.X.X version need to be registered before they can be used. Currently, device registration is completed in the samples directory file, and users can also customize device registration at the application layer.
  • Pin options such as Power pin and Power status pin are configured according to the specific device hardware connection. If the hardware power-on function is not used, it can be configured as -1;
  • An AT device corresponds to a serial port name, and the AT client device name configured for each device should be different.

Introduction to AT component related configuration options

After the AT device software package is selected and the related device support is enabled, the client function of the AT component will be selected by default. The following are the AT component configuration options.

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 lenght of AT Commonds buffe

Among them, the configuration options related to the AT device software package:

  • The maximum number of supported clients: The maximum number of supported AT clients (multiple devices selected in the AT device software package need to be configured with the corresponding value);
  • Enable BSD Socket API support by AT commnads: enable AT Socket function support, select the AT device software package and select this option by default;
  • The maximum lenght of AT Commonds buffe: The maximum supported length of sending command data.

3. Matters needing attention

  • The module adapted to the AT device software package does not support serving as a TCP Server to complete server-related operations (such as accept, etc.);
  • The default device type of the AT device software package is not selected, and the device model needs to be specified when using it;
  • The latest version supports the access of multiple selected AT devices to realize the AT Socket function. The V1.X.X version only supports the access of a single AT device.
  • At present, multiple versions of the AT device software package are mainly used to adapt to the changes of AT components and systems. It is recommended to use the latest version of the RT-Thread system and select the latest version in the menuconfig option;
  • Please refer to the description in at_sample_xxx.c, some functions need to increase the setting value of AT_CMD_MAX_LEN, RT_SERIAL_RB_BUFSZ.

4. Related documents

5. Contact

More Repositories

1

freemodbus

A Modbus ASCII/RTU and TCP implementation
C
211
star
2

fal

Flash Abstraction Layer implentment. Manage flash device and partition.
C
130
star
3

nimble

An Apache open-source Bluetooth 5.0 stack porting on RT-Thread
C
128
star
4

rt-robot

a platform in creating new exciting robots
C
112
star
5

kernel-sample

RT-Thread kernel samples
C
81
star
6

netutils

IoT networking utilities for RT-Thread. Such as: ping, tftp, iperf, netio, ntp, telnet and tcpdump.
C
71
star
7

webclient

http client library by RT-Thread
C
67
star
8

ota_downloader

The firmware downloader which using on RT-Thread OTA component.
C
65
star
9

gui_engine

Graphics Engine (GE) in RT-Thread
C
53
star
10

wiznet

WIZnet TCP/IP chips (such as W5500/W5100..) SAL framework implement.
C
49
star
11

webnet

A lightweight, customizable embedded Web Server for RT-Thread
C
48
star
12

paho-mqtt

Eclipse Paho MQTT C/C++ client for Embedded platforms
C
43
star
13

ppp_device

lwIP PPP porting for GSM modem (like sim800)
C
39
star
14

mbedtls

An open source, portable, easy to use, readable and flexible SSL library
C
36
star
15

tinycrypt

A simple and configurable crypt library
C
34
star
16

quicklz

the world's fastest compression library
C
33
star
17

qrcode

A simple library for generating QR codes in C.
C
31
star
18

ali-iotkit

Ali Cloud SDK for IoT platform
C
30
star
19

cmux

connection multiplexing protocol for RT-Thread, support GSM0710 .etc
C
30
star
20

umqtt

A light weight, powerful, customizable, easy-to-use and embeddable mqtt client for RT-Thread
C
27
star
21

miniLZO

A mini subset of the LZO real-time data compression library
C
26
star
22

mpu-6xxx

a package of mpu6xxx driver library, compatible with mpu6000, mpu6050, mpu6500, mpu9250 and other chips.
C
25
star
23

FreeRTOS-Wrapper

RT-Thread操作系统的FreeRTOS兼容层 | FreeRTOS Application Compatibility Layer (ACL) for RT-Thread
C
25
star
24

wavplayer

Minimal music player for wav file.
C
23
star
25

peripheral-sample

RT-Thread peripheral samples
C
22
star
26

cJSON

Ultralightweight JSON parser in ANSI C
C
21
star
27

jerryscript

JerryScript port for RT-Thread
C
18
star
28

samples

RT-Thread kernel and components samples.
C
18
star
29

bsal

蓝牙协议栈抽象层
C
16
star
30

vi

The screen-oriented text editor for RT-Thread.
C
16
star
31

SQLite

SQLite is a self-contained, high-reliability, embedded, full-featured, public-domain, SQL database engine.
C
15
star
32

coap

CoAP on RT-Thread
C
13
star
33

TJpgDec

a generic JPEG image decompressor module.
C
12
star
34

CMSIS

CMSIS(Cortex Microcontroller Software Interface Standard) package on RT-Thread
C
12
star
35

network-sample

RT-Thread network samples
C
11
star
36

aht10

digital humidity and temperature sensor AHT10 driver library
C
11
star
37

nopoll

ASPLes/nopoll - OpenSource WebSocket toolkit for RT-Thread
C
11
star
38

lv_demo_music

LVGL music player demo for RT-Thread | LVGL音乐播放器演示示例(RT-Thread定制版)
C
11
star
39

fastlz

lightning-fast compression library
C
10
star
40

nanopb

Protocol Buffers for Embedded Systems
C
9
star
41

rw007

RW007 (SPI Wi-Fi module) driver for RT-Thread
C
9
star
42

SEGGER_SystemView

SEGGER SystemView
C
9
star
43

CMSIS_RTOS2

RT-Thread操作系统的CMSIS-RTOS2兼容层 | CMSIS-RTOS2 Application Compatibility Layer (ACL) for RT-Thread
C
8
star
44

gt9147

gt9147 touch driver
C
8
star
45

infrared_framework

Infrared framework based on RT-Thread's pin,pwm and hwtimer driver.
C
8
star
46

stm32_sdio

STM32 SDIO peripheral universal driver library
C
8
star
47

filesystem-sample

RT-Thread filesystem samples
C
8
star
48

ulog_file

ulog file backend
C
8
star
49

onenet

China Mobile OneNet cloud SDK for RT-Thread
C
8
star
50

zlib

general purpose data compression library
C
7
star
51

joylink

Joylink Cloud SDK for IoT platform
C
7
star
52

bmi160_bmx160

The device driver package for BMX160 and BMI160.
C
7
star
53

LPM

逻辑分区管理(Logical partition management),支持动态创建、删除、查找、读写物理存储设备上的逻辑分区。
C
7
star
54

tlsf

TLSF is a dynamic memory allocation algorithm with predictable execution time and low fragmentation.
C
7
star
55

atsrv_socket

C
7
star
56

icm20608

a 3-axis gyroscope and a 3-axis accelerometer driver library. Compatible with MPU6050, MPU6500, MPUxxxx etc
C
6
star
57

wlan-wiced

wlan driver from WICED.
C
6
star
58

dstr

dynamic string in C
C
6
star
59

GAgent

GAgent of Gizwits in RT-Thread
C
6
star
60

vsensor

虚拟传感器
C
6
star
61

uffs

UFFS is a file system that uses NAND flash in a small memory environment
C
6
star
62

azure-iot-sdk

Microsoft azure cloud SDK for RT-Thread
C
6
star
63

lsm6dsl

This is the LSM6DSL sensor driver package, support: accelerometer, gyroscope, step.
C
6
star
64

rdb

RT-Thread Debug Bridge
C
5
star
65

logmgr

log system manager
C
5
star
66

jffs2

JFFS2 is a log file system implemented on MTD devices
C
5
star
67

ap3216c

digital ambient light and a proximity sensor ap3216c driver library
C
5
star
68

rti

RT-Thread insight, a probe tool for RT-Thread to help to analyze internal behavior of the system.
C
5
star
69

sht2x

digital humidity and temperature sensor SHT2x driver library
C
4
star
70

minimp3

MPEG Audio Layer III decoder from the FFmpeg libavcodec library.
C
4
star
71

iperf

iperf-liked network performance tool in RT-Thread.
C
4
star
72

event_recorder

A lightweight event record and replay tools for debug and test.
C
4
star
73

st7789

st7789 lcd driver
C
4
star
74

persimmon

Persimmon UI for RT-Thread.
C++
4
star
75

mlibc

mlibc - A small libc for MCU and RT-Thread
4
star
76

spl0601

The Digital Air Pressure Sensor SPL06-01 driver package.
C
4
star
77

bma400

This is the BMA400 sensor driver package, support: accelerometer, step.
C
3
star
78

kdb

kernel debug log tool
C
3
star
79

partition

A simple partition on block device.
C
3
star
80

ft6206

ft6206 touch driver
C
3
star
81

pcf8574

Remote 8-bit I/O expander for I2C-bus
C
3
star
82

kendryte_sdk

Kendryte K210 SDK
Python
3
star
83

ft6236

C
3
star
84

MultiButton

A compact and easy to use event-driven button driver module for RT-Thread. | 一个小巧易用的事件驱动按钮驱动模块.
C
3
star
85

libsodium-legacy

A modern and easy-to-use crypto library.
C
2
star
86

CMSIS_RTOS1

RT-Thread操作系统的CMSIS-RTOS1兼容层 | CMSIS-RTOS1 Application Compatibility Layer (ACL) for RT-Thread
C
2
star
87

jsmn

Jsmn is a world fastest JSON parser/tokenizer.
C
2
star
88

ezXML

An XML parser C library that's simple and easy to use.
C
2
star
89

pms

pms :power management system
2
star
90

trusted-firmware-m

ARM trusted-firmware-m porting for RT-Thread
Python
2
star
91

cairo

Multi-platform 2D graphics library
C
2
star
92

fdt

Device Tree package in RT-Thread
C
2
star
93

qianxun

C
2
star
94

gdbstub

gdbstub on RT-Thread
C
2
star
95

yaffs2

yaffs2 file system for RT-Thread
1
star
96

micro-ecc

micro-ecc package
Python
1
star
97

lsm303agr

This is the LSM303AGR sensor driver package, support: accelerometer, magnetometer.
C
1
star
98

duktape

Duktape - embeddable Javascript engine with a focus on portability and compact footprint, port for RT-Thread
1
star
99

player

Multi-Media Audio Stream Player for RT-Thread
1
star
100

snippets

Some code snippets for RT-Thread
Python
1
star