GithubHelp home page GithubHelp logo

ichbinchicken / iot-project-accurate-body-motion-tracking Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yixiaoyx/io_ot

0.0 1.0 0.0 28.91 MB

Java 34.07% JavaScript 46.28% HTML 7.78% CSS 4.72% Batchfile 1.10% Objective-C 5.76% C++ 0.17% C# 0.11% Shell 0.01%

iot-project-accurate-body-motion-tracking's Introduction

Accurate Body Motion Tracking

This is an IoT project that aims to track human body motion using TI Sensortag CC2650 and visualize the real-time movements in 3D on an Android app. It is developed by Team Io_oT: Sijun Zhu, Yi Xiao and Ziming Zheng.

Prerequisites

To run the system, you will need the following:

  • TI Sensortag CC2650 with default firmware
  • Android smartphone or tablet with Bluetooth enabled and Android version 7.0 or above
  • Any elastic bands for wearing the Sensortag on arms or legs

To install the Android app, you may need the Android Debug Bridge adb installed on a computer connected to the Android device, see the official Android documentation.

Installing

  • Make sure the default firmware is running on the Sensortag.

  • Install the app from APK:

    • The apk file is located at: platforms/android/app/build/outputs/apk/debug/app-debug.apk.
    • Connect your Android device with your computer and install the app using ADB: adb install -r /path/to/apk. Note that the path to the APK file is dependent on where you downloaded this project repository. Also note that you might need to give permissions on your phone to allow USB debugging.
    • Alternatively, if your Android device is in developer mode, you might be able to simply transfer the file onto your device and install the APK directly by tapping on it.
  • Install the app from source:

    • Alternatively, you may build the app from the source code and generate your APK file to be installed. This requires that you have Cordova installed on your computer.
    • Once you have Cordova installed, run this command in the project root directory: cordova build android. This will generate an APK file located at the above mentioned path. You may follow the above steps to install the APK.
  • Note: The app has been tested on Nexus 5X with Android 8.0. However every Android device is slightly different, so let us know if you encounter any problems with your specific device.

Built With

  • Apache Cordova - The app is written in Javascript and built with Cordova in order to run natively on Android.
  • EasyBLE - The BLE library used to retrieve sensor data from the Sensortag.
  • Three.js - Used to render the 3D human body model.
  • Madgwick Algorithm - The Madgwick AHRS algorithm has been used to reconstruct the body movmement geometry from accelerometer, gyroscope and magnetometer sensor data.

Acknowledgments

We have taken reference from several official examples from Evothings EasyBLE and Three.js to build the Bluetooth communication stack and the 3D model respectively. We give our thanks to the people who created these examples.

We have also used the Javascript version of the Madgwick algorithm created by ZiCog.

iot-project-accurate-body-motion-tracking's People

Contributors

ichbinchicken avatar yixiaoyx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.