Update install.rst
This commit is contained in:
parent
ad9b9d534a
commit
eda22da758
408
docs/install.rst
408
docs/install.rst
|
@ -3,11 +3,13 @@
|
||||||
==========================
|
==========================
|
||||||
PlanktonScope Installation
|
PlanktonScope Installation
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
|
***************
|
||||||
Install Raspbian on your Raspberry Pi
|
Install Raspbian on your Raspberry Pi
|
||||||
===================
|
***************
|
||||||
|
|
||||||
Download the image
|
Download the image
|
||||||
------------------
|
===================
|
||||||
|
|
||||||
Download the .zip file of Raspbian Buster with desktop from the Raspberry Pi website Downloads page.
|
Download the .zip file of Raspbian Buster with desktop from the Raspberry Pi website Downloads page.
|
||||||
|
|
||||||
|
@ -33,8 +35,8 @@ Connect your Pi to a screen, mouse, keyboard and power
|
||||||
|
|
||||||
Finish the setup
|
Finish the setup
|
||||||
|
|
||||||
Install the needed libraries for the PlanktonScope
|
|
||||||
Make sure you have access to internet and update/upgrade your fresh raspbian
|
Make sure you have access to internet and update/upgrade your fresh raspbian
|
||||||
|
|
||||||
Update your Pi first
|
Update your Pi first
|
||||||
::
|
::
|
||||||
sudo apt-get update -y
|
sudo apt-get update -y
|
||||||
|
@ -44,8 +46,10 @@ Reboot your Pi safely
|
||||||
::
|
::
|
||||||
sudo reboot now
|
sudo reboot now
|
||||||
|
|
||||||
|
***************
|
||||||
Raspberry Pi configurations
|
Raspberry Pi configurations
|
||||||
==================
|
***************
|
||||||
|
|
||||||
Enable Camera/SSH/I2C in raspi-config
|
Enable Camera/SSH/I2C in raspi-config
|
||||||
|
|
||||||
Open up the configuration page and select Interfacing Options by typing this command:
|
Open up the configuration page and select Interfacing Options by typing this command:
|
||||||
|
@ -63,6 +67,10 @@ Reboot your Pi safely
|
||||||
sudo reboot now
|
sudo reboot now
|
||||||
|
|
||||||
|
|
||||||
|
***************
|
||||||
|
Install the needed libraries for the PlanktonScope
|
||||||
|
***************
|
||||||
|
|
||||||
Install CircuitPython
|
Install CircuitPython
|
||||||
==================
|
==================
|
||||||
https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi
|
https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi
|
||||||
|
@ -139,393 +147,3 @@ https://morphocut.readthedocs.io/en/stable/installation.html
|
||||||
MorphoCut is packaged on PyPI and can be installed with pip
|
MorphoCut is packaged on PyPI and can be installed with pip
|
||||||
::
|
::
|
||||||
pip install morphocut
|
pip install morphocut
|
||||||
|
|
||||||
Install MorphoCut server
|
|
||||||
------------------
|
|
||||||
https://github.com/morphocut/morphocut-server
|
|
||||||
Morphocut server requires Docker Compose, Nodejs and Conda
|
|
||||||
Docker Compose
|
|
||||||
------------------
|
|
||||||
Installing Docker
|
|
||||||
------------------
|
|
||||||
https://withblue.ink/2019/07/13/yes-you-can-run-docker-on-raspbian.html
|
|
||||||
Installing Docker CE on Raspbian (Stretch or Buster) for Raspberry Pi is straightforward, and it’s fully supported by Docker. Docker CE is not supported on Raspbian Jessie anymore, so I’d recommend upgrading to a more recent release.
|
|
||||||
We’re going to install Docker from the official Docker repositories. While there are Docker packages on the Raspbian repos too, those are not kept up to date, which is something of an issue with a fast-evolving software like Docker.
|
|
||||||
To install Docker CE on Raspbian Stretch and Buster:
|
|
||||||
Install some required packages first
|
|
||||||
::
|
|
||||||
sudo apt update -y
|
|
||||||
sudo apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
|
||||||
|
|
||||||
Get the Docker signing key for packages
|
|
||||||
::
|
|
||||||
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
|
|
||||||
|
|
||||||
Add the Docker official repos
|
|
||||||
::
|
|
||||||
echo "deb [arch=armhf] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
|
|
||||||
|
|
||||||
The aufs package, part of the "recommended" packages, won't install on Buster just yet, because of missing pre-compiled kernel modules. We can work around that issue by using "--no-install-recommends"
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y --no-install-recommends \
|
|
||||||
docker-ce \
|
|
||||||
cgroupfs-mount
|
|
||||||
|
|
||||||
That’s it! The next step is about starting Docker and enabling it at boot:
|
|
||||||
sudo systemctl enable docker
|
|
||||||
sudo systemctl start docker
|
|
||||||
|
|
||||||
Now that we have Docker running, we can test it by running the “hello world” image:
|
|
||||||
sudo docker run --rm arm32v7/hello-world
|
|
||||||
|
|
||||||
If everything is working fine, the command above will output something similar to:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
About ARM images
|
|
||||||
------------------
|
|
||||||
This should hardly come as a surprise, but there’s a caveat with running Docker on a Raspberry Pi. Since those small devices do not run on x86_64, but rather have ARM-based CPUs, you won’t be able to use all the packages on the Docker Hub.
|
|
||||||
Instead, you need to look for images distributed by the arm32v7 organization (called armhf before), or tagged with those labels. Good news is that the arm32v7 organization is officially supported by Docker, so you get high-quality images.
|
|
||||||
While the CPUs inside Raspberry Pi 3’s and 4’s are using the ARMv8 (or ARM64) architecture, Raspbian is compiled as a 32-bit OS, so using Raspbian you’re not able to run 64-bit applications or containers.
|
|
||||||
Many common applications are already pre-built for ARM, including a growing number of official images, and you can also find a list of community-contributed arm32v7 images on Docker Hub. However, this is still a fraction of the number of images available for the x86_64 architecture.
|
|
||||||
Installing Docker Compose
|
|
||||||
In this last step we’re installing Docker Compose.
|
|
||||||
The official installation method for Linux, as in the Docker documentation, points users to the GitHub downloads page, which however does not offer pre-built binaries for the ARM architecture.
|
|
||||||
Luckily, we can still easily install Docker Compose from pip:
|
|
||||||
Install required packages
|
|
||||||
------------------
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y python python-pip libffi-dev python-backports.ssl-match-hostname
|
|
||||||
|
|
||||||
Install Docker Compose from pip, this might take a while :
|
|
||||||
sudo pip install docker-compose
|
|
||||||
|
|
||||||
With this, you now have a complete Raspberry Pi mini-server running Docker and ready to accept your containers.
|
|
||||||
Nodejs
|
|
||||||
------------------
|
|
||||||
https://www.instructables.com/id/Install-Nodejs-and-Npm-on-Raspberry-Pi/
|
|
||||||
Conda
|
|
||||||
------------------
|
|
||||||
https://stackoverflow.com/questions/39371772/how-to-install-anaconda-on-raspberry-pi-3-model-b
|
|
||||||
Go and get the latest version of miniconda for Raspberry Pi - made for armv7l processor and bundled with Python 3 (eg.: uname -m)
|
|
||||||
wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-armv7l.sh
|
|
||||||
md5sum Miniconda3-latest-Linux-armv7l.sh
|
|
||||||
bash Miniconda3-latest-Linux-armv7l.sh
|
|
||||||
|
|
||||||
After installation, source your updated .bashrc file with :
|
|
||||||
source ~/.bashrc
|
|
||||||
|
|
||||||
Then enter the command,
|
|
||||||
python --version
|
|
||||||
|
|
||||||
which should give you :
|
|
||||||
Python 3.4.3 :: Continuum Analytics, Inc.
|
|
||||||
|
|
||||||
Install Jupyter Notebook
|
|
||||||
==================
|
|
||||||
https://www.instructables.com/id/Jupyter-Notebook-on-Raspberry-Pi/
|
|
||||||
sudo su -
|
|
||||||
apt-get update
|
|
||||||
apt-get install python3-matplotlib
|
|
||||||
apt-get install python3-scipy
|
|
||||||
pip3 install --upgrade pip
|
|
||||||
reboot
|
|
||||||
sudo pip3 install jupyter
|
|
||||||
|
|
||||||
Script to realize an acquisition
|
|
||||||
Set color FAN HAT to init
|
|
||||||
Get a fix
|
|
||||||
Set the pump to fast for x seconds
|
|
||||||
Set the pump to super slow
|
|
||||||
Set the focus manually
|
|
||||||
Click on start
|
|
||||||
Set the pump to normal flowrate
|
|
||||||
Set the picamera
|
|
||||||
|
|
||||||
Bill of Material
|
|
||||||
Items
|
|
||||||
Quantity
|
|
||||||
Price
|
|
||||||
µ-Slide I Luer Variety Pack
|
|
||||||
1
|
|
||||||
$120
|
|
||||||
M12 Lens Set
|
|
||||||
1
|
|
||||||
$60
|
|
||||||
Raspberry Pi 4 Model B
|
|
||||||
1
|
|
||||||
$62
|
|
||||||
Peristaltic Metering Pump with Stepper Motor
|
|
||||||
1
|
|
||||||
$60
|
|
||||||
Adafruit Ultimate GPS HAT Needs the antenna
|
|
||||||
1
|
|
||||||
$43
|
|
||||||
Adapter RMS to M12 x 0.5
|
|
||||||
1
|
|
||||||
$42
|
|
||||||
MicroSD Card 256GB
|
|
||||||
1
|
|
||||||
$28
|
|
||||||
Adafruit DC & Stepper Motor HAT
|
|
||||||
1
|
|
||||||
$27
|
|
||||||
Raspberry Pi Camera Module V2
|
|
||||||
1
|
|
||||||
$25
|
|
||||||
Linear Stepper Motor 12V Focus actuators
|
|
||||||
2
|
|
||||||
$20
|
|
||||||
Yahboom Cooling Fan Hat
|
|
||||||
1
|
|
||||||
$17
|
|
||||||
Adafruit GPS Antenna
|
|
||||||
1
|
|
||||||
$15
|
|
||||||
Power Supply 12V 2A
|
|
||||||
1
|
|
||||||
$10
|
|
||||||
Adafruit Power Supply 5.1V 3A - USB C
|
|
||||||
1
|
|
||||||
$10
|
|
||||||
Adafruit Hammer Header Male
|
|
||||||
1
|
|
||||||
$7
|
|
||||||
Adafruit GPIO Ribbon Cable
|
|
||||||
1
|
|
||||||
$3
|
|
||||||
Adafruit GPIO Stacking Header
|
|
||||||
1
|
|
||||||
$2
|
|
||||||
Female Mount Connector Jack Socket
|
|
||||||
1
|
|
||||||
$1
|
|
||||||
Switch Accessory, RJ45 Socket
|
|
||||||
1
|
|
||||||
$1
|
|
||||||
Standoff Male to Female 6mm - 2.5mm
|
|
||||||
8
|
|
||||||
$1
|
|
||||||
White LED 5mm Ultra Bright
|
|
||||||
1
|
|
||||||
$0
|
|
||||||
Standoff Male to Female 15mm - 2.5mm
|
|
||||||
8
|
|
||||||
$0
|
|
||||||
Machine Screw, M2.5
|
|
||||||
8
|
|
||||||
$0
|
|
||||||
6mm thick acrylic - 60cm x 30cm
|
|
||||||
1
|
|
||||||
$0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sudo apt-get update -y
|
|
||||||
|
|
||||||
sudo apt-get upgrade -y
|
|
||||||
|
|
||||||
sudo apt-get install gpsd gpsd-clients python-gps
|
|
||||||
-> not installed ion python3.7
|
|
||||||
pip3 install gps
|
|
||||||
|
|
||||||
|
|
||||||
//test to add the tiny HQ clock (useless if the GPS works)
|
|
||||||
sudo apt-get install gcc
|
|
||||||
|
|
||||||
git clone https://github.com/silvanmelchior/RPi_Cam_Web_Interface.git
|
|
||||||
cd RPi_Cam_Web_Interface/
|
|
||||||
./install.sh
|
|
||||||
./stop.sh
|
|
||||||
|
|
||||||
sudo pip3 install adafruit-circuitpython-motorkit
|
|
||||||
|
|
||||||
pip install morphocut
|
|
||||||
-> Could not find a version that satisfies the requirement morphocut (from versions: )
|
|
||||||
No matching distribution found for morphocut
|
|
||||||
|
|
||||||
pip3 install morphocut
|
|
||||||
-> not installed properly - Read timed out
|
|
||||||
|
|
||||||
sudo pip3 install morphocut
|
|
||||||
-> need a better internet
|
|
||||||
|
|
||||||
install morphocut server
|
|
||||||
wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-armv7l.sh
|
|
||||||
sudo md5sum Miniconda3-latest-Linux-armv7l.sh
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
acq_autoimage_rate
|
|
||||||
acq_camera_name
|
|
||||||
acq_celltype
|
|
||||||
acq_dsp_firmware
|
|
||||||
acq_end
|
|
||||||
acq_flash_delay
|
|
||||||
acq_flash_duration
|
|
||||||
acq_flow_cell_type
|
|
||||||
acq_fluid_volume_imaged
|
|
||||||
acq_id
|
|
||||||
acq_initialization
|
|
||||||
acq_instrument
|
|
||||||
acq_magnification
|
|
||||||
acq_max_esd
|
|
||||||
acq_min_esd
|
|
||||||
acq_mode
|
|
||||||
acq_raw_image_total
|
|
||||||
acq_recalibration_interval_minute
|
|
||||||
acq_sampling_time
|
|
||||||
acq_save_image_file
|
|
||||||
acq_serialno
|
|
||||||
acq_software
|
|
||||||
acq_start
|
|
||||||
acq_stop_reason
|
|
||||||
acq_threshold_black
|
|
||||||
Acq_threshold_light
|
|
||||||
|
|
||||||
|
|
||||||
object_%area
|
|
||||||
object_angle
|
|
||||||
object_area
|
|
||||||
object_area_exc
|
|
||||||
object_bx
|
|
||||||
object_by
|
|
||||||
object_cdexc
|
|
||||||
object_centroids
|
|
||||||
object_circ.
|
|
||||||
object_circex
|
|
||||||
object_compentropy
|
|
||||||
object_compm1
|
|
||||||
object_compm2
|
|
||||||
object_compm3
|
|
||||||
object_compmean
|
|
||||||
object_compslope
|
|
||||||
object_convarea
|
|
||||||
object_convarea_area
|
|
||||||
object_convperim
|
|
||||||
object_convperim_perim
|
|
||||||
object_cv
|
|
||||||
object_date
|
|
||||||
object_depth_max
|
|
||||||
object_depth_min
|
|
||||||
object_elongation
|
|
||||||
object_esd
|
|
||||||
object_fcons
|
|
||||||
object_feret
|
|
||||||
object_feretareaexc
|
|
||||||
object_fractal
|
|
||||||
object_height
|
|
||||||
object_histcum1
|
|
||||||
object_histcum2
|
|
||||||
object_histcum3
|
|
||||||
object_id
|
|
||||||
object_intden
|
|
||||||
object_kurt
|
|
||||||
object_kurt_mean
|
|
||||||
object_lat
|
|
||||||
object_link
|
|
||||||
object_lon
|
|
||||||
object_major
|
|
||||||
object_max
|
|
||||||
object_mean
|
|
||||||
object_meanimagegrey
|
|
||||||
object_meanpos
|
|
||||||
object_median
|
|
||||||
object_median_mean
|
|
||||||
object_median_mean_range
|
|
||||||
object_min
|
|
||||||
object_minor
|
|
||||||
object_mode
|
|
||||||
object_nb1
|
|
||||||
object_nb1_area
|
|
||||||
object_nb1_range
|
|
||||||
object_nb2
|
|
||||||
object_nb2_area
|
|
||||||
object_nb2_range
|
|
||||||
object_nb3
|
|
||||||
object_nb3_area
|
|
||||||
object_nb3_range
|
|
||||||
object_perim.
|
|
||||||
object_perimareaexc
|
|
||||||
object_perimferet
|
|
||||||
object_perimmajor
|
|
||||||
object_range
|
|
||||||
object_skelarea
|
|
||||||
object_skeleton_area
|
|
||||||
object_skew
|
|
||||||
object_skew_mean
|
|
||||||
object_slope
|
|
||||||
object_sr
|
|
||||||
object_stddev
|
|
||||||
object_symetrieh
|
|
||||||
object_symetrieh_area
|
|
||||||
object_symetriehc
|
|
||||||
object_symetriev
|
|
||||||
object_symetriev_area
|
|
||||||
object_symetrievc
|
|
||||||
object_tag
|
|
||||||
object_thickr
|
|
||||||
object_time
|
|
||||||
object_width
|
|
||||||
object_x
|
|
||||||
object_xm
|
|
||||||
object_xmg5
|
|
||||||
object_xstart
|
|
||||||
object_y
|
|
||||||
object_ym
|
|
||||||
object_ymg5
|
|
||||||
object_ystart
|
|
||||||
process_background_method
|
|
||||||
process_esd_max
|
|
||||||
process_esd_min
|
|
||||||
process_gamma_value
|
|
||||||
process_grey_auto_adjust
|
|
||||||
process_id
|
|
||||||
process_lut_offset
|
|
||||||
process_lut_slope
|
|
||||||
process_nb_images
|
|
||||||
process_nb_of_rawfile_images_in_folder
|
|
||||||
process_objects_processed
|
|
||||||
process_pixel
|
|
||||||
process_remove_duplicates
|
|
||||||
process_remove_objects_on_sides
|
|
||||||
process_rolling
|
|
||||||
process_scale
|
|
||||||
process_software
|
|
||||||
process_start_date
|
|
||||||
process_start_time
|
|
||||||
process_stop_after_m_objects
|
|
||||||
process_stop_n_images
|
|
||||||
process_upper
|
|
||||||
sample_barcode
|
|
||||||
sample_comment_or_volume
|
|
||||||
sample_dataportal_descriptor
|
|
||||||
sample_filename
|
|
||||||
sample_id
|
|
||||||
sample_project
|
|
||||||
sample_samplinggear
|
|
||||||
sample_ship
|
|
||||||
sample_volconc
|
|
||||||
sample_volpump
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue