From MakerSpace Leiden
Jump to: navigation, search


Login to the CRM (https://makerspaceleiden.nl/crm) and select the 3rd menu option.




The ultimaker buildplate camera relies on a SSH tunnel provided by the service:

  Description=Tunnel for the ultimaker camera
  ExecStart=/usr/bin/ssh -N -i /etc/ultimaker-tunnel -l tunnel -p 222 -T -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -L volmolengracht -

The key has been created with:

   ssh-keygen -f  /etc/ultimaker-tunnel 

And a 'permit' line for this has been added to the .ssh/authorized keys file on the space-side:

   no-pty,permitopen="",command="/bin/true"  ssh-rsa AAAA....= 

With the 'ssh-rsa AAA...' taken from /etc/ultimaker-tunnel.pub.

Note that this has to be done in the admin interface; under users (not in ~/.ssh; that file is automatically overwritten) - and need to be given 'tunnel' permissions.

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("").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