You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Deploy Remote

If you select this option, the behaviour of the whole deployment fundamentally changes. Your software is no longer deployed locally, on your device, but on the NUCs (HLCs) which are used in the Lab. Your system must be set up similarly to the main Lab PC for this option to actually work. The following requirements must be fulfilled.

  • The main Lab PC (IP: 192.168.1.249) must be running (with an Apache Server), ideally before the NUCs are turned on. The middleware, cpm library and autostart software must be built - the build script puts data required for the software to work on the NUCs in folders that allow the NUCs to download it from the Apache Server (/var/www/html/nuc).
  • Your folder structure must match the recommended folder structure (usage of ~/dev/...) for both the cpm library and the software repository. If your script/program relies on this data, then you should always refer to other programs using paths relative from ~ (so do not use /home/username explicitly). Cpm library and middleware can be found in the same folders on the NUCs.
  • All required data must lie in the same folder as your executable or script. The whole folder containig it gets uploaded to each NUC. If you depend on other data (except for the Middleware or cpm library, which are uploaded separately), put it in that folder, or your program might not work correctly. WARNING: Relative script paths are currently not supported. Also, please do not enter folders that may contain a lot of data (e.g. "./"), because all that data is then uploaded to all NUCs (which, although it gets deleted after they are restarted, is quite unnecessary)
  • If you use Matlab then you need to use the init script to load required data and to setup the reader and writer and include it in your own script folder, or - alternatively - use a script that is inspired by the init script. QOS_LOCAL_COMMUNICATION.xml is always located in ~/dev/software/middleware/build, and precompiled DDS IDL Matlab files can always be found in ~/dev/software/cpm_lib/dds_idl_matlab. Other files cannot be expected to be found on the NUC, unless you put them in the same folder as your own script.
  • The UI indicates how many NUCs are online. Vehicle IDs are matched to available NUC IPs in an ascending order (IP ...211 → ID 1, IP ...215 → ID 4), depending on the vehicle IDs you have selected. The UI shows you how many NUCs are currently online (matching might take up to a minute after the NUCs have been booted and your program has started.) You cannot simulate more vehicles than NUCs are available - each NUC is always responsible for one vehilce only. Else, please use local deployment (or start additional scripts locally manually).

The location of the cpm library is always set using LD_LIBRARY_PATH in the local terminal - you do not need to take care of this in your program, as long as you have linked the library properly.

The HLCs use a startup script that takes the cpm library and the Middleware from an Apache server located on the Lab's main PC. The according files are updated every single time that these components are built. If you changed them during the lab run / if they are missing, please rebuild them and restart the NUCs/HLCs, so that they get the new software.

This decision was made to reduce upload traffic when files are uploaded to the HLCs during a lab run.

  • No labels