【问题标题】:Retrieving Data from GEAR S3 Heart Rate Monitor (HRM) to Mobile or Server将数据从 GEAR S3 心率监测器 (HRM) 检索到移动设备或服务器
【发布时间】:2018-09-27 09:12:05
【问题描述】:

我使用了来自https://developer.tizen.org/ko/community/tip-tech/accessing-heart-rate-monitor-hrm-sensor-data-native-applications?langredirect=1 的三星 Gear S3 的 Tizen 示例心率监测器代码

我想开发用于从 S3 Gear 中的心率监视器检索数据的 Android 或 Tizen。我从https://developer.tizen.org/ko/development/guides/web-application/sensors/human-activity-monitor?langredirect=1#retrieve找到了示例代码

我该如何整合它。请分享你的想法。非常感谢。

【问题讨论】:

  • Android和Gear S3之间可以使用SAP(Samsung Accessory Protocol)进行通信

标签: android tizen samsung-gear


【解决方案1】:

使用Samsung Accessory SDK,您可以在Android 中开发一个可以与Tizen 应用程序(Gear) 通信的应用程序。 这是一个工作示例

How to integrate Samsung Gear Steps in android Application?

编辑:

在这里,我给出了测量心率的代码,并在从 Android 发送请求时返回到 Android 手机。我刚刚修改了previously mentioned post 的代码并在这里分享。

这里我只给出来自dataOnReceive函数的内容

            if (!SAAgent.channelIds[0]) {
                createHTML("Something goes wrong...NO CHANNEL ID!");
                return;
            }

            function sendHrData(heartRate){
                 // return Data to Android
                 SASocket.sendData(SAAgent.channelIds[0], 'HR: '+heartRate);
                 createHTML("Send massage:<br />" +
                             newData);

             tizen.humanactivitymonitor.stop('HRM');

            }

            var heartRateData=0;

            function onsuccessCB(hrmInfo) {

                console.log('Heart rate: ' + hrmInfo.heartRate);
                heartRateData = hrmInfo.heartRate;
                // holding 15 seconds as HRM sensor needs some time 
                setTimeout(function(){
                    sendHrData(heartRateData);
                    }, 15000);

            }

            function onerrorCB(error) {
                tizen.humanactivitymonitor.stop('HRM');
                console.log('Error occurred: ' + error.message);
            }



            function onchangedCB(hrmInfo) {
                //alert("onChanged...");
                tizen.humanactivitymonitor.getHumanActivityData('HRM', onsuccessCB, onerrorCB);

            }

            tizen.humanactivitymonitor.start('HRM', onchangedCB);

并且此代码不断返回心率。请根据您的要求进行修改,我只是分享Android手机和Samsung Gear之间通信的想法。

向服务器发送数据:

您可以使用 AjaxXmlHttpRequest 向服务器发送数据

阿贾克斯:

    function sendDataToServer() {
            'use strict';

            console.log( "ready!" );
              $.ajax({
                type: "Post",
                url: "http://YOUR_URL",
                success: function (data) {
                      console.log(JSON.stringify(data));
                 }
           });
        }

XmlHttpRequest:

function postDataToServer() {
var xmlHttp = new XMLHttpRequest();

xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            alert("data posted successfully..");
        } else {
            alert("failed to send data..");
        }
    }
}

xmlHttp.open("POST", "YOUR_URL");

xmlHttp.send("_TEST_STRING_DATA");

Auto generated code from REST viewer not working in Tizen IDE(Wearable) web app

XmlHttpRequest on Tizen TV exits application

RESTful service on emulator

注意:您需要在您的Android手机中安装Samsung Gear应用程序。

【讨论】:

  • 我已经测试了这个stackoverflow.com/questions/40233692/…,它在 Wear 和 Mobile 中运行良好。但我想知道如何将此代码与心率监视器集成。这样我就可以在我的 Android 手机中获取心率数据。如果您有任何示例代码,请分享。非常感谢
  • 我检查了上面的代码,但它给出了错误。您能否完整分享您为 android 手机和三星 Gear Watch 开发的示例代码。提前致谢
  • 我刚刚修改了 Tizen 部分的 dataOnReceive
  • 非常感谢。有效。如何将数据直接从手表传递到服务器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多