Add a simple oled display controller

This commit is contained in:
2026-05-01 11:34:56 +00:00
parent a1f91e834b
commit ee71c80edd
8 changed files with 304 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
# syntax=docker/dockerfile:1
# ── Stage 1: build ────────────────────────────────────────────────────────────
FROM ros:kilted AS builder
SHELL ["/bin/bash", "-c"]
RUN apt-get update && apt-get install -y --no-install-recommends \
python3-colcon-common-extensions \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /ws
COPY oled/src/raspbot_oled/ src/raspbot_oled/
RUN source /opt/ros/${ROS_DISTRO}/setup.bash && \
colcon build --packages-select raspbot_oled
# ── Stage 2: runtime ──────────────────────────────────────────────────────────
FROM ros:kilted-ros-core
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-${ROS_DISTRO}-rclpy \
ros-${ROS_DISTRO}-sensor-msgs \
python3-venv \
python3-smbus \
fonts-dejavu-core \
&& rm -rf /var/lib/apt/lists/*
RUN python3 -m venv /opt/oled-venv --system-site-packages && \
/opt/oled-venv/bin/pip install --no-cache-dir luma.oled psutil
COPY --from=builder /ws/install /ws/install
RUN echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> /etc/bash.bashrc && \
echo "source /ws/install/setup.bash" >> /etc/bash.bashrc
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/opt/oled-venv/bin/python3", "-m", "raspbot_oled.oled_node"]