0

我正在使用此处介绍的 Bluemix 教程配方“使用 IBM Watson IoT Platform Analytics 进行实时数据分析”: https ://developer.ibm.com/recipes/tutorials/real-time-data-analysis-using-ibm-watson-物联网平台分析

我没有在我的 Watson IoT 仪表板中看到所描述的行为;电话设备确实连接并自行注册,但我看不到任何事件或数据。在节点服务器日志中,有几件事似乎与此有关:

  1. 获取 util.js 时出现 404;事实上,该文件不在我从配方的 github 下载的代码库中。

  2. 三个弃用的警告:

    ...弃用的多部分:在 node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:56:20 处使用解析器(多方,busboy,强大)npm 模块

    ...不推荐使用的限制:在 node_modules/express/node_modules/connect/lib/middleware/multipart.js:86:15 的读取位置限制请求大小

    ...弃用 methodOverride:在 app.js:63:17 处使用方法覆盖 npm 模块

电话设备显示一些颤动的数据值,但仍处于“正在连接”状态。在 WatsonIoT 仪表板上,它显示已注册但“已断开连接”。

缺少 util.js 是致命的情况吗?如果不是,那么接下来如何解决它,因为我是整个包的新手?

4

1 回答 1

2

解决了。该配方检查它是否需要创建它的 cloudant 数据库,而不知道我正在与其他应用程序共享我的 cloudant 服务实例;它发现一个数据库存在,愉快地假设这是它需要的数据库,并跳过创建。将 app.js 从以下位置更改:

cloudant.db.list(function(err, all_dbs) {
    if (all_dbs.length == 0) {
        // first time -- need to create the iotzone-devices database
        cloudant.db.create('device_credentials', function()

例如:

cloudant.db.list(function(err, all_dbs) {
    if (all_dbs.indexOf(dbName) < 0) {
        // first time -- need to create the iotzone-devices database
        cloudant.db.create(dbName, function()
        [etc...]

数据库就位后,WatsonIoT 接受来自电话的事件并按预期显示数据。

我通过遵循日志中的打印语句发现了这一点。

于 2016-09-01T19:08:12.927 回答