Web App Demo: StartDroneApp
- User: admin
- Password: admin1234
- Demo works with up to 4 pictures as there are no more on the server.
The web application can work without being connected to the Drone or MTC server as long as the checkboxes are not ticked, therefore their setup is optional.
-
Meteor which usually comes with Node.js.
-
If it doesn't come with it, download Node.js separately(LTS version should be ok).
- This was developed to work with a Parrot Bebop 2 drone.
For the Drone to work with Python libraries:
-
Anaconda that usually comes with Python.
-
If it doesn't come with it, install the latest version of Python 2.7 separately.
This has to be ideally set up on a Linux distribution to install it's OpenMTC implementation:
- I used Ubuntu 14.04 LTS Desktop
- Install the OpenMTC on it.
Finally,
Clone this repository:
$ git clone /~https://github.com/nicbuitr/StartDroneApp.git
Run:
$ meteor npm install
This will install NPM packages and update the Meteor packages used in the project.
To initialize the app run:
$ meteor
Once its deployed go to http://localhost:3000/
- Set up Web App's parameters as desired or leave them as default.
- Leave the Drone and MTC checkboxes unticked.
- Hit the "Start Drone" button.
- Enjoy the show.
To make the app work with the Drone:
- Turn the Drone ON.
- Connect to Drone's WiFi, it has to be from the device where Node.js server is running, as the interactions happen between Drone <-> Meteor's Node.js server.
- Place it somewhere safe for it to take off.
- Set up Web App's parameters as desired or leave them as default.
- Mark "Drone Connected to Server?" checkbox.
- Stand at a safe distance.
- Hit the "Start Drone" button.
- Enjoy the show and wait patiently until it is finished.
Once the OpenMTC is installed on the linux server do the following:
- Copy the "SmartIMZSeeking" folder located in this repo under "MTC" folder.
- Paste it at the "apps" folder of the OpenMTC directory e.g: "/home/openmtc/openmtc-ula/apps".
- Make sure both NSCL and GSCL are working properly by doing the following:
-
Open 2 terminals and go to "openmtc-ula/openmtc-gevent" and run both (NSCL always first):
$ cd openmtc-ula/openmtc-gevent $ sudo ./run_nscl $ sudo ./run_gscl
-
NSCL should initialize correctly.
-
GSCL too and NSCL should detect it and register on its terminal.
-
To make it work with the MTC:
-
Turn ON both NSCL and GSCL following the steps above.
-
Open 3 additional terminals and go to app directory:
$ cd openmtc-ula/apps/SmartIMZSeeking/
-
On 1st terminal:
$ sudo python ./1_ZoneAlert.py
-
On 2nd terminal:
$ sudo python ./2_Central.py
-
On 3rd terminal:
$ sudo python ./3_DroneSensor.py
-
Set up Web App's parameters as desired or leave them as default.
-
Update the IP at "MTC Container URL" to the one of your MTC server (Use "ifconfig" on terminal if on doubt), folders and port should be the same.
-
Tick "MTC & Scripts Running?" checkbox.
-
Stand at a safe distance if using along with drone.
-
Hit the "Start Drone" button.
-
Keep an eye on the terminals to see the posts to MTC.
-
Enjoy the show and wait patiently until it is finished.
MIT © Nicolás Buitrago Castaño