Raspberry Pi Node Gyp Issues

1428628935374 Device(s) /dev/ttyACM0
1428628935449 Connected /dev/ttyACM0
1428628938796 Repl Initialized
>> servo.center()
Error: Serialport not open.
    at SerialPortFactory.SerialPort.write (/home/pi/CODE/servo/node_modules/johnny-five/node_modules/serialport/serialport.js:254:17)
    at Board.analogWrite (/home/pi/CODE/servo/node_modules/johnny-five/node_modules/firmata/lib/firmata.js:606:11)
    at Board.servoWrite (/home/pi/CODE/servo/node_modules/johnny-five/node_modules/firmata/lib/firmata.js:651:20)
    at Servo.Controllers.Standard.servoWrite.value (/home/pi/CODE/servo/node_modules/johnny-five/lib/servo.js:109:17)
    at Servo.to (/home/pi/CODE/servo/node_modules/johnny-five/lib/servo.js:332:10)
    at Servo.center (/home/pi/CODE/servo/node_modules/johnny-five/lib/servo.js:422:15)
    at repl:1:8
    at REPLServer.self.eval (repl.js:112:21)
    at Interface.<anonymous> (repl.js:239:12)
    at Interface.emit (events.js:95:17)

I was having issues with node-gyp. I had to reinstall it

sudo apt-get update && sudo apt-get upgrade

One thing I noticed while doing the upgrade is that node was also upgraded, I had manually installed node_0.10.36-1_armhf.deb and it got upgraded to v0.12.0.

$ sudo npm i -g node-gyp

Enable the Serial Port in the Raspberry Pi

If you want to use the serial port you first need to release it. By default is used by a login shell that you can connect over a serial cable.

$ sudoedit /etc/inittab

You need to comment out the last line:

# T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
sudo cp /boot/cmdline.txt /boot/cmdline.txt.back
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

To:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

#

I have a servo connected to an Arduino Uno which is connected to a Raspberry Pi 2 B. I was running the sample servo script. It was able to connect, as soon as I would send a command from the rpl it would error out with a Error: Serialport not open..

However, I installed the arduino IDE- sudo apt-get install arduino- and I was able to run a simple sketch from the Raspberry controlling the servo OK.

I was also able to control the pin 13 LED from the rpl with no issues.

The Raspberry Pi was powering the Arduino so I ended up powering it with an external source and that fixed the issue.

johnny-five v 0.8.53 node v0.12.0 node-gyp v1.0.3 serialport v1.6.3

Incidentally I was having issues compiling node-gyp and serialport was not being installed. It took me a bit to fix that and get it running.