Last active
May 10, 2018 04:22
-
-
Save logxen/ad195ccd31914bab8869 to your computer and use it in GitHub Desktop.
Edison Quickstart Guide for Octoprint and Smoothie
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# *** Documentation Links | |
Documentation list: https://communities.intel.com/community/makers/edison/documentation/content | |
Edison Guide: https://communities.intel.com/docs/DOC-23158 | |
Mini Breakout Guide: https://communities.intel.com/docs/DOC-23252 | |
Mini Breakout Schematic: https://communities.intel.com/docs/DOC-23323 | |
Mini Breakout BoM: https://communities.intel.com/docs/DOC-23322 | |
Arduino Breakout Guide: https://communities.intel.com/docs/DOC-23161 | |
Arduino Breakout Schematic: https://communities.intel.com/docs/DOC-23309 | |
Arduino Breakout BoM: https://communities.intel.com/docs/DOC-23308 | |
BSP Guide (yocto build environment): https://communities.intel.com/docs/DOC-23159 | |
Native Application Guide (cached copy): https://dl.dropboxusercontent.com/u/45859274/Intel%C2%AE%20Edison%20Native%20Application%20Guide.htm | |
# *** to flash latest yocto image: | |
# *WARNING* doing this will erase your edison installation | |
# download the edison yacto complete image from https://communities.intel.com/docs/DOC-23242 | |
# windows also needs the driver found on the same page installed | |
# there are two usb ports on the edison breakout ... holding it upgright so you can read the module silk, | |
# -the upper connector is connected to an ftdi chip and is the main serial terminal for the edison. this | |
# is nice because it remains connected during resets. also worth noting this does NOT power the edison, | |
# only the ftdi chip. | |
# -the lower connector is a usb-otg port directly connected to the edison. when you connect it to the pc, | |
# it comes up as a rad composite device with serial, mass storage, and ethernet (that i'm aware of). | |
# to flash a new image we will need both. | |
# first unzip the contents of the downloaded zip file to the root of the edison drive (which should be empty) | |
# once that is complete, connect a terminal app to the ftdi port of the edison at 115200 | |
# hit enter twice to get a login prompt, and type "root" to login, then enter: | |
--- | |
reboot ota | |
--- | |
# *** to run initial edison setup: | |
# you must set a root password to enable SSH on Wifi | |
--- | |
configure_edison --setup | |
--- | |
# *** to just change the wifi setup: | |
--- | |
configure_edison --wifi | |
--- | |
# *** to install nano (i don't really care for vi): | |
--- | |
wget http://www.nano-editor.org/dist/v2.2/nano-2.2.6.tar.gz && tar xvf nano-2.2.6.tar.gz && cd nano-2.2.6 && ./configure && make | |
make install DESTDIR=/home/root | |
export PATH=$PATH:/home/root/usr/local/bin | |
--- | |
# TODO: i still need to find the best way to set the startup environment variables | |
# *** to tell the edison about the package repos: | |
# add the following lines to new file /etc/opkg/intel-iotdk.conf | |
--- | |
src intel-iotdk http://iotdk.intel.com/repos/1.1/intelgalactic | |
src all http://iotdk.intel.com/repos/1.1/iotdk/all | |
src i586 http://iotdk.intel.com/repos/1.1/iotdk/i586 | |
src x86 http://iotdk.intel.com/repos/1.1/iotdk/x86 | |
--- | |
# *** to use opkg on the package repos: | |
--- | |
opkg update | |
opkg upgrade | |
opkg install git | |
--- | |
# *** to install octoprint | |
--- | |
opkg install git python-setuptools | |
git clone https://github.com/foosel/octoprint | |
cd octoprint | |
python setup.py install | |
--- | |
# octoprint doesn't like to run as root so use this command line to run it: | |
--- | |
octoprint --iknowwhatimdoing | |
--- | |
# *** to setup octoprint as a service: | |
# add the following lines to new file /lib/systemd/system/octoprint.service | |
--- | |
[Unit] | |
Description=OctoPrint_Daemon | |
After=network.target | |
[Service] | |
Environment="NODE_PATH=/usr/lib/node_modules" | |
Environment="NODE_ENV=production" | |
Environment="AVAHI_COMPAT_NOWARN=1" | |
Environment="HOME=/home/root" | |
#User=root | |
ExecStart=/usr/bin/octoprint --iknowwhatimdoing | |
Restart=always | |
RestartSec=10s | |
[Install] | |
WantedBy=multi-user.target | |
--- | |
# *** to enable octoprint as a system service that starts automatically at boot: | |
--- | |
systemctl enable octoprint | |
--- | |
# *** and then to start it as an edison service now without rebooting | |
--- | |
systemctl start octoprint | |
--- | |
# *** to install Smoothieware build environment and compile firmware | |
--- | |
opkg install git bash | |
git clone https://github.com/Smoothieware/Smoothieware | |
cd Smoothieware | |
--- | |
# edit the linux_install and find the wget line a couple pages down | |
# and add this option before continuing: --no-check-certificate | |
--- | |
./linux_install | |
./BuildShell | |
make | |
--- | |
# *** to install ruby from source: | |
# i recommend installing stuff to /home whenever possible because that's where | |
# most of the space available to the user is | |
--- | |
wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.3.tar.gz | |
tar -zxf ruby-2.1.3.tar.gz | |
cd ruby-2.1.3 | |
./configure --prefix=/home/root | |
make | |
make install | |
--- | |
# *** to install screen: | |
--- | |
opkg install git | |
git clone git://git.savannah.gnu.org/screen && cd screen/src && ./autogen.sh && ./configure && make | |
make install DESTDIR=/home/root/usr/local | |
--- |
Excellent documentation! Used it today to install octoprint on an Edison with the mini breakout board. Instead of cloning from the git repo, I picked up a tarball from the master branch, as described in the Octoprint docs.
The parts about adding octoprint as a system service were especially useful. Just note that 'opkg install git' is present in both the section about opkg itself and a few lines after for octoprint, you might want to fix that.
I'm having trouble getting ffmpeg working on the edison. Could that be added to this?
👍 Thanks for service definition.
When I view the Octoprint :5000 within my web browser the page doesn't seem to want to load correctly, it looks like a wall of HTML elements (no layout).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
awesome gist!