Wiki source code of TCP Connection Instruction

Version 16.4 by Xiaoling on 2022/05/30 12:01

Show last authors
1 **Contents:**
2
3 {{toc/}}
4
5
6
7
8 = 1. Introduction =
9
10 In the TCP IP Client mode, LoRa Gateway can accept LoRa or LoRaWAN packets and send it to the TCP/IP server.
11
12
13 = 2. LoRaWAN Mode TCP Connection =
14
15 == 2.1 Support Hardware ==
16
17 * [[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]]
18 * [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]]
19
20
21
22 == 2.2 Typology & Instruction ==
23
24 [[image:image-20220527144058-1.png]]
25
26 Network Structure
27
28 [[Intrudctions>>http://wiki1.dragino.com/xwiki/bin/view/Main/Communicate%20with%20ABP%20End%20Node%20without%20LoRaWAN%20Network%20Server%20---%20LG308/#H4.Example2:CommunicatetoTCPServer]]
29
30
31 = 3. Raw LoRa Mode TCP Connection =
32
33 == 3.1 Support Hardware ==
34
35 * [[LG01-N>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/143-lg01n.html]], [[OLG01-N>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/144-olg01n.html]]
36 * [[LG02>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/135-lg02.html]], [[OLG02>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/136-olg02.html]]
37
38
39
40 == 3.2 Typology ==
41
42 The working topology is as below. In this mode, The Uplink LoRa packets should use a customized format.
43
44 [[image:image-20220527144300-2.png]]
45
46 TCP/IP Forward working topology
47
48
49 == 3.3 Instruction Before Firmware lgw~-~-build-v5.4.1606631585-20201129-1434 ==
50
51 === 3.3.1 Select TCP-IP Client mode ===
52
53 [[image:image-20220527144723-3.png]]
54
55 Select TCP-IP Client mode
56
57
58 === 3.3.2 Configure the Radio channel ===
59
60 [[image:image-20220527144755-4.png]]
61
62 Configure the Radio channel with the match radio settings frequency as the LoRa End Node
63
64
65 === 3.3.3 Configure TCP Server Info ===
66
67 Note: Gateway may receive many LoRa packets, it will only transfer the packet with the same ID as specify in the channel.
68
69 [[image:image-20220527144837-5.png]]
70
71 Configure TCP Server Info
72
73
74 === 3.3.4 About uplink data format from End Node ===
75
76 The LoRa end node should upload the data with below format:
77
78 (% class="box" %)
79 (((
80 Uplink Format:** (% style="color:#4f81bd" %)<Channel_ID>data(%%)**
81 For example, if we have configured 2 channels 12345 and 34567.
82 And there is are three LoRa End nodes sending: 12345,34567,78
83 The LG02 will accept the data from 12345 and 34567, it will ignore the data from Node 78
84 **Case 1**:
85 Node 12345 send <12345>field1=0.0&field2=1102.0
86 Node 34567 doesn’t send anyting
87 The TCP/IP server will get {"12345":"field1=0.0&field2=1102.0"}
88 **Case 2**:
89 Node 12345 send <12345>field1=0.0&field2=1102.0
90 Node 34567 send <34567>temp=34
91 The TCP/IP server will get {"34567":"temp=34","12345":"field1=0.0&field2=1102.0"}
92 )))
93
94 [[image:image-20220527144959-6.png]]
95
96 Configure TCP Server Info
97
98 LoRa End Device reference source code: [[check this link>>url:https://github.com/dragino/Arduino-Profile-Examples/blob/master/libraries/Dragino/examples/IoTServer/ThingSpeak/MQTT_Client/MQTT_DHT11_Client_updata_to_ThingSpeak_/MQTT_DHT11_Client_updata_to_ThingSpeak_.ino]].
99
100
101 == 3.4 Instruction After Firmware lgw~-~-build~-~-v5.4.1612428704~-~-20210204-1653 ==
102
103 === 3.4.1 Configure the Radio channel ===
104
105 [[image:image-20220527145111-7.png]]
106
107 Configure the Radio channel with the match radio settings frequency as the LoRa End Node
108
109
110 === 3.4.2 Configure TCP Server Info ===
111
112 Note: Gateway will transfer the packet if they arrive in the right format .
113
114 [[image:image-20220527145151-8.png]]
115
116 Configure TCP Server Info
117
118
119 === 3.4.3 About uplink data format from End Node ===
120
121 The LoRa end node should upload the data with below format:
122
123 (% class="box" %)
124 (((
125 Uplink Format: (% style="color:#4f81bd" %)**<Channel_ID>data**(%%)
126 And there is a LoRa End node sending below packets:
127 *<12345>Hello From Sensor1
128 )))
129
130
131 (% class="box" %)
132 (((
133 LG01/LG02 will uplink 12345:Hello From Sensor1 and usr can use logread -f to check the log.
134 Thu Feb  4 08:21:49 2021 user.notice iot_keep_alive: use WAN or WiFi for internet access now
135 Thu Feb  4 08:21:53 2021 daemon.info tcp_process.sh[18564]: /var/iot/channels/ CREATE 12345
136 Thu Feb  4 08:21:53 2021 user.notice root: [IoT.TCP]: Check for sensor update
137 Thu Feb  4 08:21:53 2021 user.notice root: [IoT.TCP]: Found Data at Local Channels: 12345
138 Thu Feb  4 08:21:53 2021 user.notice root: [IoT.TCP]:
139 Thu Feb  4 08:21:53 2021 user.notice root: [IoT.TCP]:~-~-~-~--
140 Thu Feb  4 08:21:53 2021 user.notice root: [IoT.TCP]:server: 10.130.2.149
141 Thu Feb  4 08:21:53 2021 user.notice root: [IoT.TCP]:port: 60000
142 Thu Feb  4 08:21:53 2021 user.notice root: [IoT.TCP]:decoder: LG01/LG02 Raw Data
143 Thu Feb  4 08:21:53 2021 user.notice root: [IoT.TCP]:tcp_data: 12345:Hello From Sensor1;
144 Thu Feb  4 08:21:53 2021 user.notice root: [IoT.TCP]:~-~-~-~-~-~-
145 )))
146
147
148 and TCP server get:
149
150 [[image:image-20220527145304-9.png]]
151
152 TCP Server
153
154 LoRa End Device reference source code: [[check this link>>url:https://github.com/dragino/Arduino-Profile-Examples/blob/master/libraries/Dragino/examples/IoTServer/ThingSpeak/MQTT_Client/MQTT_DHT11_Client_updata_to_ThingSpeak_/MQTT_DHT11_Client_updata_to_ThingSpeak_.ino]].
155
156
157 = 4. Reference =
158
159 Set up a TCP/IP server use node.js: [[Reference Link>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LG02-OLG02/Firmware/customized_script/&file=node_tcp_server.txt]]