Results 1 to 9 of 9

Thread: numeric Broadcast Protocol NBP Devices

  1. #1
    Tuner
    Join Date
    Sep 2015
    Location
    OHIO
    Posts
    89

    numeric Broadcast Protocol NBP Devices

    Can you give us some examples of a device that could have NBP/SPP for use with TA? I have never heard of NBP, but I know there are bluetooth sampling boards that can be connected to temperature sensors, ignition sensors, etc. My engine doesn't have OBD, but I would like to record or display the engine RPM.

  2. #2
    HPT Employee Weston@HPTuners's Avatar
    Join Date
    Jul 2014
    Location
    39.735034, -103.894459
    Posts
    781
    This is a new protocol for 3rd party developers to be able to easily send data to apps like ours, without us having to devote resources to supporting a bunch of different products and protocols. We had been contacted a number of times over the years about us adding support for sensor data from various different products, and although I think many of those are cool products that I'd like to be able to support, the reality is that it's wildly impractical for us to spend our resources developing and then forever maintaining support for every different kind of product out there.

    The much more practical approach is to support and promote common protocols: NMEA-0183 for GPS, ELM327 for OBD polling (but beware of Chinese knockoffs!), and now NBP for everything else. The only time I want us to invest our resources into supporting one specific product is when it's something that our company sells (that is largely what funds our app, after all), and maybe certain very specific exceptions where there's a high value to having it in the app.

    At the present time, there is nothing commercially available for NBP just yet, but there is a tire temperature product in the works, and electronics hobbyist / DIY types could start using it for their projects as well. As a hobbyist type myself, I have various personal projects that use an Arduino and other components from places like SparkFun, and I'll be updating some of those to use NBP so that I can capture their data with TrackAddict.

    As more products and/or info becomes available, I'll try to keep the NBP section of our User Guide updated too.

  3. #3
    Potential Tuner
    Join Date
    Aug 2018
    Posts
    3
    I saw this yesterday and I am working on integrating it with a Raspberry Pi and canbus adapter to grab some GMLAN High speed bus stuff. Plan is to grab Steering wheel angle, ABS/TCM status, brake applied, etc.

    I have tested the connection from Pi->Race Render and can send NBP packets no problem. I'll push this to github when I get a chance to actually integrate it with the can logger scripts and test. I'll probably split out the python pynbp library for use by others.

  4. #4
    Potential Tuner
    Join Date
    Aug 2018
    Posts
    3
    https://github.com/tmkdev/pynbp - Python implementation of the NBP protocol. It's been tested once (on a raspberry pi 3) and it worked - it you use it let me know.

  5. #5
    Potential Tuner
    Join Date
    Jul 2018
    Posts
    1
    Sorry to ask for the fish but can you post a link to the ref doc etc about NBP that you used? I first heard of this protocol in the change list for the latest update of Track Addict, and a search led me to this thread...

  6. #6
    HPT Employee Weston@HPTuners's Avatar
    Join Date
    Jul 2014
    Location
    39.735034, -103.894459
    Posts
    781
    Quote Originally Posted by axelriet View Post
    Sorry to ask for the fish but can you post a link to the ref doc etc about NBP that you used? I first heard of this protocol in the change list for the latest update of Track Addict, and a search led me to this thread...
    Current compatibility info and developer docs here: http://racerender.com/TrackAddict/docs/Interop.html#NBP

  7. #7
    Potential Tuner
    Join Date
    Jun 2019
    Posts
    2
    I am building a capture tool for motorbikes and/or classic cars which don't have OBD ports.
    I have built a bluetooth elm327 emulator but it only seems to reach a maximum capture rate of 17hz with trackaddict on a galaxy s8.

    Can you advise if I can expect higher data rates with nbp and whether bluetooth or wifi would be fastest.

    Also would emulating an hptuners hp12 be faster?

    Basically what is the fastest comms protocol and can it achieve 100hz?

  8. #8
    HPT Employee Weston@HPTuners's Avatar
    Join Date
    Jul 2014
    Location
    39.735034, -103.894459
    Posts
    781
    Quote Originally Posted by Tune View Post
    I am building a capture tool for motorbikes and/or classic cars which don't have OBD ports.
    I have built a bluetooth elm327 emulator but it only seems to reach a maximum capture rate of 17hz with trackaddict on a galaxy s8.

    Can you advise if I can expect higher data rates with nbp and whether bluetooth or wifi would be fastest.

    Also would emulating an hptuners hp12 be faster?

    Basically what is the fastest comms protocol and can it achieve 100hz?
    17 Hz is fairly good for OBD polling over Bluetooth using the ELM protocol.

    Wireless latency issues are usually the biggest limiting factor, so your best bet would be to use NBP and just broadcast continuously, thereby avoiding the latency of sending requests and waiting for responses. At the present time, the app's CSV file logging may not be the greatest above 20 Hz, but there will be some future changes coming to help that, as we move to more functionality to using our more robust binary format (from which you can still export to CSV).

    WiFi should have more bandwidth than Bluetooth, but the setup process and user experience is more complicated, so Bluetooth SPP tends to be more practical. If using WiFi, the user needs to not only join the device's WiFi network, but on Android he also needs to also confirm that he wants to connect to it even though it doesn't have Internet connectivity, otherwise it will say it's connected but not actually be using it. This will likely block any Internet functionality as well. There's also a change coming to Android where it wont let apps like ours initiate WiFi scans very often, so it's likely the user will need to manually tell the phone to connect to the network.

  9. #9
    Potential Tuner
    Join Date
    Jun 2019
    Posts
    2
    Thanks for getting back to me. I have a dedicated phone for Trackaddict, an old galaxy s4, so the wifi should not be a problem. I've ordered some wifi dongles so I'll aee how I get on.

    If it won't handle 100hz my plan is to store the data locally on an sd card and send a seqence number to trackaddict which it can log. Then once the race is over I will merge the two spreadsheets together based on the sequence nos.