Drone project code
Repository code @ https://github.com/Nnubes256/drone-project
.github: Continuous Integration workflows.icaros: The ICAROS (In-flight Communications And Reporting Operations System) drone-side code.icaros-control: The ICAROS Control (In-flight Communications And Reporting Operations System) ground-control-side code.icaros-base: ICAROS common code.icaros-docs: Generated HTML documentation for all Rust code (can be generated from source by executingcargo doc).flightControllingAlgorithm: Arduino flight controller code.ComputerVision: Computer vision in-flight application.rf24: Safe Rust interface to TMRh20's RF24 library.rf24-sys: Raw Rust bindings to TMRh20's RF24 library.bashScript: Supplementary scripts for Linux integration.
sudo apt-get install build-essential gcc libclang-dev hwloc- Install Rust Nightly on the target platform through Rustup: https://rustup.rs/
- Build and compile WifiBroadacast using a C toolchain and Make: https://bitbucket.org/befi/wifibroadcast/.
This should provide you with two executables:
txandrx.
- Pull the repository if you haven't already
- Navigate to the folder you have pulled the repository on
- Initialize the git submodules
git submodule update --init --recursive
- Build the project on debug mode
cargo build
- If you want to build the project in release mode (e.g. with optimizations), then do.
cargo build --release
This assumes you have done the steps shown on Building on a Raspberry Pi.
- Create two new folders on
/opt:computerVisionandicaros. - Copy the contents of
bashScript/opt/computerVision/andComputerVision/into/opt/computerVision. - Copy
icaros/start.shinto/opt/icaros/start.sh. - Copy the WifiBroadcast executable
txas/opt/icaros/tx - Go to
target/debugortarget/release(whether you have built the project on debug mode or release mode) and copy the built executableicarosto/opt/icaros/icaros. - Install and enable the systemd services on
bashScript/etc/systemd/systeminto/etc/systemd/system.
The ICAROS system and the object detection application should now start at boot.
- Create a new folder on
/optcalledicaros_control. - Copy the contents of
icaros-control/wwwinto/opt/icaros_control/www. - Copy the WifiBroadcast executable
rxas/opt/icaros/rx - Go to
/opt/icaros_control. - Execute the program:
sudo ./icaros_control.