Wiki source code of TCP Connection Instruction

Version 1.3 by Xiaoling on 2022/05/12 17:01

Hide last authors
Xiaoling 1.2 1 Contents:
Xiaoling 1.1 2
3
Xiaoling 1.2 4 = 1. Introduction =
Xiaoling 1.1 5
Xiaoling 1.2 6 In the TCP IP Client mode, LoRa Gateway can accept LoRa or LoRaWAN packets and send it to the TCP/IP server.
Xiaoling 1.1 7
8
Xiaoling 1.2 9 = 2. LoRaWAN Mode TCP Connection =
Xiaoling 1.1 10
Xiaoling 1.2 11 == 2.1 Support Hardware ==
Xiaoling 1.1 12
Xiaoling 1.2 13 * [[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]]
14 * [[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]]
Xiaoling 1.1 15
16
Xiaoling 1.2 17 == 2.2 Typology & Instruction ==
Xiaoling 1.1 18
Xiaoling 1.2 19 [[image:https://wiki.dragino.com/images/thumb/7/75/LPS8_TCP_0.png/600px-LPS8_TCP_0.png||height="370" width="600"]]
Xiaoling 1.1 20
Xiaoling 1.2 21 Network Structure
Xiaoling 1.1 22
Xiaoling 1.2 23 [[Intrudctions>>url:https://wiki.dragino.com/index.php/Communication_with_ABP_End_Node#Example_2:_Communicate_to_TCP_Server]]
Xiaoling 1.1 24
25
Xiaoling 1.2 26 = 3. Raw LoRa Mode TCP Connection =
Xiaoling 1.1 27
Xiaoling 1.3 28 == 3.1 Support Hardware ==
Xiaoling 1.2 29
30 * LG01N, OLG01N
31 * LG02, OLG02
32
33
Xiaoling 1.3 34 == 3.2 Typology ==
Xiaoling 1.2 35
36 The working topology is as below. In this mode, The Uplink LoRa packets should use a customized format.
37
Xiaoling 1.3 38 [[image:https://wiki.dragino.com/images/thumb/5/54/TCP_FORWARD_1.png/600px-TCP_FORWARD_1.png||height="380" width="600"]]
Xiaoling 1.2 39
40 TCP/IP Forward working topology
41
42
Xiaoling 1.3 43 == 3.3 Instruction Before Firmware lgw~-~-build-v5.4.1606631585-20201129-1434 ==
Xiaoling 1.2 44
Xiaoling 1.3 45 === 3.3.1 Select TCP-IP Client mode ===
Xiaoling 1.2 46
Xiaoling 1.3 47 [[image:https://wiki.dragino.com/images/thumb/b/ba/TCP_FORWARD_2.png/600px-TCP_FORWARD_2.png||height="159" width="600"]]
Xiaoling 1.2 48
49 Select TCP-IP Client mode
50
51
Xiaoling 1.3 52 === 3.3.2 Configure the Radio channel ===
Xiaoling 1.2 53
Xiaoling 1.3 54 [[image:https://wiki.dragino.com/images/thumb/0/0e/TCP_FORWARD_3.png/600px-TCP_FORWARD_3.png||height="406" width="600"]]
Xiaoling 1.2 55
56 Configure the Radio channel with the match radio settings frequency as the LoRa End Node
57
58
Xiaoling 1.3 59 === 3.3.3 Configure TCP Server Info ===
Xiaoling 1.2 60
61 Note: Gateway may receive many LoRa packets, it will only transfer the packet with the same ID as specify in the channel.
62
Xiaoling 1.3 63 [[image:https://wiki.dragino.com/images/thumb/f/fb/TCP_FORWARD_4.png/600px-TCP_FORWARD_4.png||height="330" width="600"]]
Xiaoling 1.2 64
65 Configure TCP Server Info
66
67
Xiaoling 1.3 68 === 3.4 About uplink data format from End Node ===
Xiaoling 1.2 69
70 The LoRa end node should upload the data with below format:
71
72 {{{Uplink Format: <Channel_ID>data
73 For example, if we have configured 2 channels 12345 and 34567.
74 And there is are three LoRa End nodes sending: 12345,34567,78
75 The LG02 will accept the data from 12345 and 34567, it will ignore the data from Node 78
76 Case 1:
77 Node 12345 send <12345>field1=0.0&field2=1102.0
78 Node 34567 doesn’t send anyting
79 The TCP/IP server will get {"12345":"field1=0.0&field2=1102.0"}
80 Case 2:
81 Node 12345 send <12345>field1=0.0&field2=1102.0
82 Node 34567 send <34567>temp=34
83 The TCP/IP server will get {"34567":"temp=34","12345":"field1=0.0&field2=1102.0"}
84 }}}
85
86 [[~[~[image:https://wiki.dragino.com/images/thumb/2/22/TCP_FORWARD_5.png/600px-TCP_FORWARD_5.png~|~|height="152" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:TCP_FORWARD_5.png]]
87
88 Configure TCP Server Info
89
90 {{{LoRa End Device reference source code: .
91 }}}
92
93
Xiaoling 1.3 94 == 3.4 Instruction After Firmware lgw~-~-build~-~-v5.4.1612428704~-~-20210204-1653 ==
Xiaoling 1.2 95
Xiaoling 1.3 96 === 3.4.1 Configure the Radio channel ===
Xiaoling 1.2 97
98 [[~[~[image:https://wiki.dragino.com/images/thumb/4/40/TCP_FORWARD_7.png/600px-TCP_FORWARD_7.png~|~|height="280" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:TCP_FORWARD_7.png]]
99
100 Configure the Radio channel with the match radio settings frequency as the LoRa End Node
101
102
103 === Configure TCP Server Info ===
104
105 Note: Gateway will transfer the packet if they arrive in the right format .
106
107 [[~[~[image:https://wiki.dragino.com/images/thumb/3/36/TCP_FORWARD_6.png/600px-TCP_FORWARD_6.png~|~|height="149" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:TCP_FORWARD_6.png]]
108
109 Configure TCP Server Info
110
111
112
113 === About uplink data format from End Node ===
114
115 The LoRa end node should upload the data with below format:
116
117 {{{Uplink Format: <Channel_ID>data
118 And there is a LoRa End node sending below packets:
119 *<12345>Hello From Sensor1
120 }}}
121
122
123 {{{LG01/LG02 will uplink 12345:Hello From Sensor1 and usr can use logread -f to check the log.
124 Thu Feb 4 08:21:49 2021 user.notice iot_keep_alive: use WAN or WiFi for internet access now
125 Thu Feb 4 08:21:53 2021 daemon.info tcp_process.sh[18564]: /var/iot/channels/ CREATE 12345
126 Thu Feb 4 08:21:53 2021 user.notice root: [IoT.TCP]: Check for sensor update
127 Thu Feb 4 08:21:53 2021 user.notice root: [IoT.TCP]: Found Data at Local Channels: 12345
128 Thu Feb 4 08:21:53 2021 user.notice root: [IoT.TCP]:
129 Thu Feb 4 08:21:53 2021 user.notice root: [IoT.TCP]:-----
130 Thu Feb 4 08:21:53 2021 user.notice root: [IoT.TCP]:server: 10.130.2.149
131 Thu Feb 4 08:21:53 2021 user.notice root: [IoT.TCP]:port: 60000
132 Thu Feb 4 08:21:53 2021 user.notice root: [IoT.TCP]:decoder: LG01/LG02 Raw Data
133 Thu Feb 4 08:21:53 2021 user.notice root: [IoT.TCP]:tcp_data: 12345:Hello From Sensor1;
134 Thu Feb 4 08:21:53 2021 user.notice root: [IoT.TCP]:------
135
136 }}}
137
138 and TCP server get:
139
140 [[~[~[image:https://wiki.dragino.com/images/thumb/a/a5/TCP_FORWARD_8.png/600px-TCP_FORWARD_8.png~|~|height="307" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:TCP_FORWARD_8.png]]
141
142 TCP Server
143
144 {{{LoRa End Device reference source code: .
145 }}}
146
147 = Reference =
148
149 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]]