The NGIMU movement sensor can do real-time communication with a host computer via USB, Wi-Fi, or serial/RS-232. In the VIBRA project we are particularly interested in wireless communication, since the technology should to be as non-intrusive as possible. The sensor has two wireless access modes: Access point (AP) or Wireless client (Client). The former allows you to connect your laptop directly to a sensor (the sensor appears as a wireless network in the network settings of your computer), but you can only work with one sensor at the time. If you need to communicate with multiple sensors you have to use Client mode and a separate wireless network. Here are the necessary steps:
Set up a local Wi-Fi network
If you plan to have a portable sensor setup, you should get a dedicated wireless router. Most routers give you access to detailed settings through a web interface when you write the IP address of the router in your browser. Routers typically have IP addresses like 192.168.1.1 or 192.168.0.1, but you should check with the provider.
The initial configuration of the network includes network name (SSID), network security and password, and in some cases network band (see figure below). The latter is relevant for dual-band routers that let you choose between 2.4 GHz and 5 GHz. We recommend 5 Ghz for speed and stability, but 2.4 GHz are better suited for longer ranges.
Configure the NGIMU sensors
Now you are ready to configure the NGIMU movement sensors to work with your wireless network. The producer of the sensor, x-io Technologies, provides a nice tool for configuration and monitoring, but unfortunately it seems to be available for Windows only (under Downloads here). The tool allows you to search for and connect to any NGIMU available from the host computer. The critical settings are shown below:
If there are no Windows computer available, it is still possible to do all configuration through OSC messages instead. Here is the list corresponding to the figure above:
Wi-Fi mode must be set to Client (not AP): /wifi/mode, 1
Network name (SSID) must be set to the name of your network: /wifi/client/ssid, "<name>"
Network password (Key) must be set to the network password: /wifi/client/key, "<password>"
DHCP should be enabled (see comment later): /wifi/client/dhcp, True
The IP address of your host computer (Send IP Address) must be set. This is a setting that typically is sent every time you connect with the sensor (it is included in the Max/MSP patch provided by x-io Technologies) since the host IP address may change: /wifi/send/ip, "<host IP address>"
The send port must be set differently for each sensor. We chose to set it as 80xx where the last two digits correspond to the last number in the IP address of the sensor: /wifi/send/port, <port number>
The receive port could be the same on all NGIMU's and the default should do fine (in other words, you don't have to change this): /wifi/receive/port, 9000
The NGIMU GUI configuration tool also allows you to select different send rates (in messages per second) for all the measurements on the sensor. This can be handy if you want to prioritize and save network traffic. There are corresponding OSC messages here as well, all starting with /rate/ (they are included in the Max/MSP patch provided by x-io Technologies).
Set static IP addresses for all sensors
Finally, we recommend that all sensors are given a static IP address. This could be done with the NGIMU configuration tool above, by disabling DHCP (/wifi/client/dhcp, False) and writing an explicit IP address (/wifi/client/ip, "<client IP address>"). However, we find it more robust to reserve static IP addresses on the wireless router instead. In order for this to work we must keep DHCP enabled in our settings.
The router configuration interface typically allows you to reserve static addresses to clients on the network. All devices connected to the router will appear in some sort of list with the option of adding them to a static DHCP table. Simply select the device and assign an IP address. Since devices are identified by their MAC Address only it can be hard to figure out what they are. One possible solution is to turn the NGIMU off and on and see how the device list changes (remember to do a refresh of the page in between). Every time the device connects to the router it will get the same static IP address, and the address will not be available for any other devices (the latter cannot be guaranteed if you assign a static address on the NGIMU only).
Below is an example with four NGIMUs that we chose to put in the address range 192.168.1.34 - 192.168.1.37 (matching their port number). Since they always use a wireless connection, this assignment can be made permanent. In addition, there are three other static clients on the list which in this case are three computers connecting to the router using either wireless or ethernet cable. The MAC address of the computer depends on the network connection (wireless, USB ethernet, cabled ethernet, docking station, etc.). Since this part of the setup is more susceptible to changes, we recommend that their static addresses are reconfigured for every new work setup. Make sure that the MAC address matches the actual network connection you are using.