物联网电话配方连接但不发送数据

时间:2016-09-01 16:31:00

标签: ibm-cloud iot watson-iot

我正在使用Bluemix教程配方"使用IBM Watson物联网平台分析的实时数据分析"这里介绍:     https://developer.ibm.com/recipes/tutorials/real-time-data-analysis-using-ibm-watson-iot-platform-analytics

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

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

  2. 三个弃用的警告:

    ...不推荐使用multipart:使用解析器(multiparty,busboy,formidable)npm模块而不是node_modules / express / node_modules / connect / lib / middleware / bodyParser.js:56:20

    ...不建议使用限制:在node_modules / express / node_modules / connect / lib / middleware / multipart.js:86:15

    中读取读取位置的请求大小

    ...不推荐使用methodOverride:在app.js上使用method-override npm模块:63:17

  3. 电话设备显示一些飘飘的数据值,但保持状态"连接"。在WatsonIoT仪表板上,它显示已注册,但"已断开连接"。

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

1 个答案:

答案 0 :(得分:2)

解决。配方检查是否需要创建其cloudant数据库,不知道我正在与其他应用程序共享我的cloudant服务实例;它找到一个db存在,轻率地假设它是它需要的那个,并跳过创建。从以下地址更改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接受来自手机的事件并按预期显示数据。

我通过跟踪日志中的print语句找到了这个。