intel / intel-iot-services-orchestration-layer

The total solution that provides visual graphical programming for developing IoT applications.
81 stars 61 forks source link

仍然是关于grove seeed套件的问题 #15

Closed xmRichard closed 8 years ago

xmRichard commented 8 years ago

你好,上次我有来问过 按照你的说法我打开startkit.sh并且使用里面对应的传感器服务,仍然无法顺利与传感器接轨 我的具体做法是: 在D2口接入了触摸传感器并在iot上添加传感器服务,PIN口填写了2,然后在UI窗口加入了Linechart并且连接进行测试,成功导入工作流之后,linechart只是自己随意地在变化并没有根据是否触摸来变化,我也试过UI中的switch,它则是毫无反应。PIN口填写3也是一样的,而且每次停止工作流的时候都会跳出workflow to stop in status loaded rather than enabled的提示,并且无法停止,只能通过刷新网页来停止。同样,我也试过其他传感器,貌似都没有成功,是否grove套件与startkit套件不兼容?

D2的接口有四条线分别是GND、VCC、D2、D3,这属于双数据线sensor吗?

jiangzidong commented 8 years ago

Hi, 你好。

首先, 关于grove sensor enable的问题, 我建议你先在pure nodejs环境中成功读取数据, 然后再将它移植到iot sol中。

然后, 关于停止工作流报错的问题, 请贴出以下信息, 以便我们分析

谢谢

xmRichard commented 8 years ago

qq 20160810194023 qq 20160810195951 qq 20160810195955 qq 20160810195959 qq 20160810200002

以上是center.log startkithub.log是空的,这是说明没有检测到板子吗

之前一直是在8080中查看的,而到3000里面只有工程点进去却是空的

我并没有写传感器服务的代码,只是想是否能够参考startkit里的服务来写

xmRichard commented 8 years ago

重新启动之后3000里面出现linechart,但是这个linechart是静止的……

xmRichard commented 8 years ago

3000里面出现静止图表的同时也能够成功停止工作流,我有点懵了

jiangzidong commented 8 years ago

文件名是 startkit_hub.log

8080中的ui是示意图, 里面的数字是随机的

测量温度这个模块需要输入pin, 如果没有输, 会出现workflow不能stop的问题 (该bug马上会fix). 请检查一下workflow中该模块是否设置了pin

xmRichard commented 8 years ago

qq 20160810203125

这是startkit_hub.log 重新连接板子之后工作流就可以正常停止并且3000的网页里也有东西了,但这个图表却是静止的……

jiangzidong commented 8 years ago

请问完整的工作流是怎么样的? 如果是像你前面贴的, 图表上是不会有输出的

xmRichard commented 8 years ago

就是我第一张报错图里的工作流那样的,PIN值有设定,我现在只是想做一个简单的小测试

那么我应该如何正确通过图表输出温度传感器的值呢?

好像那些UI的数据接口不像是一般的数据类型呢

jiangzidong commented 8 years ago

http://01org.github.io/intel-iot-services-orchestration-layer/#getstarted/setup/edison_startkit/6-Edit UI

你需要 1) 用interval触发传感器 2) 绑定图标widget的数据源

xmRichard commented 8 years ago

谢谢提点 请问亮度传感器捂住和放开波动在10以内是正常吗 qq 20160810214921

jiangzidong commented 8 years ago

这个取决于你使用的传感器和以及现在的外界环境光, 我用dfrobot startkit里面的光线传感器, 白天环境光200+, 捂住的话50-

xmRichard commented 8 years ago

谢谢,现在基本能够正常运行了,只不过好像每次保存之后都需要重新启动工作流才算作正常保存。。

是否触摸连接switch测试是正常的 但是数值类的类似温度呀亮度连接linechart之后显示的数值好像不太正常 这是service输出的数据跟传感器所收集到的不对应的原因吗

jiangzidong commented 8 years ago

"只不过好像每次保存之后都需要重新启动工作流才算作正常保存" 能否告诉我们重现的步骤?

xmRichard commented 8 years ago

刚打开startkit.sh的时候我进入8080,创建工作流,并且完成简单的工作流布置,其中包含了需要输入pin值的节点,单机保存后我去UI界面寻找需要输出的图表,然后保存,再切回工作流拖入图表节点并且连接再保存。点击启动工作流,提示成功启动,然后打开3000网页并没有发现任何东西,与此同时按停止工作流就会出现之前我提到的报错而无法正常停止,只能通过刷新网页来停止。 你提到那个报错是因为没有填写pin值导致的,但我确实有填写,仍然有这个问题,我也一直卡在这一步进行不下去。之后我偶然发现重新连接板子重新打开startkit.sh就能正常和停止刚刚布置保存的工作流,3000的网页中显示也正常。我推断保存工作流后重新输入./start_startkit.sh才能正常运行工作流,我不知道是不是我的操作流程有误

jiangzidong commented 8 years ago

