Meshtastic Client? #8021
|
I have written a few basic apps for personal use for my JS2 using espruino IDE. Some simple games, a password generator with selectable seed pin, etc... I spent some time trying to commumicate via BLE with one of my meshtastic devices that I normally use an android app for. It was some time ago but I shelved it because I was not able to figure out how to impliment the correct BLE communication. Before I tackle this again, wanted to ask here: Is there any reason why this woudn't be possible? The devices I am wanting to interface with are also NRF52840. It is possible i had the JS2 side of things right but was not understanding the meshtastic side, so will have to read more. I want to make a basic app I can view messages the meshtastic device receives and send some basic preset messages, or plugin one of the keyboard apps to send custom ones. |
Replies: 3 comments 7 replies
|
I had a quick peek at what they've written at https://meshtastic.org/docs/development/device/client-api/#bluetooth-meshbluetoothservice and as far as I can see there's no reason why it shouldn't work. Bangle.js can't do the 512b MTUs which they ask, but it'll do 120ish bytes, which should still be enough. One thing to watch out for - BLE devices are supposed to define a single 128 bit UUID, and then just modify the second 16 bits of it for each characteristic, but meshtastic have just defined a ton of different UUIDs - and Bangle only has memory for a certain number of them. It looks like you only need to connect to 5 of them at most so I think you'll be fine though. |
|
I published this app in my fork of BangleApps: https://github.com/g0730n/BangleApps/tree/master/apps/meshclient, thanks for the help and info! |
|
Sounds good. I am not too familiar with github procedures but I will do the proper research on how to do all this and you wil get a PR shortly. |

I had a quick peek at what they've written at https://meshtastic.org/docs/development/device/client-api/#bluetooth-meshbluetoothservice and as far as I can see there's no reason why it shouldn't work.
Bangle.js can't do the 512b MTUs which they ask, but it'll do 120ish bytes, which should still be enough.
One thing to watch out for - BLE devices are supposed to define a single 128 bit UUID, and then just modify the second 16 bits of it for each characteristic, but meshtastic have just defined a ton of different UUIDs - and Bangle only has memory for a certain number of them.
It looks like you only need to connect to 5 of them at most so I think you'll be fine though.