Git Product home page Git Product logo

raspbian_for_robots's Introduction

Raspbian Pi For Robots

Dex Logo

This is a customized version of the Raspbian Image for the Raspberry Pi. It has been updated to help users get started quickly with Dexter Industries Robots.

About

This repository contains the latest and freshest updates to our software!

Download

If all this looks too complicated, don't fear! You can download a pre-configured image with the latest software here.

We have detailed step by step instructions on how to install this image onto an SD Card here.

Quick Install - instead of burning the image

In order to create a Raspbian For Robots from a pure Jessie image, open up a terminal in a GUI instantiated environment (the Desktop) and type the following command:

sudo curl -L dexterindustries.com/update_r4r | bash

The same command can be used for updating all the repositories that are found under the "umbrella" of Raspbian For Robots:

Features

  • Default hostname is dex. Default user is pi. The default password is robots1234. VNC password is robots1234.
  • Login on dex.local through your browser.
  • Change the hostname directly on the sdcard. Open "hostname" in a file editor and change the name to the hostname you desire. Boot once, and restart to initiate the new hostname.
  • noVNC available in the browser. You can access from http://dex.local
  • Terminal available in the browser. You can access from http://dex.local
  • Scratch Starter Program - Start Scratch for the different robots in the Dexter Industries Scratch Program.
  • Test and Troubleshoot Program - We've added a Test and Troubleshoot program.
  • Update Program - We have a dedicated program for updating the software, the operating system, and the firmware of your robot.
  • Samba - Samba is installed. The login credentials are "pi" and "robots1234".

Host Name

You can change the hostname of your Raspberry Pi from "dex" to whatever you like. This is particularly helpful if you have more than one Raspberry Pi on the same wifi network.

Place the microSD card in the SD card adapter, and place in your PC or Mac. Open the file "hostname" in a text editor. It should say "dex" by default. Change that name to whatever name you like, with no spaces, tabs or special characters. And be sure to use lower case letters. Save the file. Replace the SD card in the Raspberry Pi and power it up. Wait 5 minutes. Remove the power to turn off the Raspberry Pi. Power up the Raspberry Pi again. The Raspberry Pi should have the new hostname.

Ports

The following ports are used or have the potential for being used:

22: SSH/SFTP

80: http://dex.local

5901: noVNC service

8001: noVNC at http://dex.local:8001

4200: shellInABox at http://dex.local:4200

21852: IR Receiver

98: Browser Streaming Robot project

This Repository

These scripts manage to update the Raspbian for Robots image. These changes are all executed using the Update button on the LXE Desktop of the Raspberry Pi.

Cinch

We've developed a new way to connect using Cinch! This lets you use wifi to tether to your robot.

Testing

On each publication, we run these tests on a burned image to test it.

License

The code here is Licensed under The MIT License (MIT) . Please review the LICENSE.md file or here for more information Copyright (C) 2016 Dexter Industries

raspbian_for_robots's People

Contributors

brookedot avatar brunnerlivio avatar cleoqc avatar dlech avatar johnisanerd avatar karan259 avatar robertlucian avatar shoban94 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

raspbian_for_robots's Issues

Cached Web Pages Issues

Cached web pages may be saved in browser, causing the IP numbers for VNC and ssh to be wrong. These are dynamically assigned IP addresses through PHP. I suspect that the browser may be caching the web page, and the IP addresses are then stale: the user gets a blank web browser or failure to connect screen. This can often be remedied by changing the browser (IE going from Mozilla over to Chrome or IE).

Improve Update Software Reboot

On update, we force the user to reboot after "Update Dexter Software". This isn't totally necessary. We need to work in an option to not do this, or avoid the reboot.

[Solved] Matplotlib.pyplt.imshow(image) does not create window / show image

On the October 2020 R4R beta, Matplotlib.pyplt.imshow(image) does not create a window and show an image:

#!/usr/bin/env python3

# file: mpl_test.py

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from time import sleep

# plt.ion()

print("matplotlib.get_backend():", plt.get_backend())
img = mpimg.imread('capture0.jpg')
print("image.shape:", img.shape)

imgplot = plt.imshow(img)
sleep(5)

It doesn’t complain of errors.

It claims to be using TkAgg as the background.

