Important: Parts of this development guide are out-of-date.
During the development of this prototype we used the OptiTrack tracking system by NaturalPoint to capture device locations. The server listens (see oscReceiver) on OSC network messages containing the corresponding device locations.
As describe in the README, the app can also be used without such a tracking system.
- Load the root folder in PyCharm and open the Project tab.
- Get a key for the Google Geocoding API. This key is necessary to get the coordination of the neighborhoods in Baltimore.
- Right-click on
gen_db\main_generate_db.py
and choose Run 'main_generate_db'. - Left click on the
main_generate_db
on the top right, right next to the start button, and than choose Edit configurations ... There you need to add -r in theParameters
field. You should also add the parameter --api-key= for the API key from google. - Start the
main_generate_db
again. This will create the database for the application. - Change values in the
config/config_app.py
file. - Right-click on
main.py
and choose Run 'main'.
There are several settings to be found in the configs/config_app.py
to find. Some of them will be descript here:
- SETTING: The environment the application is started on. The following lines containes different values specifig for each technical setting this application can run on.
- show_test_touch_view: Should an extra view be shown before the main app created? This only occurres if the study_mode is true. To leave the test touch view its necessary to touch each of the 12 rectangles shown. This allows us to test if each of the single displays recognizes the touches.
- study_mode: Should the application be started in study mode? In study mode the application logs all movement and interactions of users and devices in front of the wall. Also all touch events are logged too. It will also show an extra study mode task text view.
- optitrack_ip: The ip of the optitrack server the application should receive the data from.
- optitrack_port: The port of the optitrack server.
- kinect_data_ip: The ip of the kinect that sends data to the application. This is only necessary if the application should work in study mode.
- pixel_per_cm: The pixel per cm of the display that is used. This is necessary to map the pointer of a deivce correctly on the display wall.
- display_height_cm: The height of the display that is used. This is only necessary in combination with the use of a device as a cursor.
- force_sql_reload: If this is true the sql results will be calculated again at the next start up of the application. This is necessary if the sqlite database was newly generated or if the sql queries were changed.
- fake_data_mode: If this is true the application will not use the real data set but rather the fake one. The fake one needs to be created with the flag
-f
at thegen_db/main_generate_db.py
. Here its only necessary to set this setting to True. - default_language: Its possible to translate all shown text of this application from english in different languages. If a new language besides english and german should be used, a file in
assets/translations
needs to be added. Further is it necessary to add this file in thedivico_ctrl/translation.py
file. Also is it necessary to repeat all steps at the first start if the application was run before.