A multitouch table with a screen 80cm by 60cm.
Building a multitouch table
Background on the technology
Here are the various techniques to make a multitouch surface http://nuigroup.com/forums/viewthread/1982/ The one we will be doing is the LLP. Basically because it is easier and cheaper...
Here you can find information on the software and see how it works http://nuigroup.com/log
A few different setup-ups can be seen here http://nuigroup.com/forums/viewannounce/6763_74/
Λίστα & Κόστος υλικών
|IR Lasers 780nm 50mw||2||30$|
|PS3 web camera||1||20€|
|Γυαλί 82cm x 62cm x 0.8cm||1||22€|
|Ριζόχαρτο 80cm x 60cm||1||1€|
|R76 760nm filter (IR-pass visual-block)||1||12€|
|Ξύλα για το frame της γυάλινης επιφάνειας||1||3€|
|Ξύλα για το τραπέζι|
|Ξύλα για τις πλευρές του τραπέζιού|
- Frame 80cm x 60cm clear screen size
- Detail of how the glass will fit and be supported by the frame
- Detail of how the lasers will be fitted on the corners of the frame
This is experimental
CCV 1.4 First run the ../scripts/ubuntu/install_dependencies.sh script Then try running the ../Community_Core_Vision/clickToLaunchApp.sh you might still be missing some libraries try finding them and install them, note that not all libraries can be found with their exact name in the software center, some come with other packaged names (for example if you are missing libglut the install the freeglut from software center)
You chould have the CCV 1.4 running and getting an image from the Webcam. For PS3Eye cam in order to make it work I had to change the default resolution from 320x240 to 640x480. This is done by editing ccv-1.4-lin-bin/Community_Core_Vision/data/config.xml file.
Controlling the mouse
Once you have the camera working under CCV you can try TUIO to send messages to kernel. To do that:
install both pytuio & python-uinput by going in their respective directories and running sudo python setup.py install
- SO_REUSEPORT error
edit /usr/local/lib/python2.7/dist-packages/tuio/__init__.py line 39 change SO_REUSEPORT to SO_REUSEADDR see here
- typecast error
edit /usr/local/lib/python2.7/dist-packages/uinput/__init__.py line 152 change _libsuinput.suinput_emit(self.__uinput_fd, ev_type, ev_code, value) to _libsuinput.suinput_emit(self.__uinput_fd, ev_type, ev_code, int(value)) see here
The hopefully if you run the tuiototouch and have CCV running you click the TUIO UDP box on the right on CCV and you should be able to control the mouse from the CCV input!
Have multitouch apps
Another way to have multitouch is by installing pyMT run this command on terminal:
sudo apt-get install python-pymt
sudo apt-get install python-tk
then you can download the pymt apps https://github.com/tito/pymt-apps
You can configure the pymt although by default it should run with the TUIO messages sent at port 3333 from CCV.
- Find and try to run more apps
- pyMT apps
- ubuntu touch apps
- Try to run android
- Design and print an adjustable laser mount.