Matplotlib.pyplot.imshow(image)

does not display a window.

Pyimagesearch claims this is because of missing dependancies.

Is update duplicating /boot/config.txt entries?

I have updated my Raspbian For Robots system several times over the last year, and today noticed that there are duplicated entries for i2c and SPI in the /boot/config.txt file.

...
dtparam=audio=on
start_x=1
gpu_mem=128
dtparam=i2c1=on
dtparam=i2c1=on
dtparam=i2c1=on
dtparam=i2c1=on
dtparam=i2c1=on
dtparam=i2c1=on
dtparam=i2c1=on
dtparam=spi=on
dtparam=i2c_arm=on
dtparam=i2c1=on
dtparam=i2c_arm=on

Might the updates be the cause?

GoPiGo binary causing issues with gpg

Folks,

Am not sure if you've had similar issues but while installing certain applications on the RaspPI which is also used for my GoPiGo i started seeing GPG (Gnu Privacy) errors. I also realized that for some reason the post installation scripts running on the Raspi would barf and fail with a GoPiGo message...

GoPiGo Found
Firmware version
Battery Voltage..

I think this is because we've named a binary as /usr/bin/gpg to provide the above. The issue is Debian also has a GPG binary with a similar name and all programs that need to use GPG seem to fail.

It's a minor issue. I've fixed it by renaming the binary to /usr/bin/GoPiGo but don't know what's the impact of doing that. The fix allows me to continue working with my other apps on the RasPi.

Thoughts?

Cheers,
Trevor

Improved Node-RED support for GrovePi

It is great that Node-RED ships with R4R but it doesn't work with the GrovePi out of the box. It would be great if R4R could come with a newer version of Node-RED and a working GrovePi library installed.

Node-RED

GrovePi Node-RED packages

I have not tried all these yet but I hope at least one works

Update breaks Cinch

Update for some reason breaks cinch. When you run a software update on a cinch Pi, it no longer puts up the wireless AP.

If you run
sudo sh /home/pi/di_update/Raspbian_For_Robots/upd_script/wifi/cinch_setup.sh

it's fixed.

Need to either figure out what's broken, or run this script again if it's a Cinch version.

Update Log

We need to generate an update log every time that an update is performed. This will help in troubleshooting.

Voltage Check to validate TTL

Folks,

Been speaking to Karan/CleoQC at the forums and realized that we are currently missing the means to generate alerts when the batteries are running low.

As Karan was mentioning when powered from batteries the gopigo binary (to be renamed such from it's current name gpg..:) ) reads 12v. This obviously comes down over a period of time as the batteries are drained. Below 7v one should consider pulling them out and replacing them.

What's the best way to alert the user of batteries that have lost all juice with a crash looming ahead. Possibly a script/daemon running in the background? A Python or shell script running in the background as a daemon checking the voltage every min and issuing an alert on the screen while generating some sort of an audible warning?

I can give the script a go. I am not very good at writing code (python or shell) but can definitely give it a go. Let me know if there's something you would like me to help with.

Cheers,
Trevor

Remove change in rc.sh about Cinch update

@DexterInd I talked to a teacher tonight, and she runs Cinch. Her class robots all have the same hostname, and just their SSID was changed for Cinch to be usable.
Having those lines in:
https://github.com/DexterInd/Raspbian_For_Robots/blob/master/upd_script/rc.sh#L21-L26
would mean all her robots would revert to 'dex' with no warning.

Suggestion: postpone those changes until we can pass the word around that hostnames must also be unique, not just SSIDs.

Raspbian Stretch update?

The current Raspbian release 2017-11-29/Stretch has performance improvements and a couple USB stability fixes that we'd really like to use. Are there plans to update Raspbian for Robots to this version?

Backup Button

Need a way to backup the Pi and user content to a USB drive.

dist-upgrade?

Should we add this to the update?

sudo apt-get dist-upgrade

sudo rpi-update

We need the kernel update to make it work with the Pi3.

HTTP/HTTPS Connection

Need a way to force http, not https. The webpage fails if it goes to HTTPS. Seeing that if you login to https://dex.local, a blank page appears. Mozilla seems to sometimes want to force https. Is there a way to force http protocol for the dex.local page?

Note we can't disable https because Terminal program uses it, needs it.

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.