planktoscope/scripts
Romain Bazile f27c9823a1 Integration of raspimjpeg
The source code of the modified version of raspimjpeg used by the PlanktoScope is hosted [here](https://github.com/PlanktonPlanet/userland/tree/master/host_applications/linux/apps/raspicam).

We moved away from picamera to improve the stability of the system. This commit should closes the elusive #51 and #54.

After a lot of tests, it was clear that even a forked version of picamera was not going to solve our problem while also improving on our capturing speed.

The modified version of RaspiMJPEG does that.
RaspiMJPEG streams the image flux to /dev/shm/mjpeg/cam.jpg . This is passively reloaded by the streaming server (still written in python).

RaspiMJPEG is controlled through a special file called a Pipe which is used to send it commands.
The list is available [here](https://github.com/PlanktonPlanet/userland/tree/master/host_applications/linux/apps/raspicam/Config.md).

The raspimjpeg binary is distributed directly in this repository, in the folder `scripts/raspimjpeg/bin/`.
2020-11-16 17:53:23 +01:00
..
planktoscope Integration of raspimjpeg 2020-11-16 17:53:23 +01:00
raspimjpeg Integration of raspimjpeg 2020-11-16 17:53:23 +01:00
LICENSE License! Martyr proposal 2020-10-07 12:25:50 +02:00
main.py sourcery.ai cleanup 2020-11-14 09:45:14 +01:00
README.md Scripts README 2020-10-07 12:25:50 +02:00

Python scripts of the PlanktoScope

This directory contains the various scripts needed for the PlanktoScope to run properly.

You should start your exploration with the file main.py as this is the file started by Node-Red.

The planktoscope directory contains the various modules loaded at runtime:

  • imager_state_machine.py is the state machine class of the imager process.
  • imager.py is the process that runs the camera and the streaming server for the liveview.
  • light.py manages the state of the light messages displayed by the Yahboom HAT.
  • mqtt.py is the class managing the mqtt dialogue with Mosquitto and Node-Red.
  • segmenter.py is the process that controls the segmentation.
  • stepper.py is the process that manages the stepper motors and their movements.