controller program for indabin designed to be ran on a raspberry pi. handles bluetooth proximity, image capture of the waste as well as control of the motor.
this repo contains two binaries:
server: the main server binary. handles communicating with the backend, and interfacing with the hardwaregpio-debug: a simple repl for interfacing with the hardware
Some features of the nightly build of rustfmt are required. Ensure that you
have ran:
$ rustup install nightly
Next install some git hooks:
$ just devsetup
to be able to compile to the raspberry pi (4), ensure that you have the correct rust toolchain installed:
$ rustup target add armv7-unknown-linux-gnueabihf
to be able to compile to arm from an x86 machine, we need to install a cross-compile toolchain (this blog is a pretty nice guide). on arch based distros this can be done by (adapt based on your system):
$ yay -S arm-linux-gnueabihf-gcc
Ensure that you have the opencv headers, libasound2 and clang installed
on your system.
this project needs access to a couple of peripherals, notably it needs access
to a webcam thats mounted at /dev/videoX, and a speaker.