Hide last authors
Xiaoling 16.3 1 **~ Table of Contents:**
Xiaoling 1.1 2
Xiaoling 1.3 3 {{toc/}}
Xiaoling 1.1 4
Xiaoling 1.3 5
Xiaoling 16.1 6
Xiaoling 16.3 7 = 1.  Introduction =
Xiaoling 1.1 8
Xiaoling 16.3 9
Xiaoling 1.2 10 (((
11 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.
12 )))
Xiaoling 1.1 13
Xiaoling 1.2 14 (((
15 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.
Xiaoling 16.3 16
17
Xiaoling 1.2 18 )))
Xiaoling 1.1 19
Xiaoling 2.2 20 [[image:image-20220530084843-1.png]]
Xiaoling 1.1 21
Xiaoling 1.2 22 Network structure
Xiaoling 1.1 23
Xiaoling 2.2 24
Xiaoling 1.1 25
Xiaoling 16.3 26 = 2.  Install CoAP server =
27
28
Xiaoling 1.2 29 Set up example in Ubuntu 18.04
Xiaoling 1.1 30
Xiaoling 1.2 31 (% class="box" %)
32 (((
33 sudo apt-get update
34 sudo apt-get upgrade
35 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.
36 sudo dpkg –i emqx-ubuntu18.04-v3.2.4_amd64.deb  #install EMQX
37 emqx start            # Start EMQX service
38 emqx_ctl status   #check if EMQX is running
39 ./bin/emqx_ctl plugins load emqx_coap # Run COAP service
40 )))
Xiaoling 1.1 41
Xiaoling 1.5 42 (((
Xiaoling 1.2 43 (% 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.**
Xiaoling 6.2 44
Xiaoling 16.3 45
Xiaoling 6.2 46
Xiaoling 1.5 47 )))
Xiaoling 1.1 48
Xiaoling 16.4 49 = 3.  Test CoAP Server =
Xiaoling 1.1 50
Xiaoling 16.4 51 == 3.1  Install Copper in Chrome ==
Xiaoling 1.1 52
Xiaoling 16.3 53
Xiaoling 1.2 54 (((
Xiaoling 16.4 55 (% style="color:blue" %)**1. Download Copper4Cr from [[https:~~/~~/github.com/mkovatsc/Copper4Cr>>url:https://github.com/mkovatsc/Copper4Cr]] and unpack it.**
Xiaoling 1.2 56 )))
Xiaoling 1.1 57
Xiaoling 1.2 58 (((
Xiaoling 16.4 59 (% style="color:blue" %)**2. Run install.bat in the directory.**
Xiaoling 6.2 60
Xiaoling 16.3 61
Xiaoling 6.2 62 [[image:image-20220530085327-2.png]]
Xiaoling 1.2 63 )))
Xiaoling 1.1 64
Xiaoling 1.2 65 Run install.bat
66
67
Xiaoling 16.3 68
Xiaoling 16.4 69 (% style="color:blue" %)**3. Load the unpacked CoAP APP in Google Chrome:**
Xiaoling 1.2 70
Xiaoling 16.1 71 [[image:image-20220530085423-3.png||height="241" width="1250"]]
Xiaoling 1.2 72
73 Install Copper APP
74
75
Xiaoling 16.3 76
Xiaoling 6.2 77 [[image:image-20220530085531-4.png]]
78
Xiaoling 1.2 79 Install APP Successful
80
81
Xiaoling 16.3 82
Xiaoling 16.4 83 (% style="color:blue" %)**4. Load the unpacked CoAP extension in Google Chrome:**
Xiaoling 1.2 84
Xiaoling 7.3 85 [[image:image-20220530085638-5.png||height="338" width="1320"]]
Xiaoling 1.2 86
87 Install Copper Extension
88
Xiaoling 15.1 89
Xiaoling 16.1 90 [[image:image-20220530090104-7.png||height="389" width="1282"]]
Xiaoling 1.2 91
92 Install Extension Successful
93
94
Xiaoling 16.3 95
Xiaoling 16.4 96 (% style="color:blue" %)**5. Replace the appID in file extension\endpoint\ClientPortChrome.js to Copper (Cu4Cr) Application ID**
Xiaoling 1.2 97
Xiaoling 9.2 98 [[image:image-20220530090444-10.png]]
Xiaoling 1.2 99
100 Replace ID
101
102
Xiaoling 16.3 103
Xiaoling 16.6 104 (% style="color:blue" %)**6. Open the Copper extension. If you see below message, means install successfully.**
Xiaoling 1.2 105
Xiaoling 8.4 106 [[image:image-20220530090404-9.png||height="658" width="1238"]]
Xiaoling 1.2 107
108 Install Finished
109
110
111
Xiaoling 16.3 112 == 3.2  Test CoAP connection ==
113
114
Xiaoling 1.2 115 (((
116 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.
Xiaoling 10.2 117
Xiaoling 16.3 118
Xiaoling 10.2 119 [[image:image-20220530090848-13.png||height="616" width="1154"]]
Xiaoling 1.2 120 )))
121
122 Connect to CoAP server
123
Xiaoling 9.2 124
Xiaoling 1.2 125
Xiaoling 16.3 126 == 3.3  Test CoAP Uplink ==
127
128
Xiaoling 1.2 129 (((
130 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.
Xiaoling 11.2 131
Xiaoling 16.3 132
Xiaoling 11.2 133 [[image:image-20220530090939-14.png]]
Xiaoling 1.2 134 )))
135
136 Use MQTT.fx to subscribe the topic
137
138
Xiaoling 16.3 139
Xiaoling 13.4 140 [[image:image-20220530091358-18.png||height="549" width="1035"]]
Xiaoling 1.2 141
142 Use CoAP Exension to send a update to CoAP server
143
144
Xiaoling 16.3 145
Xiaoling 13.2 146 [[image:image-20220530091237-17.png]]
Xiaoling 1.2 147
148 MQTT.fx get the update of this topic on CoAP server
149
Xiaoling 11.4 150
Xiaoling 1.2 151
Xiaoling 16.3 152 == 3.4  Test CoAP Downlink ==
153
154
Xiaoling 1.3 155 (((
Xiaoling 1.2 156 Try to use MQTT.fx to publish a message to the topic (topic0) in the server. CoAP extension will see this incomming message.
Xiaoling 1.3 157 )))
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0