Software Archive
Read-only legacy content
17061 Discussions

Intek Edison failed to run call to IoT Analytics website

Darryl_N_
Beginner
500 Views





Hi all,

I am trying to connect my Intel Edison to Intel IoT Analytics website.

I have tried on Arduino with the same code and support. It works.

However, when I try the same thing to Intel XDK, this is the error I received. My I know if anyone could help me here?



Upload Complete
Not auto starting by request
ERROR: module.js:327
    throw err;
    ^

Error: Cannot find module '../configs/app'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/root/.node_app_slot/main.js:24:14)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)


Thanks and regards

Darryl Ng
0 Kudos
8 Replies
Shahab_L_Intel
Employee
500 Views

Hi Darryl,  Can you share the sample or your app so we can investigate the problem?  You can send your app or a part of it showing the problem through private message or just share it here.

0 Kudos
Darryl_N_
Beginner
500 Views

Basically, now I have another errors as this error I have resolved after importing the relevant modules to the Edison device.

My error now is as follows:

ERROR: 2016-11-16T03:54:55.358Z - debug: Account Id: null
ERROR: 2016-11-16T03:54:55.931Z - debug: Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI5NWNkMjg3ZS00NTY2LTRiY2ItOTBhZS1mNzlmNWI0MjU3ZWUiLCJpc3MiOiJodHRwOi8vZW5hYmxlaW90LmNvbSIsInN1YiI6IjU4MmJiNGQ5ZDExYTg1NjEzMmRkOTJlNSIsImV4cCI6IjIwMTYtMTEtMTdUMDM6NTQ6NTUuODk1WiJ9.UUYIyZz066b19BbiNDsNnmm8zYrju6Pye2mSK_SRCZMOu_BixQhvrd0ZoNmNJZFB1XIV3doRbV4LV4KKJOpi_tOAk-IekKICfvebiA_vSkJUqxg9ROs6xby7-6OTNunO9ebta0y1GyDeYCUNb8q2dR5VAS6b9x3Ixcu7av4vSUvHHP8EfR6DbEoMIhlubqQ9GJJfPWPQKPKmrU040aSdnPV9SVqFbunbWc1p_WZHBcto_O3t8MpcwM1tP2YULmuqNUfux1M00Ayo55zKWYdamlJv2MXHtFdQkQCI4lT83wsLxkjemZLcuCMwF6Gc2O_N13iAjNRGC7WiXPLL_ArYkQ
Current temperature is 22.26738422694757
2016-11-16T03:54:56.018Z - info: Setup...
Gpio is 0
ERROR: 2016-11-16T03:54:56.153Z - debug: User Id: 582bb4d9d11a856132dd92e5
ERROR: 2016-11-16T03:54:56.272Z - debug: Account Id: null
ERROR: 2016-11-16T03:54:56.521Z - error: UncaughtException: undefined
ERROR: 2016-11-16T03:54:56.522Z - error: undefined
0 Kudos
PaulF_IntelCorp
Employee
500 Views

Darryl -- was the Arduino app written in C using the Arduino IDE? I'm not familiar with the sample you are trying to run, if it was originally written in C and you have converted it to JavaScript, it would be helpful if you could provide a copy of the code for each project. Please ZIP your projects and attach them to this thread using the "Attach Files to Post" link below the edit window. If your sample contains sensitive code we can start a private message thread where you can share the sample.

0 Kudos
PaulF_IntelCorp
Employee
500 Views

Darryl -- I'm only guessing, based on a quick trial of your app. But my guess is that the version of Node that was running on your Arduino board is different than the version you're running on the Edison board, and that may be causing trouble. Probably some issues related to the versions of your dependencies and the underlying Node engine.

Why do I think this is part of the problem? See this output, in which I "uploaded" your project to a Joule (I was having connection problems with my Edison, but the two are running the same version of Node.js). After uploading to the Joule, I performed an "npm outdated" and an "npm install" to get the three dependencies you specify installed as part of the project. This is what I got:

root@joule-paf2:~/.node_app_slot# npm outdated
Package    Current  Wanted  Latest  Location
node-uuid  MISSING   1.4.7   1.4.7  node-uuid
request    MISSING  2.78.0  2.78.0  request
winston    MISSING   0.7.3   2.3.0  winston
root@joule-paf2:~/.node_app_slot# npm install
npm WARN engine hawk@0.10.2: wanted: {"node":"0.8.x"} (current: {"node":"4.4.1","npm":"2.14.20"})
npm WARN engine sntp@0.1.4: wanted: {"node":"0.8.x"} (current: {"node":"4.4.1","npm":"2.14.20"})
npm WARN engine cryptiles@0.1.3: wanted: {"node":"0.8.x"} (current: {"node":"4.4.1","npm":"2.14.20"})
npm WARN engine boom@0.3.8: wanted: {"node":"0.8.x"} (current: {"node":"4.4.1","npm":"2.14.20"})
npm WARN engine hoek@0.7.6: wanted: {"node":"0.8.x"} (current: {"node":"4.4.1","npm":"2.14.20"})
node-uuid@1.4.7 node_modules/node-uuid

