Download: | |
Mirror Download [FCC.gov] | |
Document ID | 3606978 |
Application ID | 4HizxwLmgvzKB4v6zH+37w== |
Document Description | Users Manual |
Short Term Confidential | No |
Permanent Confidential | No |
Supercede | No |
Document Type | User Manual |
Display Format | Adobe Acrobat PDF - pdf |
Filesize | 337.41kB (4217572 bits) |
Date Submitted | 2017-10-17 00:00:00 |
Date Available | 2018-04-15 00:00:00 |
Creation Date | 2017-09-29 13:41:46 |
Producing Software | GPL Ghostscript 8.15 |
Document Lastmod | 2017-09-29 13:41:46 |
Document Title | Microsoft Word - TLM922S Product Specification-2.0.0_FCC-liuken |
Document Creator | PScript5.dll Version 5.2.2 |
Document Author: | A140028 |
TLM922S-P01A
Product Specification
V.2.0.0
taifatech Confidential Documentation
History
Date
2016/6/3
2016/6/28
2016/7/4
2016/8/3
2016/9/05
2016/9/08
2016/9/27
2016/10/04
2016/11/01
2016/11/14
2017/1/23
2017/4/25
2017/7/12
2017/9/11
Version
V. 0.9
V.1.0
V1.0.1
V1.0.2
V1.0.3
V1.0.4
V1.0.5
V1.0.6
V1.1.0
V1.1.1
V1.1.2
V1.1.3
V1.1.4
V2.0.0
Revision Description
First release
Correct Typo
Support baudrate, echo and, duty cycle.
Fix Typo
Add note for firmware upgrade and M0
Support deep sleep
Support channel plan setting, remove set_band/get_band
Update pinout and support wakeup from wakeup pin
Remove mod dio command, add battery setting command
Add UART interface timing diagram
Update "General Characteristics"
Update to V2.0.0 and ADB922.
kiwitec Confidential Documentation
Writer
LiuKen
LiuKen
LiuKen
LiuKen
LiuKen
LiuKen, Terry
Jesse
LiuKen
LiuKen, Terry
LiuKen, Terry
Terry
Cliff
Cliff
LiuKen
Table of Contents
1. Introduction ........................................................................................................................................ 1
1.1. Hardware Characteristics ........................................................................................................... 2
1.1.1.
Pin Configuration ........................................................................................................................ 2
1.1.2.
PCB Description and Dimension ................................................................................................. 3
1.1.3.
UART Interface ........................................................................................................................... 4
1.1.4.
I2C and SPI Interfaces ................................................................................................................. 4
1.1.5.
Reference Schematic .................................................................................................................. 5
1.2. Software Characteristics ............................................................................................................. 6
1.3. TLM922S-P01A EVB .................................................................................................................... 7
1.4. TLM922S-P01A Arduino Shield ................................................................................................... 9
2. Command Reference ..........................................................................................................................11
2.1. Command Format .....................................................................................................................11
2.2. Module Commands ...................................................................................................................11
2.2.1.
mod factory_reset .................................................................................................................... 11
2.2.2.
mod get_ver ............................................................................................................................. 11
2.2.3.
mod get_hw_deveui................................................................................................................. 11
2.2.4.
mod get_hw_model ................................................................................................................. 11
2.2.5.
mod sleep ................................................................................. 12
2.2.6.
mod set_baudrate ................................................................................................ 12
2.2.7.
mod set_echo ............................................................................................................ 12
2.2.8.
mod reset ................................................................................................................................. 12
2.2.9.
mod save .................................................................................................................................. 12
2.3. LoRaWAN Commands ...............................................................................................................13
2.3.1.
lorawan join ............................................................................................................... 15
2.3.2.
lorawan get_join_status ........................................................................................................... 15
2.3.3.
lorawan tx .................................................................................... 16
2.3.4.
lorawan set_deveui ................................................................................................. 16
2.3.5.
lorawan set_appeui ................................................................................................. 16
2.3.6.
lorawan set_appkey ................................................................................................ 17
2.3.7.
lorawan set_devaddr ............................................................................................. 17
2.3.8.
lorawan set_nwkskey ................................................................................. 17
2.3.9.
lorawan set_appskey .................................................................................. 17
2.3.10. lorawan set_pwr .............................................................................................. 18
kiwitec Confidential Documentation
2.3.11. lorawan set_dr ...................................................................................................... 18
2.3.12. lorawan set_adr .......................................................................................................... 18
2.3.13. lorawan set_txretry ........................................................................................... 18
2.3.14. lorawan set_rxdelay1 ................................................................................................. 18
2.3.15. lorawan set_rx2 .............................................................................. 19
2.3.16. lorawan set_ch_freq ...................................................................... 19
2.3.17. lorawan set_ch_dr_range ................................................... 19
2.3.18. lorawan set_ch_status ......................................................................... 19
2.3.19. lorawan set_linkchk.................................................................................................................. 20
2.3.20. lorawan set_dc_ctl .................................................................................................... 20
2.3.21. lorawan set_dc_band .................................... 20
2.3.22. lorawan set_join_ch ............................................................................. 20
2.3.23. lorawan set_upcnt ....................................................................................... 21
2.3.24. lorawan set_downcnt .............................................................................. 21
2.3.25. lorawan set_class ........................................................................................................ 21
2.3.26. lorawan set_pwr_table ............................................................................... 21
2.3.27. lorawan set_max_payload_table .................................................. 21
2.3.28. lorawan set_dl_freq ...................................................................... 22
2.3.29. lorawan update_payload_table ......................................................................... 22
2.3.30. lorawan set_battery ........................................................................................ 22
2.3.31. lorawan set_multicast_key ................................. 22
2.3.32. lorawan set_uplink_dwell_table (AS923
Only)
23
2.3.33. lorawan set_lbt_retry ....................................................................................... 23
2.3.34. lorawan save............................................................................................................................. 23
2.3.35. lorawan get_devaddr ............................................................................................................... 23
2.3.36. lorawan get_deveui .................................................................................................................. 23
2.3.37. lorawan get_appeui.................................................................................................................. 24
2.3.38. lorawan get_nwkskey ............................................................................................................... 24
2.3.39. lorawan get_appskey ............................................................................................................... 24
2.3.40. lorawan get_appkey ................................................................................................................. 24
2.3.41. lorawan get_dr ......................................................................................................................... 24
kiwitec Confidential Documentation
ii
2.3.42. lorawan get_pwr ...................................................................................................................... 24
2.3.43. lorawan get_adr ....................................................................................................................... 24
2.3.44. lorawan get_txretry .................................................................................................................. 25
2.3.45. lorawan get_rxdelay ................................................................................................................. 25
2.3.46. lorawan get_rx2........................................................................................................................ 25
2.3.47. lorawan get_ch_para .......................................................................................... 25
2.3.48. lorawan get_ch_status ........................................................................................ 25
2.3.49. lorawan get_dc_ctl ................................................................................................................... 26
2.3.50. lorawan get_dc_band .............................................................................................. 26
2.3.51. lorawan get_join_ch ................................................................................................................. 27
2.3.52. lorawan get_upcnt ................................................................................................................... 27
2.3.53. lorawan get_downcnt .............................................................................................................. 27
2.3.54. lorawan get_class ..................................................................................................................... 27
2.3.55. lorawan get_pwr_table .............................................................................................. 27
2.3.56. lorawan get_max_payload_table .......................................................................... 28
2.3.57. lorawan get_dl_freq ........................................................................................... 28
2.3.58. lorawan get_battery ................................................................................................................. 28
2.3.59. lorawan get_multicast_key ........................................................................................ 29
2.3.60. lorawan get_lbt_retry .............................................................................................................. 29
2.4. P2P Commands .........................................................................................................................30
2.4.1.
p2p rx ......................................................................................................... 30
2.4.2.
p2p tx ........................................................................................................................... 30
2.4.3.
p2p set_freq ....................................................................................................... 30
2.4.4.
p2p set_pwr .............................................................................................................. 31
2.4.5.
p2p set_sf .................................................................................................. 31
2.4.6.
p2p set_bw ........................................................................................................ 31
2.4.7.
p2p set_cr ......................................................................................................... 31
2.4.8.
p2p set_prlen ............................................................................................ 31
2.4.9.
p2p set_crc .................................................................................................................. 32
2.4.10. p2p set_iqi .................................................................................................................. 32
2.4.11. p2p set_sync ....................................................................................................... 32
2.4.12. p2p save.................................................................................................................................... 32
kiwitec Confidential Documentation
iii
2.4.13. p2p get_freq ............................................................................................................................. 32
2.4.14. p2p get_pwr ............................................................................................................................. 33
2.4.15. p2p get_sf ................................................................................................................................. 33
2.4.16. p2p get_bw ............................................................................................................................... 33
2.4.17. p2p get_prlen ........................................................................................................................... 33
2.4.18. p2p get_crc ............................................................................................................................... 33
2.4.19. p2p get_iqi ................................................................................................................................ 34
2.4.20. p2p get_cr................................................................................................................................. 34
2.4.21. p2p get_sync ............................................................................................................................ 34
3. Example .............................................................................................................................................35
3.1. LoRaWAN .................................................................................................................................35
3.1.1.
ABP and Uplink ......................................................................................................................... 35
3.1.2.
OTA and Uplink ......................................................................................................................... 36
3.1.3.
Confirmed Uplink and Downlink .............................................................................................. 36
3.2. P2P ...........................................................................................................................................37
4. Firmware Upgrade ..............................................................................................................................38
kiwitec Confidential Documentation
iv
1. Introduction
TLM922S-P01A is a small size and ultra-low power UHF wireless module based on LoRa technology of Semtech. TLM922S-P01A module integrates a 32bit MCU, Cypress S6E1C32, and a single-chip radio transmitter,
Semtech SX1272, designed for high performance at very low-power and low-voltage operation in
cost-effective wireless systems. All filters are integrated, thus removing the need for costly external SAW and
IF filters. The device is mainly intended for the ISM (Industrial, Scientific, and Medical) frequency bands at
902-928 MHz. The module integrated many RF functions and PA to make the maximum output power up to
+20dBm and signal coverage can reach up 10km.
General Characteristics
PARAMETER
Operating supply Voltage
Frequency
Frequency Accuracy
Modulation
Transmit Power
Receive Sensitivity
TX Current Consumption
Standby State Current Consumption
Sleep State current consumption
Data Rate
Spurious Emissions and Harmonics
Communication Distance
Antenna Impedance
Operating Temperature
Storage Temperature Range
Dimension
LoRaWAN Certification
Certification
:
TYPICAL
DC 2.2 ~ 3.6V
902MHz~928MHz
±10KHz
LoRa
+2 ~ +20dBm
Up to -138dBm
< 140mA
< 6.2mA
< 1uA (w/o RTC)
< 3uA (w / RTC)
0.244 18.2Kbps(LoRa)
< -30dBm
~
10Km
CONDITION/NOTE
Programmable
Output power programmable
Po= +20dBm
DC 3.3V
DC 3.3V
Programmable
TX power +20dBm
0.244Kbps Baud data rata, BW=125K
Output power = +20dBm.
50ohm
-40°C ~ +85 °C
-40°C ~ +90°C
23.5mm×23.2mm×3.1mm
LoRaWAN 1.0.2
NCC, TELEC
Test operating conditions Ta=25°C VCC=3.3V if nothing else stated.
:
,
Note
1. The module transmission data rate will affect transmission distance, the higher the data rate, the closer
the distance, and the lower the receiving sensitivity.
2. The supply voltage to the module will affect TX power, in the operating supply voltage range, the lower
the voltage to get the lower the TX power.
3. The antenna will strongly affect the communication distance, please select matched antenna and connect
it correctly.
4. The module mount will affect the communication distance.
kiwitec Confidential Documentation
1.1. Hardware Characteristics
1.1.1. Pin Configuration
PIN
PIN NAME
MD0
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
GPIO_ADC0
SPI_MISO
SPI_MOSI
SPI_SCK
SPI_CS
I2C_SDA
I2C_SCL
GPIO_ADC1
GND
ANT
GND
GND
GND
+3.3V
+3.3V
GPIO_INT2
SWCLK
SWDIO
GPIO_INT3
UART_RX
UART_TX
GPIO_INT0
RST_M0
Description
During normal operation, input MD0="L".
During serial programming to Flash memory, input MD0="H".*
* this is only for Cypress programming tool
A/D converter analog input pin and general-purpose I/O
SPI interface
SPI interface
SPI interface
SPI interface
I2C interface
I2C interface
A/D converter analog input pin and general-purpose I/O
RF ground
RF output signal
RF ground
System ground
System ground
Power source
Power source
External interrupt request and general-purpose I/O
Serial wire debug interface clock input pin
Serial wire debug interface data input output pin
External interrupt request and general-purpose I/O
UART interface
UART interface
External interrupt request and general-purpose I/O
External Reset Input pin, active low.
Note:
1. The module power supply voltage range is DC 2.2 3.6V, above DC 3.6V, the module will damage. It is
recommended work at DC 3.3 V.
2. The module interface uses half circle pad to soldering on the system PCB board, the GND must soldering
to the system digital GND reliably, or use connector to connect main board.
3. The antenna must the get to the module’s ANT pin as close as possible.
4. The module’s pin GPIO_ADC and GPIO_INT are general digital I/O ports, they also can be programmable
to A/D converter analog input pin and external interrupt pin.
~
kiwitec Confidential Documentation
1.1.2. PCB Description and Dimension
kiwitec Confidential Documentation
1.1.3. UART Interface
TLM922S-P01A module provides a UART interface to use LoRaTM and LoRaWANTM commands that supports in
TLM922S-P01A module. The baud rate of UART interface is fixed at 115200-8N1 on PIN21 and PIN22 in default. Following figure illustrates the timing of UART interface. For details please refer to document of Cypress
MCU "S6E1C3 Series".
Logic 1
Idle
Logic 0
Start
bit
Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Stop Idle
bit
1.1.4. I2C and SPI Interfaces
The I2C and SPI interfaces of TLM922S-P01A module are used to access external devices, like sensors. Below
timing is general timing diagram of I2C. Detail information please refer to document of Cypress MCU "S6E1C3
Series".
kiwitec Confidential Documentation
1.1.5. Reference Schematic
The schematic is an example of interface conversion from UART to USB with PCIe connector. Interfaces of SPI
and I2C of TLM922S-P01A are also connected PCIe connector.
D+/D-
PL2303HXD
UART
CON1-PCIe
Bit 1
SPI
TLM922S
-P01A
I2C
kiwitec Confidential Documentation
1.2. Software Characteristics
TLM922S-P01A module provides a command interface to use LoRaTM and LoRaWANTM communication
through UART interface. The LoRaWANTM protocol has been certified by LoRa Alliacne.
TLM922S-P01A can be controlled by connecting PIN 21 and PIN 22 of TLM922S-P01A, which are equivalent to
P32 and P33 shown in Figure 1, to UART interface of PC or other MCU. Then, the control commands can be
sent from PC or other MCU to TLM922S-P01A. The baud rate of TLM922S UART is fixed at 115200-8N1. Figure
1 also illustrates that each pin is multifunction, and can be also configured and controlled through command
interface.
Figure 1-1 TLM922S-P01A Pinout
kiwitec Confidential Documentation
1.3. TLM922S-P01A EVB
For faster development, kiwitec also provides an EVB for TLM922S-P01A. The EVB equips with a USB-UART
bridge and can be powered by USB. Furthermore, an SMA antenna connector is also provided for easily installing antenna. Figure 1-2 and following table depict this EVB and its connector.
1.
2.
3.
4.
5.
Arudino Interface (J1, J3, J4, J5)
Power LED (D2)
TLM922S-P01A
UART TX/RX LED (D4, D5)
Antenna Connector
6.
7.
8.
9.
10.
Serial Programming Jumper (J6, J11)
USB Device Connector (J7)
J-Link/SWD Connector (J2)
Reset Button (SW1)
USB Serial Mode Select (J9, J10)
Figure 1-2 TLM922S-P01A EVB
J2 is a J-Link port connected to module’s SWD for debug purpose. Following figure is function of each pin.
kiwitec Confidential Documentation
To quickly start to use TLM922S-P01A EVB, the first step is using USB cable to connect EVB to PC via J7. Next
step is checking whether the USB bridge driver is properly installed on your PC. If PC cannot recognize the
device, the driver can be downloaded from Prolific’s website1 (the model name of USB bridge model is
PL2303HXD). After successful installation of USB driver, you can use any terminal program to connect to EVB
and the default setting is 115200-8N1. Then, the command interface can be used through the terminal program.
Figure 1-3 Connection with PC
As stated at 1.2, TLM922S-P01A provides multifunction pins. Theses pins are also exported on EVB as Figure
1-4 shown.
Figure 1-4 TLM922S-P01A EVB Pinout
http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41
kiwitec Confidential Documentation
1.4. TLM922S-P01A Arduino Shield
There is also another type of development board of TLM922S-P01A, called ADB922. This is an Arduino Shield
which has Arduino-compatible pin header. Instead of the pin header, the hardware component and schematic
is identical to TLM922S-P01A EVB. However, to cooperate with Arduino, the default UART pin and configuration is also different.
Figure 1-5 ADB922
Figure 1-6 Pinout of ADB922
Figure 1-6 shows default UART pin of ADB922S and the default UART setting is 9600-8N1.
To quickly start to use ADB922S Arduino shield, the first step is using USB cable to connect shield to PC via
micro-USB connector. Then wire the D0 to D12 and D1 to D11, as Figure 1-7 shown.
Figure 1-7 Wire Connection for Quick Start
kiwitec Confidential Documentation
Next step is checking whether the USB bridge driver is properly installed on your PC. After successful installation of USB driver, you can use any terminal program to connect to shield and the default setting is 9600-8N1.
Then, the command interface can be used through the terminal program.
Figure 1-8 Connection with PC
The usual use of this shield is mounted on Arduino, as Figure 1-9 shown.
Figure 1-9 Mount on Arduino Uno
kiwitec Confidential Documentation
10
2. Command Reference
2.1. Command Format
TLM922S-P01A’s commands can be categorized into 3 types: module command, LoRaWANTM command, and
P2P command. Module commands are control commands not related to radio transmission. LoRaWANTM
commands are used to utilize LoRaWANTM protocol. P2P commands can be used to send and receive raw
packet.
The command interface is readable ASCII string. TLM922S-P01A starts to accept command after outputting a
'>' character, and the response string from TLM922S-P01A starts with two '>' characters. TLM922S-P01A will
output message"> TLM922S-P01A <" when boot module. The first line of following example is a module
command, and the second line is the response from TLM922S-P01A.
Example:
> mod get_ver
>> V1.3.1-Jan 20 2017-11:41:14
Note that the input command must end with a CR.
2.2. Module Commands
2.2.1. mod factory_reset
Response: Ok.
All LoRaWAN, radio and module configuration parameters will be set to default value.
Example:
> mod factory_reset
>> Ok
2.2.2. mod get_ver
Response: a string representing firmware version, bulid date and bulid time.
Get current firmware version.
Example:
> mod get_ver
>> V1.3.1-Jan 20 2017-11:41:14
2.2.3. mod get_hw_deveui
Response: a string representing hardware EUI in hexadecimal.
Get hardware EUI.
Example:
> mod get_hw_deveui
>> 000b78ffff000000
2.2.4. mod get_hw_model
Response: a string representing hardware model and UUID.
Get hardware model name.
Example:
> mod get_hw_model
>> TLM922S-P01A-117012000001
kiwitec Confidential Documentation
11
2.2.5. mod sleep
: a string representing sleep time in second, can be from 0 to 65535 (0 means infinite sleep,
wakeup by P21).
: enable wakeup by P21 or not, can be 0 (disable) or 1 (enable).
: deep sleep mode or not, 0 is normal sleep mode, and 1 is deep sleep mode.
Response:
Ok, if and string is valid
Invalid, if and string is not valid.
Module will be in sleep mode for seconds.
If is enable, module also returns from sleep while P21 is triggered. To use P21 as a wakeup
pin in sleep, P21 needs to set LOW before entering sleep. Once P21 changes from LOW to HIGH, module
would return from sleep.
Example:
> mod sleep 0 0 10
>> Ok
2.2.6. mod set_baudrate
: a string representing UART barudrate used for command interface, can be from 9600,
19200, 57600, 115200.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Module will use for command interface.
Example:
> mod set_baudrate 9600
>> Ok
2.2.7. mod set_echo
: a string representing echo status, can be on or off.
Response:
Ok, if string is valid.
Invalid, if string is not valid.
Enable or disable UART echo mode.
Example:
> mod set_echo on
>> Ok
2.2.8. mod reset
Response:
no response.
Reset TLM922S-P01A.
Example:
> mod reset
2.2.9. mod save
Response:
Ok
Save module configuration (baudrate and echo status) to flash.
Example:
> mod save
>> Ok
kiwitec Confidential Documentation
12
2.3. LoRaWAN Commands
TLM922S-P01A Command Interface has several built-in configuration tables that can be used to customize for
fulfilling different channel requirements. Before diving into these tables, data rate settings must be introduced first. Table 2-1 shows TLM922S-P01A Command Interface’s data rate settings which are originally defined in LoRaWAN standard. The DR7, using FSK, is not supported by TLM922S-P01A. Thus the DR number can
be used in TLM922S-P01A Command Interface is from 0 to 6.
Table 2-1 Data Rate Settings
DR Setting
DR0
DR1
DR2
DR3
DR4
DR5
DR6
DR7
Configuration
SF12 BW125KHz
SF11 BW125KHz
SF10 BW125KHz
SF9 BW125KHz
SF8 BW125KHz
SF7 BW125KHz
SF7 BW250KHz
FSK 50bps
Indicative bit rate (bit/s)
250
440
980
1760
3125
5470
11000
50000
Supported byTLM922S-P01A
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
There is two different data rate settings which are only used at US915 and AU915 separately, as Table 2-2 and
Table 2-3 shown.
Table 2-2 Data Setting for US915 and US915_HYBRID
DR Setting
Configuration
DR0
DR1
DR2
DR3
DR4
DR5~DR7
DR8
DR9
DR10
DR11
DR12
DR13
DR14~DR15
SF10 125KHz
SF9 125KHz
SF8 125KHz
SF7 125KHz
SF8 500KHz
NA
SF12 500KHz
SF11 500KHz
SF10 500KHz
SF9 500KHz
SF8 500KHz
SF7 500KHz
NA
Indicative bit rate
(bit/s)
980
1760
3125
5470
12500
NA
980
1760
3900
7000
12500
21900
NA
kiwitec Confidential Documentation
Table 2-3 Data Setting for AU915
DR Setting
Configuration
DR0
DR1
DR2
DR3
SF10 125KHz
SF12 125KHz
SF11 125KHz
SF10
BW125KHz
SF9 125KHz
SF8 125KHz
SF7 125KHz
NA
SF12 500KHz
SF11 500KHz
SF10 500KHz
SF9 500KHz
SF8 500KHz
SF7 500KHz
NA
DR4
DR5
DR6
DR7
DR8
DR9
DR10
DR11
DR12
DR13
DR14~DR15
Indicative bit rate
(bit/s)
250
440
980
1760
3125
5470
12500
NA
980
1760
3900
7000
12500
21900
NA
13
The first configurable table is frequency table that sets frequencies used by TLM922S-P01A. There are 16
channels allowed to set. There are plenty of settings can be set for each channel as shown at Table 2-4. The
Frequency of each channel can be set by set_ch_freq command. Max. DR and Min. DR are the maximum and
minimum data rate supported in this channel and can be set by set_ch_dr_range command. Enable indicates
whether this channel is enabled or disabled and set_ch_status command is used to enable or disable the
channel. Join Channel uses to determine does this channel can be used in OTA and set_join_ch is used to set
this. Band ID is which band in duty cycle table belongs to. All settings in frequency table except Band ID are
can be configured by commands. Band ID is automatically determined from duty cycle table.
Table 2-4 Frequency Table
Index
…
15
Frequency
Min. DR
Max. DR
Enable
Join Channel
Band ID
Duty cycle table, Table 2-5, defines transmission duty cycle for different frequency bands. set_dc_band
command is used to define duty cycle of each frequency band. TLM922S-P01A allows to configure 16 different bands.
Table 2-5 Duty Cycle Table
Band ID
...
15
Min Frequency
Max Frequency
Duty Cycle
Table 2-6 shows the TX power table used in TLM922S-P01A. The TX power index is used within LoRaWAN
protocol for referring to different transmission power. TLM922S-P01A only supports 6 different TX power settings. set_pwr_table is the command used to change transmission power. Table 2-7 is the maximum payload
size for each DR which defines at Table 2-1. To change maximum payload size uses set_max_payload_table
commands.
Table 2-6 TX Power Table
Index
TX Power (dBm)
kiwitec Confidential Documentation
Table 2-7 Max. Payload Size Table
Index
DR
DR0
DR1
DR2
DR3
DR4
DR5
DR6
Max. Payload Size (bytes)
14
Table 2-8 is a downlink frequency table which is used to implement DlChannel in LoRaWAN 1.0.2. This table
defines downlink frequencies for each uplink channel defined at Table 2-4. TLM922S-P01A also provide a
command, set_dl_freq, to configure downlink frequency table.
Table 2-8 Downlink Frequency Table
Channel Index
…
15
Downlink Frequency
The last table is only use at AS923 channel plan, called uplink dwell table. Each row of table is used to enable
uplink dwell of specified frequency range (Min. Frequency ~ Max. Frequency). TLM922S-P01A supports up to
16 different frequency range of uplink dwell setting. This table can be accessed by set_uplink_dwell_table
and get_uplink_dwell_table.
Table 2-9 Uplink Dwell Table (AS923 Only)
Index
…
15
Min. Frequency
Max. Frequency
Uplink Dwell
2.3.1. lorawan join
: a string representing join mode of LoRaWAN, can be otaa (over-the-air activation) or abp (activation by personalization).
Response: there is two responses after entering this command. The first response, used to indicate that
whether command is valid or parameters is set appropriately, will be received after entering command.
The second response will be received after join procedure.
First response:
Ok, if string is valid.
Invalid, if string is not valid.
keys_not_init, keys are not configured.
no_free_ch, no channels are available.
busy, internal state is busy.
Second response:
accepted, successfully join LoRaWAN.
unsuccess, join procedure is unsuccessful.
Star join procedure of LoRaWAN.
Example:
> lorawan join abp
>> Ok
>> accepted
2.3.2. lorawan get_join_status
Response: a string representing whether module is joined successfully.
Returned string can be: joined, unjoined.
Get join status of LoRaWAN.
Example:
> lorawan get_join_status
>> joined
kiwitec Confidential Documentation
15
2.3.3. lorawan tx
: a string representing type of transmitting message, can be cnf (confirmed) or ucnf (unconfirmed).
: a decimal string representing port number used for transmission, can be from 1 to 233.
: a hexadecimal string representing data to be transmitted.
Response: there is two responses after entering this command. The first response will be received after
entering command. The second response will be received after transmission.
First response:
Ok, if , and strings are valid.
Invalid, if , and strings are not valid.
not_joined, module is not joined LoRaWAN.
no_free_ch, no channels are available.
busy, internal state is busy.
invalid_data_length, data length is greater than allowed data length.
Second response:
tx_ok, successfully transmit data.
rx , there is downlink data.
- a decimal string representing receiving port
- a hexadecimal string representing received data.
err, acknowledgement is not received, if confirmed message is used.
Star transmission LoRaWAN.
Example:
> lorawan tx ucnf 15 98ba34fd
>> Ok
>> tx_ok
> lorawan tx ucnf 15 6805
>> Ok
>> rx 15 6432
If the device class is set to class C, a downlink data would be received at any time. The downlink data of
class C is outputted by TLM922S-P01A in rx format.
Example:
>> rx 15 6432
2.3.4. lorawan set_deveui
: an 8-byte hexadecimal string representing Device EUI used for LoRaWAN.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set Device EUI used for LoRaWAN.
Example:
> lorawan get_deveui 000b78ffff000000
>> Ok
2.3.5. lorawan set_appeui
: an 8-byte hexadecimal string representing Application EUI used for LoRaWAN.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set Application EUI used for LoRaWAN.
Example:
> lorawan set_appeui 0000000000000000
>> Ok
kiwitec Confidential Documentation
16
2.3.6. lorawan set_appkey
: a 16-byte hexadecimal string representing Application Key used for LoRaWAN.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set Network Session Key used for LoRaWAN.
Example:
> lorawan set_appkey 2b7e151628aed2a6abf7158809cf4f3c
>> Ok
2.3.7. lorawan set_devaddr
: a 4-byte hexadecimal string representing Device Address used for LoRaWAN.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set Device Address used for LoRaWAN.
Example:
> lorawan set_devaddr 12345678
>> Ok
2.3.8. lorawan set_nwkskey
: a 16-byte hexadecimal string representing Network Session Key used for LoRaWAN.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set Network Session Key used for LoRaWAN.
Example:
> lorawan set_nwkskey 2b7e151628aed2a6abf7158809cf4f3c
>> Ok
2.3.9. lorawan set_appskey
: a 16-byte hexadecimal string representing Application Session Key used for LoRaWAN.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set Application Session Key used for LoRaWAN.
Example:
> lorawan set_appskey 2b7e151628aed2a6abf7158809cf4f3c
>> Ok
kiwitec Confidential Documentation
17
2.3.10. lorawan set_pwr
: a decimal string representing index of transmitting power in TX power table, can be 0 to
5.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set transmitting power index.
Example:
> lorawan set_power 1
>> Ok
2.3.11. lorawan set_dr
: a decimal string representing data rate used for LoRaWAN, can be from 0 to 6.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set data rate used for LoRaWAN.
Example:
> lorawan set_dr 0
>> Ok
2.3.12. lorawan set_adr
: a string representing whether ADR is on or off.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set the state of ADR.
Example:
> lorawan set_adr on
>> Ok
2.3.13. lorawan set_txretry
: a decimal string representing retry number of transmission, can be from 0 to 255.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set retry number of transmission.
Example:
> lorawan set_txretry 8
>> Ok
2.3.14. lorawan set_rxdelay1
: a decimal string representing delay interval in milliseconds used for receive window 1, can be
from 0 to 65535. Delay interval of receive window 2 will be set to +1000.
Response:
Ok, if string is valid
Invalid, if string is not valid.
Set delay interval of receive window 1.
Example:
> lorawan set_rxdelay1 1000
>> Ok
kiwitec Confidential Documentation
18
2.3.15. lorawan set_rx2
: a decimal string representing data rate of second receive window, can be 0 to 6.
: a decimal string representing operation frequency of second receive window in Hz, can be
from 902000000 to 928000000.
Response:
Ok, if and strings are valid
Invalid, if and strings are not valid.
Set data rate and operation frequency used for second receive window.
Example:
> lorawan set_rx2 0 902000000
>> Ok
2.3.16. lorawan set_ch_freq
: a decimal string representing channel number, can be from 0 to 15.
: a decimal string representing operation frequency of specified channel in Hz, can be from
902000000 to 928000000.
Response:
Ok, if and strings are valid.
Invalid, if and strings are not valid.
Set operation frequency of specified channel.
Example:
> lorawan set_ch_freq 0 902000000
>> Ok
2.3.17. lorawan set_ch_dr_range
: a decimal string representing channel number, can be from 0 to 15.
: a string representing minimum data rate, can be from 0 to 6.
: a string representing maximum data rate, can be from 0 to 6.
Response:
Ok, if , and strings are valid.
Invalid, if , and strings are not valid.
Set data rate range of specified channel.
Example:
> lorawan set_ch_dr_range 0 0 6
>> Ok
2.3.18. lorawan set_ch_status
: a decimal string representing channel number, can be from 0 to 15.
: a string representing whether the specified channel is on or off.
Response:
Ok, if and strings are valid.
Invalid, if and strings are not valid.
Enable of disable specified channel.
Example:
> lorawan set_ch_status 0 on
>> Ok
kiwitec Confidential Documentation
19
2.3.19. lorawan set_linkchk
Response:
Ok.
Next packet sent to server will include a Link Check MAC command. The downlink of sent packet will
contain the response of Link Check MAC command. The response includes:
DemoMargin: link margin in dB of the last successfully received Link Check MAC command, value
from 0 to 255
NbGateways: gateway number that successfully received the last Link Check MAC command, value from 0 to 255
Example:
> lorawan set_linkchk
>> Ok
> lorawan tx ucnf 11 55
>> Ok
>> DemodMargin = 19
>> NbGateways = 1
>> tx_ok
2.3.20. lorawan set_dc_ctl
: a string representing duty cycle status, can be on or off.
Response:
Ok, if string is valid.
Invalid, if string is not valid.
Enable or disable duty cycle check at transmitting packet.
Example:
> lorawan set_dc_ctl on
>> Ok
2.3.21. lorawan set_dc_band
: a decimal string representing band number, can be from 0 to 15.
: a decimal string representing minimum frequency of specified band in Hz, can be from
902000000 to 928000000.
: a decimal string representing maximum frequency of specified band in Hz, can be from
902000000 to 928000000.
: a decimal string representing duty cycle of specified band, can be from 0 to 65535.
0: means 0%.
1-65535: duty cycle is equal to 1/.
Response:
Ok, if , , and strings are valid.
Invalid, if , , and strings are not valid.
Set frequency range and duty cycle of specified band.
Example:
> lorawan set_dc_band 1 902000000 928000000 100
>> Ok
2.3.22. lorawan set_join_ch
: a decimal string representing channel number, can be from 0 to 15.
: a string representing whether the specified join channel is on or off.
Response:
Ok, if and string is valid.
Invalid, if and string is not valid.
Set frequency channel for join request.
Example:
> lorawan set_join_ch 1 on
>> Ok
kiwitec Confidential Documentation
20
2.3.23. lorawan set_upcnt
: a decimal string representing uplink counter, can be from 1 to 4294967295.
Response:
Ok, if string is valid.
Invalid, if string is not valid.
Set uplink counter that will be used for next uplink transmission.
Example:
> lorawan set_upcnt 1
>> Ok
2.3.24. lorawan set_downcnt
: a decimal string representing downlink counter, can be from 0 to 4294967295.
Response:
Ok, if string is valid.
Invalid, if string is not valid.
Set downlink counter that will be used for next downlink reception.
Example:
> lorawan set_downcnt 1
>> Ok
2.3.25. lorawan set_class
: A or C.
Response:
Ok, if is valid.
Invalid, if is not valid.
Set class type of LoRaWAN.
Example:
> lorawan set_class C
>> Ok
2.3.26. lorawan set_pwr_table
: 0 to 5.
: a decimal string representing TX output power, can be from 2 to 20.
Response:
Ok, if and are valid.
Invalid, if and are not valid.
Set TX power table.
Example:
> lorawan set_pwr_table 1 14
>> Ok
2.3.27. lorawan set_max_payload_table
: 0 to 6.
: a decimal string representing maximum payload of given DRIndex, can be from 0 to 242.
Response:
Ok, if