Octoprint (3D print server) on Omega2+



  • I gave up using o2+ for octoprint.
    A person at a local hackerspace ported octoprint to another board he is testing which has a mega and a chip running some sort of lede. His github is here

    https://github.com/robinjanssens/OctoPrint-for-MiCaBoard

    Maybe there is something you guys can also use for the O2+, I am going to see if I can get one of these boards and make my life easier.



  • I am able to run 1.3.4.

    mount -o remount,size=200M /tmp ==> To increase /tmp
    ln -s /usr/bin/gcc /usr/bin/ccache_cc ==> to install
    sed -i 's/Häußge/H./g' /root/OctoPrint-1.3.4/src/octoprint/util/comm.py
    sed -i 's/exit("You should not run OctoPrint as root!")/pass/g' /root/OctoPrint-1.3.4/src/octoprint/server/init.py

    Also, swap I did it in USB. Creating a swap file in SD card (ext4 format) was not working for me.



  • I seem to be having a memory issue on the "pip install -r requirements.txt" step.
    https://pastebin.com/xS4i0a2C
    ANy ideas how to combat this?



  • Got 1.3.5 to run, together with Cura.

    There are quite some hacks, but hope this is useful for you. Start from the comment of Jeff Karney (11 Mar 2017) - and do create the swap file of 512MB !

    Continue Octoprint Installation

    Replace step 3 with the following steps...

    cd /root
    wget https://github.com/foosel/OctoPrint/archive/1.3.5.zip
    unzip 1.3.5.zip
    

    Make sure everything can compile

    ln -s /usr/bin/gcc /usr/bin/ccache_cc
    

    Install all dependencies

    cd OctoPrint-1.3.5
    pip install -r requirements.txt
    

    Fix unicode we can't deal with in the code

    sed -i 's/Häußge/H\./g' /root/OctoPrint-1.3.5/src/octoprint/util/comm.py
    sed -i 's/Häußge/H\./g' /root/OctoPrint-1.3.5/src/octoprint/plugins/virtual_printer/virtual.py
    

    Start octoprint from command line (see article on how to auto-restart it on boot)

    octoprint serve --iknowwhatimdoing &
    

    Install Cura

    Install prerequisites

    opkg install make
    

    Download Cura legacy

    cd /root
    wget https://github.com/Ultimaker/CuraEngine/archive/legacy.zip
    unzip legacy.zip
    

    Here's a hack I found-out I needed since make failed (forgot how)

    echo "#undef LIBC_HAS_BACKTRACE_FUNC" > /usr/include/execinfo.h
    

    Then we can build Cura (it's long on the Omega2+)

    cd CuraEngine-legacy
    make
    

    For some reason ld can't find the static libraries for c and stdc++ and the build fails. I couldn't fix this directly, but what I did was to remove the --static from the last build line and this works.

    so if your build fails with:
    /usr/bin/ld: cannot find -lstdc++ /usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status
    then run this (or remove the --static from the last output of make):

    g++ build/bridge.o build/comb.o build/gcodeExport.o build/infill.o build/inset.o build
    /layerPart.o build/main.o build/optimizedModel.o build/pathOrderOptimizer.o build/polygonOptimizer.o build/raft.o build/set
    tings.o build/skin.o build/skirt.o build/slicer.o build/support.o build/timeEstimate.o build/modelFile/modelFile.o build/ut
    ils/gettime.o build/utils/logoutput.o build/utils/socket.o -o build/CuraEngine -Lbuild/ -lclipper -flto
    

    Give Octoprint the path to Cura

    Run the Octoprint wizard: open http://omega-xxxx.local:5000 where xxxx are the 4 last digits of your Omega2+ mac address
    In the Cura Configuration step input the Octoprint setup Wizard CuraEngine:
    Path to CuraEngine: /root/CuraEngine-legacy/build/CuraEngine



  • @Theodore-Marescaux and @Jeff-Karney - thanks so much for the updated script. I've got Octoprint 1.3.5 working on my Omega 2+.

    However, I can't seem to connect to the 3d Printer. I've tried all the manual settings and baud rates but I get a 'Timeout while trying to connect to the printer' message.

    ----- Terminal Log -----
    Connecting to: /dev/ttyACM0
    Changing monitoring state from 'Offline' to 'Opening serial port'
    Connected to: Serial<id=0x232abc0, open=True>(port='/dev/ttyACM0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
    Changing monitoring state from 'Opening serial port' to 'Connecting'
    Send: N0 M110 N0*125
    Recv: ?
    There was a timeout while trying to connect to the printer
    Changing monitoring state from 'Connecting' to 'Offline'
    Connection closed, closing down monitor

    ----- Close Terminal Log -----

    Any ideas?



  • I know the last reply to this topic is from nearly a year ago, but just wanted to report that I just installed OctoPrint v1.3.9 on my Omega2+ with the latest 0.2.1 (b199) firmware (had 0.2 or the last of the 0.1 line and OctoPrint 1.0.0 when I used it last), and it seems to be working fine with my Kodama Trinus printer just fine... Thanks to all the posters who suggested the swap memory, python-dev/gcc and octoprint serve --iknowwhatimdoing workarounds / updates to the instructions... after some fumbling around I was able get it all working! 😉



  • First thank all contributor

    1.Change the package repository

    vi /etc/opkg/distfeeds.conf
    

    uncomment below line

    src/gz reboot_base
    src/gz reboot_packages
    

    2.Setting SD Card As a expanding storage ( I use 2GB mini SDcard , Because out of space error)

    opkg update
    opkg install fdisk e2fsprogs block-mount
    

    after install

    umount /dev/mmcblk0p1
    mkfs.ext4 /dev/mmcblk0p1
    umount /dev/mmcblk0p1
    mkdir /mnt/SD
    mount /dev/mmcblk0p1 /mnt/SD
    

    (will get some error like : can’t umount just ignore it)

    tar -C /overlay -cvf - . | tar -C /mnt/SD/ -xf - 
    umount /mnt/SD
    
    block detect > /etc/config/fstab
    

    Auto Load on system boot

    vi /etc/config/fstab
    

    change option target '/mnt/mmcblk0p1' to option target '/overlay'
    and option enabled '0' to option enabled ‘1'

    reboot
    

    after reboot you can verify if you /overlay is mounted properly by running df

    mkdir /overlay/tmp
    rm -rf /overlay/tmp/*
    cp -a /tmp/* /overlay/tmp/
    umount /tmp
    [ $? -ne 0 ] && {
    umount -l /tmp
    }
    mount /overlay/tmp/ /tmp
    

    after reboot expand /tmp folder on the Omega , will get some error like : can’t umount just ignore it)

    3.Install C++ Lib & Python

    opkg update
    opkg install gcc make 
    opkg install python python-pip unzip
    opkg install python-dev --force-overwrite
    

    4.Setting Swap memory (Because When install will get out of memory errors)

    https://docs.onion.io/omega2-docs/extending-omega-memory.html

    First insert your usbdisk

    opkg install swap-utils
    

    after install create swapfile on usb

    dd if=/dev/zero of=/tmp/mounts/USB-A1/swap.page bs=1M count=512
    

    Need Waiting a while

    mkswap /tmp/mounts/USB-A1/swap.page
    swapon /tmp/mounts/USB-A1/swap.page
    

    Use free to check if success get swap

    5. Install Octoprint

    pip install --upgrade setuptools
    

    show some information to upgrade pip

    pip install --upgrade pip
    pip install --upgrade setuptools
    

    Download octoprint & install
    You can get all version here
    https://github.com/foosel/OctoPrint/releases

    Prepare Install

    cd /root
    wget https://github.com/foosel/OctoPrint/archive/1.3.9.zip
    unzip 1.3.9.zip
    cd OctoPrint-1.3.9
    
    ln -s /usr/bin/gcc /usr/bin/ccache_cc
    

    Start Install

    pip install -r requirements.txt
    

    Some Unicode Fixed / User Role Fixed

    sed -i 's/Häußge/H\./g' /root/OctoPrint-1.3.9/src/octoprint/util/comm.py
    sed -i 's/Häußge/H\./g' /root/OctoPrint-1.3.9/src/octoprint/util/virtual.py
    sed -i 's/Häußge/H\./g' /root/OctoPrint-1.3.9/src/octoprint/plugins/virtual_printer/virtual.py
    
    sed -i 's/exit("You should not run OctoPrint as root!")/pass/g' /root/OctoPrint-1.3.9/src/octoprint/server/__init__.py
    

    If has no error.
    Congratulation !
    Almost Success!

    6.Server Start

    octoprint serve --iknowwhatimdoing &
    

    Need Waiting Server to Start / console will show some infor & some warning information / Just Ignore
    Use browser to connect
    http://omega-[your id].local:5000

    If connect Ok.
    Now You can remove usb disk and connect to 3d printer.
    Success!!

    Print the case
    https://www.thingiverse.com/thing:2068124!

    Sometimes Factory Reset Clean All to Install Will Help , if you get some stange error

    https://docs.onion.io/omega2-docs/factory-reset.html

    THANKS ALL



  • This post is deleted!


  • I got Octoprint 1.5.1 to work with my Omega2+. Instructions are basically the same as @Ming-Chou-Cheng wrote, but I had to change some minor things. I'll post details if anyone is interested, let me know.



  • @dude8604 please post the details so new players can benefit from your experience.




Log in to reply
 

Looks like your connection to Community was lost, please wait while we try to reconnect.