source: core/trunk/client/README.txt @ 345

Last change on this file since 345 was 332, checked in by smoser, 11 years ago

Feedback from Jean-Luc Aeby

  • Property svn:mime-type set to text/plain
File size: 5.7 KB
Line 
1#-------------------------------------------------------------------------------
2# This file is part of the FLARM®-Radar Project.
3#   
4#   Copyright 2012-2014 Simon Moser
5#   Copyright 2013-2014 Dominic Spreitz
6#
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11#   http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18#
19#   Project Website: www.flarmradar.ch
20#   Email: info@flarmradar.ch
21#-------------------------------------------------------------------------------
22    OVERVIEW
23   
24This document describes the installation procedure for the Flarm-Radar Client
25on a Raspberry PI running Raspbian. At the time of writing this document, this
26is the only platform where the client has been tested over a long time period
27in a production-like environment.
28
29However, the client can be installed on any operating system where
30Perl (http://www.perl.org) is available. Some customising might be required
31in this case.
32
33
34    REQUIREMENTS
35   
36Note: Early versions of Raspbian had a nasty bug that caused minicom to freeze
37  the entire system after some hours or days of operations. Don't forget to
38  update the OS before starting with the installation.
39
401. Log on the Raspberry (as user 'pi') and install required dependencies
41  -> $ sudo apt-get update && apt-get install zip dnsutils libwww-perl minicom
42 
432. Connect the Flarm to the Raspberry and start minicom
44  -> $ sudo minicom -s
45
463. Configure communication settings for minicom (tty, baud rate, etc.). Save the
47  configuration file, exit and restart mincom (no parameters) to see the data
48  stream. Once the configuration is correct and the Flarm Device is
49  turned on, you must be able to see live position data when you start minicom:
50
51$ sudo minicom
52....
53$GPRMC,123512.00,A,4710.24781,N,00902.46662,E,0.017,237.67,240312,,,A*6E
54$GPGGA,123512.00,4710.24781,N,00902.46662,E,1,8,1.40,413.2,M,48.0,M,,*6E
55$PFLAA,0,-118,-85,1,1,4B51BC,0,,0,0.1,1*1E
56$PFLAA,0,-35,-124,2,1,4B51FF,158,,0,0.1,1*14
57$PFLAU,2,1,1,1,0,,0,,*61
58$GPRMC,123513.00,A,4710.24782,N,00902.46659,E,0.002,237.67,240312,,,A*60
59$GPGGA,123513.00,4710.24782,N,00902.46659,E,1,8,1.40,413.1,M,48.0,M,,*67
60....
61 
62If you reach that: Congratulations, you're nearly done :-)
63
64
65    INSTALLATION
66
67Installation is possible via software package or manually, the second option
68is for advanced users.
69
70Installation via Software Package
71
721. Download and unzip the client from http://www.flarmradar.ch/public/dist/pkg
73  -> $ wget http://www.flarmradar.ch/public/dist/client/pkg/flarmclient_<version>_all.deb
74
752. Install the pre-requisites
76  -> sudo apt-get install libwww-perl,libdevice-serialport-perl
77 
783. Install the package
79  -> $ sudo dpkg -i flarmclient_<version>_all.deb
80 
81
82Manual Installation
83
841. Create a new account named 'flarm'
85  -> $ sudo useradd -m --system flarm
86
87Note1: This account does not need a password (because you might loose it and
88  it is safer anyway).
89 
902. Make sure that the user 'flarm' has permissions to read from the device
91  that was previously configured in minicom. If RS232-USB adapter is used, then
92  this is /dev/ttyUSB0, or alike. It is usually sufficient to assign the user
93  with an additional secondary group.
94 
953. Change identity to 'flarm'
96  -> $ sudo su - flarm
97 
984. Download and unzip the client from http://www.flarmradar.ch/public/dist
99  -> $> wget http://www.flarmradar.ch/public/dist/client-<version>.zip
100  -> $> unzip flarmclient-<version>.zip
101 
102
103    CONFIGURATION
104
105The client reads a single configuration file /etc/flarmclient.conf
106
1071. Set the a client key. If you use your own server, then you are free to set
108  your own key. To use the public server, request a key at info@flarmradar.ch
109  with the following information:
110  o) ICAO-Code of your airport/airfield
111  o) Short Name (will appear in the menu)
112  o) Elevation (in mAMSL)
113  o) Antenna level (in mAGL)
114  o) Email Address of a responsible person/organization
115
1162. Configure the URL of the flarm server. If you use the public server, then
117  you can leave the default value.
118
1193. Configure the serial device:
120  - serial_device = /dev/AMA0 (if you are using the UART port)
121  - serial_device = /dev/ttyUSB0 (if you are using a USB-Serial adapter)
122
123    TEST THE INSTALLATION
124
1251. Download a file containing sample data for testing
126  -> $ wget https://secure.netzschmiede.ch/trac/flarmradar/browser/core/trunk/client/data/2012_03_25_departure.data
127   
1282. Start the client as user 'flarm', use the test file from above for testing
129  $> sudo -u flarm flarmclient -f 2012_03_25_departure.data
130 
131The client must run without errors and stream the data to the server. Check on
132the server while the client is processing the data file.
133
1343. Connect the FLARM device and run the client software
135  $> flarmclient
136 
137... if all goes well, you can see live data on your radar. Congratulations!
138
139   
140    INTEGRATION
141
142We must make sure that the client starts automatically after booting the
143device.
144
145If the client was installed via software package, then you find
146a working example in /etc/cron.d/flarmclient. Remove the hash(#)-character
147at the beginning of the first line. The cron-job then periodically checks if
148the client is up and restarts it if necessary. This is useful for a device
149that is installed on the field where you don't have direct access to restart
150the process.
151
152Alternatively, use a runlevel script to start the client at boot time. Many
153examples for this can be found in the internet.
Note: See TracBrowser for help on using the repository browser.