EDrive

From Control Systems Technology Group
Revision as of 19:08, 17 March 2017 by S129460 (talk | contribs) (Created page with '= EDrive in VirtualBox = The EDrive is a bootable Linux USB drive used in the Mechanical Engineering Bachelor course Signals 4CA00. It boots the Lubuntu distribution, which has …')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

EDrive in VirtualBox

The EDrive is a bootable Linux USB drive used in the Mechanical Engineering Bachelor course Signals 4CA00. It boots the Lubuntu distribution, which has a preinstalled version of Matlab and the measurement software QADScope.

The EDrive can also be booted from VirtualBox. VirtualBox is a free open-source virtualizer that allows an operating system (OS) to be run as guest on top of a host OS. In this specific case it means that the EDrive can be run as a guest OS on top of Windows or MacOS (hosts). This document explains how to do this.

The disadvantage of booting the EDrive as a virtual machine is that it doesn't connect with the E/Box hardware. Simulated Experiments, however, can be run from the virtual machine. The simulated experiments are `loopback`, `twomassspring`, `massspring`, `truck` and `twotone`. These simulated experiments are used in the final exam of the course.

Target Audience

This document is written for students who don't have a TU/e laptop and have trouble booting the EDrive USB from their laptop. Running the EDrive as a virtual machine allows these students to be able to run the simulated experiments.

EDrive Image

Download the EDrive image for VirtualBox from: `\\wtbfiler.campus.tue.nl\EBox\Signalen_Virtualbox_EDrive\EDrive.ova`

If you are on a Mac proceed as follows: - Go to a finder window and type CMD + K (or go to Go > Connect to Server). - In the popup window type: `smb://wtbfiler.campus.tue.nl/EBox/Signalen_Virtualbox_EDrive/EDrive.ova`. - Copy `Lubuntu.ova` to a local directory on your Mac.

VirtualBox Installation

  1. Download VirtualBox from [1]

