EEVblog Electronics Community Forum
Products => Computers => Topic started by: Peter Gamma on December 13, 2019, 04:49:18 pm
-
I m looking for a solution for a live-stream from Garmin watches to MATLAB, Python or other Desktop applications. I found the project from Dave Lusty, who works for Microsoft UK.
Here are threads in the GARMIN forum about this subject:
https://forums.garmin.com/developer/connect-iq/f/discussion/209439/eventhubapp (https://forums.garmin.com/developer/connect-iq/f/discussion/209439/eventhubapp)
https://forums.garmin.com/developer/connect-iq/f/discussion/8077/sending-sensors-data-to-pc/976852?focus=true (https://forums.garmin.com/developer/connect-iq/f/discussion/8077/sending-sensors-data-to-pc/976852?focus=true)
The GARMIN watch - ConnectIQ-Watch-IoT - solutions depends on the Microsoft Azure Platform.
It is possible to get an Azure free account starting with 12 months of free services:
https://azure.microsoft.com/en-us/free/search/?&ef_id=EAIaIQobChMIxNWbwtay5gIVWODtCh2DEAlHEAAYASAAEgJARPD_BwE:G:s&OCID=AID2000121_SEM_oVxkVMom&MarinID=oVxkVMom_369075826040_%2Bazure%20%2Bmicrosoft_b_c__78092043804_kwd-22984673891&lnkd=Google_Azure_Brand&dclid=CJLxn8jWsuYCFWnDuwgd4HUNGQ (https://azure.microsoft.com/en-us/free/search/?&ef_id=EAIaIQobChMIxNWbwtay5gIVWODtCh2DEAlHEAAYASAAEgJARPD_BwE:G:s&OCID=AID2000121_SEM_oVxkVMom&MarinID=oVxkVMom_369075826040_%2Bazure%20%2Bmicrosoft_b_c__78092043804_kwd-22984673891&lnkd=Google_Azure_Brand&dclid=CJLxn8jWsuYCFWnDuwgd4HUNGQ)
This includes $200 credit to explore any Azure service for 30 days. That's confusing. Has someone experience with the Azure Platform pricing model? What happens after the 30 days of the 12 months of free services period?
-
Does that mean that after 30 days, outbound data transfers going out of Azure data centers has to be paid for:
https://azure.microsoft.com/en-us/pricing/details/bandwidth/
?
First 5 GB /Month of outbound data transfer is free.
Is it possible to get more than 5 GB of data transfer per month with a GARMIN watch, e.g. when the watch is running 24 * 7, the way mine does normally?
-
Does someone understand the following statements from:
https://azure.microsoft.com/en-us/free/search/?&ef_id=EAIaIQobChMIxNWbwtay5gIVWODtCh2DEAlHEAAYASAAEgJARPD_BwE:G:s&OCID=AID2000121_SEM_oVxkVMom&MarinID=oVxkVMom_369075826040_%2Bazure%20%2Bmicrosoft_b_c__78092043804_kwd-22984673891&lnkd=Google_Azure_Brand&dclid=CJLxn8jWsuYCFWnDuwgd4HUNGQ
What can I do with my free account?
With your Azure free account, you get all of this—and you won’t be charged until you choose to upgrade
12 months of popular free services +
$200 credit to explore any Azure service for 30 days +
Always free 25+ services
?
-
In the Azure free account FAQ:
https://azure.microsoft.com/en-us/free/free-account-faq/
There is a long list of features which are free for 12 month, but thery are limited.
I still cannot see it through what that means for my simple GARMIN watch. Are there any limitations which might be critical for a simple GARMIN watch user?
-
After a failure to use livetracking.io to for a live-stream from Garmin watches to MATLAB, Python or other Desktop applications:
https://github.com/PeterGamma/What-happened-to-livetrack.io- (https://github.com/PeterGamma/What-happened-to-livetrack.io-)
I found this new project from Dave Lusty:
https://sqlbits.com/Speakers/Dave_Lusty (https://sqlbits.com/Speakers/Dave_Lusty)
https://www.youtube.com/channel/UCfPEiDVbqZuwWWlUngDitCg/about (https://www.youtube.com/channel/UCfPEiDVbqZuwWWlUngDitCg/about)
https://github.com/davedoesdemos/DemoIndex#garmin-app-and-demo-series (https://github.com/davedoesdemos/DemoIndex#garmin-app-and-demo-series)
GARMIN watches have heart rate sensors which are little controversial compared to heart rate sensors of other watches, e.g. the heart rate sensors of current Amazfit watches. Reviewers recommended to use an external heart rate sensor for applications with fast movements for Amazfit watches:
https://www.youtube.com/watch?v=cX2WFvnrBlE&t=419s (https://www.youtube.com/watch?v=cX2WFvnrBlE&t=419s)
What is missing is an interface to use those watches for desktop applications.
-
- Dave Lustys project only works with newer GARMIN watches, starting with the Forerunner® 245 for 300 USD. A GARMIN
watch which costs less and suports this feature is not available.
- There is a Home Version of Matlab, and more and more data analysis libraries are available also in Python
- ConnectIQ-Watch-IoT only works with Microsoft Azure Platform, which starts at 13 USD per month.
- The connect IQ is the part of the code of GARMIN watches which can be modified by the user.
- The EventHubApp is free and open source.
-
Here are the solutions which are/where available for GARMIN watches for a live-stream of sensor data to desktop applications:
1. there was a live-stream solution from old-man biking:
https://www.thisisant.com/forum/viewthread/544/ (https://www.thisisant.com/forum/viewthread/544/)
2. there is a live-setup in GoldenChetaah:
https://groups.google.com/forum/# (https://groups.google.com/forum/#)!topic/golden-cheetah-users/Gn2fOxUqTFk
I tried to continue my thread in the GoldenChetaah user group. But my contribution was not published. Does the GoldenChetaah useer group responsible decide which contributions are published, and which contributions are not published?
3. There is "virtual power" for bicycle turbo trainers . For live-streaming of ANT+ sensor data to PC applications like Matlab, Python or other applications, modify the example "virtual power" for bicycle turbo trainers :
https://github.com/dhague/vpower (https://github.com/dhague/vpower)
which runs on a Raspberry Pi, Linux and on a virtual machine running in Windows.
4. There was livetracking.io
https://github.com/PeterGamma/What-happened-to-livetrack.io-/blob/master/README.md (https://github.com/PeterGamma/What-happened-to-livetrack.io-/blob/master/README.md)
5. Solutions from THIS IS ANT+
«Most of the latest tools we offer directly for desktop development are written in "C" languages (C, C++, C#)»
https://www.thisisant.com/forum/viewthread/6429/ (https://www.thisisant.com/forum/viewthread/6429/)
6. There where other options for a live-stream which are not available anymore:
https://www.thisisant.com/forum/viewthread/544/ (https://www.thisisant.com/forum/viewthread/544/)
7. Solutions for Raspberry Pi
Track Your Heartrate on Raspberry Pi with Ant+
https://johannesbader.ch/blog/track-your-heartrate-on-raspberry-pi-with-ant/ (https://johannesbader.ch/blog/track-your-heartrate-on-raspberry-pi-with-ant/)
8. GARMIN watch - ConnectIQ-Watch-IoT
which requires Microsoft Power B and the Microsoft Azure Platform
https://forums.garmin.com/developer/connect-iq/f/discussion/209439/eventhubapp (https://forums.garmin.com/developer/connect-iq/f/discussion/209439/eventhubapp)
9. Ant+ USB with LabVIEW
- someone did this 2014
https://forums.ni.com/t5/LabVIEW/Ant-USB-with-LabVIEW/td-p/3012979?profile.language=en (https://forums.ni.com/t5/LabVIEW/Ant-USB-with-LabVIEW/td-p/3012979?profile.language=en)
and there where some troubles with it 2018, and someone suggested a solution in 2019
- https://www.thisisant.com/forum/viewthread/7035/ (https://www.thisisant.com/forum/viewthread/7035/)
-
Me personally, I prefer a solution to stream sensor data to Matlab, Python or other desktop applications
1) which is free and
2) is platform independent
ConnectIQ-Watch-IoT depends on the Microsoft Azure Platform.
-
From the OpenBCI documentation:
"Lab streaming layer is a system for synchronizing streaming data for live analysis or recording. LSL is a good way to send your OpenBCI stream to applications that can record or manipulate the data, such as Matlab (see our Matlab tutorial for using LSL in this context).09.08.2019"
https://docs.openbci.com/docs/06Software/02-CompatibleThirdPartySoftware/LSL
The EventHubApp
https://apps.garmin.com/en-US/apps/b27ddfe5-e5f7-4754-94ce-ce3007fe49b9
depends on the Microsoft Azure Platform and uses Azure Event Hubs as a data streaming platform.
There are LSL interfaces available for MATLAB and Python, and LSL can also be integrated in other desktop applications.
Can the LSL code be integrated in Dave Lustys POWER BI GARMIN front-end?
If so, Dave Lustys POWER BI GARMIN front-end:
1. can be used for a live-stream of sensor data to Matlab
2. an be used for a live-stream of sensor data to Python
3. can be used for a live-stream to other deskop applications by integrating LSL in these apps.
There is a support from LSL (community, Mailing list) which supports developers to integrate LSL in applications.
https://labstreaminglayer.readthedocs.io/
-
Integrating of Lab streaming layer LSL in Dave Lustys solution would give a Matlab interface, a Python interface, and a interface to other applications with a LSL interface, but the dependency from the Microsoft Azure Platform is still there.
1. Can a solution be created wich is independent from the Microsoft Azure Platform?
2. Does Microsoft offer a free version of the Microsoft Azure Platform to stream sensor data to Matlab, Python or other applications?
-
Microsoft, make the Microsoft Azure Platform free from "Highway Taxes" for streaming sensor data to MATLAB, Python. or other desktop applications. Microsoft risks to loose those costumers by charging "Highway Taxes".
-
Quote by lustyd, developer of the EventHubApp:
"Yes you can use any REST API endpoint as a target".
https://forums.garmin.com/developer/connect-iq/f/discussion/209439/eventhubapp/985750?focus=true
MATLAB can handle with REST APIs .
https://ch.mathworks.com/help/thingspeak/rest-api.html (https://ch.mathworks.com/help/thingspeak/rest-api.html)
-
Good news for programmers, bad new for people like me with skills in scripting and debugging of MATLAB scripts and scripts of other applications.
-
For writing scripts, Ant+ USB with LabVIEW is available. LabVIEW uses a graphical programming language, often called "G," to create programs in a pictorial form :bullshit:.
-
ANT+ Toolkit for LabVIEW:
http://inusolutions.com/ant-toolkit/ (http://inusolutions.com/ant-toolkit/)
Single Profile
€500
ANT+ Toolkit
€1000
ANT-FS AddOn
€0TBA coming soon
The ANT+ Toolkit for LabVIEW is $1,500.00,
https://sites.fastspring.com/inusolutions/product/anttoolkitforlabview (https://sites.fastspring.com/inusolutions/product/anttoolkitforlabview)
And there seems to be also a trial version:
https://www.thisisant.com/forum/viewthread/7035/ (https://www.thisisant.com/forum/viewthread/7035/)
What is ther difference between those AddOn an Toolkits? For me personally, it s confusing.
-
It should be possible to use the "virtual power" for bicycle turbo trainers running in Ubuntu 16.04 (PC) and on Debian https://github.com/dhague/vpower (https://github.com/dhague/vpower) as a template to read HR data
https://www.thisisant.com/forum/viewthread/6665/ (https://www.thisisant.com/forum/viewthread/6665/)
Hi Thomas,
I did a project over the holidays to use Python with a Raspberry Pi and ANT+ stick to read bicycle speed and write bicycle power.
You should be able to use it as a template to read HR data by reading the ANT+ HR profile spec and adapting the SpeedCadenceSensorRx.py code to suit.
Here's the project if you want to try it out: https://github.com/dhague/vpower (https://github.com/dhague/vpower)
Good luck,
Darren
Hi Darren,
Thanks a lot for that link, I'll give it a go! I assume you didn't have to create a udev rule or anything like that, just plug the ANT+ USB stick in?
Cheers,
Thomas
Yes, exactly - in Ubuntu 16.04 (PC) and on Debian Jessie (Pi) it just worked, no udev rules. I did have to run the program with "sudo" though.
-
Supported Operating Systems for Intel® Compute Sticks:
https://www.intel.com/content/www/us/en/support/articles/000005899/intel-nuc/intel-compute-sticks.html (https://www.intel.com/content/www/us/en/support/articles/000005899/intel-nuc/intel-compute-sticks.html)
Intel® Compute Stick Models / Customer-reported OSs
STK2m3W64CC Ubuntu* 16.xx
STK1A32SC Linuxium* Ubuntu
STCK1A32WFC Linuxium
STCK1A8LFC Linuxium
http://linuxiumcomau.blogspot.com/2017/06/customizing-ubuntu-isos-documentation.html (http://linuxiumcomau.blogspot.com/2017/06/customizing-ubuntu-isos-documentation.html)
MATLAB is also available for Linux 32 bit and should work on Intel® Compute Sticks.
-
Is MATLAB supported on 32-bit Linux?
Versions of MATLAB prior to R2012a are fully supported on 32-bit Linux.
After R2012a, MATLAB is no longer supported on 32-bit Linux. Newer release of MATLAB are not available for 32-bit Linux.
For more details, see the system requirements page for more information:
http://www.mathworks.com/support/sysreq/current_release/ (http://www.mathworks.com/support/sysreq/current_release/)
https://ch.mathworks.com/matlabcentral/answers/222489-is-matlab-supported-on-32-bit-linux (https://ch.mathworks.com/matlabcentral/answers/222489-is-matlab-supported-on-32-bit-linux)
-
System Requirements - Matlab Release 2012b
Ubuntu 11.10 and 12.04 LTSRed Hat Enterprise Linux 5.x and 6.xSUSE Linux Enterprise Desktop 11.x Debian 6.x Any Intel or A 1024 MB
At least 2048 MB RAM recommended
http://www.cc.iitd.ac.in/CSC/images/pdfs/req.pdf (http://www.cc.iitd.ac.in/CSC/images/pdfs/req.pdf)
Intel® Compute Stick STK1A32SC HAS 2GB memory and should work:
https://ark.intel.com/content/www/us/en/ark/products/91064/intel-compute-stick-stk1a32sc.html (https://ark.intel.com/content/www/us/en/ark/products/91064/intel-compute-stick-stk1a32sc.html)
-
MATLAB can also run in the the Cloud with Microsoft Azure:
https://ch.mathworks.com/de/videos/how-to-run-matlab-in-the-cloud-with-microsoft-azure-1542633563140.html
But this makes sense only for programmers which can handle with REST APIs
-
There is no interface published yet between:
the GARMIN connect IQ EventHubApp
and
MATLAB REST API endpoint as a target.
-
For a mobile solution, an alternative to the Intel® Compute Stick could be a Jumper Ezbook 3 pro notebooks with 4 GB RAM & 64 bit OS (minimal requirement for most Matlab editions). Ubuntu can be installed on the Jumper EZBook 3:
https://techtablets.com/forum/topic/how-to-install-ubuntu-17-10-on-jumper-ezbook-3-pro-v4/
-
I continue the part which is not
GARMIN watch - ConnectIQ-Watch-IoT - Microsoft Azure Platform
but
GARMIN watch- ANT+ stick- virtual box
here:
https://www.eevblog.com/forum/cloud-computing/live-stream-from-garmin-watches-via-ant-stick-virtual-box-(evtl-coud-iot)/ (https://www.eevblog.com/forum/cloud-computing/live-stream-from-garmin-watches-via-ant-stick-virtual-box-(evtl-coud-iot)/)
to keep those two path separate.
-
GARMIN watches have heart rate sensors which are little controversial compared to heart rate sensors of other watches, e.g. the heart rate sensors of current Amazfit watches. Reviewers recommended to use an external heart rate sensor for applications with fast movements for Amazfit watches:
From a accuracy point of view, the Polar OH1 is worth looking at, see the discussion forum here:
https://the5krunner.com/2019/04/06/polar-oh1-review-2019/#PRICING_AVAILABILITY_Polar_OH1_Review
-
For a mobile solution, an alternative to the Intel® Compute Stick could be a Jumper Ezbook 3 pro notebooks with 4 GB RAM & 64 bit OS (minimal requirement for most Matlab editions). Ubuntu can be installed on the Jumper EZBook 3:
https://techtablets.com/forum/topic/how-to-install-ubuntu-17-10-on-jumper-ezbook-3-pro-v4/ (https://techtablets.com/forum/topic/how-to-install-ubuntu-17-10-on-jumper-ezbook-3-pro-v4/)
Or a virtual machine running in windows:
https://itsfoss.com/install-linux-in-virtualbox/ (https://itsfoss.com/install-linux-in-virtualbox/)
an instruction how to clone the OS to a faster SSD can be found here:
https://www.youtube.com/watch?v=ColfL1KyzlU (https://www.youtube.com/watch?v=ColfL1KyzlU)
compatible SSDs can be found here:
https://techtablets.com/forum/topic/ssds-compatible-with-ezbook-3-pro/page/6/ (https://techtablets.com/forum/topic/ssds-compatible-with-ezbook-3-pro/page/6/)
-
There is also a discussion how to stream ANT+ sensor data to MATLAB in the MATLAB cummunity:
https://www.mathworks.com/matlabcentral/answers/142677-capturing-heart-rate-from-usb-ant-dongle-and-chest-strap (https://www.mathworks.com/matlabcentral/answers/142677-capturing-heart-rate-from-usb-ant-dongle-and-chest-strap)
No easy, low-cost and high quality solution to this date. Although such solutions are possible.
-
Alternatives to the streaming server:
https://livetracking.io/
to MATLAB are very very expensive :box: :box: :box:.
https://github.com/PeterGamma/What-happened-to-livetrack.io-
https://forums.garmin.com/developer/connect-iq/f/discussion/209486/build-new-livetracking-io-service-form-old-livetracking-io-components
-
For a live-stream of sensor data from a GARMIN watch to MATLAB, those options are / were available:
1.
https://livetracking.io/ (https://livetracking.io/)
which according to Niels Kieling
a. «yes, this should work»
b. and «was a free and open source» service
2.
Dave Does Demos Demo solution (Dave Lusty who works for Microsoft UK)
https://forums.garmin.com/developer/connect-iq/f/discussion/209439/eventhubapp (https://forums.garmin.com/developer/connect-iq/f/discussion/209439/eventhubapp)
which can stream sensor data from a GARMIN watch to Microsoft Power BI. But streaming from Microsoft Power BI to MATLAB only works with MATLAB production server, which is according to the MATLAB community «expensive». For a price request a quote.
3.
A Linux MATLAB version running in a virtual box in windows
https://www.eevblog.com/forum/cloud-computing/live-stream-from-garmin-watches-via-ant-stick-virtual-box-(evtl-coud-iot)/ (https://www.eevblog.com/forum/cloud-computing/live-stream-from-garmin-watches-via-ant-stick-virtual-box-(evtl-coud-iot)/)
this option has no streaming server and uses an ANT+ stick. There is no smartphone buffer to this system.A direct sensor stream without interruption is necessary betwen a GARMIN watch and a PC or mini PC:
-
Here is a Lab Streaming Layer (LSL) Tutorial for Windows:
https://ws-dl.blogspot.com/2019/07/2019-07-15-lab-streaming-layer-lsl.html
Is it possible to integrate LSL into Microsoft Power BI? Is LSL streaming sensor data from Microsoft Power BI to MATLAB possible ?
-
Also the Microsoft Power BI forum is not free:
https://community.powerbi.com/t5/Developer/Power-BI-integration-with-MatLab/td-p/424467
A work or school email address is necessary to sign up:
https://docs.microsoft.com/en-us/power-bi/service-self-service-signup-for-power-bi
-
The MATLAB forum is open minded. You don t need MATLAB to post there.
In the XDA Developer forum, at least eight helpful posts are necessary before it is possible to be a developer there. I miss for instance a company independed GARMIN watch section there. I tried to create one, but failed because I created too little helpful posts to this date.
-
How to Use the expensive MATLAB Production Server Interface for Microsoft Power BI Software:
https://www.mathworks.com/videos/how-to-use-matlab-production-server-interface-for-microsoft-power-bi-software-1537959094440.html (https://www.mathworks.com/videos/how-to-use-matlab-production-server-interface-for-microsoft-power-bi-software-1537959094440.html)
for MATLAB Production Server request a quote from MATLAB.
-
A straightforward solution would be:
1. Labstreaming layer support for the GARMIN watch
2. a Windows Python Library for the GARMIN watch
where every user is free which application to choose for his needs.
-
EEVblog – No Script, No Fear, All Opinion :-+.
-
A solution which is ready to go for live-stream data is Scott Hardens HARDEN TECHNOLOGY CHANNEL RECORDER:
https://www.youtube.com/watch?v=sP_-f5nsOEo (https://www.youtube.com/watch?v=sP_-f5nsOEo)
-
To stream data from Scott Hardens recorder to a MATLAB or PYTHON project is already described:
https://www.eevblog.com/forum/testgear/light-weight-usb-oscilloscope-with-matlab-support/msg2446242/#msg2446242 (https://www.eevblog.com/forum/testgear/light-weight-usb-oscilloscope-with-matlab-support/msg2446242/#msg2446242)
-
Scotts channel recorder is ready to go. It only needs soldering :).
-
I did not get the EventHubApp working:
https://apps.garmin.com/de-DE/apps/b27ddfe5-e5f7-4754-94ce-ce3007fe49b9
and no one confirmed that he managed to get it to work:
https://forums.garmin.com/developer/connect-iq/f/discussion/209439/eventhubapp/985907
I did not spend much time trying to get it to work, since there where other options more attractive for me personally.
-
I did not test an ANT stick solution to stream sensor data to a PC. I could not find a product or an open source solution for an ANT stick that is available and is confirmed that it is working.
-
The solution from THIS IS ANT with an ANT stick was not attractive for me personally, for the same reasons the EventHubApp was not attractive for me personally.
-
Bitalino ECG for instance can be paired in an easy way via Bluetooth to a PC, and there are no monthly fee s to pay for this streaming service.
-
Quick Tip from DC Rainmaker: Broadcast Garmin Optical HR to Apps Like Zwift // ANT & Bluetooth:
https://www.youtube.com/watch?v=vuOcAP_7uec (https://www.youtube.com/watch?v=vuOcAP_7uec)
Matlab supports BLE, but I could not find an example of someone confirming that BLE streaming to Matlab is working:
https://www.mathworks.com/matlabcentral/answers/518074-is-there-an-example-how-to-connect-the-polar-oh1-bluetooth-low-energy-heart-rate-sensor-with-matlab?s_tid=prof_contriblnk (https://www.mathworks.com/matlabcentral/answers/518074-is-there-an-example-how-to-connect-the-polar-oh1-bluetooth-low-energy-heart-rate-sensor-with-matlab?s_tid=prof_contriblnk)
-
i could not find an example code for an ANT stick or the EventHubApp which shows that it is working with Matlab. Bitalino has an example code for Matlab
Example of Measuring Heart Rate from Acquired ECG Signals
https://www.mathworks.com/matlabcentral/fileexchange/53983-bitalino-toolbox (https://www.mathworks.com/matlabcentral/fileexchange/53983-bitalino-toolbox)
-
I could not find an example which demonstrates that a Garmin watch, an ANT stick, or the Microsoft Azure Cloud EventHubApp works with Python. Bitalino has APIs for many different kinds of applications
https://bitalino.com/en/development/apis
-
I put links to available options here
https://github.com/PeterGamma
-
Dave Does Demos (Dave Lusty from Microsoft UK) slogan “Keep Calm, Microsoft Azure” (more is not to be seen from Daves T-Shirt. What does Dave hide on his T-shirt?) was not convincing to me personally:
https://www.youtube.com/watch?v=uku7HN4zaDc&t=42s (https://www.youtube.com/watch?v=uku7HN4zaDc&t=42s)
Dave published this video shortly after I gave him a negative feedback for the EventHubApp in the Garmin App store:
https://apps.garmin.com/de-DE/apps/b27ddfe5-e5f7-4754-94ce-ce3007fe49b9 (https://apps.garmin.com/de-DE/apps/b27ddfe5-e5f7-4754-94ce-ce3007fe49b9)
Nobody else wrote something about the EventHubApp, and nobody confirmed, that the EventHubApp is working, and nobody gave a positive feetback about the EventHubApp.
Is Dave not open to criticism?
-
Next the Microsoft Azure Cloud, there are now also options available for ANT and BLE sensors to stream to an MQQT Brocker. What is the difference between an Microsoft Azure EventHub and an MQQT Brocker?