Skip to main content

it's been a while (but not without updates!)

I did not have much free time to work on this over the last couple of months,

but every once in a while when I did remember (hard not to, I keep the robot hand right in front of the computer), I tried to do something, mostly in the hardware procurement side of things.

some of the things I ended up acquiring:

- Raspberry Pi Zero (also the Raspberry Pi Zero W, which has wifi+bluetooth internally, but I just received it today thanks to Mr. Arjun Rao), for more versatile control (also to make possible to connect to the Leap Motion)
- AA battery power holders, to use AA batteries to power the servos
- A PCA9685 chip, for multiple servo control
- various electronic circuitry (probably won't be necessary for this project anymore)

in addition, I was made aware of a nice project called Cylon.js and its sister project Gobot, which allows users to program microcontrollers using JavaScript and Golang, respectively.

I really wanted to try Gobot and take a dive into the Golang world, but it currently does not have support for the PCA9685, which Cylon.js seems to provide. 

with that said, and with a few lines of code, here is the result:


the control of the servos are done through the PCA9685 connected to a Raspberry Pi Zero (no more Arduino), and the servos are powered through the 4-AA batteries. 

the next step is to read values from the Leap Motion, which Cylon.js claims to provide. 

when that works, we are starting to reach a good place. 


Comments

Popular posts from this blog

dabbling with cylon

I'm playing around with Cylon JS whenever I have the time. in order to use the leap motion for control, the hand control will need to communicate with the pc that is connected to the leap motion device (leap motion does not provide an arm/linux driver). it seems that Cylon devices can communicate with each other through socket.io or http, and I am currently playing around with that.

nodejs migration

Having been playing around with NodeJS recently,  I (naturally?) started re-writing some of the OpenSesame code using Node last night. I think I've only worked on it around 2 hours so far, but I've already set up a basic client interface (a socket.io chat tutorial rip) with a server that the Raspberry Pi can connect to and receive requests to open the door.  This is probably due to socket.io's socket management (socket.io is the WebSocket module for Node); for my first implementation, I had to manually write up a structure that managed sockets, but that is pretty much handled by socket.io. Also, the servo control logic is pretty much recycled (and the Raspberry Pi code is still Python), and I do remember spending some good time figuring that out.  Cool neverthelss. I'll probably keep both versions around.

websockets and mobile networks and ssl

Gahhh. Just going to ramble on this one: Websockets is unstable going through cellular networks Searched Google and solution seems to be SSL connections Tried to implement, and it works to some extent,  but realized that I'll have to have both Apache, which was running my web front end, and Tornado both listen to 443 which cannot happen Realize finally that Tornado is a SERVER just like Apache Try to implement web client through Tornado It works but Websocket server and the web client still different instances so still can't have both listen, or that's what I'm thinking but I don't have time to think about it at present. Gotta sleep.