This is what im trying to do:
I have a Raspberry Pi (RPi) running a Mosquitto MQTT broker server and im using an IOT device to send Hex string packets to that server.
This is what i have currently done:
- I have created the MQTT broker and it runs on the RPi. Have configured to use username/password authentication.
- I have forwarded ports 1883(TCP) and 9001(Websocket) through to the RPi in my WiFi Modem.
- I can load up the HiveMQ Websocket client and can connect to the MQTT broker using my networks public IP, port 9001 and the username/password.
- I subscribe to a topic and can publish on that topic. Data is published and received and i can see the connection status in the MQTT terminal.
- I also have a node.js server that connects to the MQTT broker via the 1883 port and can subscribe to the test data topic.
- I can also connect to the MQTT broker from a computer running on a different network which tells me the MQTT server is publically accessible.
Issue im having:
Have purchased a NB-IOT telstra sim card on a 200kb IOT plan.
Currently using the following IOT device (https://www.iot-store.com.au/products/nbsn95-lpwan-wireless-nb-iot-sensor-node?_pos=6&_sid=fe715c3de&_ss=r) and have setup as per their user manual.
I have configured the MQTT settings in the figure below with my broker settings.
The issue is that i never receive any connection request from the device to the MQTT server or any packets.
I have tried both ports 1883 and 9001 and even set the MQTT server to use no user authentication.
When i look at the sim card details i can see that data has been transmitted to the telstra netwrok as shown in the below figure.
So my question is:
Do i need to do anything else to receive the data on my MQTT server?
How does telstra deal with the data it receives? Does it need to be forwarded to the MQTT server?
Thank you for reading and hopefully someone can point me in the right direction.
Andrew Vermeeren
Hi Andrew,
I havent used that device to connect before but see if we cant debug it, You covered all the things id normally suggest when debugging (which is ace!)
So it sounds like the broker is performing as expected, normally ill use something like MQTTLens to debug a connection as well (which just runs as a chrome plugin).
A few things to try maybe,
Do you have another device you can test the simcard in? Ideally an arduino that you can get data from a page (most arduino libs come with a download test script). It looks like its doing something network connection wise but just working through some more debug steps.
That catm1 device, the catm1 connection library in particular. Does it need the APN set? Ive seen the Gpy needed that set for the connection to take place as it couldnt retrieve from the network automatically. On that note too do you have access to a serial output to be able to get some info about the device connecting?
Thanks for your response,
I have tried MQTT Lens to test the broker as well and it connects and works as expected.
I do have a raspberry pi with a sixfab LTE shield that i can potentially try this sim in and impliment MQTT on that.
Ive read up on APN settings for the device and the Quatcel BC95 moduel that this device uses has the following commands:
AT+CGDCONT
which provides me with:
+CGDCONT:0,"IPV4V6",,,0,0,,,,,0
It wont let me change the Automatic connection APN (the first 0 means autoconnect)
I can set an APN using
AT+CGDCONT=1,"IP","telstra.internet"
And it replys OK, but it doesnt seem to be saved after restarts.
When i query the device for signal status with the following command it responds with:
AT+CSQ
+CSQ:12,99
And checking the Netstats with:
AT+NUESTATS
Signal power:-1022
Total power:-913
TX power:210
TX time:11136
RX time:21230
Cell ID:******** (hiden my sim id)
ECL:0
SNR:71
EARFCN:9502
PCI:83
RSRQ:-119
OPERATOR MODE:4
CURRENT BAND:28
Is there anything else you can think of that i can degug?
To me it looks like everything is working.
Is there anything i need to do on the telstra net side that will let the data get to my MQTT server? or should it just work?
Thanks,
Andrew Vermeeren
I have fixed the issue.
I spoke to one of the developers of the device and they suggested i turn echo off using the command ATE0.
This resolved the issue of the device not connecting.
The device reports that it sucsessfull disables echo every time it boots, but it turns out when i first tried configuring the device using a differnt serial adapator, it managed to permantly enable echo.
My issue is now resolved.
Thank you for the suggestions
Andrew Vermeeren