Raspberry Pi + Загрузка политики безопасности Adobe Flash (локально / автономно) - PullRequest
0 голосов
/ 08 февраля 2019

Информация о проекте:

  • Raspberry Pi 3B
  • RPi Cam (конкретно ArduCam)
  • Arduino UNO (подключен к RPiчерез USB-кабель = / dev / ttyUSB0)
  • Встроенное приложение Adobe Flash (ActionScript 2.0)

Цель: Подключенный Arduino должен отправить последовательные данные наRPi, которую может получить работающая веб-страница (flash app).Я использую (xml) SOCKET для подключения / прослушивания на стороне приложения Flash.


У меня Raspberry Pi 3B, с последней установленной (на момент написания) версией Raspbian.У меня также установлены Apache, PHP, MyPHPAdmin и MySQL.

Я также настроил RPi для загрузки Chromium в полноэкранном режиме при загрузке, а также для загрузки определенной локально размещенной веб-страницы.

На этой веб-странице есть встроенное Flash-приложение, которое использует подключенную RPi-камеру (веб-камеру) ... и отображает «канал» камеры на веб-странице.

Таким образом, веб-страница размещена локально в моей установке LAMP..

/ var / www / html / index.html (.swf)

(127.0.0.1 или localhost)


Процесс:

Я включаю мой RPi .. (Я вижу, что он загружается и загружает Chromium / URL по умолчанию (localhost)) .. Это по очереди включает мой Arduino .. (подключен через USB [ttyUSB0])

Iиспользовать мой ПК для замазки в моем RPi .. и я запускаю / запускаю SOCAT:

socat -d -d -d -d -x TCP-LISTEN:7777,reuseaddr,fork FILE:/dev/ttyUSB0,b9600,raw

На этом этапе мое Flash-приложение должно получать последовательные данные, отправляемые с Arduino, .. но оно никогда не подключается.. просто тайм-аут, и в конце концов я вывести «не подключен» к экрану при ошибке

объект сокета nevон устанавливает соединение.

Я протестировал ОБА установку / настройку SOCAT и сторону Arduino ... и они оба работают как положено.

* Я установил Putty на свой RPi .. и сделалдва разных соединения (одно RAW и подключенное к одному и тому же порту 7777), и сразу увидели дату, отправляемую из Arduino на экране) и другое соединение с TTYUSB0 (последовательный тип соединения) и увидели те же данные, отправленные из Arduino,Таким образом, это подтверждает, что сторона Arduino верна / работает правильно ... и установка / конфигурация RPi / SOCAT верна и работает правильно ... по крайней мере, до уровня Arduino >> RPi вещей ... но я не могуполучить его на последнем слое приложения Flash.

Я очень слабо разбираюсь в политике безопасности Flash для соединений с сокетами.

По умолчанию пытаюсь получить это (мастер?)файл / политика на порте 843?

Я пытался загрузить файл .swf локально, но он никогда не работал?(Я также перепробовал много вариантов)

Security.allowDomain("*");

//Cross domain security policy load
//Security.loadPolicyFile("xmlsocket://"  + "127.0.0.1" + ":8080");
//Security.loadPolicyFile("xmlsocket://127.0.0.1:7777");
//System.security.loadPolicyFile("xmlsocket://localhost:4482");
System.security.loadPolicyFile("http://localhost/crossdomain.xml");
//Security.loadPolicyFile("crossdomain.xml");


var server = new XMLSocket();
//server.connect("127.0.0.1", 7777);
server.connect(null, 7777);
//server.connect('localhost', 7777);

server.onConnect = function(result){
    if(result){
        //connected
        state_txt.text = "connected";
    }else{
        //not connected
        state_txt.text = "not connected";
    }

}

server.onClose = function(){
    //disconnected
    state_txt.text = "connection closed";
}

server.onXML = function(data){
    //do whatever   
    incomingData_txt.text += data;

    //close
    //server.close();
}


var video_obj:Video;
var cam:Camera = Camera.get();
video_obj.attachVideo(cam);
cam.onStatus = function(infoObj:Object) {
    switch (infoObj.code) {
        case 'Camera.Muted' :
            trace("Camera access is denied");
        break;

        case 'Camera.Unmuted' :
            trace("Camera access granted");
            //start it up
            //setTimeout(startUp,1000);
        break;
    }
}

Что я могу сделать, чтобы каким-то образом загрузить этот мусор «политики»?Это локальный хост ... так что, насколько я знаю, нет никакой политики безопасности порта 843?

  • Я добавил свой .swf и путь к файлу (и многие варианты) в настройки глобальной безопасностистраница на сайте Macromedia .. (ничего не изменилось)

Я пытался использовать Security.loadPolicyFile () ... и, похоже, ничего не изменилось ..

СделайтеВозможно, мне нужно попытаться установить «самоподписанный сертификат» на моей установке LAMP на моем RPi?и, возможно, использовать страницу как HTTPS?

** Для ясности ... хотя RPI имеет доступ к Интернету прямо сейчас во время настройки, в конечном проекте НЕ будет ни одного.

Это отдельный проект (арт-проект, проп ... что угодно) ..

И безопасность НИКАКОГО ЗАБОТЫ! .. Так что широко открытые разрешения хороши на 10000%.

Что бы ни получалось3 ключевых элемента, обеспечивающих правильное общение, - это нормально.

Если для справки требуется какая-либо информация / статистика, пожалуйста, спросите.Я опубликую то, что могу.

Резюме:

Получите мой Adobe Flash XMLSocket.connect () для окончательного подключения к поступающим данным RPi / SOCAT. Я считаю, что это БезопасностьПолитика связана ...

Наконец ... где я могу посмотреть какие-то "логи" по этому поводу?Chromium >> Console> Verbose ничего не показывал?

Должен быть какой-то журнал (где-то) запроса политики и сбой / ошибка .... верно?

...