Pepper: как активировать вывод окна через веб-страницу Html / Javascript - PullRequest
0 голосов
/ 01 октября 2018

Я программирую приложение для робота Aldebaran's Pepper.Я использую Choregraphe и сделал HTML-страницу для отображения в планшете роботов.Я просто хочу активировать вывод (который я должен добавить в поле «ПОКАЗАТЬ ПРИЛОЖЕНИЕ»), нажав кнопку на странице HTML, отображаемой на планшете робота.Как это сделать?

Ответы [ 2 ]

0 голосов
/ 25 июля 2019

index.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>

script.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");
        });

   }

В хореографе нажмите «Добавить событие из ALMemory» (значок плюса с левой стороны) и выберите «добавить новый ключ ".Дайте ему имя, которое вы дали в файле .js (в моем случае, event1, event2, event3 и homeEvent).

При этом каждый раз, когда пользователь нажимает кнопку на планшете, он вызывает событие и отправляет параметр в виде динамического типа (param1, 2 и т. Д., В зависимости от того, какую кнопку пользователь нажал)

0 голосов
/ 01 октября 2018

Что вы можете сделать, это использовать Javascript SDK , чтобы вызвать события ALMemory и подписаться на события в Choregraphe.

Что-то вроде этого (левый красный прямоугольник):

ALmemoey

...