BLESpinBike | Sniff i2c from my Lemond GeForce UT Spin Bike

 by   CaffeineAU C++ Version: Current License: No License

kandi X-RAY | BLESpinBike Summary

kandi X-RAY | BLESpinBike Summary

BLESpinBike is a C++ library typically used in Internet of Things (IoT) applications. BLESpinBike has no bugs, it has no vulnerabilities and it has low support. You can download it from GitHub.

Sniff i2c from my Lemond GeForce UT Spin Bike and present it as a bluetooth low energy Fitness Machine Service. The bike has a USB port, which can save your workout stats to a USB stick, so I opened up the case, and noticed that the USB stuff is handled by a daughter board with an Atmel AT90USB647 on it. It appeared that the main PCB was connected to the TWI pins of the daughter board, so I put an oscilloscope on the clock and data lines between the main PCB and the daughter board and saw what looked like i2c communications going between the two boards. I then grabbed a spare ARM board I had and programmed it to sniff the i2c comms. I then rode the bike whilst simultaneously recording to USB and sniffing the i2c. I then synchronised the two recordings and decoded the comms between the two boards. So now I had a real-time stream of the workout data. I then ordered a bluetooth module that had an embedded ARM chip, and that arrived early this week. It was 3.3V only whereas the spin bike outputs 5V. A resistor divider didn't work as it loaded the pins too much and the spin bike threw an error, so I plumbed in a line driver/buffer chip that also did level conversion (74ALS541 for those interested). I programmed the ARM chip to decode the i2c and present a Bluetooth low energy 'Fitness machine' service using the 'Indoor Bike' characteristic. The bike now appears as a source of speed, power, heart rate, cadence and calories consumed. I've tried it with zwift and kinomap and it works perfectly! It didn't work as FTMS with RGT so I also supported the 'Cycling Power' and 'Cycling Speed and Cadence' services. RGT likes that but doesn't allow connections to both services at once (I put a support ticket into RGT and it's a known issue). Next step is to support the fitness machine control point protocol, so that apps can control the resistance on the bike, but Zwift doesn't support that through BLE FTMS yet, it does through ANT FEC, which my Bluetooth module also supports, but that's a lot of work to change over.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              BLESpinBike has a low active ecosystem.
              It has 1 star(s) with 1 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              BLESpinBike has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of BLESpinBike is current.

            kandi-Quality Quality

              BLESpinBike has no bugs reported.

            kandi-Security Security

              BLESpinBike has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              BLESpinBike does not have a standard license declared.
              Check the repository for any license declaration and review the terms closely.
              OutlinedDot
              Without a license, all rights are reserved, and you cannot use the library in your applications.

            kandi-Reuse Reuse

              BLESpinBike releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of BLESpinBike
            Get all kandi verified functions for this library.

            BLESpinBike Key Features

            No Key Features are available at this moment for BLESpinBike.

            BLESpinBike Examples and Code Snippets

            No Code Snippets are available at this moment for BLESpinBike.

            Community Discussions

            Trending Discussions on Internet of Things (IoT)

            QUESTION

            Display data from two json files in react native
            Asked 2020-May-17 at 23:55

            I have js files Dashboard and Adverts. I managed to get Dashboard to list the information in one json file (advertisers), but when clicking on an advertiser I want it to navigate to a separate page that will display some data (Say title and text) from the second json file (productadverts). I can't get it to work. Below is the code for the Dashboard and next for Adverts. Then the json files

            ...

            ANSWER

            Answered 2020-May-17 at 23:55

            The new object to get params in React Navigation 5 is:

            Source https://stackoverflow.com/questions/61859411

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install BLESpinBike

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/CaffeineAU/BLESpinBike.git

          • CLI

            gh repo clone CaffeineAU/BLESpinBike

          • sshUrl

            git@github.com:CaffeineAU/BLESpinBike.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link