MODAQ 2 package for uploading data to AWS S3 buckets
| Platform | Architecture | ROS 2 Distro | Status |
|---|---|---|---|
| Ubuntu 22.04 | x64 | Humble | |
| Ubuntu 22.04 | ARM64 | Humble | |
| Ubuntu 24.04 | x64 | Jazzy | |
| Ubuntu 24.04 | ARM64 | Jazzy |
If we make this subscribe to /event/write_split, we can see when an mcap file is closed and ready to be uploaded:
ros2 topic echo /events/write_split
closed_file: /home/m2/Data/Bag_2024_10_19_16_45_35/Bag_2024_10_19_16_45_35_1.mcap opened_file: /home/m2/Data/Bag_2024_10_19_16_45_35/Bag_2024_10_19_16_45_35_2.mcap
#install prereq's
sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-devClone repo, build and install:
cd ~
git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
cd aws-sdk-cpp
mkdir sdk_build
cd sdk_build
# only build S3 library
cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_ONLY="s3"
make
sudo make install
#this installs the sdk libraries in /usr/local/
This repo requires the bag_recorder node to be running.
https://github.com/MODAQ2/bag_recorder
You can also use this ros2 package to upload status csv's to S3 for MODAQ:Web. Everytime a CSV is finished, publish the file path to /events/write_split like the bag recorder does for MCAP files. A status_logger ros2 node for generating the downsampled csv files is coming soon!