First of all, I owe a big "thank you" to Element14 and all the sponsors for selecting me as one of the participants in this challenge!
Also, I have to say thanks to members who are always eager to help each other. This community is amazing! Everything I create during this challenge will be open-sourced, of course.
I think this is the best way I can return for everything I learned here.
Project description
Regarding the proposed system, I plan to make it modular and easy to configure and use.
a) Modularity will make the system more generic and it will give the opportunity to easily setup the remote unit for different sports.
For this to work, I will have to make small remote sensor modules that can be fitted into casings that are customised for some sport outfit (at first I planned to make these casings 3D printed using SeeedStudio service but I will probably try casting them using the provided resin - this must be pure fun). Also, the main remote unit to which sensors will be connected must be small enough to fit the helmet or to be placed inside a small shirt pocket in such manner that it does not affect the sportsmen performance in any way.
It will also require a battery power and LiFe or NiMh batteries should be a good choice since these types of batteries are much more durable and not so flammable as LiPo and LiIon batteries are. Battery must have enough capacity to last for the entire training session without having to be recharged but not to big at the same time since we need the entire sensor module to be as small as possible. For some sports, weight is critical. Battery will be connected via wires to enable flat form factor when needed.
Sensors will be connected to the central remote unit (Arduino mini or Adafruit Trinket pro) via cables/connectors or BLE (when wires are not an option).
b) To make the system easily configurable, remote sensor modules will use wireless connectivity and operate in AP mode when switched on for the first time to enable easy connection from the control unit (probably a tablet computer but during development I will use a regular lap-top or Raspberry Pi). Remote units will have unique SSIDs consisting of a common prefix and unique part to distinguish between different units. This way, control unit will be able to enumerate all the available devices without having to connect to each of them. The unique part of SSID will be preprogrammed and visible on the device so that operator can assign device ID to corresponding sportsman in the database.
Control unit will automatically send configuration data to each device that operates in AP mode by connecting to each of them as a wireless client (one-by-one).
Configuration data will let the remote unit "know" which sensor modules are attached to it to be able to communicate with them.
After configuration is done (including the wireless network selection and required credentials passing) remote sensor units will switch to wireless client mode and connect to the selected wireless network and then again to the control unit. Remote units will publish sensor data updates using MQTT protocol (a lightweight C client is available for embedded devices at Paho - Open Source messaging for M2M). Control unit will also run a MQTT broker service and dispatch the received data to all monitoring units (laptops, tablets or mobile phones). I'm already working on a similar software for the InTheAir design challenge so this should be the easier part.
I think that this concept would work and could be done in the given timeframe. In the first stage, software design is my main concern until I receive the challenge kit. After the sensors tests are done using provided development kits, a remote sensor unit circuit will have to be designed for the final product.
Dragan
Top Comments