Ultimaker Buildplate Camera: verschil tussen versies
(→Setup) |
(→Setup) |
||
Regel 9: | Regel 9: | ||
= Setup = | = Setup = | ||
− | The ultimaker buildplate camera relies on a SSH tunnel provided by the [[ | + | The ultimaker buildplate camera relies on a SSH tunnel provided by the service: |
+ | |||
+ | [Unit] | ||
+ | Description=Tunnel for the ultimaker camera | ||
+ | After=network.target | ||
+ | |||
+ | [Service] | ||
+ | ExecStart=/usr/bin/ssh -i /etc/ultimaker-tunnel -l dirkx -p 222 -T -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L 127.0.0.1:9998:192.168.6.12:8080 volmolengracht - | ||
+ | RestartSec=30 | ||
+ | Restart=always | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
There is an extra tunnel tot port 8080 on the (statich-sh) IP address of the printer; and a 'permit' line for this has been added to the .ssh/authorized keys file on the space-side. | There is an extra tunnel tot port 8080 on the (statich-sh) IP address of the printer; and a 'permit' line for this has been added to the .ssh/authorized keys file on the space-side. |
Versie van 25 jan 2023 om 11:56
Use
Login to the CRM (https://makerspaceleiden.nl/crm) and select the 3rd menu option.
Setup
The ultimaker buildplate camera relies on a SSH tunnel provided by the service:
[Unit] Description=Tunnel for the ultimaker camera
After=network.target
[Service] ExecStart=/usr/bin/ssh -i /etc/ultimaker-tunnel -l dirkx -p 222 -T -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L 127.0.0.1:9998:192.168.6.12:8080 volmolengracht - RestartSec=30 Restart=always
[Install] WantedBy=multi-user.target
There is an extra tunnel tot port 8080 on the (statich-sh) IP address of the printer; and a 'permit' line for this has been added to the .ssh/authorized keys file on the space-side.
At this port on the Ultimaker; there is a webcam module that accepts two rest calls (AFAIK): ?action=stream en ?action=snapshot. We take the latter to not overload things (and not having to deal with async streaming, etc).
The connection is then reverse proxied by the ultimaker module in our CRM https://github.com/MakerSpaceLeiden/makerspaceleiden-crm. The key config is in views.py:
def snapshot(request): img = requests.get("http://127.0.0.1:9998/?action=snapshot").content return HttpResponse(img, content_type="image/jpeg")
With the updating done by a few lines of javascript - see https://github.com/MakerSpaceLeiden/makerspaceleiden-crm -> ultimaker/templates and then index.html