@xmRichard 你的操作流程没有问题. 我的意思是, 如果没有没有PIN, 会导致这个错误. 但是你的问题可能是别的原因引起的. 这个问题是必定出现的吗? 因为我这里重现不出.

能否给一个完整的最终工作流的屏幕截图?

xmRichard commented 8 years ago

现在好像暂时没碰到这种情况了,如果再发我再详细汇报吧,谢谢!

xmRichard commented 8 years ago

顺便想请教一下

在iot上编写代码运行的话应该是使用板子来处理的吧,应该不是用电脑处理的吧。这样的话如果要处理编写比较复杂的程序应该需要电脑或者别的平台来处理吧。 那么如何在java和iot之间传输数据呢

jiangzidong commented 8 years ago
xmRichard commented 8 years ago

default 1 我参照你们教程中关于abs的例子想写一个测试一下我好改编却报了这个错请问是为啥…… kernel.js里面的代码和教程中一样我就没贴出来了

jiangzidong commented 8 years ago

你的工作流中 有触摸开关吗? 请把node_modules/hope-demo/appundle/xxxxx/graphs/xxxxx/graph.json 贴出来

xmRichard commented 8 years ago

{ "version": "1.0.0", "type": "graph", "id": "GRAPH_6e079140-4734-11e6-899c-057afd66eb54", "name": "Default Workflow", "description": "", "timestamp": 1468220119124, "specs": [], "styles": { "nodes": { "NODE_80721ea0-47c9-11e6-8138-c9a973d03d56": { "x": 86, "y": 148 }, "NODE_c7f1fc00-6817-11e6-812f-0fed2b9591e8": { "x": 43.06467124740982, "y": 212.62400600610334 }, "NODE_db64c650-6817-11e6-812f-0fed2b9591e8": { "x": 144.74919840664188, "y": 90.86974272781904 }, "NODE_3d8cfd60-6819-11e6-812f-0fed2b9591e8": { "x": 255.85473064844913, "y": 240.09489010803594 } }, "edges": {} }, "bindings": { "NODE_80721ea0-47c9-11e6-8138-c9a973d03d56": { "type": "fixed", "thing": "d:\iot-sol\node_modules\hope-demo\startkit\thing_bundle\touch_button@4be9e98ca883d3ed9158b581818ed390", "hub": "4be9e98ca883d3ed9158b581818ed390", "service": "detectTouch@d:\iot-sol\node_modules\hope-demo\startkit\thing_bundle\touch_button@4be9e98ca883d3ed9158b581818ed390" }, "NODE_c7f1fc00-6817-11e6-812f-0fed2b9591e8": { "type": "fixed", "thing": "d:\iot-sol\node_modules\hope-center\lib\hubbundles\thingbundle\timer@a566c57ddbed7cdb999f5a3b38e9e317built_in_hub", "hub": "a566c57ddbed7cdb999f5a3b38e9e317built_in_hub", "service": "interval@d:\iot-sol\node_modules\hope-center\lib\hubbundles\thingbundle\timer@a566c57ddbed7cdb999f5a3b38e9e317built_in_hub" }, "NODE_db64c650-6817-11e6-812f-0fed2b9591e8": { "type": "fixed", "thing": "HOPE_THING_adde1c90_6817_11e6_8e82_214cc54455ca", "hub": "4be9e98ca883d3ed9158b581818ed390", "service": "HOPE_SERVICE_bbc0a580_6817_11e6_8e82_214cc54455ca" }, "NODE_3d8cfd60-6819-11e6-812f-0fed2b9591e8": { "type": "fixed", "thing": "HOPE_UI_THINGa566c57ddbed7cdb999f5a3b38e9e317built_in_hubHOPE_APP_6e026120_4734_11e6_b422_870de51d882c", "hub": "a566c57ddbed7cdb999f5a3b38e9e317built_in_hub", "service": "UI_SERVICE__WIDGET_34e087e0-6819-11e6-812f-0fed2b9591e8", "widget": "WIDGET_34e087e0-6819-11e6-812f-0fed2b9591e8" } }, "graph": { "nodes": [ { "name": "", "description": "", "spec": "HOPE/builtin/timer/interval", "id": "NODE_c7f1fc00-6817-11e6-812f-0fed2b9591e8", "config": {} }, { "name": "", "description": "", "spec": "SPECbb24b3a0-6817-11e6-812f-0fed2b9591e8", "id": "NODE_db64c650-6817-11e6-812f-0fed2b9591e8", "config": {}, "is_debug": false }, { "name": "", "spec": "hope/ui/chart", "id": "NODE_3d8cfd60-6819-11e6-812f-0fed2b9591e8" } ], "edges": [ { "id": "EDGE_cd68c520-681b-11e6-b844-afb565367a6c", "source": { "node": "NODE_c7f1fc00-6817-11e6-812f-0fed2b9591e8", "port": "out" }, "target": { "node": "NODE_db64c650-6817-11e6-812f-0fed2b9591e8", "port": "input" } }, { "id": "EDGE_ce713470-681b-11e6-b844-afb565367a6c", "source": { "node": "NODE_db64c650-6817-11e6-812f-0fed2b9591e8", "port": "value" }, "target": { "node": "NODE_3d8cfd60-6819-11e6-812f-0fed2b9591e8", "port": "series1" } } ], "tags": [] }, "app": "HOPE_APP_6e026120_4734_11e6_b422_870de51d882c" }

