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