Alpha Module

1. Hardware API interface

  • UART, 11500 Baud (Customizable), 8 digits, no parity check, one stop digit
  • Sleep/awake GPIO

2. Sleep/Awake

  • In order to further decrease the power consumption of the module, the port is closed during sleep mode, and the module won't be able to response to AT directives
  • Rising edge generated at sleep/awake GPIO pin to awake the module and falling edge generated to switch the module into sleep mode

3. Directive AT Format

All directive, modulesReturn value, Execution result displayed in unit of rows, and each row ends with <CR><CF>.

Directive<CR><CF>
Returned value<CR><CF>
Execution Result<CR><CF>

4. Directive List

Function Directive
AT System - Whether testing module is for the public
AT+V? System - Version checking
AT+DEU? System - SN module checking
AT+SEND= Transmission - Transmitting data
AT+DQ? Transmission - Checking if there's data awaiting to be received
AT+RCV= Transmission - Data receiving
AT+BPI= BLE - BLE broadcast frequency settings
AT+BPI? BLE - BLE broadcast frequency checking
AT+BD= BLE - BLE broadcast data settings

5. Error Codes

Error codes Description
0 Invalid directive
1 Invalid parameter
2 Transmission busy
3 Server side timeout
4 Non cached module data

6. Directive Document

1) System directive

Provide module testing, firmware version check, and SN check, etc.

AT Check if module is in normal operationg condition
AT Execution result:
<OK>:Success
<ERROR:0>:Invalid directive

Example
AT
OK

+V Checking module firmware version
AT+V? Result:+V:Version
Execution result:
<OK>:Success
<ERROR:0>:Invalid directive

Example
AT+V?
+V:1.0
OK

+DEU Checking SN module
AT+DEU=<EUI64> Modify device EUI
Parameters<EUI64> hexString
Execution result:
<OK>:Success
<ERROR:0>:Invalid directive
<ERROR:1>:Invalid parameter

example:
AT+DEU=0011223344556677
OK
AT+DEU? Check device EUI
Result+DEU:<EUI64> hexString
Execution result
<OK>:success
<ERROR:0>:Invalid directive

Example:
AT+DEU?
+DEU:0011223344556677
OK
2) Transmission directive

Data transmission, checking unread data, read data

+SEND Sending data
AT+SEND=<Length>,<ACK>[,<ID>] Send data, module prompt return >>> shown,server can sent 16-digitsdata to module, if server failed to return data within 5 seconds, return timeout error
Parameters
<Length>:require to send 16-digitsdatalength, maximum length: 37
<ACK>:is require network ACK response
1:Yes
0:No
<ID>:the id is for downstream data, client can choose to send data back to the cloud.
Execution result
<OK>:Success

<ERROR:0>:Invalid directive
<ERROR:1>:Invalid parameter
<ERROR:2>:Transmission busy
<ERROR:3>:Server side timeout

Return result:+SEND:<Result>
<Result>:Sent result
0:Sent fail
1:Sent complete
2:Sent and received by ACK
3:Sent without received by ACK
Note:when ack set as 1,if no response from the network, the module will resend data 8-times and return transmission result without response by ACK;when ACK is 0,it will return transmission success, but unconfirm module data was received.

Example:
AT+SEND=12,1
>>>
xxxxxx//Server side sent the 16-digit data to module
OK
Sometime...
+SEND:2
OK|

+DQ Checking unread data
AT+DQ? Checking for non-receive data
Result+DQ:<Length>
<Length>:Data receive length.
Execution result
<OK>:Success
<ERROR:0>:Invalid directive

Example:
AT+DQ?
+DQ:20
OK

+RCV Reading data
AT+RCV=1 Receiving data
Result:<Length><ID><Data><Length><ID><Data>...
<Length>:Data length, 1 byte,is equal to ID length + Data length
<ID>:ID data length,4byte, long length format, all 0 represent no ID
<Data>:16-digits data flow
Note:this directive will have multiple return <Length><ID><Data>,Total length equals to AT+DQ? Data query
Directive result
<OK>:Success
<ERROR:0>:Invalid directive
<ERROR:4>:Non-cache data

Example:
AT+RCV=1
0A0B0C0000112233445566080C0C000012345678(16-digits)
OK
Steps:
1. Analyze 0 character,obtain the length of 0x0A, which is 10,packet result of 10 characters in the data,with 4 characters in id,6 characters in data
2. Parsing No.1 to 4 character of 0B0C0000, long length format, obtain id 3083
3. Obtain 6 characters data of 112233445566
4. Analysis found the total length is less than AT+DQ?,means further un-decrypt data packet.
5. Repeat steps 1,2,3,4.
3) BLE directive

Configure content of BLE broadcast packet , transmit power and transmit interval.

+BPI Transmit power and Transmit interval settings
AT+BPI=<power>,<interval> BLE setting in transmit power and transmit interval
Parameters
<power>:Transmit power selection [-52,-42,-38,-34,-30,-20,-16,-12,-8,-4,0,4]dbm
<interval>:Transmit interval selection [100 ~ 5000]ms
Result
<OK>:Success
<ERROR:0>:Invalid directive
<ERROR:1>:Invalid parameter

Example:
AT+BPI=-8,400
OK

Caution
Higher transmission power is larger power consumption with larger coverage;
Smaller interval is larger power consumption makes cell phone easier for signal scanning;
AT+BPI? Checking BLE transmit interval
Result+BPI:<power>,<interval>
Result
<OK>:Success
<ERROR:0>:Invalid directive

Example:
AT+BPI?
+BPI:-8,400
OK

+BD Setting up broadcast data
AT+BD=<length> Setting up broadcast data with module returns prompt >>>Server side can send 16-digits data to module,if server side fail to send data within 5 second,it returns timeout error
Parameters:<length>
<length>:Data length,maximum of 38, if 0,turn off broadcast
Result
<OK>:Success
<ERROR:0>:Invalid directive
<ERROR:1>:Invalid parameter
<ERROR:3>:Waiting server side data timeout

Example 1:
AT+BD=5
>>>
xxxxx (assuming 0x11,0x22,0x33,0x44,0x55)
OK

BLE broddcast:
{<Fixed header>, 0x11,0x22,0x33,0x44,0x55 }
Example 2:
AT+BD=0
OK
Transmit power and interval
  • Power:[-52,-42,-38,-34,-30,-20,-16,-12,-8,-4,0,4] dBm
  • Interval:[100~5000] ms
Broadcast packet
{ 
  0x02,0x01,0x06
  0x03,0x03,0xXX,0xXX,
  0xXX,0x16,0xXX,0xXX, //Fixed header
  0x08,                //Fixed mark,meaning customize data
  0xXX,0xXX....0xXX    //User data setting
}
Copyright © 2021 SENSORO Co.,Ltd.保留所有权利。iBeacon 是苹果公司的注册商标。京ICP备18013471号-1 版权所有:北京升哲科技有限公司 all right reserved,powered by Gitbook 2021-12-07 17:28:41