From 66b9e9b7cf5750013ed9b89a584c6142a886bbd4 Mon Sep 17 00:00:00 2001 From: Agent Smith <56497743+488Matrix@users.noreply.github.com> Date: Sat, 18 Jan 2025 15:16:39 -0800 Subject: [PATCH 1/3] Create setupPi.sh --- setupPi.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 setupPi.sh diff --git a/setupPi.sh b/setupPi.sh new file mode 100644 index 00000000..f3c66d8b --- /dev/null +++ b/setupPi.sh @@ -0,0 +1,50 @@ +# One-time setup for the Orange Pi's, needs to be connected to the internet +# make config directory +sudo mkdir -p /xbot/config + +# Update and upgrade +sudo apt-get upgrade -y +sudo apt update +sudo apt install -y ca-certificates curl gnupg +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg +echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + +sudo apt update +sudo apt install -y docker-ce docker-ce-cli containerd.io + +# Create udev rules for the color camera (ov9782) +echo 'ATTRS{idProduct}=="6366",ATTRS{idVendor}=="0c45",SYMLINK+="color_camera",GROUP="docker", MODE="0660"' | sudo tee /etc/udev/rules.d/99-usb-camera.rules + +# Restart udev to apply changes +sudo systemctl restart udev + +# Add docker group (if it doesn't already exist) +getent group docker || sudo groupadd docker + +# Add user to docker group +sudo usermod -aG docker $USER + +sudo newgrp docker + +USERNAME="pv" +PASSWORD="pv" +SHELL="/bin/bash" +GROUP="pv,sudo" + +# Create the user and add to the group +sudo useradd -m -s "$SHELL" -G "$GROUP" "$USERNAME" + +SERVICE_FILE="/etc/systemd/system/photonvision.service" + +# Check if the line already exists and add or replace it +if grep -q "^User=" "$SERVICE_FILE"; then + # Replace the existing User line + sudo sed -i "s/^User=.*/User=pv/" "$SERVICE_FILE" +else + # Add the User line under the [Service] section + sudo sed -i "/^\[Service\]/a User=pv" "$SERVICE_FILE" +fi + +# Reload systemd to apply changes +sudo systemctl daemon-reload +sudo systemctl restart photonvision From 4a12f5d4a142ae4ffee86ce200d98130c0d96485 Mon Sep 17 00:00:00 2001 From: Agent Smith <56497743+488Matrix@users.noreply.github.com> Date: Sat, 18 Jan 2025 15:18:52 -0800 Subject: [PATCH 2/3] Delete setupPi.sh --- setupPi.sh | 50 -------------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 setupPi.sh diff --git a/setupPi.sh b/setupPi.sh deleted file mode 100644 index f3c66d8b..00000000 --- a/setupPi.sh +++ /dev/null @@ -1,50 +0,0 @@ -# One-time setup for the Orange Pi's, needs to be connected to the internet -# make config directory -sudo mkdir -p /xbot/config - -# Update and upgrade -sudo apt-get upgrade -y -sudo apt update -sudo apt install -y ca-certificates curl gnupg -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg -echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - -sudo apt update -sudo apt install -y docker-ce docker-ce-cli containerd.io - -# Create udev rules for the color camera (ov9782) -echo 'ATTRS{idProduct}=="6366",ATTRS{idVendor}=="0c45",SYMLINK+="color_camera",GROUP="docker", MODE="0660"' | sudo tee /etc/udev/rules.d/99-usb-camera.rules - -# Restart udev to apply changes -sudo systemctl restart udev - -# Add docker group (if it doesn't already exist) -getent group docker || sudo groupadd docker - -# Add user to docker group -sudo usermod -aG docker $USER - -sudo newgrp docker - -USERNAME="pv" -PASSWORD="pv" -SHELL="/bin/bash" -GROUP="pv,sudo" - -# Create the user and add to the group -sudo useradd -m -s "$SHELL" -G "$GROUP" "$USERNAME" - -SERVICE_FILE="/etc/systemd/system/photonvision.service" - -# Check if the line already exists and add or replace it -if grep -q "^User=" "$SERVICE_FILE"; then - # Replace the existing User line - sudo sed -i "s/^User=.*/User=pv/" "$SERVICE_FILE" -else - # Add the User line under the [Service] section - sudo sed -i "/^\[Service\]/a User=pv" "$SERVICE_FILE" -fi - -# Reload systemd to apply changes -sudo systemctl daemon-reload -sudo systemctl restart photonvision From fd2860c1bbf22c9e18b2233c4e332fad6d5fa86e Mon Sep 17 00:00:00 2001 From: Agent Smith <56497743+488Matrix@users.noreply.github.com> Date: Sat, 18 Jan 2025 15:20:29 -0800 Subject: [PATCH 3/3] Update install_opi5.sh --- install_opi5.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/install_opi5.sh b/install_opi5.sh index 7387d31a..96223053 100755 --- a/install_opi5.sh +++ b/install_opi5.sh @@ -83,3 +83,58 @@ apt-get --yes --quiet clean rm -rf /usr/share/doc rm -rf /usr/share/locale/ + + +# ----- vision stuff ------- + +# One-time setup for the Orange Pi's, needs to be connected to the internet +# make config directory +sudo mkdir -p /xbot/config + +# Update and upgrade +sudo apt-get upgrade -y +sudo apt update +sudo apt install -y ca-certificates curl gnupg +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg +echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + +sudo apt update +sudo apt install -y docker-ce docker-ce-cli containerd.io + +# Create udev rules for the color camera (ov9782) +echo 'ATTRS{idProduct}=="6366",ATTRS{idVendor}=="0c45",SYMLINK+="color_camera",GROUP="docker", MODE="0660"' | sudo tee /etc/udev/rules.d/99-usb-camera.rules + +# Restart udev to apply changes +sudo systemctl restart udev + +# Add docker group (if it doesn't already exist) +getent group docker || sudo groupadd docker + +# Add user to docker group +sudo usermod -aG docker $USER + +sudo newgrp docker + +USERNAME="pv" +PASSWORD="pv" +SHELL="/bin/bash" +GROUP="pv,sudo" + +# Create the user and add to the group +sudo useradd -m -s "$SHELL" -G "$GROUP" "$USERNAME" + +SERVICE_FILE="/etc/systemd/system/photonvision.service" + +# Check if the line already exists and add or replace it +if grep -q "^User=" "$SERVICE_FILE"; then + # Replace the existing User line + sudo sed -i "s/^User=.*/User=pv/" "$SERVICE_FILE" +else + # Add the User line under the [Service] section + sudo sed -i "/^\[Service\]/a User=pv" "$SERVICE_FILE" +fi + +# Reload systemd to apply changes +sudo systemctl daemon-reload +sudo systemctl restart photonvision +