【问题标题】:Javascript/Cordova - Streaming data from NTRIP Caster to Bluetooth deviceJavascript/Cordova - 将数据从 NTRIP Caster 流式传输到蓝牙设备
【发布时间】:2017-01-03 15:26:54
【问题描述】:

我正在编写一个小应用程序,它需要将数据从 NTRIP Caster 流式传输到蓝牙 GNSS 接收器。我正在使用 XHR 从服务器获取数据,并使用 Cordova 的蓝牙插件与我的设备进行通信。

我能够接收我需要的数据,但是在尝试将其写入设备时遇到了问题——基本上,什么也没有发生;虽然数据发送成功,但设备并没有对字节数组“做”任何事情。

数据传输适用于用 VB 和 Java 编写的开源应用程序(由 Lefebure 编写),因此我只能得出结论,我发送的数据结构中的某些内容与这些应用程序中的完成方式不同,并且我错过了它,或者我对某些东西有根本的误解。

这是一个 JSFiddle:https://jsfiddle.net/mpwacuLb/

if (this.responseText.indexOf("ICY 200 OK") > -1) {
    var rtkData = this.response.substr(seenBytes);
    seenBytes = this.responseText.length;
    var byteData = stringToByte(rtkData);
    var bytes = new Uint8Array(byteData);
    bluetooth.write(bytes,
        (success) => {
            console.log("bt write: " + success);
        },
        (error) => {
            console.log("bt err: " + error);
        });
     }

基本上,我正在建立与服务器的连接,并在收到“ICY 200 OK”消息后将其转换为字节并将其写入蓝牙 com 端口。

这是 Lefebure 的 VB 源代码:http://pastebin.com/Q5cZzBjF

(整个项目可以在 LeFebure 的网站上下载 - 只需 google “LeFebure ntrip”)

该文件很长,但我想我会保持原样,以防我遗漏了一些重要的东西。据我所知,与我的问题相关的部分是:

  • 1557 到 1615(从 NTRIP 服务器获取数据)
  • 1698到1716(将数据写入COM口)

我做错了什么?

【问题讨论】:

    标签: javascript cordova geolocation xmlhttprequest gis


    【解决方案1】:

    通过将所需的 MIME 类型设置为以下解决:

    xhr.overrideMimeType('text/plain; charset=x-user-defined');

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 1970-01-01
      • 2018-06-01
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多