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