[[2]] [3](https://www.virtualbox.org/) and install it.

  1. Download the Oracle VM VirtualBox Extension Pack from [4](https://www.virtualbox.org/wiki/Downloads) and install it.

Importing the EDrive Image in VirtualBox

In VirtualBox:

  1. Go to `File > Import Appliance`.
  2. Browse to the location where you saved the EDrive image `EDrive.ova` and select it and then click continue.
  3. In the next window you can modify some settings if you wish (e.g. RAM memory for the virtual machine).
  4. Click `Import` to import the EDrive image. Importing the image will take a couple of minutes.


![alt text][]

[![N|Solid](https://cldup.com/dTxpPi9lDf.thumb.png)](https://nodesource.com/products/nsolid)

Dillinger is a cloud-enabled, mobile-ready, offline-storage, AngularJS powered HTML5 Markdown editor.

 - Type some Markdown on the left
 - See HTML in the right
 - Magic
  1. New Features!
 - Import a HTML file and watch it magically convert to Markdown
 - Drag and drop images (requires your Dropbox account be linked)


You can also:

 - Import and save files from GitHub, Dropbox, Google Drive and One Drive
 - Drag and drop markdown and HTML files into Dillinger
 - Export documents as Markdown, HTML and PDF

Markdown is a lightweight markup language based on the formatting conventions that people naturally use in email. As [John Gruber] writes on the [Markdown site][df1]

> The overriding design goal for Markdown's > formatting syntax is to make it as readable > as possible. The idea is that a > Markdown-formatted document should be > publishable as-is, as plain text, without > looking like it's been marked up with tags > or formatting instructions.

This text you see here is *actually* written in Markdown! To get a feel for Markdown's syntax, type some text into the left window and watch the results in the right.

      1. Tech

Dillinger uses a number of open source projects to work properly:

  • [AngularJS] - HTML enhanced for web apps!
  • [Ace Editor] - awesome web-based text editor
  • [markdown-it] - Markdown parser done right. Fast and easy to extend.
  • [Twitter Bootstrap] - great UI boilerplate for modern web apps
  • [node.js] - evented I/O for the backend
  • [Express] - fast node.js network app framework [@tjholowaychuk]
  • [Gulp] - the streaming build system
  • [Breakdance](http://breakdance.io) - HTML to Markdown converter
  • [jQuery] - duh

And of course Dillinger itself is open source with a [public repository][dill]

on GitHub.
      1. Installation

Dillinger requires [Node.js](https://nodejs.org/) v4+ to run.

Install the dependencies and devDependencies and start the server.

```sh $ cd dillinger $ npm install -d $ node app ```

For production environments...

```sh $ npm install --production $ npm run predeploy $ NODE_ENV=production node app ```

      1. Plugins

Dillinger is currently extended with the following plugins. Instructions on how to use them in your own application are linked below.

| Plugin | README | | ------ | ------ | | Dropbox | [plugins/dropbox/README.md] [PlDb] | | Github | [plugins/github/README.md] [PlGh] | | Google Drive | [plugins/googledrive/README.md] [PlGd] | | OneDrive | [plugins/onedrive/README.md] [PlOd] | | Medium | [plugins/medium/README.md] [PlMe] | | Google Analytics | [plugins/googleanalytics/README.md] [PlGa] |


      1. Development

Want to contribute? Great!

Dillinger uses Gulp + Webpack for fast developing. Make a change in your file and instantanously see your updates!

Open your favorite Terminal and run these commands.

First Tab: ```sh $ node app ```

Second Tab: ```sh $ gulp watch ```

(optional) Third: ```sh $ karma test ```

        1. Building for source

For production release: ```sh $ gulp build --prod ``` Generating pre-built zip archives for distribution: ```sh $ gulp build dist --prod ```

      1. Docker

Dillinger is very easy to install and deploy in a Docker container.

By default, the Docker will expose port 80, so change this within the Dockerfile if necessary. When ready, simply use the Dockerfile to build the image.

```sh cd dillinger docker build -t joemccann/dillinger:${package.json.version} ``` This will create the dillinger image and pull in the necessary dependencies. Be sure to swap out `${package.json.version}` with the actual version of Dillinger.

Once done, run the Docker image and map the port to whatever you wish on your host. In this example, we simply map port 8000 of the host to port 80 of the Docker (or whatever port was exposed in the Dockerfile):

```sh docker run -d -p 8000:8080 --restart="always" <youruser>/dillinger:${package.json.version} ```

Verify the deployment by navigating to your server address in your preferred browser.

```sh 127.0.0.1:8000 ```

        1. Kubernetes + Google Cloud

See [KUBERNETES.md](https://github.com/joemccann/dillinger/blob/master/KUBERNETES.md)


      1. Todos
- Write MOAR Tests
- Add Night Mode

License


MIT


    • Free Software, Hell Yeah!**

[//]: # (These are reference links used in the body of this note and get stripped out when the markdown processor does its job. There is no need to format nicely because it shouldn't be seen. Thanks SO - http://stackoverflow.com/questions/4823468/store-comments-in-markdown-syntax)


  [dill]: <https://github.com/joemccann/dillinger>
  [git-repo-url]: <https://github.com/joemccann/dillinger.git>
  [john gruber]: <http://daringfireball.net>
  [df1]: <http://daringfireball.net/projects/markdown/>
  [markdown-it]: <https://github.com/markdown-it/markdown-it>
  [Ace Editor]: <http://ace.ajax.org>
  [node.js]: <http://nodejs.org>
  [Twitter Bootstrap]: <http://twitter.github.com/bootstrap/>
  [jQuery]: <http://jquery.com>
  [@tjholowaychuk]: <http://twitter.com/tjholowaychuk>
  [express]: <http://expressjs.com>
  [AngularJS]: <http://angularjs.org>
  [Gulp]: <http://gulpjs.com>
  [PlDb]: <https://github.com/joemccann/dillinger/tree/master/plugins/dropbox/README.md>
  [PlGh]: <https://github.com/joemccann/dillinger/tree/master/plugins/github/README.md>
  [PlGd]: <https://github.com/joemccann/dillinger/tree/master/plugins/googledrive/README.md>
  [PlOd]: <https://github.com/joemccann/dillinger/tree/master/plugins/onedrive/README.md>
  [PlMe]: <https://github.com/joemccann/dillinger/tree/master/plugins/medium/README.md>
  [PlGa]: <https://github.com/RahulHP/dillinger/blob/master/plugins/googleanalytics/README.md>