我正在为 Aldebaran's Pepper 机器人编写应用程序。我正在使用 Choregraphe,并制作了一个用于在机器人平板电脑中显示的 html 页面。我只想通过按下机器人平板电脑上显示的 Html 页面中的按钮来激活输出(我必须在“SHOW APP”框中添加)。这个怎么做?
问问题
753 次
2 回答
0
于 2018-10-01T13:38:42.203 回答
0
索引.html
<head>
<script src="/libs/qi/2/qi.js"></script>
<script src="js/script.js"></script>
</head>
<body>
<div class="flex">
<button class="button" onclick="launchEvent1()">First event</button>
<button class="button" onclick="launchEvent2()">Second event</button>
<button class="button" onclick="launchEvent3()">Third event</button>
<button class="home" onclick="launchEventHome()">Home button</button>
</div>
</body>
脚本.js
session = null
QiSession(connected, disconnected, location.host);
function connected(s) {
console.log("Session connected");
session = s;
//If you want to subscribe so some events (to send info pepper->tablet) call the function here
}
function disconnected(error) {
console.log("Session disconnected");
}
function launchEventHome(){
session.service("ALMemory").then(function (memory) {
memory.raiseEvent("homeEvent", "paramHome");
});
}
function launchEvent1(){
session.service("ALMemory").then(function (memory) {
memory.raiseEvent("event1", "param1");
});
}
function launchEvent2(){
session.service("ALMemory").then(function (memory) {
memory.raiseEvent("event2", "param2");
});
}
function launchEvent3(){
session.service("ALMemory").then(function (memory) {
memory.raiseEvent("event3", "param3");
});
}
在 choregraphe 上,单击“从 ALMemory 添加事件”(左侧的加号图标)并选择“添加新键”。给它你在 .js 文件中给它的名字(在我的例子中,event1、event2、event3 和 homeEvent)。
这样,每当用户单击平板电脑上的按钮时,它都会触发事件并将参数作为动态类型发送(参数 1、2 等,取决于用户按下的按钮)
于 2019-07-25T11:25:34.863 回答