Chromey
Chromey

Reputation: 97

Serialport Node Errors on Beaglebone (ARM)

I'm trying to run a Node Arduino library [https://github.com/rwldrn/johnny-five] on a Beaglebone running Ubuntu 12.04. However, when ever I try run an example program (servo.js, or any other) the console spits out:

/home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/node_modules/bindings/bindings.js:91
  throw err
        ^
Error: Could not locate the bindings file. Tried:
 → /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/build/serialport.node
 → /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/build/Debug/serialport.node
 → /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/build/Release/serialport.node
 → /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/out/Debug/serialport.node
 → /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/Debug/serialport.node
 → /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/out/Release/serialport.node
 → /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/Release/serialport.node
 → /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/build/default/serialport.node
 → /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/compiled/0.8.15/linux/arm/serialport.node
    at bindings (/home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/node_modules/bindings/bindings.js:88:9)
    at Object.<anonymous> (/home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/serialport.js:7:44)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/home/rov/node_modules/johnny-five/node_modules/firmata/lib/firmata.js:9:18)
    at Module._compile (module.js:449:26)

I've tried installing serialport through npm (npm install serialport) and I still get the same error. How do I install serialport so that it can be recognized by the servo.js file?

Upvotes: 1

Views: 1671

Answers (1)

Andrew
Andrew

Reputation: 1279

serialport is a dependancy of johnny-five and firmata, but since firmata itself is a dependency of johnny-five I believe firmata would reference serialport from the johnny-five/node_modules.

Also note that serialport requires Python 2.x.

If npm installed johnny-five correctly, it should have built serialport.node into johnny-five/node_modules/serialport/build/Release - do you see it there?

If not, try this in a new directory

  • $ git clone https://github.com/rwldrn/johnny-five
  • $ cd johnny-five
  • $ npm install

Does it succeed? Replace /home/rov/node_modules/johnny-five with the cloned repo you just built.

Upvotes: 1

Related Questions