request@2.78.0 node_modules/request
├── tunnel-agent@0.4.3
├── forever-agent@0.6.1
├── oauth-sign@0.8.2
├── aws-sign2@0.6.0
├── caseless@0.11.0
├── is-typedarray@1.0.0
├── stringstream@0.0.5
├── aws4@1.5.0
├── isstream@0.1.2
├── json-stringify-safe@5.0.1
├── extend@3.0.0
├── qs@6.3.0
├── combined-stream@1.0.5 (delayed-stream@1.0.0)
├── mime-types@2.1.12 (mime-db@1.24.0)
├── tough-cookie@2.3.2 (punycode@1.4.1)
├── form-data@2.1.2 (asynckit@0.4.0)
├── hawk@3.1.3 (cryptiles@2.0.5, boom@2.10.1, sntp@1.0.9, hoek@2.16.3)
├── http-signature@1.1.1 (assert-plus@0.2.0, jsprim@1.3.1, sshpk@1.10.1)
└── har-validator@2.0.6 (pinkie-promise@2.0.1, commander@2.9.0, chalk@1.1.3, is-my-json-valid@2.15.0)

winston@0.7.3 node_modules/winston
├── cycle@1.0.3
├── async@0.2.10
├── stack-trace@0.0.9
├── eyes@0.1.8
├── colors@0.6.2
├── pkginfo@0.3.1
└── request@2.16.6 (tunnel-agent@0.2.0, forever-agent@0.2.0, aws-sign@0.2.0, oauth-sign@0.2.0, cookie-jar@0.2.0, json-stringify-safe@3.0.0, mime@1.2.11, qs@0.5.6, form-data@0.0.10, hawk@0.10.2)
root@joule-paf2:~/.node_app_slot# npm outdated
Package  Current  Wanted  Latest  Location
winston    0.7.3   0.7.3   2.3.0  winston
root@joule-paf2:~/.node_app_slot# 

Here's a screenshot of the above (I'm using ssh to remote into the Joule, from my laptop), which is easier to review:

Screen Shot 2016-11-16 at 5.43.24 PM.png

Notice the discrepancies regarding the Node.js version required by hawk and it's dependencies, at the beginning of the npm install phase. These appear to be due to the hawk@0.10.2 request of your winston module.

My guess is this may have something to do with the problems you are encountering. But I'm only speculating because I do not know what version of Node.js is on your Arduino board, nor do I know how sensitive those problem node modules are to the specific version of Node.js.

0 Kudos
Darryl_N_
Beginner
500 Views

Thanks so much, Paul.

Let me check my version and update it and see if it works.

Cheers

0 Kudos
Darryl_N_
Beginner
500 Views

Thanks Paul F.

I have updated my node.

I have also installed the enableiot-pump module as describe from the following URL

https://www.npmjs.com/package/enableiot-pump. ;

 

Now, I have also changed my app.json file as shown:

{
    "target": {
      "host": "dashboard.us.enableiot.com",
      "api_root": "/v1/api",
      "username": "darryl1975@gmail.com",
      "password": "HengMuiKeng25!",
      "account": "darryl1975"
    },
    "source": {
      "deviceId": "02-00-86-4c-ad-49",
      "gatewayId": "02-00-86-4c-ad-49",
      "name": "edison",
      "tags": ["tag1", "tag2", "tag3"],
      "loc": [ 45.5228, -122.9897, 75.2 ],
      "attributes" : {
        "manufacturer": "intel",
        "platform": "x86",
        "os": "linux"
      }
    },
    "component": {
      "type": "temperature.v1.0",
      "name": "temp",
      "cid": "c285464f-1c33-4abc-bcc1-09047dd37816"
    }
}

 

Now, I have been able to retrieve the User Id and Account Id. Seems like it is able to communicate with the IoT Analytics site. Nonetheless, it is still not able to post data. I have an uncaught exception as shown below:

ERROR: 2016-11-17T07:55:31.486Z - debug: User Id: 582bb4d9d11a856132dd92e5
Current temperature is 23.563669953627368
Gpio is 0
ERROR: 2016-11-17T07:55:32.601Z - debug: Account Id: 8ad4afb7-3954-4203-b7a6-ce7eb7b6dc00
Current temperature is 23.0442133540069
Gpio is 0
ERROR: 2016-11-17T07:55:33.862Z - error: UncaughtException: Device already exists
ERROR: 2016-11-17T07:55:33.866Z - error: undefined

 

You advise is appreciate on how I can resolve this.

 

Appreciated so much. Thank you.

0 Kudos
PaulF_IntelCorp
Employee
500 Views

You're going to have to do some debugging within your app. We are not experts on the IoT Analytics services. Note also this statement from the Intel IoT Analytics site:

NOTICE: Intel® Cloud Analytics have been discontinued. Please visit the Intel® Edison Module homepage for alternative solutions.

0 Kudos
Darryl_N_
Beginner
500 Views

Thank Paul F.

Understand and knew that IoT Analytics website haven been discontinued and suggested to connect to other platforms such as Azure or AWS.

I have been trying and now my errors are different and in I m not able to submit the data with undefined errors.

But anyway, appreciate much on your reponses and help here.

Cheers and look forward again.

 

0 Kudos
Reply