Changes for page LG01v2 -- LoRa Gateway User Manual
Last modified by Kilight Cao on 2024/10/12 08:58
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 4 removed)
Details
- Page properties
-
- Content
-
... ... @@ -116,10 +116,10 @@ 116 116 117 117 == **2.1 Connects to the network and accesses the gateway Web UI** == 118 118 119 -== =**2.1.1 connect the network.** ===119 +== **2.1.1 connect the network.** == 120 120 121 121 122 -=== =(% style="color:blue" %)**Method 1**(%%): Connect via Ethernet with DHCP IP from the router ====122 +=== (% style="color:blue" %)**Method 1**(%%): Connect via Ethernet with DHCP IP from the router === 123 123 124 124 125 125 Connect the LG01-V2 Ethernet port to your router and LG01-V2 can obtain an IP address from your router. In the router's management portal, you should be able to find what IP address the router has assigned to the LG01-V2. ... ... @@ -129,38 +129,10 @@ 129 129 130 130 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622100129-1.png?width=1263&height=332&rev=1.1||alt="image-20220622100129-1.png"]] 131 131 132 -==== (% style="color:blue" %)**Method 2**(%%): Connect via LG01v2 Fallback IP ==== 133 133 134 - [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230107084650-2.png?width=839&height=310&rev=1.1||alt="image-20230107084650-2.png"height="284"width="769"]]133 +=== (% style="color:blue" %)**Method 2**(%%): Connect via WiFi with DHCP IP from the router === 135 135 136 136 137 -**Steps to connect via fallback IP:** 138 - 139 -~1. Connect the PC's Ethernet port to LG01v2's WAN port 140 - 141 -2. Configure PC's Ethernet port has IP: 172.31.255.253 and Netmask: 255.255.255.252 142 - 143 -Settings ~-~-> Network & Internet ~-~-> Ethernet ~-~-> Change advanced sharing options ~-~-> Double-click"Ethernet" ~-~-> Internet Protocol Version 4 (TCP/IPv4) 144 - 145 - 146 -As in the below photo: 147 - 148 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413172038-1.png?width=1243&height=732&rev=1.1||alt="image-20230413172038-1.png" height="624" width="1059"]] 149 - 150 - 151 -Configure computer Ethernet port steps video: **[[fallback ip.mp4>>url:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/fallback%20ip.mp4?rev=1.1]]** 152 - 153 -If you still can't access the LG01v2 fallback ip, follow this connection to debug :**[[Trouble Shooting>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20All%20Gateway%20models/LG01v2/#H10.1A0FallbackIPdoesnotwork2Chowcanuserscheck]]** 154 - 155 -3. In the PC, use IP address 172.31.255.254 to access the LG01v2 via Web or Console. 156 - 157 -[[image:image-20230504095502-2.png||height="545" width="1065"]] 158 - 159 - 160 - 161 -==== (% style="color:blue" %)**Method 3**(%%): Connect via WiFi with DHCP IP from the router ==== 162 - 163 - 164 164 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622100542-2.png?width=1256&height=369&rev=1.1||alt="image-20220622100542-2.png"]] 165 165 166 166 ... ... @@ -176,26 +176,6 @@ 176 176 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102847-7.png?rev=1.1||alt="image-20220622102847-7.png"]] 177 177 178 178 179 -=== 2.1.2 Access Configure Web UI === 180 - 181 -**Web Interface** 182 - 183 -Open a browser on the PC and type the LPS8-V2 ip address (depends on your connect method) 184 - 185 - 186 -[[(% style="background-color:yellow" %)**//http:~~/~~/IP_ADDRESS //**>>http://IP_ADDRESS]](%%) or (% style="background-color:yellow" %)//**[[http:~~/~~/172.31.255.254>>http://172.31.255.254(]]**//(Fallback IP) 187 - 188 -You will see the login interface of LPS8-V2 as shown below. 189 - 190 -The account details for Web Login are: 191 - 192 -(% style="color:#4f81bd" %)**User Name: root** 193 - 194 -(% style="color:#4f81bd" %)**Password: dragino** 195 - 196 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230106153501-1.png?width=894&height=367&rev=1.1||alt="image-20230106153501-1.png"]] 197 - 198 - 199 199 = **3. Web Configure Pages** = 200 200 201 201 == **3.1 Home** == ... ... @@ -280,18 +280,6 @@ 280 280 == **5.1 Configure and Debug LoRa wireless of LG01v2** == 281 281 282 282 283 -First, the user needs to access the Linux console of LG01v2 via ssh 284 - 285 -IP address: IP address of LG01v2 286 - 287 -Port: 22 288 - 289 -User Name: (% style="color:#4f81bd" %)**root** 290 - 291 -Password: (% style="color:#4f81bd" %)**dragino**(%%) (default) 292 - 293 -[[image:image-20230504100722-3.png||height="228" width="908"]] 294 - 295 295 Users can access the Lora configuration page by running the following command, then select the option **''serial port setup"**: 296 296 297 297 (% class="box infomessage" %) ... ... @@ -455,7 +455,7 @@ 455 455 AT+IQ=0,0 ~-~--> TX and RX InvertIQ 456 456 AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 457 457 AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 458 -AT+RXMOD=65535, 2~-~--> Rx Timeout and Reply mode, RX window always open**(0:No ACK, 1:Reply mode, 2:Send an ACK once got a message from another device. ACK Content is 0x00 FF )**398 +AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode, RX window always open 459 459 ))) 460 460 461 461 ... ... @@ -481,7 +481,7 @@ 481 481 482 482 User can plot the temperature and humidity chat via LG01v2 built-in IoT server. 483 483 484 -User can import this example in Node-Red: [[attach:Log-Temperature-Sensor-and-send-data-to- Node-red.json||target="_blank"]]424 +User can import this example in Node-Red: [[attach:Log-Temperature-Sensor-and-send-data-to-node-red.json||target="_blank"]] 485 485 486 486 [[image:image-20221108180334-10.png||height="651" width="1141"]] 487 487 ... ... @@ -528,7 +528,6 @@ 528 528 529 529 = **7. OTA System Update** = 530 530 531 - 532 532 LG01v2 supports system auto update via OTA, please see **[[this URL>>url:http://wiki.dragino.com/xwiki/bin/view/OTA%20Update/]]** for the detail of this feature. 533 533 534 534 ... ... @@ -624,36 +624,9 @@ 624 624 [[image:image-20221112163119-4.png||height="808" width="560"]] 625 625 626 626 627 -= **9.OTA SystemUpdate** =566 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**9. Supports**(%%) = 628 628 629 -LG01v2 supports system auto update via OTA, please see **[[this URL>>url:http://wiki.dragino.com/xwiki/bin/view/OTA%20Update/]]** for the detail of this feature. 630 630 631 - 632 -= **10. Trouble Shooting** = 633 - 634 -== 10.1 Fallback IP does not work, how can users check == 635 - 636 -When the computer has completed the above fallback IP configuration,the LG01v2 Web UI is still not accessible via fallback IP. 637 - 638 - 639 -**1.Check whether the configuration is correct** 640 - 641 -Run the CMD command to ipconfig and ping 172.31.255.254. 642 - 643 -If this fails, the user needs to reconfigure. 644 - 645 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413170224-3.png?width=707&height=433&rev=1.1||alt="image-20230413170224-3.png"]] 646 - 647 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413170246-4.png?rev=1.1||alt="image-20230413170246-4.png"]] 648 - 649 -**2. Check whether the firewall is disabled** 650 - 651 -If the firewall is not down, this will affect access to the gateway. 652 - 653 - 654 -= (% style="color:inherit; font-family:inherit; font-size:29px" %)**11. Supports**(%%) = 655 - 656 - 657 657 ((( 658 658 **//If you are experiencing issues and can't solve them, you can send mail to [[support@dragino.com>>mailto:support@dragino.com]].//** 659 659 ))) ... ... @@ -662,7 +662,7 @@ 662 662 **//With your question as detailed as possible. We will reply and help you in the shortest.//** 663 663 664 664 665 -= **1 2. Reference** =577 += **10. Reference** = 666 666 667 667 668 668 * Install Tago Core: Refer **Install Tago Core in LG01v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]]. ... ... @@ -671,7 +671,7 @@ 671 671 672 672 ))) 673 673 674 -= **1 3. Order Info** =586 += **11. Order Info** = 675 675 676 676 677 677 (% style="color:#0000ff" %)**LG01v2-XXX-YYY** ... ... @@ -691,7 +691,7 @@ 691 691 More info about valid bands, please see [[EC25-E product page>>url:https://www.quectel.com/product/ec25.htm]]. 692 692 693 693 694 -= **1 4. Manufacturer Info** =606 += **12. Manufacturer Info** = 695 695 696 696 697 697 **Shenzhen Dragino Technology Development co. LTD** ... ... @@ -701,7 +701,7 @@ 701 701 LongCheng Street, LongGang District ; Shenzhen 518116,China 702 702 703 703 704 -= **1 5. FCC Warning** =616 += **13. FCC Warning** = 705 705 706 706 707 707 (((
- Log-Temperature-Sensor-and-send-data-to-Node-red.json
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -10.3 KB - Content
-
... ... @@ -1,443 +1,0 @@ 1 -[ 2 - { 3 - "id": "0a211e08511c4bdd", 4 - "type": "tab", 5 - "label": "serial USB", 6 - "disabled": false, 7 - "info": "", 8 - "env": [] 9 - }, 10 - { 11 - "id": "4a97eeb54bf57a6d", 12 - "type": "serial in", 13 - "z": "0a211e08511c4bdd", 14 - "name": "", 15 - "serial": "bb1c0e81fd51fa9e", 16 - "x": 210, 17 - "y": 60, 18 - "wires": [ 19 - [ 20 - "d2493fb9752dbcab", 21 - "d183c255973c979e" 22 - ] 23 - ] 24 - }, 25 - { 26 - "id": "12f1eeb8049675c1", 27 - "type": "inject", 28 - "z": "0a211e08511c4bdd", 29 - "name": "AT+SEND=1,hello world,0,3", 30 - "props": [ 31 - { 32 - "p": "payload" 33 - } 34 - ], 35 - "repeat": "", 36 - "crontab": "", 37 - "once": false, 38 - "onceDelay": 0.1, 39 - "topic": "", 40 - "payload": "AT+SEND=1,hello world,0,3", 41 - "payloadType": "str", 42 - "x": 220, 43 - "y": 260, 44 - "wires": [ 45 - [ 46 - "a5d2f5df63a2148e" 47 - ] 48 - ] 49 - }, 50 - { 51 - "id": "a5d2f5df63a2148e", 52 - "type": "serial out", 53 - "z": "0a211e08511c4bdd", 54 - "name": "", 55 - "serial": "bb1c0e81fd51fa9e", 56 - "x": 540, 57 - "y": 260, 58 - "wires": [] 59 - }, 60 - { 61 - "id": "dc04c04a0bc0e5db", 62 - "type": "inject", 63 - "z": "0a211e08511c4bdd", 64 - "name": "", 65 - "props": [ 66 - { 67 - "p": "payload" 68 - } 69 - ], 70 - "repeat": "", 71 - "crontab": "", 72 - "once": false, 73 - "onceDelay": 0.1, 74 - "topic": "", 75 - "payload": "ATZ", 76 - "payloadType": "str", 77 - "x": 290, 78 - "y": 320, 79 - "wires": [ 80 - [ 81 - "a5d2f5df63a2148e" 82 - ] 83 - ] 84 - }, 85 - { 86 - "id": "3de96a220e28e8f0", 87 - "type": "inject", 88 - "z": "0a211e08511c4bdd", 89 - "name": "AT+FRE", 90 - "props": [ 91 - { 92 - "p": "payload" 93 - } 94 - ], 95 - "repeat": "", 96 - "crontab": "", 97 - "once": false, 98 - "onceDelay": 0.1, 99 - "topic": "", 100 - "payload": "AT+FRE=868.100,868.100", 101 - "payloadType": "str", 102 - "x": 280, 103 - "y": 380, 104 - "wires": [ 105 - [ 106 - "a5d2f5df63a2148e" 107 - ] 108 - ] 109 - }, 110 - { 111 - "id": "638725a47a1e4365", 112 - "type": "inject", 113 - "z": "0a211e08511c4bdd", 114 - "name": "AT+BW", 115 - "props": [ 116 - { 117 - "p": "payload" 118 - } 119 - ], 120 - "repeat": "", 121 - "crontab": "", 122 - "once": false, 123 - "onceDelay": 0.1, 124 - "topic": "", 125 - "payload": "AT+BW=0,0", 126 - "payloadType": "str", 127 - "x": 290, 128 - "y": 440, 129 - "wires": [ 130 - [ 131 - "a5d2f5df63a2148e" 132 - ] 133 - ] 134 - }, 135 - { 136 - "id": "85ba9868d1f3e82c", 137 - "type": "inject", 138 - "z": "0a211e08511c4bdd", 139 - "name": "AT+SF", 140 - "props": [ 141 - { 142 - "p": "payload" 143 - } 144 - ], 145 - "repeat": "", 146 - "crontab": "", 147 - "once": false, 148 - "onceDelay": 0.1, 149 - "topic": "", 150 - "payload": "AT+SF=12,12", 151 - "payloadType": "str", 152 - "x": 290, 153 - "y": 500, 154 - "wires": [ 155 - [ 156 - "a5d2f5df63a2148e" 157 - ] 158 - ] 159 - }, 160 - { 161 - "id": "144b2749013ffe57", 162 - "type": "inject", 163 - "z": "0a211e08511c4bdd", 164 - "name": "AT+RXMOD", 165 - "props": [ 166 - { 167 - "p": "payload" 168 - } 169 - ], 170 - "repeat": "", 171 - "crontab": "", 172 - "once": false, 173 - "onceDelay": 0.1, 174 - "topic": "", 175 - "payload": "AT+RXMOD=65535,2", 176 - "payloadType": "str", 177 - "x": 270, 178 - "y": 560, 179 - "wires": [ 180 - [ 181 - "a5d2f5df63a2148e" 182 - ] 183 - ] 184 - }, 185 - { 186 - "id": "bfb2e9df89dc5e2f", 187 - "type": "inject", 188 - "z": "0a211e08511c4bdd", 189 - "name": "AT+SYNCWORD", 190 - "props": [ 191 - { 192 - "p": "payload" 193 - } 194 - ], 195 - "repeat": "", 196 - "crontab": "", 197 - "once": false, 198 - "onceDelay": 0.1, 199 - "topic": "", 200 - "payload": "AT+SYNCWORD=0", 201 - "payloadType": "str", 202 - "x": 260, 203 - "y": 620, 204 - "wires": [ 205 - [ 206 - "a5d2f5df63a2148e" 207 - ] 208 - ] 209 - }, 210 - { 211 - "id": "d2493fb9752dbcab", 212 - "type": "function", 213 - "z": "0a211e08511c4bdd", 214 - "name": "function 1", 215 - "func": "var data = msg.payload\nif (data.substring(0, 4) == \"Data\") {\n if (data.substring(6, 12) == \"(HEX:)\") {\n var temp = data.substring(13, 15) + data.substring(16, 18)\n var hum = data.substring(19, 21) + data.substring(22, 24)\n var temp1 = parseInt(temp, 16) / 100\n var hum1 = parseInt(hum, 16) / 10\n var a1 = { payload: temp1 }, a2 = { payload: hum1 }\n }\n if (data.substring(6, 15) == \"(String:)\") {\n var temp = data.substring(20, 24)\n var hum = data.substring(29, 34)\n a1 = { payload: temp }, a2 = { payload: hum }\n }\n}\nif (data.substring(0, 4) == \"Rssi\") {\n var rssi = data.substring(6)\n var a3 = { payload: rssi }\n}\nreturn [a1, a2, a3];", 216 - "outputs": 3, 217 - "noerr": 0, 218 - "initialize": "", 219 - "finalize": "", 220 - "libs": [], 221 - "x": 420, 222 - "y": 60, 223 - "wires": [ 224 - [ 225 - "c17d94be4317ae6c" 226 - ], 227 - [ 228 - "20c5b1c7f42fa6bb" 229 - ], 230 - [ 231 - "39a8462f3d748eef" 232 - ] 233 - ] 234 - }, 235 - { 236 - "id": "39a8462f3d748eef", 237 - "type": "ui_chart", 238 - "z": "0a211e08511c4bdd", 239 - "name": "", 240 - "group": "ef41b39771110fa5", 241 - "order": 1, 242 - "width": 0, 243 - "height": 0, 244 - "label": "RSSI", 245 - "chartType": "line", 246 - "legend": "false", 247 - "xformat": "dd HH:mm", 248 - "interpolate": "linear", 249 - "nodata": "", 250 - "dot": true, 251 - "ymin": "", 252 - "ymax": "", 253 - "removeOlder": 1, 254 - "removeOlderPoints": "", 255 - "removeOlderUnit": "3600", 256 - "cutout": 0, 257 - "useOneColor": false, 258 - "useUTC": false, 259 - "colors": [ 260 - "#1f77b4", 261 - "#aec7e8", 262 - "#ff7f0e", 263 - "#2ca02c", 264 - "#98df8a", 265 - "#d62728", 266 - "#ff9896", 267 - "#9467bd", 268 - "#c5b0d5" 269 - ], 270 - "outputs": 1, 271 - "useDifferentColor": false, 272 - "className": "", 273 - "x": 670, 274 - "y": 180, 275 - "wires": [ 276 - [] 277 - ] 278 - }, 279 - { 280 - "id": "c17d94be4317ae6c", 281 - "type": "ui_chart", 282 - "z": "0a211e08511c4bdd", 283 - "name": "", 284 - "group": "7e1d1c102cf74e6b", 285 - "order": 1, 286 - "width": 0, 287 - "height": 0, 288 - "label": "Temperature", 289 - "chartType": "line", 290 - "legend": "false", 291 - "xformat": "HH:mm:ss", 292 - "interpolate": "linear", 293 - "nodata": "", 294 - "dot": true, 295 - "ymin": "", 296 - "ymax": "", 297 - "removeOlder": 1, 298 - "removeOlderPoints": "", 299 - "removeOlderUnit": "3600", 300 - "cutout": 0, 301 - "useOneColor": false, 302 - "useUTC": false, 303 - "colors": [ 304 - "#1f77b4", 305 - "#aec7e8", 306 - "#ff7f0e", 307 - "#2ca02c", 308 - "#98df8a", 309 - "#d62728", 310 - "#ff9896", 311 - "#9467bd", 312 - "#c5b0d5" 313 - ], 314 - "outputs": 1, 315 - "useDifferentColor": false, 316 - "className": "", 317 - "x": 690, 318 - "y": 100, 319 - "wires": [ 320 - [] 321 - ] 322 - }, 323 - { 324 - "id": "20c5b1c7f42fa6bb", 325 - "type": "ui_chart", 326 - "z": "0a211e08511c4bdd", 327 - "name": "", 328 - "group": "3f5d139f158d7c1c", 329 - "order": 2, 330 - "width": 0, 331 - "height": 0, 332 - "label": "Humidity", 333 - "chartType": "line", 334 - "legend": "false", 335 - "xformat": "HH:mm:ss", 336 - "interpolate": "linear", 337 - "nodata": "", 338 - "dot": true, 339 - "ymin": "", 340 - "ymax": "", 341 - "removeOlder": 1, 342 - "removeOlderPoints": "", 343 - "removeOlderUnit": "3600", 344 - "cutout": 0, 345 - "useOneColor": false, 346 - "useUTC": false, 347 - "colors": [ 348 - "#1f77b4", 349 - "#aec7e8", 350 - "#ff7f0e", 351 - "#2ca02c", 352 - "#98df8a", 353 - "#d62728", 354 - "#ff9896", 355 - "#9467bd", 356 - "#c5b0d5" 357 - ], 358 - "outputs": 1, 359 - "useDifferentColor": false, 360 - "className": "", 361 - "x": 680, 362 - "y": 140, 363 - "wires": [ 364 - [] 365 - ] 366 - }, 367 - { 368 - "id": "d183c255973c979e", 369 - "type": "debug", 370 - "z": "0a211e08511c4bdd", 371 - "name": "debug 1", 372 - "active": true, 373 - "tosidebar": true, 374 - "console": false, 375 - "tostatus": false, 376 - "complete": "false", 377 - "statusVal": "", 378 - "statusType": "auto", 379 - "x": 420, 380 - "y": 180, 381 - "wires": [] 382 - }, 383 - { 384 - "id": "bb1c0e81fd51fa9e", 385 - "type": "serial-port", 386 - "serialport": "/dev/ttyUSB0", 387 - "serialbaud": "9600", 388 - "databits": "8", 389 - "parity": "none", 390 - "stopbits": "1", 391 - "waitfor": "", 392 - "dtr": "none", 393 - "rts": "none", 394 - "cts": "none", 395 - "dsr": "none", 396 - "newline": "\\n", 397 - "bin": "false", 398 - "out": "char", 399 - "addchar": "\\r\\n", 400 - "responsetimeout": "10000" 401 - }, 402 - { 403 - "id": "ef41b39771110fa5", 404 - "type": "ui_group", 405 - "name": "rssi", 406 - "tab": "abb98f80600a5448", 407 - "order": 3, 408 - "disp": true, 409 - "width": "6", 410 - "collapse": false, 411 - "className": "" 412 - }, 413 - { 414 - "id": "7e1d1c102cf74e6b", 415 - "type": "ui_group", 416 - "name": "TEM", 417 - "tab": "abb98f80600a5448", 418 - "order": 4, 419 - "disp": true, 420 - "width": "6", 421 - "collapse": false, 422 - "className": "" 423 - }, 424 - { 425 - "id": "3f5d139f158d7c1c", 426 - "type": "ui_group", 427 - "name": "HUM", 428 - "tab": "abb98f80600a5448", 429 - "order": 2, 430 - "disp": true, 431 - "width": "6", 432 - "collapse": false, 433 - "className": "" 434 - }, 435 - { 436 - "id": "abb98f80600a5448", 437 - "type": "ui_tab", 438 - "name": "LG01v2", 439 - "icon": "LG01v2", 440 - "disabled": false, 441 - "hidden": false 442 - } 443 -]
- image-20230504095457-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -412.6 KB - Content
- image-20230504095502-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -412.6 KB - Content
- image-20230504100722-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -21.5 KB - Content