Installation » History » Version 12
Rafael Bailon-Ruiz, 2020-10-07 17:01
1 | 1 | Rafael Bailon-Ruiz | h1. Installation |
---|---|---|---|
2 | |||
3 | 4 | Rafael Bailon-Ruiz | This is a quick tutorial on how to install CAMS on your computer. Instructions are different depending on your needs: If a you are a regular user proceed with the [[Installation#Regular user installation process|Regular user installation process]]; and if you are a developer, follow the [[Installation#Developer installation process|Developer installation process]]. |
4 | 1 | Rafael Bailon-Ruiz | |
5 | 5 | Rafael Bailon-Ruiz | In any case, CAMS server requires a PC running a recent GNU/Linux operating system, preferably Ubuntu 18.04 or 20.04. Windows and MacOS are not supported. On the contrary, access to the graphical user interface is possible from any device running a modern web browser. |
6 | 1 | Rafael Bailon-Ruiz | |
7 | 5 | Rafael Bailon-Ruiz | {{toc}} |
8 | 1 | Rafael Bailon-Ruiz | |
9 | h2. Regular user installation process |
||
10 | |||
11 | 2 | Rafael Bailon-Ruiz | This guide assumes you are using Ubuntu 18.04. If you are using another operating system make sure that Python 3.5 or later is installed. |
12 | 1 | Rafael Bailon-Ruiz | |
13 | h3. Paparazzi framework |
||
14 | |||
15 | 2 | Rafael Bailon-Ruiz | First, install the Paparazzi framework using the "one-liner installation process":https://wiki.paparazziuav.org/wiki/Installation#Quickstart_for_Ubuntu_users. If you are not an Ubuntu user follow the "OS specific instructions":https://wiki.paparazziuav.org/wiki/Installation#OS_Specific_Instructions. |
16 | 1 | Rafael Bailon-Ruiz | |
17 | 2 | Rafael Bailon-Ruiz | Add the environment variables PAPARAZZI_HOME and PAPARAZZI_SRC to your command line interpreter. The code below should work for most users **if you used the one-liner installation**: |
18 | 1 | Rafael Bailon-Ruiz | |
19 | <pre><code class="shell"> |
||
20 | echo "export PAPARAZZI_HOME=~/paparazzi" >> ~/.bashrc |
||
21 | echo "export PAPARAZZI_SRC=~/paparazzi" >> ~/.bashrc |
||
22 | </code></pre> |
||
23 | |||
24 | 2 | Rafael Bailon-Ruiz | Otherwise, you can find more information "here":https://wiki.paparazziuav.org/wiki/Installation#Environment_Variables. |
25 | 1 | Rafael Bailon-Ruiz | |
26 | 2 | Rafael Bailon-Ruiz | h3. CAMS |
27 | 1 | Rafael Bailon-Ruiz | |
28 | 2 | Rafael Bailon-Ruiz | Make sure that curl is installed: |
29 | <pre><code class="shell"> |
||
30 | 7 | Rafael Bailon-Ruiz | sudo apt install curl |
31 | 2 | Rafael Bailon-Ruiz | </code></pre> |
32 | |||
33 | 1 | Rafael Bailon-Ruiz | Make sure that redis is installed: |
34 | <pre><code class="shell"> |
||
35 | 7 | Rafael Bailon-Ruiz | sudo apt install redis-server |
36 | 6 | Rafael Bailon-Ruiz | </code></pre> |
37 | 1 | Rafael Bailon-Ruiz | |
38 | Install pip3 and update it: |
||
39 | <pre><code class="shell"> |
||
40 | 7 | Rafael Bailon-Ruiz | sudo apt install python3-pip |
41 | 1 | Rafael Bailon-Ruiz | pip3 install --user --upgrade pip |
42 | </code></pre> |
||
43 | |||
44 | 2 | Rafael Bailon-Ruiz | For now the easiest way to install CAMS is to clone the "git repository of the graphical user interface":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_gui and run its installation script. |
45 | 1 | Rafael Bailon-Ruiz | |
46 | <pre><code class="shell"> |
||
47 | git clone ssh://git@redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_gui.git nephelae_gui |
||
48 | cd nephelae_gui |
||
49 | 9 | Rafael Bailon-Ruiz | make --trace install pip_options=--user |
50 | 1 | Rafael Bailon-Ruiz | </code></pre> |
51 | |||
52 | To check the installation, launch the server: |
||
53 | |||
54 | <pre><code class="shell"> |
||
55 | make demo |
||
56 | </code></pre> |
||
57 | |||
58 | This will (hopefully) start the replay of a UAV flight. |
||
59 | |||
60 | 2 | Rafael Bailon-Ruiz | You should now be able connect to the graphical user interface with your web browser on "http://0.0.0.0:8000/":http://0.0.0.0:8000/. |
61 | 1 | Rafael Bailon-Ruiz | |
62 | 2 | Rafael Bailon-Ruiz | h2. Developer installation process |
63 | 1 | Rafael Bailon-Ruiz | |
64 | 2 | Rafael Bailon-Ruiz | h3. System requirements |
65 | |||
66 | The main programming language is **Python 3.5**. "Official support for Python 2.7 ending by the beginning of 2020":https://pythonclock.org/, no development efforts were made to support Python 2.7. |
||
67 | |||
68 | Most of development and testing where made on "Ubuntu 16.04 LTS Xenial Xerus":http://releases.ubuntu.com/16.04/ on which Python 3.5 is the default Python version. |
||
69 | |||
70 | All server side applications should work on a Unix-based system provided it supports Python 3.5 or later. Compatibility with Microsoft Windows has not been tested. |
||
71 | |||
72 | The client side application is web-based and should work on a modern web browser. (Only tested with Mozilla Firefox and Safari). |
||
73 | |||
74 | 1 | Rafael Bailon-Ruiz | h3. Paparazzi framework |
75 | |||
76 | Make sure that curl is installed: |
||
77 | <pre><code class="shell"> |
||
78 | 6 | Rafael Bailon-Ruiz | apt install curl |
79 | 1 | Rafael Bailon-Ruiz | </code></pre> |
80 | |||
81 | h4. System dependencies (for Ubuntu 16.04) |
||
82 | |||
83 | <pre><code class="shell"> |
||
84 | add-apt-repository ppa:team-gcc-arm-embedded/ppa |
||
85 | 6 | Rafael Bailon-Ruiz | apt update |
86 | apt install gcc-arm-linux-gnueabi gcc-arm-none-eabi |
||
87 | 1 | Rafael Bailon-Ruiz | </code></pre> |
88 | |||
89 | <pre><code class="shell"> |
||
90 | add-apt-repository ppa:paparazzi-uav/ppa |
||
91 | 6 | Rafael Bailon-Ruiz | apt update |
92 | apt install paparazzi-dev paparazzi-jsbsim |
||
93 | 1 | Rafael Bailon-Ruiz | </code></pre> |
94 | |||
95 | h4. System dependencies (for Ubuntu 18.04) |
||
96 | |||
97 | <pre><code class="shell"> |
||
98 | 6 | Rafael Bailon-Ruiz | apt install gcc-arm-none-eabi |
99 | 1 | Rafael Bailon-Ruiz | </code></pre> |
100 | |||
101 | <pre><code class="shell"> |
||
102 | add-apt-repository ppa:paparazzi-uav/ppa |
||
103 | 6 | Rafael Bailon-Ruiz | apt update |
104 | apt install paparazzi-dev paparazzi-jsbsim |
||
105 | 1 | Rafael Bailon-Ruiz | </code></pre> |
106 | |||
107 | h4. Repository |
||
108 | <pre><code class="shell"> |
||
109 | 11 | Rafael Bailon-Ruiz | git clone -b laas_wip ssh://git@redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/paparazzi.git paparazzi |
110 | 1 | Rafael Bailon-Ruiz | cd paparazzi |
111 | make |
||
112 | </code></pre> |
||
113 | |||
114 | 2 | Rafael Bailon-Ruiz | LAAS-Nephelae software needs the environment variables PAPARAZZI_HOME and PAPARAZZI_SRC to be set to the root paparazzi folder (where you cloned it). Add these lines to your .bashrc, replacing "paparazzi_path" to where you cloned paparazzi repository. |
115 | 1 | Rafael Bailon-Ruiz | |
116 | <pre><code class="shell"> |
||
117 | export PAPARAZZI_HOME="paparazzi_path" |
||
118 | export PAPARAZZI_SRC="paparazzi_path" |
||
119 | </code></pre> |
||
120 | |||
121 | 2 | Rafael Bailon-Ruiz | Once Paparazzi installed, launch ./paparazzi. In the paparazzi center, build every aircraft you need to use by selecting an item in the _A/C_ menu and then clicking on the _build_ button. |
122 | 1 | Rafael Bailon-Ruiz | |
123 | 2 | Rafael Bailon-Ruiz | h3. CAMS |
124 | 1 | Rafael Bailon-Ruiz | |
125 | Install pip3 and update it: |
||
126 | <pre><code class="shell"> |
||
127 | 6 | Rafael Bailon-Ruiz | apt install python3-pip |
128 | 1 | Rafael Bailon-Ruiz | pip3 install --user --upgrade pip |
129 | </code></pre> |
||
130 | |||
131 | If you want to update it for all users: |
||
132 | <pre><code class="shell"> |
||
133 | pip3 install --upgrade pip |
||
134 | </code></pre> |
||
135 | |||
136 | 12 | Rafael Bailon-Ruiz | Clone and install the core packages (in developer mode with the -e pip3 option): |
137 | 1 | Rafael Bailon-Ruiz | |
138 | "nephelae_base":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_base. |
||
139 | <pre><code class="shell"> |
||
140 | git clone git://redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_base.git nephelae_base |
||
141 | cd nephelae_base |
||
142 | pip3 install --user -e . |
||
143 | </code></pre> |
||
144 | |||
145 | "nephelae_mesonh":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_mesonh. |
||
146 | <pre><code class="shell"> |
||
147 | git clone git://redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_mesonh.git nephelae_mesonh |
||
148 | cd nephelae_mesonh |
||
149 | pip3 install --user -e . |
||
150 | </code></pre> |
||
151 | |||
152 | "nephelae_paparazzi":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_paparazzi. |
||
153 | <pre><code class="shell"> |
||
154 | git clone git://redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_paparazzi.git nephelae_paparazzi |
||
155 | cd nephelae_paparazzi |
||
156 | pip3 install --user -e . |
||
157 | </code></pre> |
||
158 | |||
159 | 10 | Rafael Bailon-Ruiz | "nephelae_planner":https://redmine.laas.fr/projects/nephelae-planner/repository/nephelae_planner. |
160 | <pre><code class="shell"> |
||
161 | git clone git://redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_planner.git nephelae_planner |
||
162 | cd nephelae_planner |
||
163 | pip3 install --user -e . |
||
164 | </code></pre> |
||
165 | |||
166 | 1 | Rafael Bailon-Ruiz | Make sure that redis is installed: |
167 | <pre><code class="shell"> |
||
168 | 6 | Rafael Bailon-Ruiz | apt install redis-server |
169 | 1 | Rafael Bailon-Ruiz | </code></pre> |
170 | |||
171 | Clone and install the "nephelae_gui":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_gui package in developer mode: |
||
172 | <pre><code class="shell"> |
||
173 | git clone git://redmine.laas.fr/laas/users/simon/nephelae/nephelae-devel/nephelae_gui.git nephelae_gui |
||
174 | cd nephelae_gui |
||
175 | make install pip_options=--user install_mode=dev |
||
176 | </code></pre> |
||
177 | |||
178 | To check the installation, launch the server: |
||
179 | |||
180 | <pre><code class="shell"> |
||
181 | make demo |
||
182 | </code></pre> |
||
183 | |||
184 | This will (hopefully) start the replay of a UAV flight. |
||
185 | |||
186 | 2 | Rafael Bailon-Ruiz | You should now be able connect to the graphical user interface with your web browser on "http://0.0.0.0:8000/":http://0.0.0.0:8000/. |