Wiki source code of Connect Devices to ThingsEye
Hide last authors
| author | version | line-number | content | 
|---|---|---|---|
                                                          ![]()  | 
      1.1 | 1 | |
| 2 | |||
      ![]()  | 
      2.1 | 3 | **Table of Contents:** | 
      ![]()  | 
      1.1 | 4 | |
      ![]()  | 
      2.1 | 5 | {{toc/}} | 
      ![]()  | 
      1.1 | 6 | |
      ![]()  | 
      2.1 | 7 | |
      ![]()  | 
      3.1 | 8 | = 1. Overview = | 
| 9 | |||
| 10 | |||
| 11 | |||
      ![]()  | 
      2.1 | 12 | = 2. UDP Procotol ~-~- Directly Connection = | 
| 13 | |||
| 14 | == 2.1 UDP Interface == | ||
| 15 | |||
      ![]()  | 
      1.1 | 16 | * Server Address: server1.thingseye.io | 
      ![]()  | 
      9.1 | 17 | * Port: 11562 | 
      ![]()  | 
      1.1 | 18 | |
| 19 | The data sent to above UDP interface will not go directly to client's database. | ||
| 20 | |||
| 21 | Please contact ThingsEye team for detail how to forward data to client. | ||
| 22 | |||
| 23 | |||
      ![]()  | 
      2.1 | 24 | == 2.2 Test UDP Interface via Socket Tool == | 
      ![]()  | 
      1.1 | 25 | |
| 26 | Download the UDP Test Tool from: [[https:~~/~~/sourceforge.net/projects/sockettest/ >>https://sourceforge.net/projects/sockettest/]]. Run this tool, and input the server address and UDP port as below and click send. | ||
| 27 | |||
      ![]()  | 
      9.1 | 28 | [[image:1728566363151-470.png]] | 
      ![]()  | 
      1.1 | 29 | |
| 30 | In server side, Tenant Administrator can check this in Tenant UDP Server location. | ||
| 31 | |||
| 32 | [[image:1728362834430-749.png||height="510" width="1667"]] | ||
| 33 | |||
| 34 | Click and see the debug info as below: | ||
| 35 | |||
| 36 | [[image:1728363020699-203.png]] | ||
| 37 | |||
| 38 | We can see the message arrives, but it shows ERROR because the message doesn't follow with the UDP Server format. | ||
| 39 | |||
| 40 | |||
      ![]()  | 
      5.1 | 41 | == 2.3 Test with Dragino NB device == | 
      ![]()  | 
      1.1 | 42 | |
      ![]()  | 
      4.1 | 43 | === 2.3.1 Configure NB-IoT End Node === | 
| 44 | |||
| 45 | Device here is **[[S31-NB>>https://www.dragino.com/products/temperature-humidity-sensor/item/288-s31-nb-s31b-nb.html]]** : and have been configure below | ||
| 46 | |||
      ![]()  | 
      12.1 | 47 | * Set to use ThingsEye UDP server: **AT+SERVADDR=server1.thingseye.io,11562** | 
      ![]()  | 
      8.1 | 48 | * Use UDP Uplink & Json protocol:** AT+PRO=2,5** | 
      ![]()  | 
      4.1 | 49 | * Equip with a NB-IoT SIM Card to access to NB-IoT Network. | 
| 50 | |||
| 51 | The S31-NB's cellular module has the IMEI: **863663062789483** | ||
| 52 | |||
| 53 | |||
| 54 | === 2.3.2 Check Uplink Data === | ||
| 55 | |||
| 56 | Re-activate the S31-NB, and we can see it in the debug window: | ||
| 57 | |||
| 58 | [[image:1728378218744-800.png||height="431" width="1003"]] | ||
| 59 | |||
| 60 | |||
| 61 | === 2.3.3 Auto-Create Device === | ||
| 62 | |||
| 63 | The default **Tenant UDP Server** has already been configured to decode the Dragino -NB / -CB NB-IoT node. So once each end node sends a data to server. Tenant will auto create the device in the server. | ||
| 64 | |||
| 65 | [[image:1728378968101-683.png||height="273" width="1307"]] | ||
| 66 | |||
| 67 | [[image:1728379050044-764.png||height="424" width="1312"]] | ||
| 68 | |||
| 69 | |||
      ![]()  | 
      6.1 | 70 | **So we have this device in the Tenant Device List. The next step will be how to use these value to make a nice dashboard for user's application.** | 
      ![]()  | 
      4.1 | 71 | |
| 72 | |||
| 73 | |||
      ![]()  | 
      10.1 | 74 | = 3. Connect to The Things Stack = | 
      ![]()  | 
      8.1 | 75 | |
      ![]()  | 
      10.1 | 76 | == 3.1 Network Structure == | 
      ![]()  | 
      8.1 | 77 | |
| 78 | |||
      ![]()  | 
      10.1 | 79 | == 3.2 Creat Integration for The Things Stack. == | 
      ![]()  | 
      8.1 | 80 | |
| 81 | (% class="lead" %) | ||
| 82 | Add Integration | ||
| 83 | |||
| 84 | [[image:1728535775119-971.png||height="456" width="1087"]] | ||
| 85 | |||
| 86 | |||
| 87 | (% class="lead" %) | ||
| 88 | Choose Connection Type | ||
| 89 | |||
| 90 | [[image:1728535857345-950.png]] | ||
| 91 | |||
| 92 | |||
| 93 | (% class="lead" %) | ||
| 94 | Input Uplink Data Converter Code | ||
| 95 | |||
| 96 | [[image:1728535941851-388.png||height="466" width="398"]] | ||
| 97 | |||
      ![]()  | 
      11.1 | 98 | Demo JavaScript Code: [[https:~~/~~/raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Uplink_Converter.js >>https://raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Uplink_Converter.js]] | 
      ![]()  | 
      8.1 | 99 | |
| 100 | |||
| 101 | (% class="lead" %) | ||
| 102 | Input Downlink Converter | ||
| 103 | |||
| 104 | [[image:1728536142721-488.png||height="470" width="407"]] | ||
| 105 | |||
      ![]()  | 
      11.1 | 106 | Example Javascript Code as below: [[https:~~/~~/raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Downlink_Converter.js>>https://raw.githubusercontent.com/ThingsEye-io/te-platform/refs/heads/main/Data%20Converters/The_Things_Network_MQTT_Downlink_Converter.js]] | 
      ![]()  | 
      8.1 | 107 | |
| 108 | |||
| 109 | (% class="lead" %) | ||
| 110 | Set up Connection to The Things Network application | ||
| 111 | |||
| 112 | [[image:1728536305503-380.png||height="510" width="1206"]] | ||
| 113 | |||
| 114 | |||
| 115 | |||
| 116 | (% class="lead" %) | ||
| 117 | Test Connection & Add iIntegration | ||
| 118 | |||
| 119 | [[image:1728536374214-962.png]] | ||
| 120 | |||
| 121 | After add , we can see the integration here: | ||
| 122 | |||
| 123 | [[image:1728536420275-153.png||height="208" width="1404"]] | ||
| 124 | |||
| 125 | |||
      ![]()  | 
      10.1 | 126 | == 3.3 Test Uplink == | 
      ![]()  | 
      8.1 | 127 | |
| 128 | We can use Simulate Uplink to simulate an uplink in the things stack. Then we should be able to see the message in ThingsEye | ||
| 129 | |||
| 130 | [[image:1728536524638-768.png||height="493" width="1071"]] | ||
| 131 | |||
| 132 | |||
| 133 | [[image:1728536541040-814.png]] | 
  