At the end of last year, I received MatchX Matchbox LoRaWAN gateway, but only quickly checked out the hardware, as I was still unclear about regulations in South East Asia, and did not have any nodes to play with.
Understanding Regulations and LoRaWAN Frequency Plans
Since then, the government published some notifications about the 920-925 MHz band we are supposed to follow here. It’s in Thai language, and I can’t still read/understand it, but I got some translation help, and some key points include:
paragraph 5 : for 920-925MHz non-RFID radio equipment
(1) max EIRP not more than 4 watts
(2) if EIRP < 50mW, no need for any license (3) if EIRP < 500mW, a license is required for importing, selling, and making your own equipment (4), and you must be in accordance with NBTC technical standard. (5) must not interfere with any licensed application. Interfering equipment must be prevented for any usage.
I’ve also learned that LoRaWAN defines frequency plans such as AS923 in Thailand, Malaysia or Japan, and based on the text above transmission power must be limited to 50mW, unless you get some special licenses which are probably impossible to get for an individual.
If you’ve ever tried to buy LoRa hardware, you’ll easily find 433MHz, 868 MHz, or 915 MHz nodes and gateways which are normally used in respectively China, Europe, and the US. However, some other countries like Japan, Korea, or India, people have to other frequency plans namely AS923, KR920-923 and IN865-867 respectively. More details can be found on The Things Network’s frequency plans page.
So how do you exactly buy hardware for AS923, for example? Leaving 433 Mhz aside, Semtech sells chips for 868 MHz and 915 MHz, but those can be re-programmed to match other countries regulations. For example, you can get 915 MHz gateways or nodes for AS923 or KR920-923, and 868 MHz or nodes for IN865-867, and configure the gateway accordingly, and update the nodes’ firmware.
As mentioned previously, I had a gateway thanks to MatchX, but so far I had no node, but this has changed as Rak Wireless send me one of their RAK811 LoRa GPS tracker (915 MHz) configured for AS923.
At first, I thought the frequency plan had to be defined by the manufacturer in some binary blob, but actually the user can change this him/herself as explained in the user’s manual. The other thing you may have to take into account is the antenna, as the kits will be sold with a 868 MHz or 915 MHz antenna, and this should work with alternative frequency plans, but it may affect the range, so you may want to use a different antenna that matches exactly your frequency for longer range. I’ll just use the antennas provided by the manufacturers in this review.
MatchX MatchBox LoRa Gateway Setup for AS923
So now, that I’ve got a LoRa Gateway and a GPS tracker node, it’s time to get started. In this review, I’ll take care of the gateway first, as I’ll have to study a bit more to find out how to use both.
You’ll find documentation on MatchX website. You could install the gateway first in a proper location, but I prefer to configure it first from my office, as it’s easier to manage in case something goes, i.e. I would not need to climb on the roof…
First step is to connect power the gateway through its PoE power supply with an Ethernet cable. You’ll also need to note your gateway serial number (S/N) as shown above.
Once your gateway is powered, you should see a new ESSID called MatchX_Box_xxxx, you can login to it using your gateway serial number, and then access the gateway IP to connect it to your WiFi router. That is if you are using WiFi, since Ethernet is also an option. Your gateway will now have internet access, and we won’t need to access it directly anymore
Instead, we’ll control everything from the cloud via MatchX Cloud.
Select your location in their website, in my case JP/SEA (SEA = South East Asia), register an account, and add your gateway. You should now see your gateway’s parameters and its location in the Gateways section of the dashboard.
After a while, I could see some activity with frames received in the 923 MHz band. It was not my nodes, but it showed the device was configured properly and automatically to use AS923. That was easy. I clicked on the Global LoRa Config’s download button, and got global_config.json:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 |
{ "SX1301_conf": { "lorawan_public": true, "clksrc": 1, /* radio_1 provides clock to concentrator */ "lbt_cfg": { "enable": true, "rssi_target": -81, /* dBm */ "chan_cfg":[ /* 8 channels maximum */ { "freq_hz": 923200000, "scan_time_us": 128 }, { "freq_hz": 923400000, "scan_time_us": 128 }, { "freq_hz": 922200000, "scan_time_us": 128 }, { "freq_hz": 922400000, "scan_time_us": 128 }, { "freq_hz": 922600000, "scan_time_us": 128 }, { "freq_hz": 922800000, "scan_time_us": 128 }, { "freq_hz": 923000000, "scan_time_us": 128 }, { "freq_hz": 922000000, "scan_time_us": 128 } ], "sx127x_rssi_offset": -7 /* dB */ }, "antenna_gain": 2.5, /* antenna gain, in dBi */ "radio_0": { "enable": true, "type": "SX1257", "freq": 923000000, "rssi_offset": -166.0, "tx_enable": true, "tx_freq_min": 920000000, "tx_freq_max": 923400000 }, "radio_1": { "enable": true, "type": "SX1257", "freq": 922000000, "rssi_offset": -166.0, "tx_enable": false }, "chan_multiSF_0": { "desc": "Lora MAC, 125kHz, all SF, 923.2 MHz", "enable": true, "radio": 0, "if": 200000 }, "chan_multiSF_1": { "desc": "Lora MAC, 125kHz, all SF, 923.4 MHz", "enable": true, "radio": 0, "if": 400000 }, "chan_multiSF_2": { "desc": "Lora MAC, 125kHz, all SF, 922.2 MHz", "enable": true, "radio": 1, "if": 200000 }, "chan_multiSF_3": { "desc": "Lora MAC, 125kHz, all SF, 922.4 MHz", "enable": true, "radio": 1, "if": 400000 }, "chan_multiSF_4": { "desc": "Lora MAC, 125kHz, all SF, 922.6 MHz", "enable": true, "radio": 0, "if": -400000 }, "chan_multiSF_5": { "desc": "Lora MAC, 125kHz, all SF, 922.8 MHz", "enable": true, "radio": 0, "if": -200000 }, "chan_multiSF_6": { "desc": "Lora MAC, 125kHz, all SF, 923.0 MHz", "enable": true, "radio": 0, "if": 0 }, "chan_multiSF_7": { "desc": "Lora MAC, 125kHz, all SF, 922.0 MHz", "enable": true, "radio": 1, "if": 0 }, "chan_Lora_std": { "desc": "Lora MAC, 250kHz, SF7, 922.1 MHz", "enable": true, "radio": 1, "if": 100000, "bandwidth": 250000, "spread_factor": 7 }, "chan_FSK": { "desc": "FSK 50kbps, 921.8 MHz", "enable": true, "radio": 1, "if": -200000, "bandwidth": 125000, "datarate": 50000 }, "tx_lut_0": { /* TX gain table, index 0 */ "pa_gain": 0, "mix_gain": 8, "rf_power": -6, "dig_gain": 3 }, "tx_lut_1": { /* TX gain table, index 1 */ "pa_gain": 0, "mix_gain": 10, "rf_power": -3, "dig_gain": 3 }, "tx_lut_2": { /* TX gain table, index 2 */ "pa_gain": 0, "mix_gain": 9, "rf_power": 0, "dig_gain": 0 }, "tx_lut_3": { /* TX gain table, index 3 */ "pa_gain": 0, "mix_gain": 12, "rf_power": 3, "dig_gain": 0 }, "tx_lut_4": { /* TX gain table, index 4 */ "pa_gain": 1, "mix_gain": 8, "rf_power": 6, "dig_gain": 2 }, "tx_lut_5": { /* TX gain table, index 5 */ "pa_gain": 1, "mix_gain": 9, "rf_power": 10, "dig_gain": 0 }, "tx_lut_6": { /* TX gain table, index 6 */ "pa_gain": 1, "mix_gain": 11, "rf_power": 11, "dig_gain": 2 }, "tx_lut_7": { /* TX gain table, index 7 */ "pa_gain": 1, "mix_gain": 11, "rf_power": 12, "dig_gain": 1 }, "tx_lut_8": { /* TX gain table, index 8 */ "pa_gain": 1, "mix_gain": 11, "rf_power": 13, "dig_gain": 0 }, "tx_lut_9": { /* TX gain table, index 9 */ "pa_gain": 1, "mix_gain": 12, "rf_power": 14, "dig_gain": 1 }, "tx_lut_10": { /* TX gain table, index 10 */ "pa_gain": 2, "mix_gain": 8, "rf_power": 16, "dig_gain": 0 }, "tx_lut_11": { /* TX gain table, index 11 */ "pa_gain": 2, "mix_gain": 12, "rf_power": 20, "dig_gain": 2 }, "tx_lut_12": { /* TX gain table, index 12 */ "pa_gain": 2, "mix_gain": 14, "rf_power": 23, "dig_gain": 2 }, "tx_lut_13": { /* TX gain table, index 13 */ "pa_gain": 2, "mix_gain": 15, "rf_power": 25, "dig_gain": 0 }, "tx_lut_14": { /* TX gain table, index 14 */ "pa_gain": 3, "mix_gain": 11, "rf_power": 26, "dig_gain": 3 }, "tx_lut_15": { /* TX gain table, index 15 */ "pa_gain": 3, "mix_gain": 10, "rf_power": 27, "dig_gain": 2 } }, "gateway_conf": { /* change with default server address/ports, or overwrite in local_conf.json */ "server_address": "as1x.matchx.io", "serv_port_up": 1700, "serv_port_down": 1700, /* adjust the following parameters for your network */ "keepalive_interval": 10, "stat_interval": 30, "push_timeout_ms": 100, /* forward only valid packets */ "forward_crc_valid": true, "forward_crc_error": false, "forward_crc_disabled": false, /* GPS configuration */ "gps_tty_path": "/dev/ttyS1", /* GPS reference coordinates */ "ref_latitude": 0.0, "ref_longitude": 0.0, "ref_altitude": 0 } } |
I have not studied LoRa specifications in details yet, so I don’t understand all the parameters used, but it’s clear 923 MHz is used.
I wanted to disabled Tx or find a way to limited the power to 50 mW, so I asked MatchX, and they explained that:
The TX can’t be disabled as bidirectional connection is required for nodes to join the network. The LoRa server is taking care of the maximum allowed TX power and it is within 50mW.
So that’s great, and there’s apparently no configuration to be done if you use MatchX cloud, everything is automatically configured for your country.
The company told me I should not modify global_config.json, but the file is provided for those to want to connect the gateway to a different cloud server such as TTN. Maybe I’ll try that a little later.
MatchX LoRa Gateway Installation
So now that I got configuration sorted out, it’s time to install the gateway in a good location to have a decent range. I plan to install RAK811 in a bicycle and test whether it can sent signals to the gateway from a stadium located a little over 3km (line of sight) from my home.
I did not install the gateway at the highest point in my home since I don’t trust the roof can handle with weight, but instead found a location around 3 meters high.
Once the gateway is in place, you can just insert an Ethernet cable, and put the bottom cover back.
The gateway is rated IP65 and should be weatherproof, but we’ll see if it can handle Thailand’s rainy season… 🙂
The next step is to install the PoE power adapter is a location protected from the rain. The small bit with a hole makes it extra convenient as you can keep the power adapter firmly in place with a single screw. Now connect the Ethernet cable to the PoE connector, and connect the power cord.
Finally connect the other end of the power cord to an AC power socket, and you should be good to go. You could also add another Ethernet cable if you don’t use WiFi.
That’s all for today. If you are interested in the hardware I’ll use for testing LoRaWAN connectivity, you can buy MatchBox LoRa gateway for 350 Euros on MatchX website, and purchase RAK811 LoRa GPS tracker on Aliexpress for around $50. Just make sure you get the model with the right frequency for your location.
Continue reading “AS923 LoRa GPS Tracking with MatchX MatchBox Gateway and RAK811 LoRa GPS Tracker Board“.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
I’ve never understood the draw of these devices, they seem kinda pointless to me.
And I’d never thought I’d say I miss that kind of dull weather. It’s just far too hot and humid in Europe at the moment.
It’s more useful for businesses to track assets. For home use, the benefits are rather limited unless maybe you have a very large property. The gateway cost is quite high, so it only start being interesting when you have a larger number of node, compared to something like cellular, since the hardware for nodes should be cheaper, and obviously you don’t need to pay for any yearly plan. An alternative is to use The Things Networks community if there’s coverage, as you’d save on the gateway cost.
Is this one supports class C?
On hardware page(https://www.matchx.io/hardware) I can’t find detail about GW’s lora class support, but they said their node(MATCHSTICK) is support class ABC. So can i assume that MatchBox is support class C too?
I have not studied LoRaWAN in depth yet, but after a quick look at Class A/B/C, I understand those classes are for end nodes / devices operating on batteries, and gateways always support any of those classes.
Or do you know of any gateway that is limited to certain classes?
I just start study about LoRaWAN not long ago, and while searching for GW hardware I just found some GW is partial support in some class just like this one https://www.orbiwise.com/solutions/orbilink . On webpage they said this GW on ly support Rx in class B, so I assume that manufacturer have to implement something in their GW’s fw to support each class data packet or some thing like that.
To reply to your question:
Unrelated to your question, but I also had my own question since RAK811 is using Cayenne LPP data format with the default firmware. I asked if MatchX Cloud would be able to handle that data, and now for now:
So now I’ve connected the gateway to The Things Network, and I’m almost there. Working with RAK811 is not that user-friendly, so it’s time consuming each time you want to change a parameter.
Hi Jean-Luc, any updates on how the match X Gateway has performed?
Can’t connect to the link above
We are looking at the new model for a standardised gateway for multiple different lpwan deployments