doc: update expert setup
This commit is contained in:
parent
307eddf49d
commit
5d0c067eb6
|
@ -92,12 +92,15 @@ These steps can also be done from the Raspberry Pi Configuration GUI tool that y
|
||||||
|
|
||||||
!!! tip
|
!!! tip
|
||||||
Special optionnal step: overclocking
|
Special optionnal step: overclocking
|
||||||
|
|
||||||
We are first going to make sure that your PlanktoScope receives proper PPS signal. We need to add the following line at the end of `/boot/config.txt`. Open the file with `sudo nano /boot/config.txt` and add the following at the end:
|
We are first going to make sure that your PlanktoScope receives proper PPS signal. We need to add the following line at the end of `/boot/config.txt`. Open the file with `sudo nano /boot/config.txt` and add the following at the end:
|
||||||
|
|
||||||
```
|
```
|
||||||
# Pi overclock
|
# Pi overclock
|
||||||
over_voltage=6
|
over_voltage=6
|
||||||
arm_freq=2000
|
arm_freq=2000
|
||||||
```
|
```
|
||||||
|
|
||||||
Those settings were verified to be stable, but if you notice any weird behavior under a high load, remove those lines.
|
Those settings were verified to be stable, but if you notice any weird behavior under a high load, remove those lines.
|
||||||
|
|
||||||
|
|
||||||
|
@ -135,14 +138,17 @@ pip3 install -U -r /home/pi/PlanktoScope/requirements.txt
|
||||||
|
|
||||||
|
|
||||||
### Add to python path
|
### Add to python path
|
||||||
|
We need to do this to make sure we can call the modules from any path in the system, and not just from the `scripts` folder:
|
||||||
|
|
||||||
```
|
```
|
||||||
ln -s /home/pi/PlanktoScope/scripts/planktoscope /home/pi/.local/lib/python3.7/site-packages/planktoscope
|
ln -s /home/pi/PlanktoScope/scripts/planktoscope /home/pi/.local/lib/python3.7/site-packages/planktoscope
|
||||||
|
ln -s /home/pi/PlanktoScope/scripts/shush /home/pi/.local/lib/python3.7/site-packages/shush
|
||||||
sudo mkdir -p /root/.local/lib/python3.7/site-packages
|
sudo mkdir -p /root/.local/lib/python3.7/site-packages
|
||||||
sudo ln -s /home/pi/PlanktoScope/scripts/planktoscope /root/.local/lib/python3.7/site-packages/planktoscope
|
sudo ln -s /home/pi/PlanktoScope/scripts/planktoscope /root/.local/lib/python3.7/site-packages/planktoscope
|
||||||
|
sudo ln -s /home/pi/PlanktoScope/scripts/shush /home/pi/.local/lib/python3.7/site-packages/shush
|
||||||
```
|
```
|
||||||
|
|
||||||
### Check CircuitPython's install
|
### [ADAFRUIT VERSION] Check CircuitPython's install
|
||||||
Start by following [Adafruit's guide](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi). You can start at the chapter `Install Python Libraries`.
|
Start by following [Adafruit's guide](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi). You can start at the chapter `Install Python Libraries`.
|
||||||
|
|
||||||
#### Testing the installation and the wiring
|
#### Testing the installation and the wiring
|
||||||
|
@ -207,6 +213,60 @@ The device appearing at addresses 60 and 70 is our motor controller. Address `0d
|
||||||
|
|
||||||
In case the motor controller does not appear, shutdown your Planktoscope and check the wiring. If your board is using a connector instead of a soldered pin connection (as happens with the Adafruit Bonnet Motor Controller), sometimes the pins on the male side need to be bent a little to make good contact. In any case, do not hesitate to ask for help in Slack.
|
In case the motor controller does not appear, shutdown your Planktoscope and check the wiring. If your board is using a connector instead of a soldered pin connection (as happens with the Adafruit Bonnet Motor Controller), sometimes the pins on the male side need to be bent a little to make good contact. In any case, do not hesitate to ask for help in Slack.
|
||||||
|
|
||||||
|
### [PSCOPE_HAT VERSION] Test the stepper controllers
|
||||||
|
After wiring the steppers, please run the following script, you can create it in `~/test/stepper_controller.py`:
|
||||||
|
```python
|
||||||
|
#!/usr/bin/python3
|
||||||
|
import shush
|
||||||
|
import time
|
||||||
|
|
||||||
|
m1 = shush.Motor(0)
|
||||||
|
m1.enable_motor()
|
||||||
|
m2 = shush.Motor(1)
|
||||||
|
m2.enable_motor()
|
||||||
|
|
||||||
|
|
||||||
|
# This function takes the target position as an input.
|
||||||
|
# It prints the current position and the iteration.
|
||||||
|
# The motor spins until it gets to the target position
|
||||||
|
# before allowing the next command.
|
||||||
|
def spin(motor, target):
|
||||||
|
motor.go_to(target)
|
||||||
|
|
||||||
|
i = 0
|
||||||
|
|
||||||
|
while motor.get_position() != target:
|
||||||
|
print(motor.get_position())
|
||||||
|
print(i)
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
|
||||||
|
while True:
|
||||||
|
# Spin 5 rotations from start
|
||||||
|
spin(m1, 256000)
|
||||||
|
|
||||||
|
time.sleep(0.5)
|
||||||
|
# Spin back 5 rotations to starting point
|
||||||
|
spin(m1, 0)
|
||||||
|
|
||||||
|
time.sleep(0.5)
|
||||||
|
# Spin 5 rotations from start
|
||||||
|
spin(m2, 256000)
|
||||||
|
|
||||||
|
time.sleep(0.5)
|
||||||
|
# Spin back 5 rotations to starting point
|
||||||
|
spin(m2, 0)
|
||||||
|
|
||||||
|
time.sleep(0.5)
|
||||||
|
```
|
||||||
|
|
||||||
|
To start the script, just run the following:
|
||||||
|
```sh
|
||||||
|
chmod +x ~/test/stepper_controller.py
|
||||||
|
~/test/stepper_controller.py
|
||||||
|
```
|
||||||
|
|
||||||
|
The pump should run in one direction then in the other, and the focus stage should move in one direction and then in another.
|
||||||
|
|
||||||
### Deactivate steppers
|
### Deactivate steppers
|
||||||
Create `sudo nano /etc/systemd/system/gpio-init.service`:
|
Create `sudo nano /etc/systemd/system/gpio-init.service`:
|
||||||
|
@ -505,6 +565,11 @@ First, we need to install the needed dependencies, then we will directly install
|
||||||
sudo apt install libgtk-3-0 libavformat58 libavcodec58 libqt4-test libopenexr23 libilmbase23 libqtgui4 libavutil56 libjasper1 libqtcore4 libcairo-gobject2 libswscale5 libhdf5-dev libilmbase-dev libopenexr-dev libgstreamer1.0-dev libavcodec-dev libavformat-dev libswscale-dev libwebp-dev libatlas-base-dev
|
sudo apt install libgtk-3-0 libavformat58 libavcodec58 libqt4-test libopenexr23 libilmbase23 libqtgui4 libavutil56 libjasper1 libqtcore4 libcairo-gobject2 libswscale5 libhdf5-dev libilmbase-dev libopenexr-dev libgstreamer1.0-dev libavcodec-dev libavformat-dev libswscale-dev libwebp-dev libatlas-base-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Install now openCV diretly with pip:
|
||||||
|
```sh
|
||||||
|
pip install opencv-contrib-python
|
||||||
|
```
|
||||||
|
|
||||||
You can now check that opencv is properly installed by running a python interpreter and importing the cv2 module.
|
You can now check that opencv is properly installed by running a python interpreter and importing the cv2 module.
|
||||||
```sh
|
```sh
|
||||||
pi@planktoscope:~ $ python3
|
pi@planktoscope:~ $ python3
|
||||||
|
@ -590,6 +655,7 @@ Make sure Node-RED is correctly installed by reaching the following page from th
|
||||||
#### Install the necessary nodes and activate necessary features
|
#### Install the necessary nodes and activate necessary features
|
||||||
|
|
||||||
We are going to activate the Projects feature of Node-Red as this will help us manage and track changes to the flows. Open the file `settings.js` with an editor (for example with `nano ~/.node-red/settings.js`) so we can change the following lines (you can use `CTRL+_` to quickly navigate to the line indicated):
|
We are going to activate the Projects feature of Node-Red as this will help us manage and track changes to the flows. Open the file `settings.js` with an editor (for example with `nano ~/.node-red/settings.js`) so we can change the following lines (you can use `CTRL+_` to quickly navigate to the line indicated):
|
||||||
|
|
||||||
- Line 75: uncomment the line (remove the //) that ends with flowFilePretty: true,
|
- Line 75: uncomment the line (remove the //) that ends with flowFilePretty: true,
|
||||||
- Line 337: set enabled to true
|
- Line 337: set enabled to true
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue