Show last authors
1 **~ Contents:**
2
3 {{toc/}}
4
5
6 = 1. Introduction =
7
8 (((
9 In this chapter, we set up a CoAP/ MQTT server by using Open Source MQTT Broker : [[EMQX.IO>>url:https://www.emqx.io/]]. And show how to communicate it with CoAP and MQTT.
10 )))
11
12 (((
13 Below is the network structure. The end device use CoAP to connect our Emqx server via NB-IoT network. EMQ X broker will further process the data for the actually application.
14 )))
15
16 [[image:https://wiki.dragino.com/images/thumb/2/25/CoAP_1.png/600px-CoAP_1.png||height="219" width="600"]]
17
18 Network structure
19
20 = 2. Install CoAP server =
21
22 Set up example in Ubuntu 18.04
23
24 (% class="box" %)
25 (((
26 sudo apt-get update
27 sudo apt-get upgrade
28 wget [[https:~~/~~/www.emqx.io/downloads/broker/v3.2.7/emqx-ubuntu18.04-v3.2.7_amd64.deb>>url:https://www.emqx.io/downloads/broker/v3.2.7/emqx-ubuntu18.04-v3.2.7_amd64.deb]]  #download the installation package.
29 sudo dpkg –i emqx-ubuntu18.04-v3.2.4_amd64.deb  #install EMQX
30 emqx start            # Start EMQX service
31 emqx_ctl status   #check if EMQX is running
32 ./bin/emqx_ctl plugins load emqx_coap # Run COAP service
33 )))
34
35 (% style="color:red" %)**Notice: CoAP default port use 5683, if you install EMQX in a cloud server, make sure you open the UDP port 5683. So can receive the packets from NB-IoT.**
36
37 = 3. Test CoAP Server =
38
39 == 3.1 Install Copper in Chrome ==
40
41 (((
42 ~1. Download Copper4Cr from [[https:~~/~~/github.com/mkovatsc/Copper4Cr>>url:https://github.com/mkovatsc/Copper4Cr]] and unpack it.
43 )))
44
45 (((
46 2. Run install.bat in the directory.
47 )))
48
49 [[image:https://wiki.dragino.com/images/thumb/4/47/CoAP_Test_1.png/600px-CoAP_Test_1.png||height="191" width="600"]]
50
51 Run install.bat
52
53
54 3. Load the unpacked CoAP APP in Google Chrome:
55
56 [[image:https://wiki.dragino.com/images/thumb/8/8b/CoAP_Test_2.png/600px-CoAP_Test_2.png||height="114" width="600"]]
57
58 Install Copper APP
59
60 [[image:https://wiki.dragino.com/images/thumb/7/70/CoAP_Test_3.png/600px-CoAP_Test_3.png||height="523" width="600"]]
61
62 Install APP Successful
63
64
65 4. Load the unpacked CoAP extension in Google Chrome:
66
67 [[image:https://wiki.dragino.com/images/thumb/6/65/CoAP_Test_4.png/600px-CoAP_Test_4.png||height="154" width="600"]]
68
69 Install Copper Extension
70
71 [[image:https://wiki.dragino.com/images/thumb/9/99/CoAP_Test_5.png/600px-CoAP_Test_5.png||height="183" width="600"]]
72
73 Install Extension Successful
74
75
76 5. Replace the appID in file extension\endpoint\ClientPortChrome.js to Copper (Cu4Cr) Application ID
77
78 [[image:https://wiki.dragino.com/images/thumb/7/7e/CoAP_Test_6.png/600px-CoAP_Test_6.png||height="301" width="600"]]
79
80 Replace ID
81
82
83 6. Open the Copper extension. If you see below message, means install successfully.
84
85 [[image:https://wiki.dragino.com/images/thumb/b/b1/CoAP_Test_7.png/600px-CoAP_Test_7.png||height="323" width="600"]]
86
87 Install Finished
88
89
90 == 3.2 Test CoAP connection ==
91
92 (((
93 Use Chrome Copper externsion to connect to the CoAP server. Input coap:~/~/COAP_SERVER_IP/mqtt/topic0?c=t1 to connect to the MQTT topic0 in CoAP server. Replace COAP_SERVER_IP with your COAP Server IP address, and refer [[here>>url:https://github.com/emqx/emqx-coap]] for the CoAP detail in EMQX. When connection ok, you can see below window.
94 )))
95
96 [[image:https://wiki.dragino.com/images/thumb/0/0c/CoAP_Test_8.png/600px-CoAP_Test_8.png||height="323" width="600"]]
97
98 Connect to CoAP server
99
100
101 == 3.3 Test CoAP Uplink ==
102
103 (((
104 Try to use MQTT.fx to subscribe a the topic (topic0) in the server. And use CoAP to send a message to this topic, we can see the message arrive the topic0 and shown in MQTT.fx.
105 )))
106
107 [[image:https://wiki.dragino.com/images/thumb/b/b0/CoAP_Test_9.png/600px-CoAP_Test_9.png||height="429" width="600"]]
108
109 Use MQTT.fx to subscribe the topic
110
111
112 [[image:https://wiki.dragino.com/images/thumb/3/39/CoAP_Test_10.png/600px-CoAP_Test_10.png||height="323" width="600"]]
113
114 Use CoAP Exension to send a update to CoAP server
115
116
117 [[image:https://wiki.dragino.com/images/thumb/f/fe/CoAP_Test_11.png/600px-CoAP_Test_11.png||height="386" width="600"]]
118
119 MQTT.fx get the update of this topic on CoAP server
120
121
122 == 3.4 Test CoAP Downlink ==
123
124 (((
125 Try to use MQTT.fx to publish a message to the topic (topic0) in the server. CoAP extension will see this incomming message.
126 )))
127
128
129 Use MQTT.fx to publish the topic
130
131
132 CoAP extension see the incoming message
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0