Specifically, I wanted to install this responsive backend theme so I could get convenient access from my phone.
I found the sources on git : https://github.com/Openworx/backend_theme.git
use git clone to checkout the sources into your /opt/odoo10/custom/addons folder. All themes are addons so they go in this folder. Confirm that this custom folder is part of the addons path in the config file (/etc/odoo/odoo.conf for odoo 10)
git clone --depth 1 https://github.com/Openworx/backend_theme.git
the problem is that git clone doesn’t do the folder structure exactly as Odoo expects it so create a symlink to the proper directory.
ln -s /opt/odoo10/custom/addons/backend_theme/backend_theme_v10 /opt/odoo10/custom/addons/backend_theme_v10
enter developer mode in your Odoo10 interface which is located in Settings on the right-hand side under “share the love.” Click on “Browse Apps” which is automatically filtered to include only “apps” so clear that from the search area and search for the name of the theme you installed. In this example, it’s Material/United Backend Theme.
Click Install on the theme and you’re finished! Now you can use git to check for updates to the theme or have them automatically pulled down with a chron job. You’ll need to hit the upgrade button to apply any pulled updates.
This script does a solid job of setting up everything you need to get Odoo 10 up and running
I was able to customize it enough to use my existing database and a different port for odoo so I could run 2 instances on the same machine.
Taulman BluPrint is a filament claiming to print strong parts that are very heat resistant.
High heat resistance means high print temperatures for most plastics so this prints at a minimum of 265ºC depending on which website you believe. Taulman’s website says 285C is the recommended Print temp.
They also claim that glass heated to 110C is the right print surface. I find it hard to believe that plain glass will hold onto any plastic so my first attempt was using Wolfbyte for Nylon. The filament was printing well at 265-280ºC but after a few layers (10) promptly removed itself from the print bed and tried to cause a big mess. I was there to cancel before any real harm was done.
Next I’m testing glass with hair spray. Heated to 110ºC and with a fresh generous application of hairspray. It’s held strong much farther along than the Wolfbyte which makes me think it may not be a nylon based material. Perhaps it’s a PC derivative which generally prints at much higher temperatures.
After 1 hr 45min the corners of the 4×4 rectangle are showing noticeable curling. A 3 pass brim was added for the first layer but has pulled up from the bed. The front of the printer is not enclosed for this test and only the front 2 corners are peeling.
The print finished and didn’t completely detach from the build plate after 3hr 41min build time. Although it was close to detaching. Final weight is 3.8 ounces or 108 grams.
2nd part test print adjusted the bed temp to 120ºC. 4×4 square is not extruded as high and should have less issues with warping. Increased the brim to 5 passes roughly 3.5mm. I also closed the front of the printer
The part appeared to be well attached to the print bed for the entire print. Minimal signs or warping on the corners. By the time I checked the printed the build plate had cooled and the part completely released from the glass with hairspray.
Predefined relay numbering
Relay # – GPIO / wPi # – Function – BCM
1 – 21 – Printer Power – 5
2 – 22 – General Lights – 6
3 – 26 – External Fans – 12
4 – 23 – Additional Hotend Light – 13
5 – 27 – – 16
6 – 24 – – 19
7 – 28 – – 20
8 – 29 – – 21
Login to Raspberry Pi
sudo su root
sudo chmod a+rx *.sh
This creates 6 files and sets them to executable.
The following blocks of code go write into these newly created files.
printf '#!/bin/bash\ngpio mode 21 out\ngpio write 21 0' >> printer_on.sh
printf '#!/bin/bash\ngpio mode 21 out\ngpio write 21 1' >> printer_off.sh
printf '#!/bin/bash\ngpio mode 22 out\ngpio write 22 0' >> lights_on.sh
printf '#!/bin/bash\ngpio mode 22 out\ngpio write 22 1' >> lights_off.sh
printf '#!/bin/bash\ngpio mode 26 out\ngpio write 26 0' >> fans_on.sh
printf '#!/bin/bash\ngpio mode 26 out\ngpio write 26 1' >> fans_off.sh
printf '#!/bin/bash\ngpio mode 23 out\ngpio write 26 0' >> hot_lights_on.sh
printf '#!/bin/bash\ngpio mode 23 out\ngpio write 26 1' >> hot_lights_off.sh
edit octoPi Config to add some system actions
- action: printer_on
name: Printer On
- action: printer_off
confirm: Are you sure you want to turn off the printer?
name: Printer Off
- action: lights_on
name: Lights On
- action: lights_off
name: Lights Off
- action: fans_on
name: Fans On
- action: fans_off
name: Fans Off
- action: hot_lights_on
name: Hotend Lights On
- action: hot_lights_off
name: Hotend Lights Off
- command: printer_on.sh
- command: printer_off.sh
Reboot the octoPi server to get all the changes into the system.
If your camera isn’t working correctly open /boot/octopi.txt and adjust the camera_usb_options
for me these are the correct settings camera_usb_options=”-y -r 640×480 -f 15″
more info and settings here https://github.com/foosel/OctoPrint/wiki/Webcams-known-to-work
I found a few guides to this on the internet but none of them worked for me out of the box using the latest (as of today) Octopi image and a Raspberry Pi 3. What I did eventually get to work was the following
- Login to your raspberrypi using SSH. I use Bitvise SSH for all my SSH needs.
- Run a few commands to make sure your octoprint is setup correctly. The explanation for the lines is as follows. Activate octoprint environment -> install yagmail (probably already installed) -> install keyrings.alt which is needed by yagmail -> activate python -> run the yagmail registration command
pip install yagmail
pip install keyrings.alt
- While you’re here do a test run to make sure you can connect (this will only work for Gmail SMTP servers. It’s possible to get it working with other servers but you would have to modify some source code to get the ports right. Much easier to just use Gmail)
You should get back
<yagmail.yagmail.SMTP instance at ...>
- Install “Email Notifier” through the OctoPrint web interface if you haven’t already.
- Restart your RaspberryPi – This may seem unnecessary but I highly recommend it. I ran into lots of problems with emails not sending that were fixed by a simple reboot.
If you’re renaming your network or taking your OctoPi & Printer on the road you may need to change the name and credentials of the Wifi network to work. It’s not hard to do but you will need to connect to the Raspberry Pi console directly. This is when having the Raspberry PI LCD screen comes in really handy.
Once you’re looking at the Raspberry Pi console the network setup file is in
sudo nano /boot/octopi-network.txt
You will recognize this file from initial setup. Just change the name and password to the new network and reboot.
it’s always good to start with :
sudo apt-get update
sudo apt-get upgrade
This just makes sure the system is up to date. Then you need to install the actual motion software
sudo apt-get install motion
then I had to change the permissions of a few files so that the pi user could read and write to them. I had seen that motion was going to create a new user for itself but as of today it’s running as the default user. I didn’t go out of my way to change that behavior since it appears to be the default now on a clean install.
sudo chown root:pi /etc/motion/motion.conf
sudo chown root:pi /var/lib/motion
sudo chown root:pi /tmp/motion.log
sudo chmod 774 /etc/motion/motion.conf
sudo chmod 774 /var/lib/motion
sudo chmod 774 /tmp/motion.log
if you’re having trouble try manually starting motion with
This will let you see the output from the startup and check to make sure video is coming through on port 8081. Also take a close look at the motion.conf file. It’s got tons of explanations of the options and everyone’s setup will be a little different.
Once I changed all the permissions and testes just reboot the Pi to get the daemon up and running. It should start automatically from now on which makes it robust to power outages and disruptions.
Side note: My web cam is 1080 but the processor in the pi couldn’t really support more than 640 x 480 streaming resolution. Good luck!
Get the size of the folders in any directory
du -sh folder_location/*
Search for content of a file from the command line
grep [--include=file_pattern.extension] -rnwl "matching pattern"
Create a new SVN Repo
sudo svnadmin create /svn/repos/repo_name
sudo chown -R www-data:www-data /svn/repos/repo_name
Remove Directory and Contents
rm -r mydir
List CPU Usage of running processes
Get Wireless Signal Information
will save in /tmp/file_list_$FOLDER an alphabetically ordered list of all the files inside $FOLDER, complete with the corresponding sub-folders
find $FOLDER -type f | cut -d/ -f2- | sort > /tmp/file_list_$FOLDER
When migrating servers it’s best to leave a few months overlap on your old hosting contract. It’s a pain to pay double for a while but it’s critical to preventing downtime.
The first thing to do is get all your files moved over to the new server and test to make sure everything is working the same. Once you are satisfied that your new server is operating properly you can do a “full test run” with the DNS server configurations.
On your old hosting remove the DNS A Records for your old hosting server. It will typically be in there by default. Add a new custom DNS A record pointing to your new server.
This effectively redirects all traffic from your old hosting to the copy on the new hosting. Sometimes it takes as much as 48 hours for these changes to go into effect but in my experience, 15 minutes is more reasonable. Now all the traffic is headed to your new server and since you tested ahead of time (right??) everything is working as it should be.
Now you can migrate your domain names over to the new hosting provider without fear of 48 hours of downtime when your site and apps will be unreachable.
You can install Odoo from the Bitnami package but I wanted to have it from source so that I could make changes and get updates with the git commands.
I followed this guide to get started
Which got me most of the way there but I still had 2 problems.
1 creating the database gave me an error
DataError: encoding UTF8 does not match locale en_US DETAIL:
The chosen ****** setting requires encoding LATIN1.
To fix this I ran the following commands
sudo su postgres
update pg_database set datistemplate=false where datname='template1';
drop database Template1;
create database template1 with owner=postgres encoding='UTF-8' lc_collate='en_US.utf8' lc_ctype='en_US.utf8' template template0;
update pg_database set datistemplate=true where datname='template1';
Then once I had created my database I got an error at the top of the page
/usr/bin/env : node: No such file or directory in ovoo v9
To fix follow the instructions from the NodeJS Website:
curl -sL https://deb.nodesource.com/setup_0.10 | sudo bash -
sudo apt-get install -y nodejs
sudo npm install -g npm
Then install Less and accessories:
sudo npm install -g less less-plugin-clean-css