A bunch of small programs feeding data to ev3dev-mapping-ui
For high-level project overview visit ev3dev-mapping web page
For project meta-repository visit ev3dev-mapping
ev3dev-mapping-modules works on ev3dev operating system (jessie - yes, strech - no).
ev3dev-mapping-modules works with ev3dev-mapping-ui.
ev3dev-mapping-modules works on Lego Mindstorms EV3 with any combination of hardware in the following table.
Hardware | ev3dev-mapping-modules module | ev3dev-mapping-ui component | Purpose |
---|---|---|---|
2 x EV3 Large Servo Motor | ev3drive, ev3odometry | Drive, Odometry | motor control, position estimation |
above + CruizCore gyroscope | ev3drive, ev3dead-reconning | Drive, DeadReconning | motor control, position estimation |
WiFi dongle | ev3wifi | WiFi | WiFi signal strengh monitoring |
Neato XV11 Lidar | ev3laser | Laser | environment scanning |
The instructions here are for compiling on EV3.
$ sudo apt-get update
$ sudo apt-get install build-essential
ev3wifi module depends on Minimalistic Netlink Library - libmnl
$ sudo apt-get install libmnl0 libmnl-dev
sudo apt-get install git
git clone --recursive https://github.com/bmegli/ev3dev-mapping-modules
Don't forget recursive
- the repository has submodules.
cd ev3dev-mapping-modules
make all
Arm in patience (20 minutes). The results will be in bin
directory.
ev3dev-mapping-modules is rather useless without ev3dev-mapping-ui!
Head on to ev3dev-mapping-ui also for information when and how to run ev3dev-mapping-modules.
You don't need to call the modules by yourself.
ev3control enables/disables/monitors the modules as requested by ev3dev-mapping-ui.
After building the project bin
directory contains initialization scripts.
Those scripts help with things like loading the drivers, setting port modes and hardware warm-up.
The scripts are very simple and intended for one shot running after each boot.
If called multiple times they will not work.
ev3dev-mapping-modules is usually started by calling init script followed by ev3control
.
Example:
cd ev3dev-mapping-modules/bin
sudo ./ev3init.sh #load the CruizCore driver, prepare laser ports, warm up lasers
./ev3control 8004 500 #make ev3control listen on TCP/IP port 8004 with 500 ms keepalive
Note that ev3control is insecure at this stage so you should only use it in trusted networks (e.g. private) and as non-root user.