我之前确实拖进去一个传感器想看一下里面的代码,但是后面删除了,工作流就图里的三个节点,你让我贴的这个里面好像有4个节点的样子,但我工作流里面右下角的缩略图也只显示了3个。

jiangzidong commented 8 years ago

你先把整个appbundle下的文件删除, 重新创建工作流试试

xmRichard commented 8 years ago

可以了,谢谢!

jiangzidong commented 8 years ago

@xmRichard 你提到的"图上工作流与后台json不一致"的问题, 我们会进一步分析. 如果你有重现的步骤, 请告诉我们来帮助我们定位问题. 谢谢

xmRichard commented 8 years ago

我那个工程是以前创建过的,可能往里面拖过一些节点但是最后都给我在界面上删光了。 这次进去我是想在节点上做一些测试好让我往里面导入接口,然后我对比了你们示例文档里面的abs例子来写,同时拖入了一个传感器(好像是温度的)进行对比,但是最终还是按照例子的步骤来完成代码以及节点的编辑,把传感器删掉后就如上图的工作流布置好后启动就出现了那样的问题。

顺带一提我现在是用PC登陆iot的,而且我PC登陆会遇到一个问题,就是每次登陆都需要打开两次start_startkit.sh(其实不论打开哪一种都要两次)。 具体情况如下:在cmd打开sh之后会弹出gitbash的窗口提示打开的步骤,就是center broke hub的那些,这时候我输入8080会提示禁止访问,我再次从cmd窗口输入start_startkit.sh之后,还是会弹出那个gitbash窗口,这时候刷新8080仍然提示禁止访问,而我如果关掉之前第一个gitbash窗口之后就能够正常进入8080了,但是如果我关掉第二个gitbash窗口就又禁止访问了。 也就是说我如果要用电脑登陆iot进行编辑测试的话我需要打开两次sh,任务管理器里的进程会有5个(或者6个)node.exe以及7个(或者8个)bash.exe和sh.exe。不知道是不是我电脑环境配置得不到位的原因

另外我刚才重新布置工作流之后(就跟上面提到的工作流一样),成功运行了,而且也有正确的UI输出。但是我尝试着往里面加入变量,于是在那个自定义节点的start.js加入一个初始变量,然后在kernel.js里面加法到输出位置,保存之后点击启动工作流没有反应,我刷新之后点击启动还是没有反应。于是我进入那个节点把start.js删除并且将kernel.js还原,却无法保存,提示报错如图。之后我重新进入iot(删除进程中全部的node.exe相当于大退)或者刷新网页都无法保存我对节点的修改,每次进入节点都是start.js和kernel.js被我加入变量的状态。请问这应该如何解决?我等会先去试一下重启计算机 default

jiangzidong commented 8 years ago

1, 我也是在windows是使用iot-sol, 不需要打开两次. 直接打开git-bash, 运行start_startkit.sh 就可以了

2, 图中的信息表示当前工作流正在启动中, 不能修改service. 但是你都重启了, 工作流应该是处于静止状态

xmRichard commented 8 years ago

看来确实是我操作有误,好像在service启动不启动、停止没停止出了不少问题呢。冒昧想问一下如何关闭sh呢,killall node 2>/dev/null这个指令输进去仍然能进8080,每次我关都是打开任务管理器关闭node.exe来关闭的= =

jiangzidong commented 8 years ago

可以参考start_mock_demo.sh中, 在windows系统下, 关闭nodejs进程应该是cmd.exe /c "taskkill /f /im node.exe 2>nul" 因为start_startkit是为了edison写的, 就没有考虑你windows下启动的问题

我建议在开发调试的时候采用如下启动方法: 1, 打开3个git bash terminal 2, 第一个 ./run_demo broker 3, 第二个./run_demo center 4, 第三个 ./run_demo startkit or ./run_demo hub

这三个进程都是在前台执行的, 你只要ctrl+C就能关闭

xmRichard commented 8 years ago

谢了,现在基本能够正常操作了

xmRichard commented 8 years ago

这两天用下来发现的一点问题:

1、如果工作流某一环节出问题,包括没有正确输入PIN值,或者是自己写的节点有问题的话,启动工作流就无法停止,如果要修改或者再次启动,则要重新关闭node.js再开启。

2、节点中的console.log()输出的内容应该在哪里查看?调试的时候只能继续,点击停止工作流没有反应,需要按刷新才能停止。

3、每次编写完自定义节点回到工作流需要按一下刷新按钮,不然启动的时候会报错。如果编写错误也会报错,而且跟情况一相似,需要重启iot才能正常修改运行。