the tng panocam, a 360° panorama camera by thomas endres, martin förtsch & julian exner
DESCRIPTION
Presentation of the TNG Panocam at the Ultracode Munich meetup #6 http://www.meetup.com/Ultracode-Munich/events/190726702/TRANSCRIPT
![Page 1: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/1.jpg)
![Page 2: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/2.jpg)
founded in 2001, since then a compound annual growth rate of about 20%
on a partnership basis established high end IT specialized consulting company
winner of "Bayerns Best 50" in 2010 and 2012
![Page 3: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/3.jpg)
about 140 permanent employees where 98% have a university degree
every 2nd and 4th friday in a month is a "Techday" as internal activity for self-
improvement
![Page 4: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/4.jpg)
Software development (60%), Administration & Operations (20%), IT-
Management (20%)
Projects together with up to 30 TNG-employees
Best practices, agile development methods and much more
![Page 5: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/5.jpg)
Interested? Send your application to
TNG Technology Consulting GmbH, Betastr. 13a, 85774 Unterföhring b. München
http://tngtech.com/
![Page 6: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/6.jpg)
360° Camera
The TNG Panocube
![Page 7: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/7.jpg)
AgendaThe idea
RealizationConclusion
![Page 8: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/8.jpg)
A panorama picture ...
Schalzbackvorsäß, by Friedrich Böhringer
![Page 9: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/9.jpg)
... in all directions
http://occipital.com/static/newproduct/img/ex-stereo1.jpg
![Page 10: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/10.jpg)
The Panono camera
![Page 11: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/11.jpg)
The Panono camera
http://www.panono.com/ballcamera
![Page 12: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/12.jpg)
GoPro panorama camera
by Jonas Ginter
![Page 13: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/13.jpg)
GoPro panorama camera
http://www.jonasginter.de
![Page 14: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/14.jpg)
Virtual Surfers
![Page 15: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/15.jpg)
TNG Pano Cube
![Page 16: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/16.jpg)
TNG Pano Cube
![Page 17: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/17.jpg)
Why the heck are you doingit??
http://m.cdn.blog.hu/na/nanoretro/image/portal_weighted_companion_cube.jpg
![Page 18: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/18.jpg)
Concept
![Page 19: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/19.jpg)
AgendaThe idea
RealizationConclusion
![Page 20: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/20.jpg)
Concept - revisited
![Page 21: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/21.jpg)
The Cube
![Page 22: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/22.jpg)
Let's Focus on it
![Page 23: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/23.jpg)
The Content
![Page 24: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/24.jpg)
The Assembly
![Page 25: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/25.jpg)
Provisioning
![Page 26: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/26.jpg)
Inventory definition[cam]cam1cam2cam3...
[odroid]odroid
![Page 27: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/27.jpg)
Playbooks
![Page 28: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/28.jpg)
Playbook example- hosts: cam sudo: True tasks: - lineinfile: dest=/etc/hosts line='192.168.1.99 odroid' - copy: src={{ inventory_dir }}/reconnect.sh dest=/usr/bin/reconnect.sh mode=0700 - apt: pkg={{ item }} state=present with_items: - htop - nmap - cron: name='reconnect wifi' job='/usr/bin/reconnect.sh'
![Page 29: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/29.jpg)
Ansible command lineExecute remote commands:
# execute ping command as user bruce, sudoing to root$ ansible all -m ping -u bruce --sudo
Provision using a playbook:
# provision all cam hosts in inventory using playbook deploy.yml$ ansible-playbook -i inventory --limit cam deploy.yml
![Page 30: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/30.jpg)
Data transfer
![Page 31: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/31.jpg)
Twisted - Socket factoryclass PanoFactory(protocol.Factory): def __init__(self): logging.info('Server started')
def buildProtocol(self, addr): logging.info('New client at {}:{}'.format(addr.host, addr.port)) return PanoProtocol(self)
if __name__ == "__main__": reactor.listenTCP(8100, PanoFactory()) reactor.run()
![Page 32: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/32.jpg)
Twisted - Socket clientclass PanoProtocol(basic.LineReceiver): def lineReceived(self, line): logging.debug('Got "{}" from client'.format(line))
def sendCommand(self, command): self.transport.write('{}\n'.format(command))
def connectionMade(self): logging.info('Client connection made')
def connectionLost(self, reason): logging.info('Client connection lost')
![Page 33: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/33.jpg)
Trigger - Android
![Page 34: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/34.jpg)
Stitching
![Page 35: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/35.jpg)
Stage 1 - Registration
![Page 36: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/36.jpg)
Stage 2 - Calibration
![Page 37: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/37.jpg)
Stage 3 - Blending
![Page 38: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/38.jpg)
Tools
![Page 39: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/39.jpg)
AgendaThe idea
RealizationConclusion
![Page 40: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/40.jpg)
Results
![Page 41: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/41.jpg)
Results
![Page 42: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/42.jpg)
Results
![Page 43: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/43.jpg)
Results
![Page 44: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/44.jpg)
Results
![Page 45: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/45.jpg)
Improvements
![Page 46: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/46.jpg)
Improvements
![Page 47: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/47.jpg)
Improvements
![Page 48: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/48.jpg)
Improvements
![Page 49: The TNG PanoCam, a 360° panorama camera by Thomas Endres, Martin Förtsch & Julian Exner](https://reader034.vdocuments.site/reader034/viewer/2022042601/554f7061b4c905c8088b552c/html5/thumbnails/49.jpg)
Andriy Samsonyuk
Daniele Fognini
Julian Exner
Manuel Meilinger
Martin Förtsch
Thomas Endres
Thomas Reifenberger
Woyten Tielesch