feat: replace rpi camera with oak camera

This commit is contained in:
Cyrille Nofficial 2022-01-28 18:07:36 +01:00
parent ab50870e0f
commit f1c20b3de2
6 changed files with 105 additions and 6 deletions

View File

@ -1 +1,2 @@
# Set group on camera device
SUBSYSTEM=="vchiq", GROUP="video", MODE="0660" SUBSYSTEM=="vchiq", GROUP="video", MODE="0660"

View File

@ -0,0 +1 @@
SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"

View File

@ -30,11 +30,14 @@
# notify: reboot # notify: reboot
- name: Set group on camera device - name: Add udev rules
copy: copy:
src: 10-vchiq-permissions.rules src: "{{ item }}"
dest: /etc/udev/rules.d/10-vchiq-permissions.rules dest: /etc/udev/rules.d/{{ item }}
notify: reboot notify: reboot
with_items:
- 10-vchiq-permissions.rules
- 80-movidius.rules
- name: Set groups to pi user - name: Set groups to pi user

View File

@ -7,7 +7,7 @@ metadata:
reloader.stakater.com/auto: "true" reloader.stakater.com/auto: "true"
spec: spec:
revisionHistoryLimit: 0 revisionHistoryLimit: 0
replicas: 1 replicas: 0
strategy: strategy:
type: Recreate type: Recreate
selector: selector:
@ -81,6 +81,96 @@ spec:
hostPath: hostPath:
path: "/dev/video0" path: "/dev/video0"
type: CharDevice type: CharDevice
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: oak-camera
annotations:
reloader.stakater.com/auto: "true"
spec:
revisionHistoryLimit: 0
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
component: oak-camera
template:
metadata:
labels:
component: oak-camera
spec:
containers:
- name: camera
image: docker.io/cyrilix/robocar-oak-camera
args:
- "--image-width=$(CAMERA_WIDTH)"
- "--image-height=$(CAMERA_HEIGHT)"
securityContext:
#runAsUser: 1234
#runAsGroup: 44 # Set 44/video group to access to video device
privileged: true
volumeMounts:
#- name: bus-usb
# mountPath: /dev/bus/usb
- name: sys
mountPath: /sys
- name: dev
mountPath: /dev
env:
- name: MQTT_BROKER
valueFrom:
configMapKeyRef:
key: MQTT_BROKER_HOST
name: robocar
- name: MQTT_USERNAME
valueFrom:
secretKeyRef:
key: MQTT_USERNAME
name: mqtt-credentials
- name: MQTT_PASSWORD
valueFrom:
secretKeyRef:
key: MQTT_PASSWORD
name: mqtt-credentials
- name: MQTT_CLIENT_ID
value: rc-oak-camera
- name: MQTT_TOPIC_CAMERA
valueFrom:
configMapKeyRef:
key: MQTT_TOPIC_CAMERA_OAK_COLOR
name: robocar
- name: CAMERA_WIDTH
valueFrom:
configMapKeyRef:
key: CAMERA_WIDTH
name: robocar-camera
- name: CAMERA_HEIGHT
valueFrom:
configMapKeyRef:
key: CAMERA_HEIGHT
name: robocar-camera
- name: MQTT_QOS
value: "0"
- name: TZ
value: "Europe/Paris"
securityContext:
runAsNonRoot: false
runAsUser: 0
hostNetwork: true
volumes:
- name: bus-usb
hostPath:
path: "/dev/bus/usb"
- name: sys
hostPath:
path: /sys
- name: dev
hostPath:
path: "/dev"
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment

View File

@ -15,3 +15,6 @@ images:
- name: docker.io/cyrilix/robocar-pca9685 - name: docker.io/cyrilix/robocar-pca9685
newTag: v0.4.0-1-gc42086a newTag: v0.4.0-1-gc42086a
- name: docker.io/cyrilix/robocar-oak-camera
newTag: v0.0.1-17-g863cddb

View File

@ -8,7 +8,8 @@ data:
MQTT_BROKER: "tcp://192.168.2.221:1883" MQTT_BROKER: "tcp://192.168.2.221:1883"
# Camera # Camera
MQTT_TOPIC_CAMERA: car/satanas/part/camera MQTT_TOPIC_CAMERA: car/satanas/part/camera/camera/color
MQTT_TOPIC_CAMERA_OAK_COLOR: car/satanas/part/camera/color
# Radio command # Radio command