npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

brainyant-rpi

v0.1.8

Published

BrainyAnt robot control library for Raspberry Pi

Readme

brainyant-rpi

Node JS library interfacing Raspberry Pi with BrainyAnt platform. Use this to build your own robot and code the funcionality you desire.

System Requirements

Hardware: Raspberry Pi 3 Raspicam Actuators and sensors.

Operating System: Raspian Stretch

Connect device to the internet:

Connect your Raspberry Pi to a monitor, a keyboard and a mouse. You will be able to use the graphical interface to connect to WiFi or Ethernet.

Install dependencies:

Node JS

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

Use Raspicam for broadcasting video

ffmpeg

sudo apt-get install ffmpeg

Enable raspicam

$ sudo raspi-config

Navigate to 'Interface Options'>'Camera' and enable camera. Reboot device.

Setup Your Robot

Open the terminal on the Rapberry Pi and create a new folder:

mkdir myRobot
cd myRobot

Browse to brainyant.com, create an account and add a new robot. Connect to your RPi, open a browser and login to your account in brainyant.com. Go to the newly added robot and press the "Download Auth File" button. This will save auth.json that contains your robot credentials. Save it to the forlder you just created: myRobot.

Follow the visual instructions:

Image missing

Install brainyant-rpi package. This will take some time.

$ npm install brainyant-rpi

Build your code

You are ready to start adding functionality to your robot. You can subscribe to the commands taken from the web app which the users are sending and also add output data that will be visible on the user interface. Create a new js file, import brainyant-rpi and start adding functions like in the example.

nano myRobot.js
var brain = require("brainyant-rpi");
brain = new brain.Brain();
// Handle user command
// This function will get trigered each time
// the use in control touches a control key or button
brain.userCommand.subscribe(function(command){
  // command is a JSON Object with the structure:
  // command {
  //   fwd:   <forward-command>; // 0-100
  //   back:  <back-command>;    // 0-100
  //   left:  <left-command>;    // 0-100
  //   right: <right-command>;   // 0-100
  // }
  // Your code goes here
  // ...
}) 
// Register a sensor
brain.registerSensor('Distance', function() {
  //return data from your sensor
  var dummyValue=1;
  return dummyValue;
})

Save the file using Ctrl+x

Run

Start your node application. Use sudo if you are accessing the input/output pins. Don't forget to connect your raspicam so the users of your robot will be able to see what they are doing;

sudo node myRobot.js