Abu Zaid
Abu Zaid

Reputation: 15

The Things Network: Cannot publish/subscribe to my device up/down link topics

I am trying to make quick test for the pub/sub mechanism to my registered device on TTN so I can build my complete solution app on the data coming to the TTN broker.

At the moment I am waiting for my loRa module to arrive, that is why I want to use a simple nodeJS script to publish dummy data, and the other to subscribe and build an app using the dummy data. I use the following code for this:

var mqtt = require('mqtt')
    var options = {
port: 1883,
host: ‘mqtt://eu.thethings.network’,
username: ‘xxxx’, // here I wrote my app id
password: ‘xxxx’ // here I wrote the access key
};

var client = mqtt.connect(‘mqtt://eu.thethings.network’,options)

client.on(‘connect’, function () {
client.subscribe(‘appID/devices/MyDeviceName/down’, function (err) {
if (!err) {
client.publish(‘appID/devices/MyDeviceName/down’, ‘Hello mqtt’)
}
})
})

client.on(‘message’, function (topic, message) {
// message is Buffer
console.log(message.toString())
// client.end()
})

This is however not doing anything, I was watching the data on TTN, nothing coming in.

I also tried using mqtt explorer but it did not work.

Both methods worked fine when I played the broker on my machine, eclipse and mosquittoo on cloud.

Your help is greatly appreciated.

Thanks! Ahmed

Upvotes: 0

Views: 430

Answers (1)

taraskuzyk
taraskuzyk

Reputation: 13

I have encountered a similar issue in the past. I believe the issue is with trying to use "mqtt" instead of "https". For me, it worked when I called

mqtt.connect('https://thethings.network:1883', {
    "username": username,
    "password": password
}

However, I wasn't using the community version of the website (The Things Stack V3), so there might be a slight difference. For example, instead of "My-App-Id" I had to use "My-App-Id@My-Company-Name".

Please, try the above and let me know if it works.

Upvotes: 1

Related Questions