【问题标题】:Connect to virtual Robot via QiMessaging JavaScript通过 QiMessaging JavaScript 连接到虚拟机器人
【发布时间】:2019-09-25 23:25:09
【问题描述】:

我想在本地测试我的 Javascript 应用程序。

因此,我想在我的带有 QiMessaging 的 JavaScript 应用程序与虚拟机器人之间建立连接。

以前有人做过吗?

这可能吗?

作为虚拟机器人,我在 Windows 10 系统上尝试了 naoqi-bin.exe 和 opennao vm。

通过连接到虚拟机器人无法正常工作。

这是我的尝试:


qimessaging 1.0:

代码:

<!DOCTYPE html>
<html>    
<head>
    <meta charset="utf-8"/>
</head>    
<body>
<script src="libs/qimessaging/1.0/qimessaging.js"></script>
<script type="text/javascript">

var robot_address = '127.0.0.1'    

  var session = new QiSession(robot_address);
    session.socket().on('connect', function () {
  console.log('QiSession connected!');
  // now you can start using your QiSession
}).on('disconnect', function () {
  console.log('QiSession disconnected!');
});        
</script>
</body>    
</html>

结果:

浏览器控制台显示:

404 未找到 http://127.0.0.1/libs/qimessaging/1.0/socket.io/1/?t=1557305266224

跨域请求被阻止:同源策略不允许读取 http://127.0.0.1/libs/qimessaging/1.0/socket.io/1/?t=1557305266224 Reson 的远程资源:原因:CORS 标头“Access-Control-Allow-Origin”缺失


qimessaging 2.0:

代码:

<!DOCTYPE html>
<html>    
<head>
    <meta charset="utf-8"/>
</head>    
<body>
<script src="libs/qi/2/qi.js"></script>
<script type="text/javascript">

    var robot_address = '127.0.0.1'

    QiSession(function (session) {
      console.log("connected!");
      // you can now use your QiSession
    }, function () {
      console.log("disconnected");
    },
      robot_address);
</script>
</body>
</html>

结果:

与 qimessaging 1.0 相同


robotutils:

代码:

<!DOCTYPE html>
<html>   
<head>
  <meta charset="utf-8"/>
</head>    
<body>
  <script src="js/robotutils.js"></script>
  <script type="text/javascript">
    RobotUtils.robotIp = "127.0.0.1"

    RobotUtils.onService(function (ALDialog) {
      console.log("Connected the service.")         
    }, function () {
      console.log("Failed to get the service.")
    })
  </script>
</body>   
</html>

结果:

GET http://127.0.0.1/libs/qimessaging/2/qimessaging.js 404 未找到

来自“http://127.0.0.1/libs/qimessaging/2/qimessaging.js”的脚本 即使其 MIME 类型(“text/html”)不是有效的,也已加载 JavaScript MIME 类型。

with 源加载失败 “http://127.0.0.1/libs/qimessaging/2/qimessaging.js”。


所以我的解释是虚拟机器人没有提供所需的文件,或者我在这里遗漏了什么?

【问题讨论】:

    标签: javascript nao-robot pepper


    【解决方案1】:

    好的,我在aldebaran forum 中找到了答案

    [...]

    抱歉,qimessaging javascript 不适用于虚拟 机器人,只有一个真正的机器人(在一个真正的机器人上有一个服务器 监听某个端口进行qimessaging js通信,有 没有为虚拟机器人运行这样的服务器)。

    [...]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2013-07-01
      • 2016-03-16
      • 1970-01-01
      相关资源
      最近更新 更多