GithubHelp home page GithubHelp logo

jplin123 / neurobionicspi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from neurobionics/neurobionicspi

0.0 0.0 0.0 521 KB

Builds a custom Raspberry Pi image for robotics

License: GNU General Public License v3.0

Shell 100.00%

neurobionicspi's Introduction

CI Tool to Configure Embedded Hardware for Robotics

U-M Neurobionics RPi4 Build

The purpose of this tool is to build an up-to-date image for a Raspberry Pi that can be used headless/GUI-less to control autonomous / remote robotic systems. The tool reconfigures an official Raspbian distro to include custom packages for robotics and automation, wireless connectivity to a known and configurable WiFi network, and finally, it will create a fallback access point when the known wireless networks are not in range (fixed IP: 10.0.0.200). This enables usage of the same process and hardware when not in known Wifi network range (e.g. demos and conferences). The process installs libraries for communication, drivers for common sensors and ICs, the API for working with Dephy products, and other modifications.

While this image was originally configured for usage at the University of Michigan, it can be modified to connect to any set of known WiFi networks. Hence, login in details for Michigan wireless must be obtained separately, through a document behind U-M login security. If you wish to use this image for locations/networks not at U-M, you can add your WiFi network details set in the workflow settings.

This image has only been tested on the Raspberry Pi v4. It will not work on the Raspberry Pi Zero.

Features

  • Uses CI (Github Actions) to build a stable Raspbian image that is always up to date.
  • Has a feature-rich web interface, which can be used to modify the networking setup and to run custom scripts.
  • Provides a much easier way to build customized project-specific Raspbian images via Github Actions UI.


Usage

  • Fork this repository to create your own private repository that shares the same default source code, which can then be customized.
  • Navigate to the Actions tab in your forked repository.
  • Select the Build workflow and click on Run Workflow
  • Use the Github Actions pop-Up UI to modify the hostname, username, password, AP SSID, AP passphrase and e-mail address(es).
  • After a successful run, your custom Raspbian image will be attached as an artifact. You can download it by selecting the current workflow run and clicking on the attached artifact.
  • Use Raspberry Pi Imager or other softwares like Etcher, Rufus, etc to flash the downloaded image to a SD card.
  • You can access the web interface by entering the IP address of your RPi in a browser. Login with your username and password from the workflow settings.
  • The static IP for the access point is 10.0.0.200. If it boots into access point mode, you must use this IP address to connect wirelessly. If it's in access point mode, you will see the SSID broadcast (SSID entered in the workflow settings)
  • The location of the wpa supplicant file: ~/etc/wpa_supplicant/wpa_supplicant-wlan0.conf
  • The location of the startup emailer script: ~/etc/startup_mailer.py
  • The location of the Neurobionics ASCII banner: ~/home/pi/.bash_profile
  • This image is meant for the Raspberry Pi 4. It may work on other versions, but will not work on the Raspberry Pi Zero.

Environment Variables

Variable Default Value
HOSTNAME neurobionicspi
USER pi
PASSWORD neurobionics
AP_SSID NeurobionicsRPi
AP_PASSPHRASE neurobionics
WIFI_CC US
WIFI_SSID Network
WIFI_PASSPHRASE password
EMAIL [email protected]

Issues

Kindly report any issues here.

References

neurobionicspi's People

Contributors

imsenthur avatar erouse avatar

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.