项目详细信息:
目标: 连接的Arduino应将串行数据发送到正在运行的网页(Flash应用)可以接收的RPi。我正在使用(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或本地主机)
过程:
我打开了RPi的电源。(我看到它启动并加载Chromium /默认url(本地主机))。这又打开了Arduino的电源(通过USB [ttyUSB0]连接)
我使用PC将腻子放入RPi ..,然后启动/运行SOCAT:
socat -d -d -d -d -x TCP-LISTEN:7777,reuseaddr,fork FILE:/dev/ttyUSB0,b9600,raw
在这一点上,我的Flash应用程序应该正在接收从Arduino发送的串行数据,..但它从未连接..只是超时,最终我在出现故障时输出“未连接”到屏幕
套接字对象从不建立连接。
我已经测试了SOCAT的安装/配置和Arduino方面。它们都按预期工作。
*我在我的RPi ..上安装了Putty,并进行了两个不同的连接(一个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安全策略在胡说八道吗?
我尝试使用Security.loadPolicyFile()...,它似乎并没有改变任何内容。.
我是否需要在RPi的LAMP安装上尝试安装“自签名证书”?并可能将页面用作HTTPS?
**要清楚..虽然RPi在设置过程中现在可以访问互联网,但最终项目中将没有任何内容。
这是一个独立的项目(艺术项目,道具。无论如何)。
而且安全是没有顾虑的!。如此大的开放权限是10000%罚款。
这三个关键部分正确沟通的任何方法都可以。
如果需要任何信息/统计信息来解决此问题,请询问。我会尽力而为。
摘要:
获取我的Adobe Flash XMLSocket.connect()以最终连接到即将传入的RPi / SOCAT数据。我相信这与安全策略有关...
最后..我在哪里可以看到某种“日志”? Chromium >>控制台> Verbose没有显示任何内容?
必须有一些策略请求的日志(某处)和失败/错误。...对吧?