Giter VIP home page Giter VIP logo

octopi's Introduction

OctoPi

https://raw.githubusercontent.com/guysoft/OctoPi/devel/media/OctoPi.png

A Raspberry Pi distribution for 3d printers. It includes the OctoPrint host software for 3d printers out of the box and mjpg-streamer with RaspiCam support for live viewing of prints and timelapse video creation.

This repository contains the source script to generate the distribution out of an existing Raspbian distro image.

Where to get it?

Download the latest stable build via this button:

https://i.imgur.com/NvUOGfS.png

Official mirror is here

Second mirror is here

Nightly builds are available here

64bit Nightly builds are available here

You can also access the nightly builds raspberrypi imager channel by running:

rpi-imager --repo https://unofficialpi.org/rpi-imager/rpi-imager-octopi.json

or for second mirror:

rpi-imager --repo https://octopi.gnethomelinux.com/rpi-imager/rpi-imager-octopi.json

How to use it?

  1. Unzip the image and install it to an sd card like any other Raspberry Pi image

  2. Configure your WiFi by editing octopi-wpa-supplicant.txt on the root of the flashed card when using it like a thumb drive

  3. Boot the Pi from the card

  4. Log into your Pi via SSH (it is located at octopi.local if your computer supports bonjour or the IP address assigned by your router), default username is "pi", default password is "raspberry". Run sudo raspi-config. Once that is open:

    1. Change the password via "Change User Password"
    2. Optionally: Change the configured timezone via "Localization Options" > "Timezone".
    3. Optionally: Change the hostname via "Network Options" > "Hostname". Your OctoPi instance will then no longer be reachable under octopi.local but rather the hostname you chose postfixed with .local, so keep that in mind.

    You can navigate in the menus using the arrow keys and Enter. To switch to selecting the buttons at the bottom use Tab.

    You do not need to expand the filesystem, current versions of OctoPi do this automatically.

OctoPrint is located at http://octopi.local and also at https://octopi.local. Since the SSL certificate is self signed (and generated upon first boot), you will get a certificate warning at the latter location, please ignore it.

To install plugins from the commandline instead of OctoPrint's built-in plugin manager, pip may be found at /home/pi/oprint/bin/pip. Thus, an example install cmd may be: /home/pi/oprint/bin/pip install <plugin-uri>

If a USB webcam or the Raspberry Pi camera is detected, MJPG-streamer will be started automatically as webcam server. OctoPrint on OctoPi ships with correctly configured stream and snapshot URLs pointing at it. If necessary, you can reach it under http://octopi.local/webcam/?action=stream and SSL respectively, or directly on its configured port 8080: http://octopi.local:8080/?action=stream.

Features

Developing

