Upgrading KittyCam with Raspberry Pi 3
I was excited when Raspberry Pi 3 came out earlier this year. According to raspberrypi.org, this 3rd generation Pi has faster CPU, WiFi, and Bluetooth 41. and BLE, additional to the previous model.
So I decided to upgrade KittyCam, a cat camera app built with my Raspberry Pi + Node.js project, which and I blogged about a while ago.
At that time, I was using the older Node v0.12.x (pre-IO.js, which I almost forgot about it happened after merged back with Node.js), so I decided to upgrade everything.
Install the Latest Raspbian
Since I got a brand-new Pi3, I install everything fresh, so instead of swapping the SD card from the old Pi, I installed the latest Raspbian build.
In case you are also a MacBook Air user and don’t know, your MacBook has a SD card slot on the right hand side. But you will need an adapter.
Installing Node 4
So you can just open up a browser in Raspbian, and download from nodejs.org Download page:
Scroll the page down to Additional Platforms and choose ARMv7 (Note: I think ARMv8 works too, but I installed v7).
or download and install on terminal as I did:
$ wget https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-armv7l.tar.xz $ tar -xvf node-v4.4.5-linux-armv7l.tar.xz $ cd node-v4.4.5-linux-armv7l $ sudo cp -R * /usr/local/
Check if Node is successfully installed by checking its version:
$ node -v
If you wish, upgrade npm to v3 too.
$ npm install -g npm3
Installing Updated Dependencies for KittyCam
KittyCam directory and copy everything except
package.jsonfrom KittyCam repo. But also keep the
node_modules/kittydar because installing kittydar using npm, and use it as is will fail, when you install Node-Canvas. (or tweak kittydar’s
Get Cairo on your Raspbian bore installing Node-Canvas:
$ sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
Once set up with Cairo, in KittyCam dir,
$ npm install canvas
$ npm install johnny-five --save
$ npm install raspi-io --save
Installing All other Node Modules
and all other node modules used for KittyCam. In the app, I am also using Cloudinary and PubNub. You can install both with npm too.
I have not updated any hardware besides Pi.
When you hook up with a camera, make sure to enable the camera module from the Pi Software Config Tool.
$ sudo raspi-config
Now, everything should work with Raspberry Pi 3!
I had chance to test it out while I was taking care of my friends’ cats!
I have given the talk about KittyCam in a few conferences and meetups so far, such as NodePDX in Portland and ForwardJS in San Francisco. My slide deck is available on SlideShare!
- ← KittyCam - Building a Raspberry Pi Camera with Cat Face Detection in Node.js
- Arduino with Johnny-Five 101 - Video Tutorial →