Tutorial - Configuring Local Router and Computer for Basic eVOLVER Use

Summary
In this tutorial, we will go over how to set up a local NETGEAR router to properly connect to eVOLVER. In this setup, the eVOLVER is not directly connected to the internet. If you desire the eVOLVER to be connected directly to the internet, please consult your organization’s IT professional. The lab computer will still be connected to the internet via WiFi or a secondary Ethernet Port

NOTE: You can use any router available but I am using a NETGEAR router as an example because I am most familiar.

This tutorial includes the following steps:

  1. Connecting the Ethernet Cables (eVOLVER <-> Router <-> Lab Computer)
  2. Configuring the local NETGEAR router
  3. Connecting the lab computer to the internet

1. Connect eVOLVER and Lab Computer to Router via Ethernet Cables

Why do we need a router?

The “brain” of the eVOLVER consists of a Raspberry Pi that interfaces with the lab computer/ server. A Raspberry Pi is a small credit card sized computer, that typically runs a version of Linux. The Raspberry Pi receives commands typically via the Ethernet connection that are then forwarded to the appropriate Arduino micro-controller. By using this architecture, it means that one computer is able to communicate with many eVOLVER systems on the same router network, making it significantly more scalable.

Connecting the Router

In this tutorial, we are using the N300 NETGEAR router, an inexpensive $30 router. First connect two Ethernet cables to any of the LAN inputs. DO NOT CONNECT TO INTERNET PORT. Universities or companies typically block additional routers plugged into the network. Again, this setup is for the basic eVOLVER connection, without any internet connection.

2. Power on eVOLVER (5V) and Router and go to the router login portal (http://192.168.1.1)

Choose to manually set the router settings

3. Configure router admin settings
Record the password somewhere. You will use these configurations when you assign static IPs or check eVOLVER connections.

4. After setting up the Admin Account, reload the login portal (http://192.168.1.1)

You should see the following.

5. Click on Attached Devices and verify connections

There should be two devices attached to the system: the lab computer and the eVOLVER (Raspberry Pi).

6. Click Advanced > Setup > Lan Setup

6. Click Add, select the Raspberry Pi/ eVOLVER Radio Button and click Add

7. Modify the desired static IP address (right below the Address Reservation button table) to 192.168.1.2 (or your desired IP address)

6. Click Add, verify Address Reservations, and click Apply

The router will disconnect and restart before the IP addresses are properly assigned.

7. Power cycle the eVOLVER Vial Platform and verify the IP address was properly assigned on the Home Screen of the eVOLVER Touchscreen

8. Set service priority on lab computer to be able to use the lab computer properly, with internet.

I will give this example with OSX. Please consult this tutorial to properly do the same with Windows.

9. On OSX, go to System Preferences > Network.

10. Select Set Service Order and drag the appropriate connect to the top

This would most convieniently be either WiFi or a secondary Ethernet Cable. Machines without either could use a USB <-> Ethernet dongle.

10. You should be connected to both the internet and eVOLVER now from the lab computer.

Verify this by going to Terminal or Powershell and typing:
ping 192.168.1.2

If the connection doesn’t timeout and you can still browse the internet, you are set!

Bonus Information:

This is the simpliest way to configure eVOLVER to talk to a lab computer. This is easy to setup because you don’t have to go through IT. If you want to go through IT, you are connecting eVOLVER directly to your internet router. For security purposes, make sure to consult your IT specialist to configure the eVOLVER to prevent public access to it.

1 Like

Hi Brandon and all - thanks for the info! I had a question for buying a new Mac Mini for our evolver. There are 2 models (https://www.apple.com/shop/buy-mac/mac-mini) I think the 3.6GHz Quad-Core ($799.00) one is fine, right? As opposed to the 3.0GHz 6-Core (with turbo boost and double storage) for $1,099.00? It seems like the more expensive model might be overkill for what the evolver will need, but wanted to check before we purchased! Thanks!

The cheapest one should be fine. Extra memory helps. I typically do 8GB. The system should work with a PC also but I am more familiar with running it with a Mac.

What are the harms of having the eVOLVER not directly connected to the internet?

Just to be clear, the instructions above go over a way to connect the eVOLVER to the computer without the eVOLVER having an internet connection. So connecting eVOLVER to the internet has its pros and cons:

Pro

  • Can update and install libraries easier when engineering custom functions.
  • Can run DPU code to control the experiment from a remote location/ from somewhere else in the lab. This would allow eVOLVER to be much more scalable.

Con

  • Can be more susceptible to security issues impacting robustness of operation
  • Requires networking experience to properly setup equipment, of which it might be very case-by-case dependent.

I’m sure others can chime in on tradeoffs with internet connection or not. I would recommend against it unless you know what you are doing. Hope this helps!

Brandon

One thing to keep in mind if you route through the network of your institution is that maintenance and outages may have some capacity to impact experiments. And keep in mind they to maintain a static IP with the port accessible.

As a note for those using routers, many institutions’ information policies ban additional wireless networks on campus, so unless you know otherwise, make sure you disable the broadcasting on the router when you set it up.

1 Like

Thanks all for the helpful advice. We will go for the basic configuration.
Our desktop controlling the system only has 1 ethernet port.
For the basic configuration, it seems like we need two ethernet ports on the desktop: 1) desktop to ethernet port on wall, and 2) desktop to NETGEAR router.
Is this correct? If so we will purchase a USB to ethernet adapter, giving us an extra port to use.

Yea this one works for us.

Hello,
Is it possible to connect the vial platform directly to a laptop via the ethernet cable if i am using only one eVOLVER system? and if yes how can it be set up?

1 Like

I still recommend using a cheap router to handle networking. I’ve tried it via Ethernet cable before (very briefly) and I could not get it to work robustly. If you get a working solution, would love to hear about it!

Brandon

Hi @bgwong,
We got our second eVOLVER set up! We want to run both from the same laptop, and this makes sense since each vial platform has a different IP address. My question is, usually we run an experiment by editing the “custom_script” and then start it from command line by running the “evolver.py.” How can we set up and run the experiment files for the two IP addresses?
Thank you!
Katie

Hey Katie!

Glad you were able to get it set up. Assuming the IP addresses are properly assigned, you just have to change the IP variable on the custom_script and run the second script from a different terminal (e.g. another instance or window). I recommend separate folders for each eVOLVER.

You should be able to check the IP address of the eVOLVER but hitting the upper right hand corner of the eVOLVER touchscreen.

Best,
Brandon

2 Likes

Also, how can I set up the graphing in the browser for both? Is there a way to use a different local host ID?
Thank you!

The graphing software should plot from both folders without changing anything.

Hi!

In case you want to use different DPUs for the two eVOLVERs, and have the graphs in separate interfaces, you can simply run the graphing command and add the port as a parameter:

# On DPU folder 1
python3.6 graphing/src/manage.py runserver

[...]
> Starting development server at http://127.0.0.1:8000/ <- Default port 8000
> Quit the server with CONTROL-C.
[...]

# On DPU folder 2, new terminal window
python3.6 graphing/src/manage.py runserver 8001

[...]
> Starting development server at http://127.0.0.1:8001/
> Quit the server with CONTROL-C.
[...]

This is particularly useful if different users will be responsible for the different eVOLVERs.

Hope it helps!

Dani

2 Likes

That is very helpful! Thank you both!