Requirements

  1. qemu-arm-static
  2. CustomPiOS
  3. Downloaded Raspbian image.
  4. root privileges for chroot
  5. Bash
  6. git
  7. sudo (the script itself calls it, running as root without sudo won't work)
  8. jq (part of CustomPiOS dependencies)

Build OctoPi From within OctoPi / Raspbian / Debian / Ubuntu

OctoPi can be built from Debian, Ubuntu, Raspbian, or even OctoPi. Build requires about 2.5 GB of free space available. You can build it by issuing the following commands:

sudo apt-get install gawk util-linux qemu-user-static git p7zip-full python3 jq

git clone https://github.com/guysoft/CustomPiOS.git
git clone https://github.com/guysoft/OctoPi.git
cd OctoPi/src/image
wget -c --trust-server-names 'https://downloads.raspberrypi.org/raspios_lite_armhf_latest'
cd ..
../../CustomPiOS/src/update-custompios-paths
sudo modprobe loop
sudo bash -x ./build_dist

Building OctoPi Variants

OctoPi supports building variants, which are builds with changes from the main release build. An example and other variants are available in CustomPiOS, folder src/variants/example.

docker exec -it mydistro_builder:

sudo docker exec -it mydistro_builder build [Variant]

Or to build a variant inside a container:

sudo bash -x ./build_dist [Variant]

Building Using Docker

See Building with docker entry in wiki

Building Using Vagrant

There is a vagrant machine configuration to let build OctoPi in case your build environment behaves differently. Unless you do extra configuration, vagrant must run as root to have nfs folder sync working.

Make sure you have a version of vagrant later than 1.9!

If you are using older versions of Ubuntu/Debian and not using apt-get from the download page.

To use it:

sudo apt-get install vagrant nfs-kernel-server virtualbox
sudo vagrant plugin install vagrant-nfs_guest
sudo modprobe nfs
cd ../OctoPi
git clone https://github.com/guysoft/CustomPiOS.git
cd OctoPi/src
../../CustomPiOS/src/update-custompios-paths
cd OctoPi/src/vagrant
sudo vagrant up
run_vagrant_build.sh

After provisioning the machine, its also possible to run a nightly build which updates from devel using:

cd OctoPi/src/vagrant
run_vagrant_build.sh

To build a variant on the machine simply run:

cd src/vagrant
run_vagrant_build.sh [Variant]

Usage

  1. If needed, override existing config settings by creating a new file src/config.local. You can override all settings found in src/modules/octopi/config. If you need to override the path to the Raspbian image to use for building OctoPi, override the path to be used in ZIP_IMG. By default the most recent file matching *-raspbian.zip found in src/image will be used.
  2. Run src/build_dist as root.
  3. The final image will be created at the src/workspace

Code contribution would be appreciated!

octopi's People

Contributors

1randy avatar ajrepo avatar arthurlutz avatar as-kholin avatar bionik avatar canihavesomecoffee avatar chudsaviet avatar coliss86 avatar consp avatar cp2004 avatar dadosch avatar damiansepczuk avatar foosel avatar guysoft avatar hawkeyexp avatar hroncok avatar make-ing avatar milkey-mouse avatar nosyjoe avatar pdfowler avatar powerwiesel avatar rastapasta avatar sad270 avatar shapedo avatar tall-paul avatar tedder avatar theassassin avatar theraf974 avatar willmac16 avatar xryu 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  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  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  avatar

Watchers

 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  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  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  avatar

octopi's Issues

Overloaded CPU can cause failed prints

The raspi has very limited CPU resources. I've had multiple print jobs fail from what appears to be my pi running out of CPU cycles and failing to keep up with serial communications to my printer. I have to reboot the pi and the printer to recover when this happens.

My proposed solution is this - The octoprint service needs to have a higher priority by default due to the near-realtime nature of serial communications with a 3D printer. The background tasks and UI processes are secondary to stability of the print, so they receive a lower priority.

These are the processes that given higher nice values (+10, lower priority). Ranking these may be better than putting them all at the same level, though?
haproxy
mjpg_streamer
octopipanel
avconvert (not always running, used for transcoding time lapse videos... +19 might be better for this one)

This process I've given a lower nice value (-10, higher priority).
octoprint

I haven't performed exhaustive testing yet to verify that this helps, but anecdotally I can say that it's working pretty well right now. I was able to run an apt-get to install software that exhausted CPU cycles for a few seconds without a print failing.

Installing OctoPrint Plugins fail

I was trying to install some OctoPrint plugins and the install fails because it cannot find required items (like OctoPrint) installed. I'm guessing it might have something to do with the way OctoPi is created (Python virtual work areas - or something like that) vs a straight OctoPrint install. Is there a special trick that needs to be done to get the plugins to install?

Running Version: 1.2.0-dev-444-g922ee39 (devel branch) OctoPrint.
OctoPi installed from 2014-09-09-wheezy-octopi-0.10.0.zip

Install command problem

I was having trouble downloading the image so I thought I would have a go at making my own image. Using Ubuntu 10.04LTS I tried to install the qemu-user-static but it couldn't find it. Using the synaptic package installer I did find qemu-arm-static but that was all.

Have I got something wrong? Or do I need a more up to date ubuntu install?

~/boot/octopi.txt is ignored by webcamDaemon

Tried to edit ~/boot/octopi.txt as follows:

### Configure which camera to use
#
# Available options are:
# - auto: tries first usb webcam, if that's not available tries raspi cam
# - usb: only tries usb webcam
# - raspi: only tries raspi cam
#
# Defaults to auto
#
camera="raspi"

### Additional options to supply to MJPG Streamer for the USB camera
#
# See https://github.com/foosel/OctoPrint/wiki/MJPG-Streamer-configuration
# for available options
#
# Defaults to a resolution of 640x480 px and a framerate of 10 fps
#
#camera_usb_options="-r 640x480 -f 10"

### additional options to supply to MJPG Streamer for the RasPi Cam
#
# See https://github.com/foosel/OctoPrint/wiki/MJPG-Streamer-configuration
# for available options
#
# Defaults to 10fps
#
camera_raspi_options="-x 1920 -y 1080 -fps 30"

Restarted octoprint with

sudo service octoprint restart

Also tried with a reboot

sudo reboot

Created timelapse il always in 640x480.

To get it work, I had to edit webcamDaemon directly

#!/bin/bash

MJPGSTREAMER_HOME=/home/pi/mjpg-streamer
MJPGSTREAMER_INPUT_USB="input_uvc.so"
MJPGSTREAMER_INPUT_RASPICAM="input_raspicam.so"

# init configuration
camera="raspi"
camera_usb_options="-r 640x480 -f 10"
camera_raspi_options="-x 1920 -y 1080 -fps 30"

if [ -e "/boot/octopi.txt" ]; then
    source "/boot/octopi.txt"
fi

# runs MJPG Streamer, using the provided input plugin + configuration
function runMjpgStreamer {
    input=$1
    pushd $MJPGSTREAMER_HOME
    echo Running ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
    LD_LIBRARY_PATH=. ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
    popd
}
........

It seems octopi.txt does not override $input variable

add wiringpi...?!

hi Guy,

Is it an option to add wiring pi to the image...?! [http://wiringpi.com/]
Really nice library to access the gpio pins om the raspberry pi, i already did some test with this and the octoprint API.

cheers \ joris

param -removecmd work ?

i use octopi -removecmd Rs for test

i remove a file in a terminal, open another terminal with this filter:

   ps -ef |grep root | grep "pacman "

and always i view only pacman -R (not Rs)????
root 3759 3757 0 16:23 pts/4 00:00:00 pacman -R quazip

Upgrade existing OctoPi installation

Hi is it possible to upgrade the existing octopi installation?
I know I could just download a new nightly but I have to compile a new Kernel to give support for touchscreen EGalax and it takes a day to get it done :( .

Haproxy config

Hi,
I had to reinstall my Octopi instalation, but because I had to update my system it seems that haproxy gone wild.

My haproxy version

pi@octopi ~ $ haproxy -vv
HA-Proxy version 1.5.8 2014/10/31
Copyright 2000-2014 Willy Tarreau [email protected]

Build options :
TARGET = linux2628
CPU = generic
CC = gcc
CFLAGS = -O2 -g -fno-strict-aliasing
OPTIONS = USE_LINUX_SPLICE=1 USE_LINUX_TPROXY=1 USE_OPENSSL=1 USE_PCRE=1

Default settings :
maxconn = 2000, bufsize = 16384, maxrewrite = 8192, maxpollevents = 200

Encrypted password support via crypt(3): yes
Built without zlib support (USE_ZLIB not set)
Compression algorithms supported : identity
Built with OpenSSL version : OpenSSL 1.0.1e 11 Feb 2013
Running on OpenSSL version : OpenSSL 1.0.1e 11 Feb 2013
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes
Built with PCRE version : 8.31 2012-07-06
PCRE library supports JIT : no (USE_PCRE_JIT not set)
Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT IP_FREEBIND

Available polling systems :
epoll : pref=300, test result OK
poll : pref=200, test result OK
select : pref=150, test result OK
Total: 3 (3 usable), will use epoll.

when I try to run:

/usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg
[ALERT] 039/122814 (2568) : parsing [/etc/haproxy/haproxy.cfg:31] : error detected while parsing a 'reqadd' condition : no such ACL : 'is-ssl'.
[ALERT] 039/122814 (2568) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[WARNING] 039/122814 (2568) : Setting tune.ssl.default-dh-param to 1024 by default, if your workload permits it you should set it to at least 2048. Please set a value >= 1024 to make this warning disappear.
[ALERT] 039/122814 (2568) : Fatal errors found in configuration.

My config file

GNU nano 2.2.6 File: /etc/haproxy/haproxy.cfg

global
maxconn 4096
user haproxy
group haproxy
daemon
log 127.0.0.1 local0 debug

defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
option http-server-close
option forwardfor
maxconn 2000
timeout connect 5s
timeout client 15min
timeout server 15min

frontend public
bind *:80
bind 0.0.0.0:443 ssl crt /etc/ssl/snakeoil.pem
option forwardfor except 127.0.0.1
use_backend webcam if { path_beg /webcam/ }
default_backend octoprint

backend octoprint
reqrep ^([^\ :])\ /(.) \1\ /\2
reqadd X-Scheme:\ https if is-ssl
server octoprint1 127.0.0.1:5000

backend webcam
reqrep ^([^\ :])\ /webcam/(.) \1\ /\2
server webcam1 127.0.0.1:8080

Allow timelapse with printer disconnected

For one of my 3D printers I control the printer directly using an inbuilt sd card reader but then I cannot use the timelapse feature on octopi with the printer disconnected.
Would it be possible to add a feature so you can manually start and stop a timelapse without having a printer connected.
Thanks

Nightly build needs md5 sums

I tried downloading the latest nightly build, Chrome download conked out at 249MB, (Invalid Zip) so I used wget -c, after a few goes it completed at 520MB, but still Invalid Zip.

I then took a look at the zipfile sizes, and found 49MB, 508MB, 1.0GB, 1.1GB.
I'm assuming 1.1GB is the correct size, and the others are failed builds?
I'll hopefully find out in another 3-4 hours when my download completes, but it would be helpful if either failed builds were deleted, or a note was made somewhere (a read-me on the download page?) as to the approximate size expected for a good Zip file.

Provide means to control camera's enablement via a lock file

Hi there,

I have a proposed means to provide a way to both improve the efficiency of the camera script, but also provide a lock file which can disable/enable the camera that I'd like to run by you

if you look at scripts/webcamDaemon, in your while loop you always fire the start functions if the camera is present.
if we additionally validate that the process isn't already running before running the start(Usb|Raspi) functions we could save a bunch of IO and executions. Granted, it's only once every 120s, but still.

additionally, if you wrap both of the enablement if stanza's in another if statement which checks for the existence of the file /home/pi/.octoprint/cam_enabled,
you could decide at that point if you should start, or stop the camera process. This would give you a way to control this process fairly easily with the api/gui by altering the existence, or lack thereof of /home/pi/.octopi/cam_enabled

Thoughts? I'm happy to do the script work and sub a PR if you like the idea.

BananaPi support

I have been going through the different configuration files and have noticed references to 'snakeoil' in a few places. One in particular is with the haproxy.cfg file. On a system where OctoPrint has been built from scratch, the bind that references generates an error. Is there any information available about that package and how it needs to be installed?

Job files can't be loaded in Chrome when using HTTPS due to insecure content

I'm not sure whether this is an issue in Octoprint, Octopi or a combination since Octoprint doesn't do HTTPS on its own. It looks like some requests are still going over HTTP even though I'm accessing the server via HTTPS.

Chrome version is 38.0.2125.111 (64-bit) under Linux. In Chrome's developer console, I get the following when attempting to load a gcode file to print:

[blocked] The page at 'https://hostname.domain.com/' was loaded over HTTPS, but ran insecure content from 'http://hostname.domain.com/api/files/local/Z-Axis_LM8UU_Bearing_Holder.A6.gcode': this content should also be loaded over HTTPS.
x.support.cors.e.crossDomain.send jquery.min.js:6
x.extend.ajax jquery.min.js:6
GcodeFilesViewModel.self.loadFile files.js:142
click VM311:3(anonymous function) knockout.js:62
x.event.dispatch jquery.min.js:5y.handle

If I click on the shield at the top, to "load unsafe script", I receive the following message instead:

XMLHttpRequest cannot load http://hostname.domain.com/api/files/local/Z-Axis_LM8UU_Bearing_Holder.A6.gcode. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://hostname.domain.com' is therefore not allowed access.

This seems to have started happening sometime in October, but I'm not sure exactly when. I can replicate it using a fresh install from 2014-09-09-wheezy-octopi-0.10.0.zip (* master 644329c Preparing release of 1.1.1), as well as an install from 2014-01-07-wheezy-octopi-0.8.0.zip with Octoprint which had been periodically upgraded via the recommended method ultimately to whatever was available in Github as of the evening of 2014-11-05, which was where I originally discovered it.

Android not resolving Zeroconf

Hi, I have started to get OctoPrint working. Accessing it via Windows (once Bonjour was installed) works a treat. I get to see the video from the webcam, however on Android (Chorme and native) I have to enter the IP address as it won't find the address via Bonjour, so when I go to control tab I don't get an image.

I did put this onto the OctoPrint bugtracker but it was suggested here would be a better place. A suggestion from there was to use a relative address rather than using the octopi.local. I found the place in the settings for the webcam but have been unable to change the url and still have it working. Is there anything else I can try?

I used the latest SD Card image to install.

avahi support

can you add avahi support to the image (this only takes a config file)

/etc/avahi/services/octoprint.service:

Octoprint on %h _http._tcp 80

IE Browser Compatibility

There seems to be a compatibility issue with Internet Explorer. The webcam image will not show up/broken link when the page loads and I cannot figure out how correct it. I've tried multiple browsers without an issue, but IE is giving me problems.. Does anyone know what the problem is and how to fix it?

Need updated libftdi

The included version of libftdi works with the FT232 used by most printers, but some are now using the newer (and cheaper) FT231x chips. These chips require a more recent FTDI driver. To allow these printers to work out-of-the-box, the distro should include the updated driver. This can be installed with the following command:

sudo apt-get install libftdi-dev

Running ``apt-get upgrade` (update doesn't do the job) will include this, but it seems to make the distro too big to fit a 2gb card, so it may be better to only update the necessary driver.

USB webcam not working in nightly build

Hi,
I thought I'd report something I noticed recently. I have a RPi B+ with an Edimax wifi adapter and a Microsoft Lifecam HD-5000, controlling a Printrbot Simple Metal, all connected to a powered USB hub with a 3.5A power supply. I downloaded and installed the most recent release version Octopi image (0.10.0, from 09/09), which worked well for a few days. My SD card got corrupted at one point though, and I reinstalled using the nightly build from 1/31.

The 1/31 nightly build worked and I could print, but the USB webcam wouldn't work with mjpg-streamer. I'm not sure what the issue was exactly...lsusb and dmesg showed the camera was recognized and connected without errors that I could see, but mjpg-streamer wasn't able to fetch images, so I'd get an X in place of the image in both its web pages as well as Octoprint's.

This evening I was in a hurry to get the webcam working so I could run a print tomorrow during work hours, so I reinstalled the release version of 0.10.0, and now the camera works again. It seems something changed in the nightly builds that broke the webcam. Maybe it's a config issue or something, but I think I set it up the same way both times.

In a few days I'll be in a position to reinstall the nightly build again if there are steps I can do to get more information, but I thought I'd post this in the interim.
-Mike

Add event: Temperature

When a temperature has been set, trigger an event (for notification, for API push, etc).

I believe it should come in handy for those time when the heated bed is taking its time to reach temperature.

Note: It would be best to have conditionals so that it only notifies if it has been set manually and not every time a gcode file tells the printer to got to a certain temperature.
On the web UI, you could have a notify me checkbox next to the set temperature button if this ever reaches interface level.

Problem with Octopi on Raspberry Pi B+ and Pi Camera

Just purchased and waiting for Mini Kossel to come in. I purchased a Raspberry Pi B+ to drive it and downloaded Octopi image (6-20-14) from Github.

I installed a Pi camera and tried to run Raspistill to test camera but get error messages.

  • mmal: mmal_vc_component_enable: failed to enable component:ENOSPC
  • mmal: camera component couldn't be enabled
  • mmal: main: Failed to create camera component
  • mmal: Filed to run camera app. Please check for firmware updates.

The camera works with the normal Raspian image. I have not tried building form the raspian image, fairly new at programing in the Linux environment.

I have re- downloading the Octopi image, same results.

Do you have any suggestion?

Thanks for your time, and for the effort that you put into this software. It is appreciated. I look forward to trying Octopi out on a new printer.

Chuck

Raspberry PiCam makes pi run slow in 0.6

I have a rasp pi model B, rev2 working with my solidoodle 3D printer. I have a 2 amp power supply and the wifi running on a powered hub, nothing else plugged into the pi. It runs fine on a 4GB card and Octopi version 0.5 perfectly.

I wanted to have a cam so I ordered the pi cam and upgraded to Octopi 0.6 on a second 8 GB card. It takes forever to find the pi across wifi and the controls, screens, etc are extremely slow to react. If I shut it down and pop in 0.5 it runs perfectly again.

I want to get the pi cam going. I am not an experienced programmer so I don't know where to start looking...

Tim

RaspiCam is not operating

RaspiCam is not operating with octopi.
"raspistill Camera App v1.3.8

Width 2592, Height 1944, quality 85, filename test.jpg
Time delay 5000, Raw no
Thumbnail enabled Yes, width 64, height 48, quality 35
Link to latest frame enabled no
Full resolution preview No
Capture method : Single capture

Preview Yes, Full screen Yes
Preview window 0,0,1024,768
Opacity 255
Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'
Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates"

All Raspbian updates and firmware are up to date.
The camera runs on standard Raspbian.

Include upgrade script for OctoPrint

I have been thinking for a while to include a script that will let you upgrade to the latest and greatest OctoPrint, and would also include rollback support.
I have a feeling other people have already things they use, so please feel free to share your snippets so we can get the best result.

Meanwhile you can update manually using:

cd ~/OctoPrint ; git pull origin ; ~/oprint/bin/pip install -r ~/OctoPrint/requirements.txt

Interfacing MCU SD Card directly for improved upload speed and reliabilty

Hey guys, First time I've posted in github, but hey gotta start somewhere.

I've been running OctoPi on my Hadron w/Rumba board for a little while now and I've noticed that with larger files octopi struggles to feed the printer the first few curves of a print and fails due to a serial error

Uploading the prints to SD via the console port obviously improves the reliability but not the

Having a quick look at the code here http://www.raspberrypi.org/forums/viewtopic.php?p=295695 it seems to be possible the BitBang an SD card via the GPIO pins on the Pi. The only thing we would need to do is use another pin or two (and maybe a fet) to assert the "card insert" pin on the MCU to "disconnect" and "reconnect" the SD card and have the MCU re-read the contents

We could even do this using CGODE assuming the user doesnt touch the LCD whilst we are uploading to the SDcard

I'm aware something like the Smoothieboard allows the MCU and Host device to access the SDcard at the "same time", but Smoothie firmware doesn't support auto bed leveling and a bunch of other cool features

I think I can design the hardware to make this work, but my software skills are lacking.. the last code I touched was VB6 and that wasnt very elegant

Or Option 2: Does anyone have any thoughts on emulating the SD card directly so we just connect the GPIO pins into the SDcard pins on the RAMPS based MCU?

2013-07-26-wheezy-octopi-0.6 not booting past "Generating SSL certificate"

Trying to boot http://www.gitiverse.com/octopi/2013-07-26-wheezy-octopi-0.6.zip

It just repeats this over and over when booting, never starting octoprint.

My IP address is 192.168.1.21
Generating SSL cerftificate
sudo: unknown uid 0: who are you?
sudo: unknown uid 0: who are you?

Authentication failure

Authentication failure

Authentication failure

Authentication failure

Authentication failure

INIT: Id "1" respawning too fast: disabled for 5 minutes

YUV USB webcam doesn't work on 0.6

I have finally got round to copying the error code that appears when the webcam is plugged in on bootup on 0.6:

camera: auto
usb options: -d 100
/mpeg-streamer /
Running ./mpeg-streamer -o output_http.so -w ./www -i input_uvc.so -r 640x480 -f 10
i: Frames Per Second.: 10
i: Format............: JPEG
i: TV-Norm............: DEFAULT
Unable to set format: 1196444237 res: 640x480
Init v4L2 failed !! exit fatal
i: init_VideoIn failed
/

I hope this helps

Running more printers on the same Pi

OctoPi can support multiple instances of OctoPrint. There should be a simple way to create new instances.

Currently the workaround is to simply put another instance of OctoPrint on startup using this command:

~/oprint/bin/python ~/OctoPrint/run --daemon start --port 5001 --pid /tmp/octoprint2 --basedir ~/.octoprint2

There is also a talk about this in OctoPrint: OctoPrint/OctoPrint#113 (comment)

TFT Touchscreen GUI?

Support for TFT Touchscreens like the PiTFT would be great for basic controls, emergency stops, sensor calibration etc... So rather than having to log back into the server every time you need to make a basic change, you could add something like 6 buttons on a touchscreen GUI.

pybonjour missing

I'm running the latest develop branch from octoprint, and on octopi the pybonjour package is not installed by default. With the latest slicer adjustments to direct printing to octoprint, it's quite convenient to have bonjour working.

A simple install of the libavahi-compat-libdnssd1 package and then a pip install of pybonjour fixed this.

Loses keyboard and mouse after configuration.

I took the image from the mirror site. Installed it on a micro SD. Booted my RaspberryPi B+, with wifi dongle, and mac keyboard/mouse. I did this with the image that came with the RaspberryPi with no problem. When I do it with the OctoPi image, after the minimal configuration (expand to use whole SD card, and auto boot into UI - first time it was to command line) the keyboard and mouse are not recognized after the reboot. Without that, can't attach to wifi, can't get further.

2014-09-09 0.10.0

Still images to check progress?

In addition to streaming the video, is there an easy way to get still images so I can check progress irregularly?

Great system, many thanks!

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.