GithubHelp home page GithubHelp logo

hoverbot's Introduction

Hoverbot

Hoverbot is an extensible robot platform built from repurposed consumer products and modern software tools. It is intended for use by robot enthusiasts, students, professionals, hackers, makers, and the compulsively curious.

Setup

Hardware

Be sure to collect and connect the following hardware components before you get started. Assembly instructions can be found on the Hoverbot Hackaday blog.

  • Raspberry Pi 3
  • Hoverboard (motors and motor controller)
  • Automotive sonar sensors
  • DotStar LED strip
  • USB webcam
  • Portable speaker

Software

The Hoverbot software is a Node.js application, so you'll need to install Node.js on the Raspberry Pi to run it. You'll also need to enable the SPI, serial, and audio interfaces. Follow the Raspberry Pi configuration instructions for step-by-step help.

Clone the repo.

pi@raspberrypi:~ $ git clone https://github.com/isabellesimova/Hoverbot.git

Install Node.js dependencies and build the webcamera streaming server.

pi@raspberrypi:~ $ cd Hoverbot
pi@raspberrypi:~/Hoverbot $ npm install
pi@raspberrypi:~/Hoverbot $ npm run make

Launch!

pi@raspberrypi:~/Hoverbot $ npm start

If everything is running smoothly you should see the console output below and have access to the web interface from a browser (connected on the same network) at http://raspi-host-ip:8000.

pi@raspberrypi:~/Hoverbot $ npm start

> [email protected] start /home/pi/Hoverbot
> node src/main.js

info: [Server] Writing logs to /home/pi/Hoverbot/hoverbot.log
info: [Server] Listening on 8000

Launch on startup

To launch the Hoverbot software on startup, add the following lines to your /etc/rc.local. You can optionally include the debug flag to see more detail in the logs.

cd /home/pi/../path/to/../Hoverbot
sudo npm start debug &
exit 0

NOTE: There are a number of other ways to achieve this, so feel free to choose another method.

Configure Raspberry Pi

Install Node.js

Run the following commands on your Raspberry Pi to install Node.js via package manager. For additional instructions visit the Node.js installation page.

pi@raspberrypi:~ $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
pi@raspberrypi:~ $ sudo apt-get install -y nodejs

Enable SPI and Serial Interfaces

Open a terminal on your Raspberry Pi and follow these steps:

  • sudo raspi-config
  • select Interfacting Options
  • select SPI
  • select yes to enable the spi interface
  • select Interfacting Options
  • select Serial
  • select no to disable the login shell over serial
  • select yes to enable the serial port hardware
  • select finish (and reboot if asked)

If needed, additional SPI setup instuctions can be found here.

Adjust webcamera mic volume

First make sure your webcamera is plugged into your Pi, then open a terminal on the Pi.

  • alsamixer
  • F6
  • select USB camera
  • F4
  • up arrow key until the mic level is around 80%
  • ESC to exit

This change should persist across reboots.

Enable ssh (optional)

  • sudo raspi-config
  • select Interfacting Options
  • select SSH
  • select yes to enable the SSH server
  • ok

Select a keyboard layout (optional)

  • sudo raspi-config
  • select Localisation Options
  • select Change Keyboard Layout ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.