Changes for page End Device AT Commands and Downlink Command
Last modified by kai on 2024/09/06 10:00
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,9 +1,8 @@ 1 - **Contents:**1 +Contens 2 2 3 3 {{toc/}} 4 4 5 5 6 - 7 7 = 1. Introduction = 8 8 9 9 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands: ... ... @@ -11,93 +11,34 @@ 11 11 * **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device. 12 12 * **Sensor Related Commands:** Only for special sensor, such as control relay, poll RS485 device. 13 13 14 -((( 15 15 **This page shows the common commands since Dragino LoRaWAN stack DR-LWS-005. Make sure the end node support stack higher than DR-LWS-005 before checking this page.** 16 16 17 -))) 18 18 19 19 = 2. How to use AT Commands or Downlink command = 20 20 21 21 * For AT Command , See Devices User Manual for Device. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]] 22 22 * For LoRaWAN Downlink: The gateway transfer downlink command in HEX format. This page shows the HEX format downlink code for each command. but some servers use base64 as downlink code. Below are reference for how to use downlink command: 23 -** Use HEX format to send a downlink: [[TTN v3>>Notes 24 -** Use Base64 format to send a downlink: [[Chirpstack>>Notes 25 -** See use note for more serves [[Servers Note>>doc :Main.WebHome]](IoT LoRaWANServer)20 +** Use HEX format to send a downlink: [[TTN v3>>url:https://wiki.dragino.com/index.php/Notes_for_TTN#Send_Downlink_message]] 21 +** Use Base64 format to send a downlink: [[Chirpstack>>url:https://wiki.dragino.com/index.php/Notes_for_ChirpStack#Downlink]]. 22 +** See use note for more serves [[Servers Note>>url:https://wiki.dragino.com/index.php/Main_Page#Use_Note_for_Server]] 26 26 27 27 = 3. Support End Node and firmware version = 28 28 29 -(% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 30 -|=(% colspan="3" style="width: 963px;" %)((( 31 -Dragino STM32 base hardware Firmware / LoRaWAN stack list 32 -))) 33 -|(% style="width:187px" %)((( 34 -**Model** 35 -)))|(% style="width:330px" %)((( 36 -**Description** 37 -)))|(% style="width:445px" %)((( 38 -**Firmware Version <~-~-> Stack Version** 39 -))) 40 -|(% style="width:187px" %)((( 41 -[[LSN50-v1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/128-lsn50.html]], [[LSN50-V2>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/155-lsn50-v2.html]], 42 -)))|(% style="width:330px" %)((( 43 -Open Source Generic LoRaWAN Sensor Node 44 -)))|(% style="width:445px" %)((( 45 -((( 46 -LSN50 v1.6.0 <~-~-> DR-LWS-003; 47 -))) 48 - 49 -((( 50 -((( 26 +(% border="1" style="background-color:#ffffcc; border:1; color:green; width:995.222px" %) 27 +|=(% colspan="3" style="width: 992px;" %)Dragino STM32 base hardware Firmware / LoRaWAN stack list 28 +|(% style="width:187px" %)**Model**|(% style="width:349px" %)**Description**|(% style="width:453px" %)**Firmware Version <~-~-> Stack Version** 29 +|(% style="width:187px" %)[[LSN50-v1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/128-lsn50.html]], [[LSN50-V2>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/155-lsn50-v2.html]],|(% style="width:349px" %)Open Source Generic LoRaWAN Sensor Node|(% style="width:453px" %)LSN50 v1.6.0 <~-~-> DR-LWS-003;((( 51 51 LSN50 v1.7.0 <~-~-> DR-LWS-005; ~-~-> Support since this version 52 52 ))) 53 -))) 54 -))) 55 -|(% style="width:187px" %)((( 56 -[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]], 57 -)))|(% style="width:330px" %)((( 58 -LoRaWAN GPS Tracker 59 -)))|(% style="width:445px" %)((( 60 -((( 61 -LGT92 v1.6.3 <~-~-> DR-LWS-003; 62 -))) 63 - 64 -((( 65 -((( 32 +|(% style="width:187px" %)[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]],|(% style="width:349px" %)LoRaWAN GPS Tracker|(% style="width:453px" %)LGT92 v1.6.3 <~-~-> DR-LWS-003;((( 66 66 LGT92 v1.6.4 <~-~-> DR-LWS-005;~-~-> Support since this version 67 67 ))) 68 -))) 69 -))) 70 -|(% style="width:187px" %)((( 71 -[[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]], 72 -)))|(% style="width:330px" %)((( 73 -LoRaWAN BLE Indoor Tracker 74 -)))|(% style="width:445px" %)((( 75 -LBT1 v1.0 <~-~-> DR-LWS-005; 76 -))) 77 -|(% style="width:187px" %)((( 78 -[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]], 79 -)))|(% style="width:330px" %)((( 80 -LoRaWAN RS485 Modbus Converter 81 -)))|(% style="width:445px" %)((( 82 -RS485-LN v1.3 <~-~-> DR-LWS-005; 83 -))) 84 -|(% style="width:187px" %)((( 85 -[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]], 86 -)))|(% style="width:330px" %)((( 87 -LoRaWAN Temperature & Humidity Sensor 88 -)))|(% style="width:445px" %)((( 89 -((( 90 -LHT65 v1.7 <~-~-> DR-LWS-003; 91 -))) 92 - 93 -((( 94 -((( 35 +|(% style="width:187px" %)[[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]],|(% style="width:349px" %)LoRaWAN BLE Indoor Tracker|(% style="width:453px" %)LBT1 v1.0 <~-~-> DR-LWS-005; 36 +|(% style="width:187px" %)[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]],|(% style="width:349px" %)LoRaWAN RS485 Modbus Converter|(% style="width:453px" %)RS485-LN v1.3 <~-~-> DR-LWS-005; 37 +|(% style="width:187px" %)[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]],|(% style="width:349px" %)LoRaWAN Temperature & Humidity Sensor|(% style="width:453px" %)LHT65 v1.7 <~-~-> DR-LWS-003;((( 95 95 LHT65 v1.8.0 <~-~-> DR-LWS-005;~-~-> Support since this version 96 96 ))) 97 -))) 98 -))) 99 99 100 - 101 101 = 4. System Management Commands = 102 102 103 103 == 4.1 Change Uplink Interval == ... ... @@ -125,18 +125,13 @@ 125 125 **Downlink Command: 0x01** 126 126 {{/info}} 127 127 128 -((( 129 129 Format: Command Code (0x01) followed by 3 bytes time value. 130 -))) 131 131 132 -((( 133 133 If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01. 134 -))) 135 135 136 136 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 137 137 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 138 138 139 - 140 140 == 4.2 Reboot End Node == 141 141 142 142 Feature: Reboot End Node to perform a new OTAA or ABP Join. ... ... @@ -166,16 +166,10 @@ 166 166 **Downlink Command: 0x04** 167 167 {{/info}} 168 168 169 -((( 170 170 Format: Command Code (0x04) followed by FF. 171 -))) 172 172 173 -((( 174 174 If the downlink payload=**04FF**, the end node will reboot. 175 175 176 - 177 -))) 178 - 179 179 == 4.3 Reset to factory Default == 180 180 181 181 Feature: Reset the parameters to Factory Default, factory default value depends on the firmware settings, the OTAA and ABP keys will reserve after this command. ... ... @@ -205,13 +205,9 @@ 205 205 **Downlink Command: 0x04** 206 206 {{/info}} 207 207 208 -((( 209 209 Format: Command Code (0x04) followed by FE. 210 -))) 211 211 212 -((( 213 213 If the downlink payload=**04FE**, Reset Parameters to Factory Default, Keys Reserve. 214 -))) 215 215 216 216 217 217 == 4.4 Show Firmware Version == ... ... @@ -222,10 +222,10 @@ 222 222 **AT Command: AT+VER** 223 223 {{/info}} 224 224 225 -(% border="1" style="background-color:#ffffcc; color:green ; width:586px" %)226 -|=(% colspan="3" style="width: 583px;"%)AT+VER: Image Version and Frequency Band227 -| (% style="width:170px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:113px" %)**Response**228 -| (% style="width:170px" %)AT+VER=?|(% style="width:300px" %)Show Image version and Frequency Band|(% style="width:113px" %)(((150 +(% border="1" style="background-color:#ffffcc; color:green" %) 151 +|=(% colspan="3" %)AT+VER: Image Version and Frequency Band 152 +|**Command Example**|**Function**|**Response** 153 +|AT+VER=?|Show Image version and Frequency Band|((( 229 229 1.3 EU868 230 230 231 231 OK ... ... @@ -235,25 +235,17 @@ 235 235 **Downlink Command: 0x26 (Valid in 006 stack)** 236 236 {{/info}} 237 237 238 -((( 239 239 Downlink Format: 0x26 240 -))) 241 241 242 -((( 243 243 Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes 244 -))) 245 245 246 -((( 247 247 **xx: Software Type:** 248 -))) 249 249 250 250 * 0x00 01: LGT92 Version 251 251 * 0x00 02: LBT1 252 252 * 0x00 03: LSE01/LDDS75/LDDS20/LSPH01/LLMS01/LSNPK01 253 253 254 -((( 255 255 **yy: Frequency Band:** 256 -))) 257 257 258 258 * 0x01: EU868 259 259 * 0x02: US915 ... ... @@ -266,9 +266,7 @@ 266 266 * 0x09: AS923-2 267 267 * 0xa0: AS923-3 268 268 269 -((( 270 270 **zz: Subband** 271 -))) 272 272 273 273 firmware version: v1.1.0 ~-~-> 110 274 274 ... ... @@ -298,7 +298,6 @@ 298 298 OK 299 299 ))) 300 300 301 - 302 302 = 5. Keys, IDs and EUIs management = 303 303 304 304 == 5.1 Application EUI == ... ... @@ -317,7 +317,6 @@ 317 317 ))) 318 318 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 319 319 320 - 321 321 == 5.2 Application Key == 322 322 323 323 Feature: Get or Set the Application Key. ... ... @@ -448,8 +448,6 @@ 448 448 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 449 449 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0 450 450 451 - 452 - 453 453 == 6.2 Confirm Status == 454 454 455 455 Feature: Get confirmation status of the last AT+SEND (0-1). ... ... @@ -465,8 +465,6 @@ 465 465 OK 466 466 ))) 467 467 468 - 469 - 470 470 == 6.3 Join LoRa® Network == 471 471 472 472 Feature: Join network. ... ... @@ -484,7 +484,6 @@ 484 484 While Error in format, return AT_BUSY_ERROR 485 485 ))) 486 486 487 - 488 488 == 6.4 LoRa® Network Join Mode == 489 489 490 490 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA). ... ... @@ -513,7 +513,6 @@ 513 513 * **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=O 514 514 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 515 515 516 - 517 517 == 6.5 LoRa® Network Join Status == 518 518 519 519 Feature: LoRa® Network Join Status. ... ... @@ -529,7 +529,6 @@ 529 529 OK 530 530 ))) 531 531 532 - 533 533 == 6.6 Print Last Received Data in Raw Format == 534 534 535 535 Feature: Print Last Received Data in Raw Format<port:data>. ... ... @@ -545,7 +545,6 @@ 545 545 OK 546 546 ))) 547 547 548 - 549 549 == 6.7 Print Last Received Data in Binary Format == 550 550 551 551 Feature: Print Last Received Data in Binary Format<port:data>. ... ... @@ -561,7 +561,6 @@ 561 561 OK 562 562 ))) 563 563 564 - 565 565 == 6.8 Send Text Data == 566 566 567 567 Feature: Send Text Data<port:data>. ... ... @@ -581,7 +581,6 @@ 581 581 582 582 ))) 583 583 584 - 585 585 == 6.9 Send Hexadecimal Data == 586 586 587 587 Feature: Send hexadecimal data along with the application port. ... ... @@ -600,7 +600,6 @@ 600 600 601 601 ))) 602 602 603 - 604 604 = 7. LoRaWAN network management = 605 605 606 606 == 7.1 Adaptive Data Rate == ... ... @@ -632,7 +632,6 @@ 632 632 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 633 633 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 634 634 635 - 636 636 == 7.2 LoRa® Class == 637 637 638 638 Feature: Get or Set the Device Class(Currently only support class A, class C). ... ... @@ -651,7 +651,6 @@ 651 651 652 652 ))) 653 653 654 - 655 655 == 7.3 Duty Cycle Setting == 656 656 657 657 Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing. ... ... @@ -670,7 +670,6 @@ 670 670 671 671 ))) 672 672 673 - 674 674 == 7.4 Data Rate == 675 675 676 676 Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . Note: while set Data Rate, please use set Adptive Data Rate, ADR=0 first. otherwise device will response to server's ADR command and change the DR to the setting from server ... ... @@ -699,7 +699,6 @@ 699 699 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 700 700 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 701 701 702 - 703 703 == 7.5 Frame Counter Downlink == 704 704 705 705 Feature: Get or Set the Frame Counter Downlink. ... ... @@ -720,7 +720,6 @@ 720 720 721 721 ))) 722 722 723 - 724 724 == 7.6 Frame Counter Uplink == 725 725 726 726 Feature: Get or Set the Frame Counter Uplink. ... ... @@ -739,7 +739,6 @@ 739 739 740 740 ))) 741 741 742 - 743 743 == 7.7 Join Accept Delay1 == 744 744 745 745 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms. ... ... @@ -758,7 +758,6 @@ 758 758 759 759 ))) 760 760 761 - 762 762 == 7.8 Join Accept Delay2 == 763 763 764 764 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms. ... ... @@ -777,7 +777,6 @@ 777 777 778 778 ))) 779 779 780 - 781 781 == 7.9 Public Network Mode == 782 782 783 783 Feature: Get or Set the public network mode. (0: off, 1: on) ... ... @@ -798,7 +798,6 @@ 798 798 799 799 ))) 800 800 801 - 802 802 == 7.10 Receive Delay1 == 803 803 804 804 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms ... ... @@ -817,9 +817,8 @@ 817 817 818 818 ))) 819 819 713 +== 7.11Receive Delay2 == 820 820 821 -== 7.11 Receive Delay2 == 822 - 823 823 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms 824 824 825 825 {{info}} ... ... @@ -836,7 +836,6 @@ 836 836 837 837 ))) 838 838 839 - 840 840 == 7.12 Rx2 Window Data Rate == 841 841 842 842 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X) ... ... @@ -855,7 +855,6 @@ 855 855 856 856 ))) 857 857 858 - 859 859 == 7.13 Rx2 Window Frequency == 860 860 861 861 Feature: Get or Set the Rx2 window frequency ... ... @@ -874,7 +874,6 @@ 874 874 875 875 ))) 876 876 877 - 878 878 == 7.14 Transmit Power == 879 879 880 880 Feature: Get or Set the Transmit Power(0-5, MAX:0, MIN:5, according to LoRaWAN Spec, or 40=10dB, 41 = 11dB, …, 50 = 20dB which is out of LoRaWAN spec. ) ... ... @@ -900,7 +900,6 @@ 900 900 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 901 901 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0. 902 902 903 - 904 904 == 7.15 RSSI of the Last Received Packet == 905 905 906 906 Feature: Get or Set the Rx2 window frequency ... ... @@ -916,7 +916,6 @@ 916 916 OK 917 917 ))) 918 918 919 - 920 920 == 7.16 SNR of the Last Received Packet == 921 921 922 922 Feature: Get the SNR of the last received packet ... ... @@ -932,7 +932,6 @@ 932 932 OK 933 933 ))) 934 934 935 - 936 936 == 7.17 Application Port == 937 937 938 938 Feature: Get or set the application port. ... ... @@ -960,7 +960,6 @@ 960 960 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 961 961 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 962 962 963 - 964 964 == 7.18 Single Channel Mode == 965 965 966 966 Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode. ... ... @@ -977,7 +977,6 @@ 977 977 ))) 978 978 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK 979 979 980 - 981 981 == 7.19 Eight Channel Mode == 982 982 983 983 Feature: Get or Set eight channels mode,Only for US915,AU915,CN470. ... ... @@ -1007,7 +1007,6 @@ 1007 1007 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1008 1008 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1009 1009 1010 - 1011 1011 == 7.20 Get or Set RXwindows1 timeout == 1012 1012 1013 1013 Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255). ... ... @@ -1024,18 +1024,12 @@ 1024 1024 ))) 1025 1025 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 1026 1026 1027 -((( 1028 -**AT+RX1TWO** is theRxSingle timeout value of receive window 1. If it is not set, then the queriedvalue is the default value. If it is set, then the queried value is the setvalue. AT+RX2TWO is thesame as above. The definitionof RxSingle timeout is as described in the following paragraph. 1029 -))) 910 +AT+RX1TWO is theRxSingle timeout value of receive window 1. If it is not set, then the queriedvalue is the default value. If it is set, then the queried value is the setvalue. AT+RX2TWO is thesame as above. The definitionof RxSingle timeout is as described in the following paragraph. 1030 1030 1031 -[[image:image-202205 26162535-1.png]]912 +[[image:image-20220511120050-1.png]] 1032 1032 1033 -((( 1034 1034 Increasing thisvalue is equal to extending the time that the receiving window is opened, butthe corresponding power consumption will also increase. Properly increasingthis value can increase the success rate of the downlink. 1035 1035 1036 - 1037 -))) 1038 - 1039 1039 == 7.21 Get or Set RXwindows2 timeout == 1040 1040 1041 1041 Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255). ... ... @@ -1052,7 +1052,6 @@ 1052 1052 ))) 1053 1053 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK 1054 1054 1055 - 1056 1056 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1057 1057 1058 1058 Feature: Get or Set uplinkdwelltime ... ... @@ -1080,7 +1080,6 @@ 1080 1080 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1081 1081 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1082 1082 1083 - 1084 1084 == 7.23 Set Packet Receiving Response Level == 1085 1085 1086 1086 Feature: Get or Set packet receiving response level. This feature is used to set compatible with different LoRaWAN servers. If RPL doesn;t match , user will see strange message in the server portal. ... ... @@ -1122,7 +1122,6 @@ 1122 1122 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1123 1123 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1124 1124 1125 - 1126 1126 = 8. AT Commands Combination = 1127 1127 1128 1128 == 8.1 Set a fix RX2DR for downlink window == ... ... @@ -1130,7 +1130,6 @@ 1130 1130 * **AT+ADR=0 **~-~-> Disable ADR first 1131 1131 * **AT+RX2DR=xxxx** ~-~-> Set xxxx to your wanted DataRate 1132 1132 1133 - 1134 1134 == 8.2 Use Downlink Command to set a fix uplink DR == 1135 1135 1136 1136 {{info}} ... ... @@ -1139,6 +1139,6 @@ 1139 1139 1140 1140 Same as: 1141 1141 1142 -* AT+ADR=0 ||anchor="H7.1AdaptiveDataRate"]]1143 -* AT+DR=5 ||anchor="H7.4DataRate"]]1144 -* AT+TXP=0 ||anchor="H7.14TransmitPower"]]1015 +* AT+ADR=0 [[Reference>>http://8.211.40.43:8080/xwiki/bin/view/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#Adaptive_Data_Rate]] 1016 +* AT+DR=5 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Data_Rate]] 1017 +* AT+TXP=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Transmit_Power]]
- image-20220526162535-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -149.4 KB - Content