Changing Camera Usage

Currently, the official camera connects to the FarmbotOS system on a Raspberry Pi 3B or 4, but its functionality seems limited. It cannot perform motion monitoring or record video. Photos are always taken and uploaded to a server before further development via a web app.

I’m considering adding a Raspberry Pi 5 and deploying a web app there, while migrating the camera functionality to the Raspberry Pi 5, bypassing the FarmbotOS on the Raspberry Pi 3B. Has anyone done this kind of modification? The advantage of this modification is that images no longer need to be uploaded; processing is done directly at the web app layer. Given the performance of the Raspberry Pi 5, I hope that in addition to compatibility with the existing official functions, it can also perform motion monitoring and video recording. In the future, adding more cameras could enable further expansion, such as live streaming.

Based on this modification, there would be more room for expansion to meet research needs such as plant identification, pest detection, operation monitoring, workflow recording, and live streaming.

1 Like

I have multiple cameras that I used with a secondary system mounted with an extra electronic box , I moved from a Raspberry Pi a few years ago to a Jetson AGX based system first Orin now Xavier , and moved from CSI cameras to e-consystems GMSL2 IP67 cameras. As I wanted to do some AI training at the edge in any weather. I built mounts on the tool arm so that I can photograph vegetables ( mostly peppers) and record progression. I will control farmbot movements using python (GitHub - FarmBot/farmbot-py: Authentication and communication utilities for FarmBot) from the Nvidia host. It all works well and the Farmbot team and community has been very helpful.

1 Like

My approach is similar.

By minimizing changes to the official code and only providing additional feature support, the development and upgrade costs can be kept to a minimum.

Currently, I’ve tested a Raspberry Pi 5 + farmbot-web-app + the original webcam (for taking photos) + two USB webcams (for both photos and video recording) for additional development. The webcams use jpeg_streamer to provide internal video streaming. One webcam is placed in a corner of the planting bed, about 1 meter high, and the other is mounted on a general-purpose tool head, along with the original webcam.

This combination allows me to take both photos and videos, making it easier to collect planting video information.

It can provide a rich visual source for further plant research.

If you want to remotely control and view the video, you can use frpc for network penetration. However, an additional public server is needed as a relay.

The entire workflow has been tested and works correctly. However, remote access is somewhat slow due to network limitations.

2 Likes