diff --git a/.gitignore b/.gitignore
index a0f0e5d886..34ae8c8766 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
*.pyc
*.log
-.idea/
+*.log.*
+*.jsonl.gz
+*.k7.gz
+mercator.egg-info
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000..65ef06f89e
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,30 @@
+Copyright (c) Inria
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the
+ distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
index 9aa308a75d..2525720f14 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,30 @@
-[](https://landscape.io/github/openwsn-berkeley/mercator/master)
-
-_You are watching the raw data. To visualize it: https://openwsn-berkeley.github.io/mercator/._
-
-## Mercator: Dense Wireless Connectivity Datasets for the IoT
+# Mercator: Dense Wireless Connectivity Datasets for the IoT
-**Mercator** is a collection of connectivity datasets gathered on the IoT-LAB sites. These datasets are:
+**Mercator** is a collection of tools to gather connectivity traces, which are:
* **dense in time**, meaning the connectivity is continuously assessed over a long period of time; it allows one to see variation of connectivity over time.
* **dense in space**, meaning the connectivity is assessed over hundreds of measurements points; it allows one to see how connectivity is affected by the location of transmitter and receivers.
* **dense in frequency**, meaning the connectivity is assessed for each of the 16 IEEE802.15.4 frequencies; it allows one to see how connectivity is affected by the communication frequency.
-Want to learn more? [See the wiki.](https://github.com/openwsn-berkeley/mercator/wiki)
+## Get Mercator
+1. Make sure you have Python 3.7 or above installed (Python 2 is not supported)
+1. Clone or download Mercator repository
+1. Move into your local Mercator repository
+1. Install Mercator: `$ pip install . -r requirements.txt`
+
+## How to Run
+1. Edit mercator.yml as you like
+1. Run `$ mercator`
+1. You will have `output.jsonl.gz`, which is a raw output file
+1. You can convert the raw file to a K7 file; run `$ mercator-k7conv -l grenoble output.jsonl.gz`
+
+## How to Develop
+1. Install Mercator in "editable mode": `$ pip install -e . -r requirements.txt`
+1. Edit the source code
+1. Run test: `$ pytest -x`
+1. Open a PR if you want :-)
+
+## Useful Options
+* You can get a sample mercator.yml by `-C` option: `$ mercator -C iotlab`
+* You can program a firmware to nodes in your OpenTestbed by `-p` option: `$ mercator -p`
diff --git a/build-firmwares.sh b/build-firmwares.sh
new file mode 100755
index 0000000000..bee794d811
--- /dev/null
+++ b/build-firmwares.sh
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+IOTLAB_M3="iot-lab_M3"
+OPENMOTE_B="openmote-b-24ghz"
+
+BOARDS="${IOTLAB_M3} ${OPENMOTE_B}"
+TOOLCHAIN='armgcc'
+
+# usage
+usage() {
+ echo "Usage: ./build-firmwares.sh OPENWSN_FW_LOCAL_REPO"
+ echo ""
+ echo " OPENWSN_FW_LOCAL_REPO: path to opewsn-fw local repository"
+}
+if [ $0 != "./build-firmwares.sh" ]; then
+ echo "ERROR: build-firmware.sh must be executed at mercator dir"
+ echo ""
+ usage
+ exit 1
+fi
+if [ $# -ne 1 ]; then
+ usage
+ exit 1
+fi
+
+# identify openwsn-fw directory
+OPENWSN_FW_LOCAL_REPO=$1
+if [ ! -d ${OPENWSN_FW_LOCAL_REPO} ]; then
+ echo "${OPENWSN_FW_LOCAL_REPO} is not found"
+ exit 1
+fi
+echo ${OPENWSN_FW_LOCAL_REPO} | grep -E '^/' > /dev/null
+if [ $? -ne 0 ]; then
+ # convert it to the absolute path
+ WORKING_DIR_PATH=`pwd`
+ OPENWSN_FW_LOCAL_REPO="${WORKING_DIR_PATH}/${OPENWSN_FW_LOCAL_REPO}"
+fi
+
+
+# check docker
+which docker > /dev/null 2>&1
+if [ $? -eq 1 ]; then
+ echo "Need docker installed"
+ exit 1
+fi
+
+# check git
+which git > /dev/null 2>&1
+if [ $? -eq 1 ]; then
+ echo "Need git installed"
+ exit 1
+fi
+
+# identify the commit hash value
+COMMIT_HASH=`cd ${OPENWSN_FW_LOCAL_REPO}; \
+ git rev-parse --short HEAD 2> /dev/null`
+if [ $? -ne 0 ]; then
+ echo "Seems $1 is not an openwsn-fw git repository"
+ echo "Cannot build firmwares"
+ exit 1
+fi
+
+# build firmwares and copy them under 'firmware' directory
+DOCKER_SCONS_CMD="docker run"
+DOCKER_SCONS_CMD+=" --mount type=bind,"
+DOCKER_SCONS_CMD+="source=${OPENWSN_FW_LOCAL_REPO},"
+DOCKER_SCONS_CMD+="destination=/home/user/openwsn-fw"
+DOCKER_SCONS_CMD+=" -ti yatch/openwsn-docker scons"
+TIMESTAMP=`date +%Y%m%d-%H%M%S`
+BUILD_LOG_FILE="build-firmwares-${TIMESTAMP}.log"
+
+echo "Create ${BUILD_LOG_FILE}"
+touch ${BUILD_LOG_FILE}
+for board in ${BOARDS}; do
+ echo "Build a firmware for ${board}..."
+ scons_args="board=${board} toolchain=${TOOLCHAIN} oos_mercator"
+ ${DOCKER_SCONS_CMD} --clean ${scons_args} >> ${BUILD_LOG_FILE}
+ ${DOCKER_SCONS_CMD} ${scons_args} >> ${BUILD_LOG_FILE}
+ if [ $? -ne 0 ]; then
+ echo ""
+ echo "ERROR: Build failed for ${board}..."
+ echo "Check ${BUILD_LOG_FILE}"
+ exit 1
+ fi
+
+ echo "Copy a firmware..."
+ src_path=${OPENWSN_FW_LOCAL_REPO}
+ src_path+="/build/${board}_${TOOLCHAIN}/projects/common/03oos_mercator_prog"
+ dst_path="./firmwares/openwsn-${board}"
+ if [ ${board} = ${IOTLAB_M3} ]; then
+ dst_path+=".elf"
+ fi
+ if [ ${board} = ${OPENMOTE_B} ]; then
+ src_path+=".ihex"
+ dst_path+=".ihex"
+ fi
+ cp -p ${src_path} ${dst_path}
+done
+echo "Build logs can be found in ${BUILD_LOG_FILE}"
+
+# update firmwares/README.md
+echo "Update the commit hash value in firmwares/README.md with ${COMMIT_HASH}"
+sed -i \
+ -E 's/commit hash: `[0-9a-f]\{1,\}`/commit hash: `'${COMMIT_HASH}'`/' \
+ firmwares/README.md
diff --git a/code/firmware/README.md b/code/firmware/README.md
deleted file mode 100644
index ed1830cbe4..0000000000
--- a/code/firmware/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-This folder contains the pre-compiled firmware to run on the IoT-LAB motes.
-
-More details in [the Mercator Firmware wiki page](https://github.com/openwsn-berkeley/mercator/wiki/Mercator-Firmware).
-And how to build the firmware [here](https://github.com/openwsn-berkeley/mercator/wiki/How-to-build-the-firmware).
diff --git a/code/firmware/iotlab-m3.elf b/code/firmware/iotlab-m3.elf
deleted file mode 100644
index 0033c21b76..0000000000
Binary files a/code/firmware/iotlab-m3.elf and /dev/null differ
diff --git a/code/software/README.md b/code/software/README.md
deleted file mode 100644
index 1c2bd01cf5..0000000000
--- a/code/software/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-This folder contains the software which runs on a computer to drive an
-experiment.
\ No newline at end of file
diff --git a/code/software/app/README.md b/code/software/app/README.md
deleted file mode 100644
index 977be51d73..0000000000
--- a/code/software/app/README.md
+++ /dev/null
@@ -1 +0,0 @@
-This folder contains the applications that use the Mercator libraries.
diff --git a/code/software/app/__init__.py b/code/software/app/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/code/software/app/get_eui64.py b/code/software/app/get_eui64.py
deleted file mode 100644
index 5dbb5269ba..0000000000
--- a/code/software/app/get_eui64.py
+++ /dev/null
@@ -1,197 +0,0 @@
-#!/usr/bin/python
-
-#============================ adjust path =====================================
-
-import os
-import sys
-if __name__ == '__main__':
- here = sys.path[0]
- sys.path.insert(0, os.path.join(here, '..', 'lib'))
-
-#============================ imports =========================================
-
-import argparse
-import threading
-import json
-import datetime
-import logging.config
-import serial
-import socket
-
-# Mercator
-import MoteHandler
-import MercatorDefines as d
-
-# IoT-lab
-import iotlabcli as iotlab
-from iotlabcli import experiment
-
-#============================ logging =========================================
-
-logging.config.fileConfig('logging.conf')
-
-logconsole = logging.getLogger("console")
-logfile = logging.getLogger() #root logger
-
-#============================ body ============================================
-
-FIRMWARE_PATH = "../../firmware/"
-DATASET_PATH = "../../../datasets/"
-METAS_PATH = "../../../metas/"
-
-#============================ body ============================================
-
-
-class MercatorRunExperiment(object):
-
- FREQUENCIES = [n+11 for n in range(16)] # frequencies to measure on, in IEEE notation
- TXPOWER = 0 # dBm
- NUMTRANS = 5 # number of transactions
- TXNUMPK = 10 # number of packets per transaction
- TXIFDUR = 100 # inter-frame duration, in ms
- TXLENGTH = 100 # number of bytes (PHY payload) in a frame
- TXFILLBYTE = 0x0a # padding byte
- _BAUDRATE = 500000
-
- def __init__(self, serialports, site="local"):
-
- # local variables
- self.dataLock = threading.Lock()
- self.transctr = 0
- self.motes = {}
- self.isTransmitting = False
- self.site = site
- self.transmitterPort = ""
- address_list = []
-
- # connect to motes
- for ser_port in serialports:
- ser = None
-
- logfile.debug("connecting to %s", ser_port)
-
- try:
- if site != "local":
- ser = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- ser.connect((ser_port, 20000))
- else:
- ser = serial.Serial(ser_port, self._BAUDRATE)
- except Exception as err:
- msg = 'could not connect to {0}, reason: {1}'.format(ser_port, err)
- continue
-
- logfile.debug("reading %s address", ser_port)
- addr = ""
- if site != "local":
- goOn = True
- while len(addr)<23:
- c = ser.recv(1)
- if len(c) > 0:
- if (c != '\n') and (c != '\r') and (ord(c) != 0) and (ord(c) < 103):
- addr += c
- elif c == '\n':
- goOn = False
- else:
- addr = ser.readline() # remove unfinished line
- addr = ser.readline().rstrip('\r\n')
-
- address_list.append((addr,ser_port))
- logconsole.info("{0},{1}".format(addr, ser_port))
-
- address_list.sort(key=lambda tup: tup[1])
- with open("mac_list.csv",'w') as f:
- for address in address_list:
- f.write("{0},{1}\n".format(address[0],address[1]))
-
- # print all OK
- raw_input('\nExperiment ended normally. Press Enter to close.')
-
- def _quit_callback(self):
- print "quitting!"
-
-#=========================== helpers ==========================================
-
-
-def get_motes(expid):
- # use the file created by auth-cli command
- usr, pwd = iotlab.get_user_credentials()
-
- # authenticate through the REST interface
- api = iotlab.rest.Api(usr, pwd)
-
- # get experiment resources
- data = experiment.get_experiment(api, expid, 'resources')
-
- return (map(lambda x: x["network_address"].split('.')[0], data["items"]),
- data["items"][0]["network_address"].split('.')[1])
-
-
-def submit_experiment(testbed_name, board, firmware, duration):
- """
- Reserve nodes in the given site.
- The function uses the json experiment file corresponding to the site.
- :param str firmware: the name of the firmware as it is in the code/firmware/ folder
- :param str board: the type of board (ex: m3)
- :param str testbed_name: The name of the testbed (ex: grenoble)
- :param int duration: The duration of the experiment in minutes
- :return: The id of the experiment
- """
-
- # use the file created by auth-cli command
- usr, pwd = iotlab.get_user_credentials()
-
- # authenticate through the REST interface
- api = iotlab.rest.Api(usr, pwd)
-
- # load the experiment
- tb_file = open("{0}states.json".format(METAS_PATH))
- tb_json = json.load(tb_file)
- nodes = [x for x in tb_json[testbed_name] if board in x]
- firmware = FIRMWARE_PATH + firmware
- profile = "mercator"
- resources = [experiment.exp_resources(nodes, firmware, profile)]
-
- # submit experiment
- logconsole.info("Submitting experiment.")
- expid = experiment.submit_experiment(
- api, "mercatorExp", duration,
- resources)["id"]
-
- logconsole.info("Experiment submited with id: %u", expid)
- logconsole.info("Waiting for experiment to be running.")
- experiment.wait_experiment(api, expid)
-
- return expid
-
-#============================ main ============================================
-
-
-def main():
-
- # parsing user arguments
- parser = argparse.ArgumentParser()
- parser.add_argument("testbed", help="The name of the current testbed")
- parser.add_argument("firmware", help="The firmware to flash", type=str)
- parser.add_argument("-d", "--duration", help="Duration of the experiment in munutes", type=int, default=30)
- parser.add_argument("-e", "--expid", help="The experiment id", type=int, default=None)
- parser.add_argument("-b", "--board", help="The type of board to use", type=str, default="m3")
- args = parser.parse_args()
-
- if args.testbed == "local":
- MercatorRunExperiment(
- serialports = ['/dev/ttyUSB1']
- )
- else:
- if args.expid is None:
- expid = submit_experiment(args.testbed, args.board, args.firmware, args.duration)
- else:
- expid = args.expid
- (serialports, site) = get_motes(expid)
- MercatorRunExperiment(
- serialports = serialports,
- site = site
- )
-
-if __name__ == '__main__':
- main()
-
diff --git a/code/software/app/logging.conf b/code/software/app/logging.conf
deleted file mode 100644
index 24d2a9b251..0000000000
--- a/code/software/app/logging.conf
+++ /dev/null
@@ -1,43 +0,0 @@
-#============================ formatters ======================================
-
-[formatters]
-keys=file,console
-
-[formatter_file]
-format=%(asctime)s [%(name)s:%(levelname)s] %(message)s
-datefmt=
-
-[formatter_console]
-format=%(asctime)s %(levelname)s %(message)s
-datefmt=%H:%M:%S
-
-#============================ handlers ========================================
-
-[handlers]
-keys=file,console
-
-[handler_file]
-class=handlers.RotatingFileHandler
-# args: filename, open mode, max file size, backup file count
-args=('mercator.log', 'a', 20000000, 5)
-formatter=file
-
-[handler_console]
-class=StreamHandler
-args=()
-formatter=console
-
-#============================ loggers =========================================
-
-[loggers]
-keys=root,console
-
-# default logger
-[logger_root]
-level=INFO
-handlers=file
-
-[logger_console]
-level=INFO
-handlers=console
-qualname=console
diff --git a/code/software/app/mercatorCli.py b/code/software/app/mercatorCli.py
deleted file mode 100644
index 22663d0d1f..0000000000
--- a/code/software/app/mercatorCli.py
+++ /dev/null
@@ -1,200 +0,0 @@
-#!/usr/bin/python
-
-#============================ adjust path =====================================
-
-import os
-import sys
-if __name__ == '__main__':
- here = sys.path[0]
- sys.path.insert(0, os.path.join(here, '..', 'lib'))
-
-#============================ imports =========================================
-
-import threading
-
-import OpenCli
-import MoteHandler
-import MercatorDefines as d
-
-#============================ body ============================================
-
-
-class MercatorCli(object):
-
- ALL = 'all'
-
- def __init__(self):
-
- self.dataLock = threading.Lock()
- self.motes = {}
-
- cli = OpenCli.OpenCli("Mercator CLI", self._quit_callback)
- cli.register_command(
- 'connect',
- 'c',
- 'connect to a mote',
- ['serialport'],
- self._cli_connect
- )
- cli.register_command(
- 'list',
- 'l',
- 'list motes',
- [],
- self._cli_list
- )
- cli.register_command(
- 'state',
- 'st',
- 'request state',
- ['serialport'],
- self._cli_state
- )
- cli.register_command(
- 'idle',
- 'id',
- 'switch radio off',
- ['serialport'],
- self._cli_idle
- )
- cli.register_command(
- 'tx',
- 'tx',
- 'transmit a number of packets',
- ['serialport'],
- self._cli_tx
- )
- cli.register_command(
- 'rx',
- 'rx',
- 'start receiving',
- ['serialport'],
- self._cli_rx
- )
- cli.start()
-
- #======================== public ==========================================
-
- #======================== cli handlers ====================================
-
- def _cli_connect(self, params):
- serialport = params[0]
-
- if serialport in self.motes:
- print 'already connected to {0}'.format(serialport)
- return
-
- with self.dataLock:
- self.motes[serialport] = MoteHandler.MoteHandler(serialport, self._cb)
- if not self.motes[serialport].isActive:
- del self.motes[serialport]
-
- def _cli_list(self):
- output = []
- with self.dataLock:
- output += ['connected to {0} motes:'.format(len(self.motes))]
- output += ['- {0}'.format(m) for m in self.motes.keys()]
- output = '\n'.join(output)
- print output
-
- def _cli_state(self, params):
- serialport = params[0]
-
- if serialport == self.ALL:
- serialports = self.motes.keys()
- else:
- if serialport not in self.motes.keys()+[self.ALL]:
- print 'not serialport to {0}'.format(serialport)
- return
- serialports = [serialport]
-
- with self.dataLock:
- for s in serialports:
- print self.motes[s].send_REQ_ST()
-
- def _cli_idle(self, params):
- serialport = params[0]
-
- if serialport == self.ALL:
- serialports = self.motes.keys()
- else:
- if serialport not in self.motes.keys()+[self.ALL]:
- print 'not serialport to {0}'.format(serialport)
- return
- serialports = [serialport]
-
- with self.dataLock:
- for s in serialports:
- self.motes[s].send_REQ_IDLE()
-
- def _cli_tx(self, params):
- serialport = params[0]
-
- if serialport not in self.motes:
- print 'not serialport to {0}'.format(serialport)
- return
-
- with self.dataLock:
- self.motes[serialport].send_REQ_TX(
- frequency = 0x14,
- txpower = 0,
- transctr = 0x0a0a,
- nbpackets = 5,
- txifdur = 1000,
- txpksize = 100,
- txfillbyte = 0x0b,
- )
-
- def _cli_rx(self, params):
- serialport = params[0]
-
- if serialport == self.ALL:
- serialports = self.motes.keys()
- else:
- if serialport not in self.motes.keys()+[self.ALL]:
- print 'not serialport to {0}'.format(serialport)
- return
- serialports = [serialport]
-
- with self.dataLock:
- for s in serialports:
- self.motes[s].send_REQ_RX(
- frequency = 0x14,
- srcmac = [0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88],
- transctr = 0x0a0a,
- txpksize = 100,
- txfillbyte = 0x0b,
- )
-
- #======================== private =========================================
-
- def _cb(self, serialport, notif):
- output = []
- output += [' - {0}'.format(serialport)]
- if isinstance(notif, dict):
- if 'type' in notif:
- output += [' . type : {0}'.format(d.type_num2text(notif['type']))]
- if 'status' in notif:
- output += [' . status : {0}'.format(d.status_num2text(notif['status']))]
- if 'mac' in notif:
- output += [' . mac : {0}'.format(d.format_mac(notif['mac']))]
- for (k, v) in notif.items():
- if k not in ['type', 'status', 'mac']:
- output += [' . {0:<17}: {1}'.format(k, v)]
- else:
- output += [' {0}'.format(notif)]
- output += ['']
- output = '\n'.join(output)
- print output
-
- def _quit_callback(self):
- print "quitting!"
-
-#============================ main ============================================
-
-
-def main():
- MercatorCli()
-
-if __name__ == '__main__':
- main()
diff --git a/code/software/app/mercatorRunExperiment.py b/code/software/app/mercatorRunExperiment.py
deleted file mode 100644
index 181541372a..0000000000
--- a/code/software/app/mercatorRunExperiment.py
+++ /dev/null
@@ -1,358 +0,0 @@
-#!/usr/bin/python
-
-# =========================== adjust path =====================================
-
-import os
-import sys
-if __name__ == '__main__':
- here = sys.path[0]
- sys.path.insert(0, os.path.join(here, '..', 'lib'))
-
-# =========================== imports =========================================
-
-import argparse
-import threading
-import json
-import datetime
-import logging.config
-import gzip
-import socket
-
-# Mercator
-import MoteHandler
-import MercatorDefines as d
-
-# IoT-lab
-import iotlabcli as iotlab
-from iotlabcli import experiment, node
-
-# =========================== logging =========================================
-
-logging.config.fileConfig('logging.conf')
-
-logconsole = logging.getLogger("console")
-logfile = logging.getLogger() #root logger
-
-# =========================== constants =======================================
-
-FIRMWARE_PATH = "../../firmware/"
-DATASET_PATH = "./"
-METAS_PATH = "../../../metas/"
-
-# =========================== body ============================================
-
-class MercatorRunExperiment(object):
-
- FREQUENCIES = [n+11 for n in range(16)] # frequencies to measure on, in IEEE notation
- TXIFDUR = 10 # inter-frame duration, in ms
- TXFILLBYTE = 0x0a # padding byte
-
- def __init__(self, args, serialports, site="local"):
-
- # local variables
- self.dataLock = threading.Lock()
- self.transctr = 0
- self.motes = {}
- self.isTransmitting = False
- self.site = site
- self.freq = self.FREQUENCIES[0]
- self.transmitterPort = ""
- self.nbtrans = args.nbtrans
- self.nbpackets = args.nbpackets
- self.txpksize = args.txpksize
- self.txpower = args.txpower
- self.experiment_id = args.expid
-
- # use the file created by auth-cli command
- usr, pwd = iotlab.get_user_credentials()
-
- # authenticate through the REST interface
- self.api = iotlab.rest.Api(usr, pwd)
-
- # connect to motes
- for s in serialports:
- logfile.debug("connected to %s", s)
- self.motes[s] = MoteHandler.MoteHandler(s, self._cb, reset_cb=self._reset_cb)
- if not self.motes[s].isActive:
- raise Exception("Mote {0} is not responding.".format(s))
-
- # get current datetime
- now = datetime.datetime.now().strftime("%Y.%m.%d-%H.%M.%S")
-
- # open file
- self.file = gzip.open(
- '{0}{1}-{2}_raw.csv.gz'.format(
- DATASET_PATH,
- self.site,
- now
- ),
- 'wb'
- )
-
- # write settings
- settings = {
- "interframe_duration": self.TXIFDUR,
- "fill_byte": self.TXFILLBYTE,
- "tx_length": self.txpksize,
- "tx_count": self.nbpackets,
- "transaction_count": self.nbtrans,
- "node_count": len(self.motes),
- "location": self.site,
- "channel_count": len(self.FREQUENCIES),
- "start_date": now,
- "txpower": self.txpower
- }
- json.dump(settings, self.file)
- self.file.write('\n')
-
- # write csv header
- self.file.write('datetime,src,dst,channel,rssi,crc,expected,' +
- 'transaction_id,pkctr\n')
-
- try:
- # start transactions
- for self.transctr in range(0, self.nbtrans):
- logconsole.info("Current transaction: %s", self.transctr)
- self._do_transaction()
- except (KeyboardInterrupt, socket.error):
- # print error
- print('\nExperiment ended before all transactions were done.')
- else:
- # print all OK
- print('\nExperiment ended normally.')
- finally:
- self.file.close()
-
- # ======================= public ==========================================
-
- # ======================= cli handlers ====================================
-
- def _do_transaction(self):
-
- for freq in self.FREQUENCIES:
- logconsole.info("Current frequency: %s", freq)
- self._do_experiment_per_frequency(freq)
-
- def _do_experiment_per_frequency(self, freq):
-
- for counter, transmitterPort in enumerate(self.motes):
- self._do_experiment_per_transmitter(freq, transmitterPort)
- if counter % (1+len(self.motes)/4) == 0:
- logconsole.info("%d/%d", counter, len(self.motes))
-
- def _do_experiment_per_transmitter(self, freq, transmitter_port):
-
- self.transmitterPort = transmitter_port
- self.freq = freq
- logfile.debug('freq=%s transmitter_port=%s', freq, transmitter_port)
-
- # switch all motes to idle
- for (sp, mh) in self.motes.items():
- logfile.debug(' switch %s to idle', sp)
- mh.send_REQ_IDLE()
-
- # check state, assert that all are idle
- for (sp, mh) in self.motes.items():
- status = mh.send_REQ_ST()
- if status is None or status['status'] != d.ST_IDLE:
- logfile.warn('Node %s is not in IDLE state.', mh.mac)
-
- # switch all motes to rx
- for (sp, mh) in self.motes.items():
- logfile.debug(' switch %s to RX', sp)
- mh.send_REQ_RX(
- frequency = freq,
- srcmac = self.motes[transmitter_port].get_mac(),
- transctr = self.transctr,
- txpksize = self.txpksize,
- txfillbyte = self.TXFILLBYTE,
- )
-
- # check state, assert that all are in rx mode
- for (sp, mh) in self.motes.items():
- status = mh.send_REQ_ST()
- if status is None or status['status'] != d.ST_RX:
- logfile.warn('Node %s is not in RX state.', mh.mac)
-
- # switch tx mote to tx
- logfile.debug(' switch %s to TX', transmitter_port)
-
- with self.dataLock:
- self.waitTxDone = threading.Event()
- self.isTransmitting = True
-
- self.motes[transmitter_port].send_REQ_TX(
- frequency = freq,
- txpower = self.txpower,
- transctr = self.transctr,
- nbpackets = self.nbpackets,
- txifdur = self.TXIFDUR,
- txpksize = self.txpksize,
- txfillbyte = self.TXFILLBYTE,
- )
-
- # wait to be done
- maxwaittime = 3*self.nbpackets*(self.TXIFDUR/1000.0)
- self.waitTxDone.wait(maxwaittime)
- if self.waitTxDone.isSet():
- logfile.debug('done.')
- else:
- #raise SystemError('timeout when waiting for transmission
- # to be done (no IND_TXDONE after {0}s)'.format(maxwaittime))
- return
-
- # check state, assert numnotifications is expected
- for (sp, mh) in self.motes.items():
- status = mh.send_REQ_ST()
- if sp == transmitter_port:
- if status is None or status['status'] != d.ST_TXDONE:
- logfile.warn('Node %s is not in TXDONE state.', mh.mac)
- else:
- if status is None or status['status'] != d.ST_RX:
- logfile.warn('Node %s is not in RX state.', mh.mac)
-
- # ======================= private =========================================
-
- def _cb(self, serialport, notif):
-
- if isinstance(notif, dict):
- if notif['type'] == d.TYPE_RESP_ST:
- print 'state {0}'.format(serialport)
- elif notif['type'] == d.TYPE_IND_TXDONE:
- with self.dataLock:
- # assert self.isTransmitting
- self.isTransmitting = False
- self.waitTxDone.set()
- elif notif['type'] == d.TYPE_IND_RX:
- timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S.%f")
- src = d.format_mac(self.motes[self.transmitterPort].get_mac())
- dst = d.format_mac(self.motes[serialport].get_mac())
- frequency = self.freq
- rssi = notif['rssi']
- crc = notif['crc']
- expected = notif['expected']
- transctr = self.transctr
- pkctr = notif['pkctr']
- self.file.write("{0},{1},{2},{3},{4},{5},{6},{7},{8}\n".format(
- timestamp,
- src,
- dst,
- frequency,
- rssi,
- crc,
- expected,
- transctr,
- pkctr,
- ))
- elif notif['type'] == d.TYPE_IND_UP:
- logfile.debug("Node %s restarted",
- d.format_mac(self.motes[serialport].get_mac()))
-
- def _reset_cb(self, mote):
- logfile.debug('restarting mote {0}'.format(mote.serialport))
- mote_url = ".".join([mote.serialport, self.site, "iot-lab.info"])
- node.node_command(self.api, 'reset', self.experiment_id, [mote_url])
- logfile.debug('mote {0} restarted'.format(mote.serialport))
-
- @staticmethod
- def _quit_callback():
- print "quitting!"
-
-# ========================== helpers ==========================================
-
-
-def get_motes(expid):
- # use the file created by auth-cli command
- usr, pwd = iotlab.get_user_credentials()
-
- # authenticate through the REST interface
- api = iotlab.rest.Api(usr, pwd)
-
- # get experiment resources
- data = experiment.get_experiment(api, expid, 'resources')
-
- return (map(lambda x: x["network_address"].split('.')[0], data["items"]),
- data["items"][0]["network_address"].split('.')[1])
-
-
-def submit_experiment(args):
- """
- Reserve nodes in the given site.
- The function uses the json experiment file corresponding to the site.
- :param str firmware: the name of the firmware as it is in the code/firmware/ folder
- :param str board: the type of board (ex: m3)
- :param str testbed: The name of the testbed (ex: grenoble)
- :param int duration: The duration of the experiment in minutes
- :param int nbnodes: The number of nodes to use
- :return: The id of the experiment
- """
-
- # use the file created by auth-cli command
- usr, pwd = iotlab.get_user_credentials()
-
- # authenticate through the REST interface
- api = iotlab.rest.Api(usr, pwd)
-
- # load the experiment
- firmware = FIRMWARE_PATH + args.firmware
- profile = "mercator"
- if args.nbnodes != 0:
- if args.board == "m3":
- args.board = "m3:at86rf231"
- nodes = experiment.AliasNodes(args.nbnodes, args.testbed, args.board)
- else:
- tb_file = open("{0}states.json".format(METAS_PATH))
- tb_json = json.load(tb_file)
- nodes = [x for x in tb_json[args.testbed] if args.board in x]
- resources = [experiment.exp_resources(nodes, firmware, profile)]
-
- # submit experiment
- logconsole.info("Submitting experiment.")
- expid = experiment.submit_experiment(
- api, "mercatorExp", args.duration,
- resources)["id"]
-
- logconsole.info("Experiment submited with id: %u", expid)
- logconsole.info("Waiting for experiment to be running.")
- experiment.wait_experiment(api, expid)
-
- return expid
-
-# =========================== main ============================================
-
-
-def main():
-
- # parsing user arguments
- parser = argparse.ArgumentParser()
- parser.add_argument("testbed", help="The name of the current testbed")
- parser.add_argument("firmware", help="The firmware to flash", type=str)
- parser.add_argument("-d", "--duration", help="Duration of the experiment in minutes", type=int, default=30)
- parser.add_argument("-e", "--expid", help="The experiment id", type=int, default=None)
- parser.add_argument("-b", "--board", help="The type of board to use", type=str, default="m3")
- parser.add_argument("-n", "--nbnodes", help="The number of nodes to use (0=all)", type=int, default=0)
- parser.add_argument("-p", "--nbpackets", help="The number of packet per transaction", type=int, default=100)
- parser.add_argument("-t", "--nbtrans", help="The number of transaction", type=int, default=1)
- parser.add_argument("-s", "--txpksize", help="The size of each packet in bytes", type=int, default=100)
- parser.add_argument("--txpower", help="The transmission power (dBm)", type=int, default=0)
- args = parser.parse_args()
-
- if args.testbed == "local":
- MercatorRunExperiment(
- args = args,
- serialports = ['/dev/ttyUSB1', '/dev/ttyUSB3'],
- )
- else:
- if args.expid is None:
- expid = submit_experiment(args)
- else:
- expid = args.expid
- (serialports, site) = get_motes(expid)
- MercatorRunExperiment(
- args = args,
- serialports = serialports,
- site = site,
- )
-
-if __name__ == '__main__':
- main()
diff --git a/code/software/lib/Hdlc.py b/code/software/lib/Hdlc.py
deleted file mode 100644
index ce70deeee6..0000000000
--- a/code/software/lib/Hdlc.py
+++ /dev/null
@@ -1,116 +0,0 @@
-class HdlcException(Exception):
- pass
-
-
-class Hdlc(object):
-
- HDLC_FLAG = '\x7e'
- HDLC_FLAG_ESCAPED = '\x5e'
- HDLC_ESCAPE = '\x7d'
- HDLC_ESCAPE_ESCAPED = '\x5d'
- HDLC_CRCINIT = 0xffff
- HDLC_CRCGOOD = 0xf0b8
-
- FCS16TAB = (
- 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
- 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
- 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
- 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
- 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
- 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
- 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
- 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
- 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
- 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
- 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
- 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
- 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
- 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
- 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
- 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
- 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
- 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
- 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
- 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
- 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
- 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
- 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
- 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
- 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
- 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
- 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
- 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
- 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
- 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
- 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
- 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78,
- )
-
- #============================ public ======================================
-
- def hdlcify(self, in_buf):
- """
- Build an hdlc frame.
-
- Use 0x00 for both addr byte, and control byte.
- """
-
- # make copy of input
- out_buf = in_buf[:]
-
- # calculate CRC
- crc = self.HDLC_CRCINIT
- for b in out_buf:
- crc = self._crc_iteration(crc, b)
- crc = 0xffff-crc
-
- # append CRC
- out_buf = out_buf + chr(crc & 0xff) + chr((crc & 0xff00) >> 8)
-
- # stuff bytes
- out_buf = out_buf.replace(self.HDLC_ESCAPE, self.HDLC_ESCAPE+self.HDLC_ESCAPE_ESCAPED)
- out_buf = out_buf.replace(self.HDLC_FLAG, self.HDLC_ESCAPE+self.HDLC_FLAG_ESCAPED)
-
- # add flags
- out_buf = self.HDLC_FLAG + out_buf + self.HDLC_FLAG
-
- return out_buf
-
- def dehdlcify(self, in_buf):
- """
- Parse an hdlc frame.
-
- :returns: the extracted frame, or -1 if wrong checksum
- """
- assert in_buf[ 0] == self.HDLC_FLAG
- assert in_buf[-1] == self.HDLC_FLAG
-
- # make copy of input
- out_buf = in_buf[:]
-
- # remove flags
- out_buf = out_buf[1:-1]
-
- # unstuff
- out_buf = out_buf.replace(self.HDLC_ESCAPE+self.HDLC_FLAG_ESCAPED, self.HDLC_FLAG)
- out_buf = out_buf.replace(self.HDLC_ESCAPE+self.HDLC_ESCAPE_ESCAPED, self.HDLC_ESCAPE)
-
- if len(out_buf) < 2:
- raise HdlcException('packet too short')
-
- # check CRC
- crc = self.HDLC_CRCINIT
- for b in out_buf:
- crc = self._crc_iteration(crc, b)
- if crc != self.HDLC_CRCGOOD:
- raise HdlcException('wrong CRC')
-
- # remove CRC
- out_buf = out_buf[:-2] # remove CRC
-
- return out_buf
-
- #============================ private =====================================
-
- def _crc_iteration(self, crc, b):
- return (crc >> 8) ^ self.FCS16TAB[((crc ^ (ord(b))) & 0xff)]
diff --git a/code/software/lib/MercatorDefines.py b/code/software/lib/MercatorDefines.py
deleted file mode 100644
index 2f9da114a8..0000000000
--- a/code/software/lib/MercatorDefines.py
+++ /dev/null
@@ -1,75 +0,0 @@
-#=== type
-
-TYPE_REQ_ST = 1
-TYPE_RESP_ST = 2
-TYPE_REQ_IDLE = 3
-TYPE_REQ_TX = 4
-TYPE_IND_TXDONE = 5
-TYPE_REQ_RX = 6
-TYPE_IND_RX = 7
-TYPE_IND_UP = 8
-TYPE_ALL = [
- TYPE_REQ_ST,
- TYPE_RESP_ST,
- TYPE_REQ_IDLE,
- TYPE_REQ_TX,
- TYPE_IND_TXDONE,
- TYPE_REQ_RX,
- TYPE_IND_RX,
- TYPE_IND_UP
-]
-
-
-def type_num2text(num):
- if num == TYPE_REQ_ST:
- returnval = 'REQ_ST'
- elif num == TYPE_RESP_ST:
- returnval = 'RESP_ST'
- elif num == TYPE_REQ_IDLE:
- returnval = 'REQ_IDLE'
- elif num == TYPE_REQ_TX:
- returnval = 'REQ_TX'
- elif num == TYPE_IND_TXDONE:
- returnval = 'IND_TXDONE'
- elif num == TYPE_REQ_RX:
- returnval = 'REQ_RX'
- elif num == TYPE_IND_RX:
- returnval = 'IND_RX'
- elif num == TYPE_IND_UP:
- returnval = 'IND_UP'
- else:
- returnval = ''
- return returnval
-
-#=== status
-
-ST_IDLE = 1
-ST_TX = 2
-ST_TXDONE = 3
-ST_RX = 4
-ST_ALL = [
- ST_IDLE,
- ST_TX,
- ST_TXDONE,
- ST_RX,
-]
-
-
-def status_num2text(num):
- if num == ST_IDLE:
- returnval = 'IDLE'
- elif num == ST_TX:
- returnval = 'TX'
- elif num == ST_TXDONE:
- returnval = 'TXDONE'
- elif num == ST_RX:
- returnval = 'RX'
- else:
- returnval = ''
- return returnval
-
-#=== helper
-
-
-def format_mac(mac):
- return '-'.join(['%02x' % b for b in mac])
diff --git a/code/software/lib/MoteHandler.py b/code/software/lib/MoteHandler.py
deleted file mode 100644
index 78889efc88..0000000000
--- a/code/software/lib/MoteHandler.py
+++ /dev/null
@@ -1,337 +0,0 @@
-import copy
-import threading
-import struct
-import time
-
-import serial
-import socket
-
-import Hdlc
-import MercatorDefines as d
-
-BAUDRATE = 500000
-TIMEOUT_RESPONSE = 3
-MAX_TIMEOUTS = 3
-
-STAT_UARTNUMRXCRCOK = 'uartNumRxCrcOk'
-STAT_UARTNUMRXCRCWRONG = 'uartNumRxCrcWrong'
-STAT_UARTNUMTX = 'uartNumTx'
-
-class MoteHandler(threading.Thread):
-
- def __init__(self, serialport, cb=None, reset_cb=None):
-
- self.serialport = serialport
- self.cb = cb
- self.reset_cb = reset_cb
- self.serialLock = threading.Lock()
- self.dataLock = threading.RLock()
- self.mac = None
- self.hdlc = Hdlc.Hdlc()
- self.busyReceiving = False
- self.inputBuf = ''
- self.lastRxByte = self.hdlc.HDLC_FLAG
- self.goOn = True
- self.waitResponse = None
- self.waitResponseEvent = None
- self.isActive = True
- self.response = None
- self._iotlab = False
- self.timeouts = 0
- self._reset_stats()
-
- try:
- if self.iotlab:
- self.serial = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- self.serial.connect((serialport, 20000))
- else:
- self.serial = serial.Serial(self.serialport, BAUDRATE)
- except Exception as err:
- msg = 'could not connect to {0}, reason: {1}'.format(serialport, err)
- print msg
- raise SystemError(msg)
-
- threading.Thread.__init__(self)
- self.name = 'MoteHandler@{0}'.format(serialport)
- self.daemon = True
-
- # start reception thread
- self.start()
-
- # retrieve the state of the mote (to get MAC address)
- self.send_REQ_ST()
- # assert self.mac
-
- #======================== thread ==========================================
-
- def run(self):
-
- while self.goOn:
-
- if self.iotlab:
- rx_byte = self.serial.recv(1)
- else:
- rx_byte = self.serial.read(1)
-
- with self.dataLock:
- if (
- (not self.busyReceiving) and
- self.lastRxByte == self.hdlc.HDLC_FLAG and
- rx_byte != self.hdlc.HDLC_FLAG
- ):
- # start of frame
-
- self.busyReceiving = True
- self.inputBuf = self.hdlc.HDLC_FLAG
- self.inputBuf += rx_byte
- elif (
- self.busyReceiving and
- rx_byte != self.hdlc.HDLC_FLAG
- ):
- # middle of frame
-
- self.inputBuf += rx_byte
- elif (
- self.busyReceiving and
- rx_byte == self.hdlc.HDLC_FLAG
- ):
- # end of frame
-
- self.busyReceiving = False
- self.inputBuf += rx_byte
-
- try:
- self.inputBuf = self.hdlc.dehdlcify(self.inputBuf)
- except Hdlc.HdlcException:
- self.stats[STAT_UARTNUMRXCRCWRONG] += 1
- else:
- self.stats[STAT_UARTNUMRXCRCOK] += 1
- self._handle_inputbuf([ord(b) for b in self.inputBuf])
-
- self.lastRxByte = rx_byte
-
- self.serial.close()
-
- #======================== public ==========================================
-
- #=== stats
-
- def get_stats(self):
- with self.dataLock:
- return copy.deepcopy(self.stats)
-
- #=== requests
-
- def send_REQ_ST(self):
-
- with self.dataLock:
- # assert not self.waitResponse
- self.waitResponseEvent = threading.Event()
- self.waitResponse = True
-
- self._send(
- struct.pack(
- '>B',
- d.TYPE_REQ_ST,
- )
- )
-
- self.waitResponseEvent.wait(TIMEOUT_RESPONSE)
-
- if not self.waitResponseEvent.isSet():
- print "-----------timeout--------------" + self.serialport
- self.isActive = False
- self.timeouts += 1
- if self.timeouts > MAX_TIMEOUTS:
- self.reset_cb(self)
- self.timeouts = 0
- return
- else:
- self.timeouts = 0
-
- with self.dataLock:
- self.waitResponse = False
- self.waitResponseEvent = False
- return_val = copy.deepcopy(self.response)
- self.response = None
-
- return return_val
-
- def send_REQ_IDLE(self):
- self._send(
- struct.pack(
- '>B',
- d.TYPE_REQ_IDLE,
- )
- )
-
- def send_REQ_TX(self, frequency, txpower, transctr, nbpackets, txifdur, txpksize, txfillbyte):
- self._send(
- struct.pack(
- '>BBbHHHBB',
- d.TYPE_REQ_TX,
- frequency,
- txpower,
- transctr,
- nbpackets,
- txifdur,
- txpksize,
- txfillbyte,
- )
- )
-
- def send_REQ_RX(self, frequency, srcmac, transctr, txpksize, txfillbyte):
- [m0, m1, m2, m3, m4, m5, m6, m7] = srcmac
- self._send(
- struct.pack(
- '>BBBBBBBBBBHBB',
- d.TYPE_REQ_RX,
- frequency,
- m0, m1, m2, m3, m4, m5, m6, m7,
- transctr,
- txpksize,
- txfillbyte,
- )
- )
-
- def get_mac(self):
- with self.dataLock:
- return self.mac
-
- #======================== private =========================================
-
- #=== stats
-
- def _reset_stats(self):
- with self.dataLock:
- self.stats = {
- STAT_UARTNUMRXCRCOK : 0,
- STAT_UARTNUMRXCRCWRONG : 0,
- STAT_UARTNUMTX : 0,
- }
-
- #=== serial rx
-
- def _handle_inputbuf(self, input_buf):
-
- try:
-
- inputtype = input_buf[0]
-
- if inputtype == d.TYPE_IND_TXDONE:
-
- # parse input
- [msg_type] = \
- struct.unpack(">B", ''.join([chr(b) for b in input_buf]))
-
- # notify higher layer
- self.cb(
- serialport = self.serialport,
- notif = {
- 'type': msg_type,
- }
- )
-
- elif inputtype == d.TYPE_IND_RX:
-
- # parse input
- [msg_type, length, rssi, flags, pkctr] = \
- struct.unpack(">BBbBH", ''.join([chr(b) for b in input_buf]))
- if flags & (1 << 7) != 0:
- crc = 1
- else:
- crc = 0
-
- if flags & (1 << 6) != 0:
- expected = 1
- else:
- expected = 0
-
- if crc == 0 or expected == 0:
- pkctr = 0
-
- # notify higher layer
- self.cb(
- serialport = self.serialport,
- notif = {
- 'type': msg_type,
- 'length': length,
- 'rssi': rssi,
- 'crc': crc,
- 'expected': expected,
- 'pkctr': pkctr,
- }
- )
-
- elif inputtype == d.TYPE_RESP_ST:
-
- # parse input
- [msg_type, status, numnotifications, m1, m2, m3, m4, m5, m6, m7, m8] = \
- struct.unpack(">BBHBBBBBBBB", ''.join([chr(b) for b in input_buf]))
-
- # remember this mote's MAC address
- with self.dataLock:
- self.mac = (m1, m2, m3, m4, m5, m6, m7, m8)
-
- # send response as return code
- with self.dataLock:
- # assert self.waitResponse
- self.response = {
- 'type': msg_type,
- 'status': status,
- 'numnotifications': numnotifications,
- 'mac': (m1, m2, m3, m4, m5, m6, m7, m8),
- }
- self.waitResponseEvent.set()
-
- elif inputtype == d.TYPE_IND_UP:
-
- # parse input
- [msg_type] = \
- struct.unpack(">B", ''.join([chr(b) for b in input_buf]))
-
- # notify higher layer
- self.cb(
- serialport = self.serialport,
- notif = {
- 'type': msg_type,
- }
- )
-
- else:
-
- raise SystemError('unknown notification type {0}'.format(input_buf[0]))
-
- except Exception as err:
-
- print err
-
- self.cb(
- serialport = self.serialport,
- notif = err,
- )
-
- #=== serial tx
-
- def _send(self, data_to_send):
- with self.dataLock:
- self.stats[STAT_UARTNUMTX] += 1
- with self.serialLock:
- hdlc_data = self.hdlc.hdlcify(data_to_send)
-
- if self.iotlab:
- self.serial.send(hdlc_data)
- else:
- self.serial.write(hdlc_data)
- time.sleep(0.01)
-
- #=== helpers
-
- @property
- def iotlab(self):
- if self.serialport.lower().startswith('com') or self.serialport.count('tty'):
- self._iotlab = False
- else:
- self._iotlab = True
-
- return self._iotlab
diff --git a/code/software/lib/OpenCli.py b/code/software/lib/OpenCli.py
deleted file mode 100644
index 2ffa6f64ef..0000000000
--- a/code/software/lib/OpenCli.py
+++ /dev/null
@@ -1,258 +0,0 @@
-#!/usr/bin/python
-
-import threading
-import logging
-import time
-from datetime import timedelta
-
-
-class NullLogHandler(logging.Handler):
- def emit(self, record):
- pass
-
-
-class OpenCli(threading.Thread):
- """
- \brief Thread which handles CLI commands entered by the user.
- """
-
- CMD_LEVEL_USER = "user"
- CMD_LEVEL_SYSTEM = "system"
-
- def __init__(self, app_name, quit_cb):
-
- # slot params
- self.appName = app_name
- self.quit_cb = quit_cb
-
- # local variables
- self.commandLock = threading.Lock()
- self.commands = []
- self.goOn = True
- self.startTime = 0
-
- # logging
- self.log = logging.getLogger('OpenCli')
- self.log.setLevel(logging.DEBUG)
- self.log.addHandler(NullLogHandler())
-
- # initialize parent class
- threading.Thread.__init__(self)
-
- # give this thread a name
- self.name = 'OpenCli'
-
- # register system commands (user commands registers by child object)
- self._register_command_internal(
- self.CMD_LEVEL_SYSTEM,
- 'help',
- 'h',
- 'print this menu',
- [],
- self._handle_help)
- self._register_command_internal(
- self.CMD_LEVEL_SYSTEM,
- 'info',
- 'i',
- 'information about this application',
- [],
- self._handle_info)
- self._register_command_internal(
- self.CMD_LEVEL_SYSTEM,
- 'quit',
- 'q',
- 'quit this application',
- [],
- self._handle_quit)
- self._register_command_internal(
- self.CMD_LEVEL_SYSTEM,
- 'uptime',
- 'ut',
- 'how long this application has been running',
- [],
- self._handle_uptime)
-
- def run(self):
- banner = []
- banner += [""]
- banner += [" ___ _ _ _ ___ _ _ "]
- banner += ["| . | ___ ___ ._ _ | | | |/ __>| \ |"]
- banner += ["| | || . \/ ._>| ' || | | |\__ \| |"]
- banner += ["`___'| _/\___.|_|_||__/_/ <___/|_\_|"]
- banner += [" |_| openwsn.org"]
- banner += [""]
- banner = '\n'.join(banner)
- print banner
-
- print '{0}\n'.format(self.appName)
-
- self.startTime = time.time()
-
- while self.goOn:
-
- # CLI stops here each time a user needs to call a command
- params = raw_input('> ')
-
- # log
- self.log.debug('Following command entered:'+params)
-
- params = params.split()
- if len(params) < 1:
- continue
-
- if len(params) == 2 and params[1] == '?':
- if not self._print_usage_from_name(params[0]):
- if not self._print_usage_from_alias(params[0]):
- print ' unknown command or alias \''+params[0]+'\''
- continue
-
- # find this command
- found = False
- self.commandLock.acquire()
- for command in self.commands:
- if command['name'] == params[0] or command['alias'] == params[0]:
- found = True
- cmd_params = command['params']
- cmd_callback = command['callback']
- break
- self.commandLock.release()
-
- # call its callback or print error message
- if found:
- if len(params[1:]) == len(cmd_params):
- cmd_callback(params[1:])
- else:
- if not self._print_usage_from_name(params[0]):
- self._print_usage_from_alias(params[0])
- else:
- print ' unknown command or alias \''+params[0]+'\''
-
- #======================== public ==========================================
-
- def register_command(self, name, alias, description, params, callback):
-
- self._register_command_internal(self.CMD_LEVEL_USER,
- name,
- alias,
- description,
- params,
- callback)
-
- #======================== private =========================================
-
- def _register_command_internal(self, cmd_level, name, alias, description, params, callback):
-
- if self._does_command_exist(name):
- raise SystemError("command {0} already exists".format(name))
-
- self.commandLock.acquire()
- self.commands.append({
- 'cmd_level': cmd_level,
- 'name': name,
- 'alias': alias,
- 'description': description,
- 'params': params,
- 'callback': callback,
- })
- self.commandLock.release()
-
- def _print_usage_from_name(self, commandname):
- return self._print_usage(commandname, 'name')
-
- def _print_usage_from_alias(self, commandalias):
- return self._print_usage(commandalias, 'alias')
-
- def _print_usage(self, name, param_type):
-
- usage_string = None
-
- self.commandLock.acquire()
- for command in self.commands:
- if command[param_type] == name:
- usage_string = []
- usage_string += ['usage: {0}'.format(name)]
- usage_string += [" <{0}>".format(p) for p in command['params']]
- usage_string = ''.join(usage_string)
- self.commandLock.release()
-
- if usage_string:
- print usage_string
- return True
- else:
- return False
-
- def _does_command_exist(self, cmd_name):
-
- return_val = False
-
- self.commandLock.acquire()
- for cmd in self.commands:
- if cmd['name'] == cmd_name:
- return_val = True
- self.commandLock.release()
-
- return return_val
-
- #=== command handlers (system commands only, a child object creates more)
-
- def _handle_help(self):
- output = []
- output += ['Available commands:']
-
- self.commandLock.acquire()
- for command in self.commands:
- output += [' - {0} ({1}): {2}'.format(command['name'],
- command['alias'],
- command['description'])]
- self.commandLock.release()
-
- print '\n'.join(output)
-
- def _handle_info(self):
- output = []
- output += ['General status of the application']
- output += ['']
- output += ['current time: {0}'.format(time.ctime())]
- output += ['']
- output += ['{0} threads running:'.format(threading.activeCount())]
- for t in threading.enumerate():
- output += ['- {0}'.format(t.getName())]
- output += ['']
- output += ['This is thread {0}.'.format(threading.currentThread().getName())]
-
- print '\n'.join(output)
-
- def _handle_quit(self):
-
- # call the quit callback
- self.quit_cb()
-
- # kill this thread
- self.goOn = False
-
- def _handle_uptime(self):
-
- up_time = timedelta(seconds=time.time()-self.startTime)
-
- print 'Running since {0} ({1} ago)'.format(
- time.strftime("%m/%d/%Y %H:%M:%S", time.localtime(self.startTime)),
- up_time)
-
-
-###############################################################################
-
-if __name__ == '__main__':
-
- def quit_callback():
- print "quitting!"
-
- def echo_callback(params):
- print "echo {0}!".format(params)
-
- cli = OpenCli("Standalone Sample App", quit_callback)
- cli.register_command('echo',
- 'e',
- 'echoes the first param',
- ['string to echo'],
- echo_callback)
- cli.start()
diff --git a/code/software/lib/README.md b/code/software/lib/README.md
deleted file mode 100644
index f348b05ecf..0000000000
--- a/code/software/lib/README.md
+++ /dev/null
@@ -1 +0,0 @@
-This folder contains the libraries.
diff --git a/code/software/lib/__init__.py b/code/software/lib/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/firmwares/LICENSE.md b/firmwares/LICENSE.md
new file mode 100644
index 0000000000..d2560ff51b
--- /dev/null
+++ b/firmwares/LICENSE.md
@@ -0,0 +1,29 @@
+Copyright (c), Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ - Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ - Neither the name of the Regents of the University of California nor the
+ names of its contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
diff --git a/firmwares/README.md b/firmwares/README.md
new file mode 100644
index 0000000000..88f1aed17f
--- /dev/null
+++ b/firmwares/README.md
@@ -0,0 +1,39 @@
+# Pre-built OpenWSN firmwares for Mercator
+
+They are distributed under OpenWSN's [LICENSE](./LICENSE.md).
+
+| file name | board | toolchain | project |
+|----------------------------------------------------------------|------------------|-----------|--------------|
+| [openwsn-iot-lab_M3.elf](openwsn-iot-lab_M3.elf) | iot-lab_M3 | armgcc | oos_mercator |
+| [openwsn-openmote-b-24ghz.ihex](openwsn-openmote-b-24ghz.ihex) | openmote-b-24ghz | armgcc | oos_mercator |
+
+
+## Source Code
+
+* repository: https://github.com/openwsn-berkeley/openwsn-fw
+* commit hash: `4e959776`
+
+## How to Build
+
+If you have all the tools installed on your machine, you can build the
+firmwares by yourself:
+
+``` shell
+$ mkdir openwsn-fw; cd openwsn-fw
+$ git clone -b develop https://github.com/openwsn-berkeley/openwsn-fw .
+$ git checkout (commit_hash)
+$ scons board=iot-lab_M3 toolchain=armgcc oos_mercator
+$ cp -p build/iot-lab_M3_armgcc/projects/common/03oos_mercator_prog openwsn-iot-lab_M3.elf
+$ scons board=openmote-b-24ghz toolchain=armgcc oos_mercator
+$ cp -p build/openmote-b-24ghz_armgcc/projects/common/03oos_mercator_prog.ihex openwsn-openmote-b-24ghz.ihex
+```
+
+Or, if you have Docker available on your machine, you can use
+`build-firmwares.sh`, which is located at the top directory:
+
+``` shell
+$ git clone https://github.com/yatch/mercator.git
+$ git clone https://github.com/openwsn-berkeley/openwsn-fw
+$ cd mercator
+$ ./build-firmwares.sh ../openwsn-fw
+```
diff --git a/firmwares/openwsn-iot-lab_M3.elf b/firmwares/openwsn-iot-lab_M3.elf
new file mode 100755
index 0000000000..6d885724ff
Binary files /dev/null and b/firmwares/openwsn-iot-lab_M3.elf differ
diff --git a/firmwares/openwsn-openmote-b-24ghz.ihex b/firmwares/openwsn-openmote-b-24ghz.ihex
new file mode 100644
index 0000000000..c8ea9ed4c2
--- /dev/null
+++ b/firmwares/openwsn-openmote-b-24ghz.ihex
@@ -0,0 +1,1851 @@
+:020000040020DA
+:100000009C4A0020D72E2000C12E2000CB2E20009D
+:10001000D12E2000D12E2000D12E20000000000083
+:10002000000000000000000000000000D12E2000B1
+:10003000D12E200000000000D12E2000D12E200063
+:10004000D12E2000D12E2000D12E2000D12E200034
+:1000500000000000D12E2000D12E2000D12E200043
+:10006000D12E200000000000000000000000000071
+:100070000000000000000000D12E20000000000061
+:100080000000000000000000D12E2000D12E200032
+:10009000D12E2000D12E2000D12E2000D12E2000E4
+:1000A000D12E2000D12E2000D12E2000D12E2000D4
+:1000B000D12E2000D12E2000D12E2000D12E2000C4
+:1000C000D12E2000D12E2000D12E2000D12E2000B4
+:1000D000D12E200000000000000000000000000001
+:1000E0000000000000000000000000000000000010
+:1000F000D12E200000000000D12E2000D12E2000A3
+:1001000000000000000000000000000000000000EF
+:1001100000000000000000000000000000000000DF
+:1001200000000000000000000000000000000000CF
+:1001300000000000000000000000000000000000BF
+:1001400000000000000000000000000000000000AF
+:10015000000000000000000000000000000000009F
+:10016000000000000000000000000000000000008F
+:10017000000000000000000000000000000000007F
+:10018000000000000000000000000000000000006F
+:10019000000000000000000000000000000000005F
+:1001A000000000000000000000000000000000004F
+:1001B000000000000000000000000000000000003F
+:1001C000000000000000000000000000000000002F
+:1001D000000000000000000000000000000000001F
+:1001E000000000000000000000000000000000000F
+:1001F00000000000000000000000000000000000FF
+:1002000000000000000000000000000000000000EE
+:1002100000000000000000000000000000000000DE
+:1002200000000000000000000000000000000000CE
+:1002300000000000000000000000000000000000BE
+:1002400000000000000000000000000000000000AE
+:10025000000000000000000000000000000000009E
+:10026000000000000000000000000000000000008E
+:10027000D12E2000D12E2000D12E2000D12E200002
+:10028000D12E2000D12E2000D12E200080B500AF2D
+:100290004FF4BD720021174806F060FA154B012299
+:1002A0005A7001F020FB00F0CBFC00F083FD002130
+:1002B000FF2000F091FD03461A460E4B1A7002F023
+:1002C00044F90D4801F012FF0C4802F011FB0C48F4
+:1002D00002F01CFB0B490C4802F080FE00F018F8FD
+:1002E0000F210A4800F0EEFC00F0BCFC0023184689
+:1002F00080BD00BFB04A00200C4B0020290A20001E
+:100300003B0A2000250920007D0720002907200046
+:1003100080B500AF02F07EFE02F072FE024B0022BA
+:1003200083F8492000BF80BDB04A002080B500AFEF
+:10033000114B93F82330002B1BD00F4BB3F85430E4
+:1003400001339AB20C4BA3F854200B4B4FF6FF72BB
+:10035000DA84094B002283F82220074B002283F81D
+:100360002820054B002283F829207E2002F070FE11
+:1003700000E000BF80BD00BFB04A002080B500AFE4
+:100380001E4B93F84830002B08D11C4BB3F8583063
+:1003900001339AB2194BA3F858202AE0174B93F86F
+:1003A0002A30013B052B1BD801A252F823F000BFD5
+:1003B000C9032000E1032000CF032000D503200063
+:1003C000E1032000DB03200000F01AF811E000F048
+:1003D0005DF80EE000F09EF80BE000F03DF908E05B
+:1003E000064BB3F85A3001339AB2044BA3F85A20A3
+:1003F00000BFFFF78DFF00BF80BD00BFB04A0020E7
+:1004000080B500AF094B93F84830012B08D0074B5B
+:10041000B3F8583001339AB2044BA3F8582003E0E4
+:100420000F21034800F04EFC80BD00BFB04A002001
+:100430003504200080B582B000AF124B7B607B6832
+:1004400002221A70104B5A787B685A700E4B5B88E8
+:10045000184600F07FF903461A467B685A807B688D
+:100460001A1D094B5C3319685B6811605360064BB9
+:100470000C2283F82320FFF759FF00BF0837BD4641
+:1004800080BD00BFB44A0020B04A002080B500AF54
+:10049000134B93F84830012B08D0114BB3F8583068
+:1004A00001339AB20E4BA3F8582018E00F210D48E3
+:1004B00000F008FC0A4B5B78022B05D1084B1B7837
+:1004C000184600F06DFF05E0054B5B78042B01D169
+:1004D00001F0EDFF02F07AFA014B01225A7080BD63
+:1004E000B04A0020E904200080B582B000AF074B7D
+:1004F0007B607B680A221A70054B012283F8232057
+:10050000FFF714FF00BF0837BD4680BDB44A002086
+:10051000B04A002090B585B002AF3F4B93F8483009
+:100520000B2B08D03C4BB3F8583001339AB23A4BFE
+:10053000A3F858206CE00F21384800F0C3FB364B7D
+:100540005B78022B63D0344B02225A70324B00226C
+:100550005A80334B7B60304B0022A3F8E4207B6849
+:100560005A7A2D4B83F8E6207B68B3F805309BB2AE
+:10057000184600F0EFF803461A46274BA3F8E82088
+:10058000254B254A64335C321168526819605A6001
+:100590007B68B3F803309BB2184600F0DBF80346E3
+:1005A0007B807A881C4BA3F86C201B4BB3F8E4309B
+:1005B000184600F0CFF803463B803A88164BA3F864
+:1005C0006E207B689B7A1946134B93F8E6300E3BFE
+:1005D0001A46144806F0C2F802F0F2F97B685B781C
+:1005E000184602F0C7F90C4B1C787B68B3F807304B
+:1005F0009BB2184600F0AEF8034619460A4B00932A
+:1006000000230022204600F04BFC00BF00E000BFAA
+:100610000C37BD4690BD00BFB04A00202D0620001B
+:10062000DA4A0020204B0020890B200080B582B0E0
+:1006300000AF074B7B607B680B221A70054B0122D1
+:1006400083F82320FFF772FE00BF0837BD4680BD48
+:10065000B44A0020B04A002080B582B000AF244BDD
+:1006600093F848300E2B08D0214BB3F858300133A3
+:100670009AB21F4BA3F8582036E00F211D4800F016
+:1006800021FB1D4B7B607B681A7B194B83F8E620AE
+:100690007B685B899BB2184600F05CF803461A46FB
+:1006A000134BA3F8F4207B685A7B114B83F8EA20A4
+:1006B0007B689A1C0E4BEB331168526819605A60C4
+:1006C0000B4B00225A8001F0EBFE02F079F97B68B7
+:1006D0005B78184602F04EF902F000FA02F00EFACA
+:1006E000034B04225A7000BF0837BD4680BD00BFCF
+:1006F000B04A0020FD062000DA4A002080B582B012
+:1007000000AF074B7B607B680C221A70054B0122FF
+:1007100083F82320FFF70AFE00BF0837BD4680BDDF
+:10072000B44A0020B04A002080B582B000AF074B29
+:100730007B607B6808221A70054B012283F8232016
+:10074000FFF7F4FD00BF0837BD4680BDB44A002066
+:10075000B04A002080B483B000AF0346FB80FB8822
+:100760001B021AB2FB881B0A9BB21BB213431BB2BB
+:100770009BB218460C37BD4680BC704780B582B02E
+:1007800000AF01F063FE474B93F82330002B76D087
+:10079000444B93F822301A46424B13441B79FB71A9
+:1007A000404B93F82430002B0DD1FB797E2B02D0E7
+:1007B000FB797D2B07D17D2002F04AFC394B0122C9
+:1007C00083F824202BE0374BDB8CFA79114618464E
+:1007D00000F0D4FA03461A46324BDA84314B93F8D0
+:1007E0002430012B07D1FB7983F02003FB712D4BC3
+:1007F000002283F824202B4B93F822300133DAB205
+:10080000284B83F82220274B93F82330013BDAB2A0
+:10081000244B83F82320FB79184602F019FC214B66
+:1008200093F82330002B36D11E4B93F82830002B41
+:1008300031D11C4BDB8CDB43BB801A4B93F822304D
+:100840001946BB88DAB2174B0B441A71BB881B0AD6
+:100850009AB2144B93F822300133D1B2114A1344A7
+:100860000A461A710F4B93F823300233DAB20D4B5C
+:1008700083F823200B4B012283F828200BE0094B3F
+:1008800093F82930002B06D1064B012283F829204A
+:100890007E2002F0DDFB01F0E0FD00BF0837BD4621
+:1008A00080BD00BFB04A002080B582B000AF0346D3
+:1008B000FB71FB797D2B04D1194B012283F84A206F
+:1008C0002AE0174B93F84A30012B07D1FB7983F0CC
+:1008D0002003FB71124B002283F84A20104B93F83F
+:1008E00048301A460E4B1344FA7983F82A200C4BF1
+:1008F00093F848300133DAB2094B83F84820084BAB
+:10090000B3F84C30FA791146184600F037FA03462E
+:100910001A46034BA3F84C2000BF0837BD4680BDE4
+:10092000B04A002080B582B000AF01F08FFD02F028
+:10093000B5FB0346FB713A4B93F84E30002B19D1AF
+:10094000374B93F849307E2B14D1FB797E2B11D095
+:10095000334B012283F84E20314B002283F848208C
+:100960002F4B4FF6FF72A3F84C20FB791846FFF788
+:100970009BFF4AE02A4B93F84E30012B15D1FB79AF
+:100980007E2B12D0FB791846FFF78EFF244B93F88D
+:10099000483001331E2B38DD214B002283F84820DC
+:1009A0001F4B002283F84E202FE01D4B93F84E3052
+:1009B000012B2AD1FB797E2B27D1194BB3F84C3070
+:1009C0004FF2B802934214D1154BB3F850300133B3
+:1009D0009AB2134BA3F85020114B93F84830023BC6
+:1009E000DAB20F4B83F848200F210E4800F06AF965
+:1009F00007E00B4BB3F8523001339AB2084BA3F81F
+:100A00005220074B002283F84E20054AFB7982F8DA
+:100A1000493001F022FD002318460837BD4680BD4D
+:100A2000B04A00207D03200080B483B000AF78601E
+:100A300000BF0C37BD4680BC704780B588B002AFA0
+:100A400078600123FB7501F0C1FF474B5B78042BF5
+:100A500040F085807F220021444805F07FFE444B12
+:100A60000193444B0093444B7F2244493F4802F09A
+:100A70005FF83E4BFB60FB6808224149184605F0D1
+:100A80003BFE0346002B01D00023FB75364B93F849
+:100A90007521354B93F8E6309A4201D00023FB755F
+:100AA000FB681B899AB2304BB3F8F4309A4201D0FC
+:100AB0000023FB750C233B610FE02B4A3B69134479
+:100AC000F6331A78284B93F8EA309A4202D0002382
+:100AD000FB7509E03B6901333B61234B93F87531AA
+:100AE000023B3A699A42E8DBFB7D002B31D01E4B7A
+:100AF00093F87931002B2CD0224BBB60BB680722C6
+:100B00001A70194B93F87521BB685A70164B93F9FC
+:100B10007721BB689A70144B93F87931DB015AB294
+:100B2000FB7D9B015BB213435BB2DAB2BB68DA7048
+:100B3000FB685B899AB2BB689A800B4B062283F8EC
+:100B40002320FFF7F3FB084B5B8801339AB2064B77
+:100B50005A8001F035FF01F0C1FF01F0CFFF00BF67
+:100B60001837BD4680BD00BFB04A0020A64B00200C
+:100B7000294C0020284C0020274C0020254C002028
+:100B80009B4B0020B44A002080B586B000AF0346DE
+:100B9000FB710A23FB75274BB3F8E420254BB3F810
+:100BA000E8309A421DD1234B1B78184600F0F8FB21
+:100BB00001F00CFF1F4B03225A701F4B3B613B6936
+:100BC00005221A701B4B012283F82320FFF7AEFB8E
+:100BD000184B5B8801339AB2164B5A8001F0F6FE2F
+:100BE00025E001F009FC134B93F8E6309BB219465F
+:100BF000124801F0FFFE01F039FF01F047FF01F05C
+:100C000002FC0C4BB3F8E43001339AB2094BA3F861
+:100C1000E420084BB3F8E4301846FFF79BFD034689
+:100C2000FB81FB7D054A1344FA891A8000BF1837FF
+:100C3000BD4680BDB04A0020B44A0020144B0020BD
+:100C400080B500AF80220021044805F087FD022214
+:100C50000021034805F082FD00BF80BD2C4C002020
+:100C6000AC4C002080B582B000AF1CE004F0D3F89B
+:100C7000124B9B6F7B607B689B68104A936704F004
+:100C8000BEF87B681B6898477B6800221A607B6807
+:100C900000221A717B6800229A60094B1B78013B85
+:100CA000DAB2074B1A70054B9B6F002BDED101F0B7
+:100CB00081F900F06DFE01F089F9F4E72C4C002079
+:100CC000AC4C002080B584B000AF78600B46FB7060
+:100CD00004F0A1F8254BFB6002E0FB680C33FB60DD
+:100CE000FB681B68002B03D0FB68214A9342F4D9B0
+:100CF000FB681F4A934203D901F035FC00F08EFED9
+:100D0000FB687A681A60FB68FA781A71194BBB6045
+:100D100003E0BB681B680833BB60BB681B68002B23
+:100D200006D0BB681B681A79FB681B799A42F0D918
+:100D3000BB681A68FB689A60BB68FA681A600E4B59
+:100D40001B780133DAB20C4B1A700B4B1A780A4B32
+:100D50005B789A4203D9084B1A78074B5A7004F013
+:100D60004EF800BF1037BD4680BD00BF2C4C0020A0
+:100D7000984C0020A44C0020AC4C002080B483B0E0
+:100D800000AF03460A46FB8013467B71FB881B0AB3
+:100D90009AB2F9887B794B40DBB2054931F81330C0
+:100DA00053409BB218460C37BD4680BC704700BF0D
+:100DB000A46A200080B500AF4FF4DA720021044825
+:100DC00005F0CCFC034802F019F800BF80BD00BF5D
+:100DD000B04C00207514200080B584B000AF0346ED
+:100DE0000A46FB711346BB7104F015F8FB79012B21
+:100DF00002D0FB79002B19D1FA7928491346DB0080
+:100E00009B1A9B000B4411331B7883F00103DBB268
+:100E1000002B0BD0FA7921491346DB009B1A9B006B
+:100E20000B44113301221A70FB7932E0FB79FF2B5E
+:100E30002CD10223FB7326E0FA7B18491346DB0012
+:100E40009B1A9B000B4411331B7883F00103DBB228
+:100E5000002B15D0FA7B11491346DB009B1A9B002F
+:100E60000B44113301221A70FA7B0C491346DB0044
+:100E70009B1A9B000B441833BA791A70FB7B08E06D
+:100E8000FB7B0133FB73FB7B0E2BD5D903F0B7FF44
+:100E9000FF2318461037BD4680BD00BFB04C002070
+:100EA00090B587B000AF396011461A460346FB7112
+:100EB0000B46BB7113467B710023FB7511E0FA7D75
+:100EC00091491346DB009B1A9B000B4411331B789E
+:100ED000002B03D0FA7DFB799A4206D0FB7D0133CB
+:100EE000FB75FB7D0E2BEAD900E000BFFB7D0F2BCD
+:100EF00000F0068103F08FFFFA7983491346DB0087
+:100F00009B1A9B000B4412337A791A70BB79002B21
+:100F100002D0012B23D03FE0FA7939680B465B0100
+:100F2000194479481346DB009B1A9B00034419605F
+:100F30003A6813465B011A440323A3FB0213D21A37
+:100F4000520813449B0FFA7998B26F491346DB009D
+:100F50009B1A9B000B44083302461A801CE0FA7966
+:100F600069491346DB009B1A9B000B443A681A60E0
+:100F70003A680323A3FB0213D21A520813449B0FAF
+:100F8000FA7998B260491346DB009B1A9B000B4428
+:100F9000083302461A8000BFFA795B491346DB002A
+:100FA0009B1A9B000B4408331B88002B15D1FA7940
+:100FB00055491346DB009B1A9B000B441C6801F04B
+:100FC00053FF0346FA79E1184F481346DB009B1A9A
+:100FD0009B000344043319600EE001F045FF034613
+:100FE000F97903F10042013A47480B46DB005B1AEE
+:100FF0009B00034404331A60FA7943491346DB002B
+:101000009B1A9B000B44103301221A70FA793E4957
+:101010001346DB009B1A9B000B441433BA6A1A6018
+:10102000394B93F8B03183F00103DBB2002B60D071
+:101030000023FB7502E0FB7D0133FB75FA7D32492D
+:101040001346DB009B1A9B000B4410331B7883F084
+:101050000103DBB2002BEED1FA7D2B491346DB00F6
+:101060009B1A9B000B4404331A68274BD3F8AC310E
+:10107000D31A3B61FB7DBB75BB7D0133FB7523E060
+:10108000FA7D21491346DB009B1A9B000B44103369
+:101090001B78002B15D0FA7D1B491346DB009B1AE9
+:1010A0009B000B4404331A68174BD3F8AC31D31AA6
+:1010B000FB60FA683B699A4203D2FB683B61FB7DA7
+:1010C000BB75FB7D0133FB75FB7D0E2BD8D9BA7D3B
+:1010D0000D491346DB009B1A9B000B4404331B682D
+:1010E000094AC2F8A831084BD3F8A831184601F0D4
+:1010F00093FE054B012283F8A42103F080FE00E05B
+:1011000000BF1C37BD4690BDB04C002080B588B0F4
+:1011100000AFB9607A601A460346FB731346BB738F
+:101120000023FB7711E0FA7F8F491346DB009B1AFF
+:101130009B000B4411331B78002B03D0FA7FFB7B01
+:101140009A4206D0FB7F0133FB77FB7F0E2BEAD957
+:1011500000E000BFFB7F0F2B00F0028103F05BFE7D
+:10116000FA7B81491346DB009B1A9B000B44123328
+:1011700001221A70BB7B002B02D0012B23D03FE051
+:10118000FA7BB9680B465B01194477481346DB00CC
+:101190009B1A9B0003441960BA6813465B011A440A
+:1011A0000323A3FB0213D21A520813449B0FFA7BAA
+:1011B00098B26D491346DB009B1A9B000B44083321
+:1011C00002461A801CE0FA7B67491346DB009B1A33
+:1011D0009B000B44BA681A60BA680323A3FB02138E
+:1011E000D21A520813449B0FFA7B98B25E491346F9
+:1011F000DB009B1A9B000B44083302461A8000BF99
+:10120000FA7B59491346DB009B1A9B000B440833B9
+:101210001B88002B13D1FA7B53491346DB009B1A22
+:101220009B000B441968FA7B7B6819444E481346AF
+:10123000DB009B1A9B000344043319600CE0F97B2C
+:101240007B6803F10042013A47480B46DB005B1A1A
+:101250009B00034404331A60FA7B43491346DB00C6
+:101260009B1A9B000B44103301221A70FA7B3E49F3
+:101270001346DB009B1A9B000B441433BA6A1A60B6
+:10128000394B93F8B03183F00103DBB2002B60D00F
+:101290000023FB7702E0FB7F0133FB77FA7F3249C3
+:1012A0001346DB009B1A9B000B4410331B7883F022
+:1012B0000103DBB2002BEED1FA7F2B491346DB0092
+:1012C0009B1A9B000B4404331A68274BD3F8AC31AC
+:1012D000D31ABB61FB7FBB77BB7F0133FB7723E076
+:1012E000FA7F21491346DB009B1A9B000B44103305
+:1012F0001B78002B15D0FA7F1B491346DB009B1A85
+:101300009B000B4404331A68174BD3F8AC31D31A43
+:101310007B617A69BB699A4203D27B69BB61FB7FBF
+:10132000BB77FB7F0133FB77FB7F0E2BD8D9BA7FCE
+:101330000D491346DB009B1A9B000B4404331B68CA
+:10134000094AC2F8A831084BD3F8A831184601F071
+:1013500063FD054B012283F8A42103F050FD00E05A
+:1013600000BF2037BD4680BDB04C002080B582B0A4
+:1013700000AF03463960FB7103F04DFDFA79074970
+:101380001346DB009B1A9B000B443A681A6003F07B
+:1013900036FD00BF0837BD4680BD00BFB04C002001
+:1013A00080B582B000AF0346FB7103F034FDFA79DB
+:1013B0000C491346DB009B1A9B000B4410330022A0
+:1013C0001A70FA7907491346DB009B1A9B000B44FD
+:1013D000143300221A6003F012FD00BF0837BD4627
+:1013E00080BD00BFB04C002080B582B000AF034686
+:1013F000FB71FB790E2B0DD8FA791346DB009B1A93
+:101400009B00074A13441C220021184605F0A6F948
+:10141000012300E0002318460837BD4680BD00BF09
+:10142000B04C002080B500AF01F01EFD0346184609
+:1014300080BD80B400AF034BD3F8A8311846BD4639
+:1014400080BC7047B04C002080B483B000AF03462E
+:10145000FB71FA7906491346DB009B1A9B000B448B
+:1014600010331B7818460C37BD4680BC704700BF50
+:10147000B04C002090B587B002AF804B1B7C002B96
+:1014800015D07E4BD3F8A8217C4B5B689A420ED1D5
+:101490007A4B00221A74794B5B690020984701F05F
+:1014A000E3FC03460F33184601F0B6FC0EE2734B23
+:1014B0005A68724BD3F8A8319A4236D10023FB7395
+:1014C00030E0FA7B6D491346DB009B1A9B000B440E
+:1014D00010331B78002B22D0FB7B012B1FD0FB7B12
+:1014E000002B1CD0FA7B65491346DB009B1A9B003E
+:1014F0000B4404331A68614BD3F8A831D31A40F275
+:101500008E2293420BD8FA7B5C4BD3F8A8115B4830
+:101510001346DB009B1A9B00034404331960FB7BDA
+:101520000133FB73FB7B0E2BCBD90023FB7357E1FD
+:10153000FA7B52491346DB009B1A9B000B44103385
+:101540001B78002B00F049814C4BD3F8A811FA7B93
+:101550004A481346DB009B1A9B00034404331B6874
+:10156000994240F03A81F97BFA7B44480B46DB0014
+:101570005B1A9B0003440433196840481346DB00A0
+:101580009B1A9B0003440C331960FB7B012B1ED17B
+:101590003A4B012283F8B021FA7B38491346DB002D
+:1015A0009B1A9B000B44103300221A70FA7B3349BC
+:1015B0001346DB009B1A9B000B4414331B68FA7B19
+:1015C000104698472D4B002283F8B02105E1FA7BA5
+:1015D0002A491346DB009B1A9B000B4408331B88E7
+:1015E000002B4DD1FA7B25491346DB009B1A9B004B
+:1015F0000B44103300221A70FA7B20491346DB009B
+:101600009B1A9B000B4414331868FA7B1B49134642
+:10161000DB009B1A9B000B4418331B781946FFF71D
+:1016200051FBFA7B15491346DB009B1A9B000B44C8
+:1016300012331B78002B40F0D080104B012283F82E
+:10164000B021FA7B0D491346DB009B1A9B000B442B
+:101650001C68FA7B09491346DB009B1A9B000B446C
+:1016600014331B68F87B0093002301222146FFF707
+:1016700017FC024B002283F8B021AEE0B04C0020F2
+:10168000FA7B94491346DB009B1A9B000B440833FA
+:101690001B88013B98B28F491346DB009B1A9B00C5
+:1016A0000B44083302461A80FA7B8A491346DB0052
+:1016B0009B1A9B000B4408331B88002B78D1FA7BC4
+:1016C00084491346DB009B1A9B000B441968FA7B84
+:1016D00080481346DB009B1A9B0003440C331B68B5
+:1016E0000B44FA7B23F000417A481346DB009B1A37
+:1016F0009B00034404331960FA7B76491346DB00F0
+:101700009B1A9B000B4404331A68724BD3F8A83120
+:10171000D31A40F28E2293425FD8FA7B6D4913466A
+:10172000DB009B1A9B000B44103300221A70FA7BDB
+:1017300068491346DB009B1A9B000B44143318685E
+:10174000FA7B64491346DB009B1A9B000B44183359
+:101750001B781946FFF7B6FAFA7B5E491346DB00A1
+:101760009B1A9B000B4412331B78002B35D1594B2D
+:10177000012283F8B021FA7B56491346DB009B1AFD
+:101780009B000B441C68FA7B52491346DB009B1AF2
+:101790009B000B4414331B68F87B00930023012249
+:1017A0002146FFF77DFB4B4B002283F8B02114E06C
+:1017B000FA7B48491346DB009B1A9B000B440C3311
+:1017C0001B68F97B03F10042013A42480B46DB00FB
+:1017D0005B1A9B00034404331A60FB7B0133FB73E9
+:1017E000FB7B0E2B7FF6A4AE3A4BD3F8A831394AD7
+:1017F000C2F8AC310023FB7302E0FB7B0133FB73C7
+:10180000FA7B34491346DB009B1A9B000B441033D0
+:101810001B7883F00103DBB2002B02D0FB7B0E2B85
+:10182000EBD9FB7B0E2B4DD8FA7B2A491346DB0004
+:101830009B1A9B000B4404331A68264BD3F8AC3137
+:10184000D31ABB60FB7BBB73BB7B0133FB7323E011
+:10185000FA7B20491346DB009B1A9B000B44103394
+:101860001B78002B15D0FA7B1A491346DB009B1A14
+:101870009B000B4404331A68164BD3F8AC31D31ACF
+:101880007B607A68BB689A4203D27B68BB60FB7B53
+:10189000BB73FB7B0133FB73FB7B0E2BD8D9BA7B6D
+:1018A0000C491346DB009B1A9B000B4404331B6856
+:1018B000084AC2F8A831074BD3F8A831184601F0FE
+:1018C000ABFA03E0034B002283F8A4211437BD4692
+:1018D00090BD00BFB04C002080B500AFFEF7D6FC35
+:1018E0000346184680BD80B500AF00F09DF800F0BB
+:1018F000B7F800F014F800F054F800F06DFD00F0B7
+:10190000C3FA00F0EFF801F065FA01F01BFB00F0FC
+:1019100051FF00F017FC00F097F900BF80BD80B5C3
+:1019200000AF1021094802F058FB0821074802F0D7
+:1019300054FB00221021054802F024FB0822082154
+:10194000024802F01FFB00BF80BD00BF00C00D4079
+:1019500080B500AF00221021044802F013FB0822DA
+:101960000821024802F00EFB00BF80BD00C00D4000
+:1019700080B500AF00220821044802F003FB1022CA
+:101980001021024802F0FEFA00BF80BD00C00D40E9
+:1019900080B500AF002004F0EBFA04F017F900BFA7
+:1019A00080BD80B500AF3221044802F072FD4FF6D1
+:1019B000FF71024802F042FD00BF80BD00200340DD
+:1019C00080B582B000AFFF21054802F0E2FE034679
+:1019D0005B097B607B6818460837BD4680BD00BF49
+:1019E0000020034080B584B000AF7860FF210A4832
+:1019F00002F0CFFE03465B09FB607A68FB68D31AEE
+:101A0000BB60BB68002B01DD002300E0012318460A
+:101A10001037BD4680BD00BF0020034080B500AF39
+:101A200004F0CBF800BF80BD80B500AFFF210848AF
+:101A300002F0BDFAFF21074802F0B9FAFF2106487B
+:101A400002F0B5FAFF21054802F0B1FA00BF80BDEF
+:101A500000900D4000A00D4000B00D4000C00D40B2
+:101A600080B582B000AF03F0D6F90346FB710022C7
+:101A700040211A4802F00AF900228021174802F09A
+:101A800005F901224021154803F020FD01228021A3
+:101A9000124803F01BFD00220021012003F06AFF21
+:101AA000002004F017F800BF0D4B1B6803F400235F
+:101AB000002BF9D000F030F800F05EF800F08CF860
+:101AC00000F0BAF8FB7983F00103DBB2002B01D000
+:101AD00003F095F900BF0837BD4680BD00C00D403A
+:101AE00004200D4080B500AF20210A4802F05FFAC3
+:101AF00000222021074802F02FF9082002F07AFC8A
+:101B00002021044802F0F6F92021024802F0AFF942
+:101B100000BF80BD00C00D4080B500AF002004F0C4
+:101B200073F9012004F070F9032004F06DF94FF40B
+:101B3000807004F069F940F2011004F065F940F298
+:101B4000012004F061F94FF4407004F05DF94FF4A6
+:101B5000806004F059F940F2014004F055F9022088
+:101B600004F02EF94FF4007004F02AF94FF4A0604D
+:101B700004F026F900BF80BD80B500AF002004F05E
+:101B80008BF9012004F088F9032004F085F94FF463
+:101B9000807004F081F940F2011004F07DF940F208
+:101BA000012004F079F94FF4407004F075F94FF416
+:101BB000806004F071F940F2014004F06DF90220F8
+:101BC00004F046F94FF4007004F042F94FF4A060BD
+:101BD00004F03EF900BF80BD80B500AF002004F0E6
+:101BE000A3F9012004F0A0F9022004F09DF90320DC
+:101BF00004F09AF94FF4807004F096F940F2011065
+:101C000004F092F94FF4007004F08EF940F20120D4
+:101C100004F08AF94FF4407004F086F94FF48060C4
+:101C200004F082F940F2014004F07EF94FF4A06024
+:101C300004F07AF900BF80BD80B500AF202002F02B
+:101C4000D9FB00BF80BD00BF80B500AF40F20140AE
+:101C500004F070F840F2014004F0B2F80023184696
+:101C600080BDF0B58FB008AFF8607A603B600B467E
+:101C7000FB723B681B78002B14BF01230023FB750C
+:101C800007F116031946B86B00F0D5F80346002B90
+:101C900041D13B681B789BB2FA7A92B2B97D386821
+:101CA000007804467868204497F83C60FD7D002465
+:101CB000069497F834400594049003910292FA68D0
+:101CC000019200937B683A6B3146284601F020FC74
+:101CD0000346002B1FD100BF01F02EFD0346002B51
+:101CE000F9D03B681B7899B23B681B781A467B6831
+:101CF0001A4497F83C30184601F042FD0346002B89
+:101D000009D13B681A7897F83C301344DAB23B6843
+:101D10001A70002300E0012318461C37BD46F0BDB1
+:101D2000B0B592B008AFF8607A603B600B46FB72CA
+:101D30003B681B781A4697F84430D31A002BCCBF67
+:101D40000123002387F8273007F126031946386C52
+:101D500000F071F80346002B3DD13B681B789BB225
+:101D6000FA7A92B297F8261097F8445097F82740DD
+:101D70000020069097F83C00059007F114000490AD
+:101D800003910292FA68019200937B68BA6B29462C
+:101D9000204601F07FFD0346002B1CD100BF01F05F
+:101DA00087FE0346002BF9D03B681B789AB207F1F7
+:101DB000140397F84400796801F081FE0346002B74
+:101DC00009D13B681A7897F84430D31ADAB23B68E5
+:101DD0001A70002300E0012318462837BD46B0BD25
+:101DE00080B586B002AF7860396007F10F031946FD
+:101DF000386800F020F80346002B17D1FA7B002347
+:101E0000009301237968786801F090FA0346002B6B
+:101E10000CD100BF01F00EFB0346002BF9D001F0FE
+:101E20002DFB0346002B01D1002300E001231846BF
+:101E30001037BD4680BD90B583B000AF7860396083
+:101E4000102279680F4804F057FC0346002B10D08D
+:101E50000C4A7B681446186859689A68DB680FC496
+:101E60000021084801F0A2F90346002B01D001230C
+:101E700003E03B6800221A70002318460C37BD4669
+:101E800090BD00BF8C42002080B500AF80210E487D
+:101E900002F0A3F808210D4802F09FF80F210C482A
+:101EA00002F09BF800228021074802F06BF8002224
+:101EB0000821064802F066F800220F21044802F0CB
+:101EC00061F800BF80BD00BF00900D4000B00D4024
+:101ED00000A00D4080B500AF8021024800F0EAF874
+:101EE00000BF80BD00900D4080B500AF0022802172
+:101EF000024802F047F800BF80BD00BF00900D40CF
+:101F000080B500AF80228021024802F03BF800BF7C
+:101F100080BD00BF00900D4080B500AF0821024891
+:101F200000F0C8F800BF80BD00A00D4080B500AF34
+:101F300000220821024802F025F800BF80BD00BF42
+:101F400000A00D4080B500AF08220821024802F031
+:101F500019F800BF80BD00BF00A00D4080B500AFE4
+:101F60000421024800F0A6F800BF80BD00A00D408B
+:101F700080B500AF00220421024802F003F800BF40
+:101F800080BD00BF00A00D4080B500AF0422042139
+:101F9000024801F0F7FF00BF80BD00BF00A00D4068
+:101FA00080B500AF0221024800F084F800BF80BD78
+:101FB00000A00D4080B500AF00220221024801F0D0
+:101FC000E1FF00BF80BD00BF00A00D4080B500AFA5
+:101FD00002220221024801F0D5FF00BF80BD00BFF0
+:101FE00000A00D4080B500AF0821024800F062F863
+:101FF00000BF80BD00B00D4080B500AF00220821B9
+:10200000024801F0BFFF00BF80BD00BF00B00D401F
+:1020100080B500AF08220821024801F0B3FF00BFDD
+:1020200080BD00BF00B00D4080B500AF0121024867
+:1020300000F040F800BF80BD00A00D4080B500AFAB
+:1020400000220121024801F09DFF00BF80BD00BFBA
+:1020500000A00D4080B500AF01220121024801F02F
+:1020600091FF00BF80BD00BF00A00D4080B400AF55
+:1020700000BFBD4680BC704780B400AF00BFBD4606
+:1020800080BC704780B400AF00BFBD4680BC7047C5
+:1020900080B400AF00BFBD4680BC704780B400AFC5
+:1020A00000BFBD4680BC704780B400AF00BFBD46D6
+:1020B00080BC704780B584B000AF78600B46FB7081
+:1020C000FB781946786801F04CFFF860FB68DA434A
+:1020D000FB781340FB60FB68DAB2FB78194678683E
+:1020E00001F050FF00BF1037BD4680BD80B485B001
+:1020F00000AF7860114BFB6007E0FA68531EFB608D
+:102100007B68591C796012781A70FB68B3F1281F3C
+:10211000F3D20B4BFB6007E0FA68531EFB607B6851
+:10212000591C796012781A70FB68044A9342F3D8FC
+:1021300000BF1437BD4680BC704700BF2B0028008D
+:102140002F00280080B582B000AF4FF4407003F03C
+:1021500037FE4FF4407003F07BFE4FF4407003F005
+:10216000E3FE4FF4407003F0E5FD2021154801F037
+:102170004AFF154A2021134803F0CEF80C222021F3
+:10218000104803F065F810210E4801F03CFF0F4A9B
+:1021900010210C4803F0C0F80B221021094803F06D
+:1021A00057F80123FB7103F043FC0246FB79194603
+:1021B000104602F009FC02F047FC00BF0837BD469C
+:1021C00080BD00BF00A00D4030410D402C410D40AE
+:1021D00080B584B000AF03463960FB71144BFB60DF
+:1021E000FB790121184602F063FD072002F09AFDF9
+:1021F000FFF7E6FB0246FB681344FB6007E0F86864
+:10220000FFF7F0FB0346002B01D000230BE002F0A8
+:1022100065FD0346002BF2D102F0C0FD0346DAB2A1
+:102220003B681A70012318461037BD4680BD00BFB9
+:10223000801A060080B586B000AF0346B9607A60A8
+:10224000FB731D4B7B61FB7B0121184602F030FDC7
+:102250000B2002F067FDFFF7B3FB02467B691344D6
+:102260007B6121E07869FFF7BDFB0346002B01D0BD
+:102270007B681DE002F032FD0346002BF2D102F034
+:102280008DFD0146BB685A1CBA60CAB21A707B68E1
+:10229000013B7B607B68012B03D1052002F042FDEE
+:1022A00002E0092002F03EFD7B68002BE2D17B6852
+:1022B00018461837BD4680BD801A060080B584B028
+:1022C00000AF03460A46FB711346BB71134BFB601C
+:1022D000FB790021184602F0EBFCBB79184602F0AE
+:1022E0004DFD072002F01EFDFFF76AFB0246FB686A
+:1022F0001344FB6007E0F868FFF774FB0346002B0C
+:1023000001D0002305E002F0E9FC0346002BF2D1E6
+:10231000012318461037BD4680BD00BF801A060055
+:1023200080B586B000AF0346B9607A60FB73294B75
+:102330007B61FB7B0021184602F0BAFCBB685A1C8B
+:10234000BA601B78184602F019FD7B68013B7B6080
+:10235000032002F0E7FCFFF733FB02467B691344DE
+:102360007B6107E07869FFF73DFB0346002B01D056
+:102370007B682BE002F0B2FC0346002BF2D121E097
+:10238000BB685A1CBA601B78184602F0F7FC7B68E1
+:10239000012B03D1052002F0C5FC0BE0012002F067
+:1023A000C1FC07E07869FFF71DFB0346002B01D055
+:1023B0007B680BE002F092FC0346002BF2D17B68B5
+:1023C000013B7B607B68002BDAD17B6818461837AD
+:1023D000BD4680BD801A060080B500AFF0210548DB
+:1023E00001F0FBFDF022F021024801F0CBFD00BF1F
+:1023F00080BD00BF00B00D4080B500AF102000F0E0
+:1024000097F900BF80BD80B500AF102000F0A2F9A1
+:1024100000BF80BD80B500AF102000F0ADF900BF57
+:1024200080BD80B582B000AF1021074801F099FD52
+:1024300078607B68DBB21B11DBB203F00103DBB217
+:1024400018460837BD4680BD00B00D4080B500AFCE
+:10245000802000F06DF900BF80BD80B500AF802006
+:1024600000F078F900BF80BD80B500AF802000F09B
+:1024700083F900BF80BD80B582B000AF80210748DE
+:1024800001F06FFD78607B68DBB25B11DBB203F0BB
+:102490000403DBB218460837BD4680BD00B00D40CE
+:1024A00080B500AF202000F043F900BF80BD80B5AB
+:1024B00000AF202000F04EF900BF80BD80B500AF16
+:1024C000202000F059F900BF80BD80B582B000AF78
+:1024D0002021044801F045FD7860002318460837A4
+:1024E000BD4680BD00B00D4080B500AF402000F07B
+:1024F0001FF900BF80BD80B500AF402000F02AF971
+:1025000000BF80BD80B500AF402000F035F900BFAE
+:1025100080BD80B582B000AF4021074801F021FDA9
+:1025200078607B68DBB29B11DBB203F00103DBB2A6
+:1025300018460837BD4680BD00B00D4080B500AFDD
+:10254000F02000F0F5F800BF80BD80B500AFF020AE
+:1025500000F000F900BF80BD80B500AFF02000F0B2
+:102560000BF900BF80BD80B582B000AFF02000F055
+:10257000F1F80023FB711FE0102000F0FDF84FF68A
+:10258000FF73BB8004E0BB889BB2013B9BB2BB8066
+:10259000BB889BB2002BF6D14FF6FF73BB8004E0E3
+:1025A000BB889BB2013B9BB2BB80BB889BB2002B1C
+:1025B000F6D1FB790133FB71FB794F2BDCD900BFDE
+:1025C0000837BD4680BD80B582B000AFF02000F076
+:1025D000C1F80023FB714EE0102000F0A9F84FF67F
+:1025E000FF73BB8007E0102000F0B4F8BB889BB2FB
+:1025F000013B9BB2BB80BB889BB2002BF3D1202058
+:1026000000F096F84FF6FF73BB8004E0BB889BB2E6
+:10261000013B9BB2BB80BB889BB2002BF6D1202034
+:1026200000F098F8402000F083F84FF6FF73BB806D
+:1026300004E0BB889BB2013B9BB2BB80BB889BB2D2
+:10264000002BF6D1402000F085F8802000F070F8D3
+:102650004FF6FF73BB8004E0BB889BB2013B9BB28B
+:10266000BB80BB889BB2002BF6D1F02000F072F843
+:10267000FB790133FB71FB79092BADD900BF08371A
+:10268000BD4680BD80B582B000AFF02000F062F89A
+:102690000023FB7145E0102000F04AF84FF6FF736D
+:1026A000BB8004E0BB889BB2013B9BB2BB80BB8874
+:1026B0009BB2002BF6D1202000F03AF84FF6FF73C2
+:1026C000BB8004E0BB889BB2013B9BB2BB80BB8854
+:1026D0009BB2002BF6D1402000F02AF84FF6FF7392
+:1026E000BB8004E0BB889BB2013B9BB2BB80BB8834
+:1026F0009BB2002BF6D1802000F01AF84FF6FF7342
+:10270000BB8004E0BB889BB2013B9BB2BB80BB8813
+:102710009BB2002BF6D1F02000F01CF8FB790133BE
+:10272000FB71FB79092BB6D900BF0837BD4680BDC8
+:1027300080B582B000AF0346FB71FB7900221946D9
+:10274000034801F01FFC00BF0837BD4680BD00BF35
+:1027500000B00D4080B582B000AF0346FB71FA793E
+:10276000FB791946034801F00DFC00BF0837BD4650
+:1027700080BD00BF00B00D4080B584B000AF0346FF
+:10278000FB71FB7919460A4801F0EBFBF860FB6826
+:10279000DA43FB791340FB60FB68DAB2FB79194638
+:1027A000034801F0EFFB00BF1037BD4680BD00BFFE
+:1027B00000B00D4080B500AF0C220021354803F079
+:1027C000CDFF344B00221A72334BED221A60324B8C
+:1027D000ED221A60304BEE221A602F4BEE221A6067
+:1027E00000F03EFA00F020FA2C4B14221A602C4B19
+:1027F0003F221A602B4B55221A602B4B85221A6000
+:102800002A4B01221A602A4B15221A60294B1022EA
+:102810001A60294B0E221A60284B03221A60284B9B
+:10282000F8221A60274B09221A60214B15221A60E0
+:1028300004230B221A60244BFF221A60234B4022F0
+:102840001A60234B1B68224A23F001031360214BBB
+:1028500000221A60204B7F221A60204BD5221A607A
+:102860001F4B0B221A601F499D2002F0E0FA1E49FF
+:102870009E2002F0DCFA9D2002F0A4FB1B4B7F227D
+:102880001A609E2002F09EFB024B01221A7200BFCA
+:1028900080BD00BF644E002038880840A4860840F0
+:1028A000AC860840B0860840A0860840B88608403C
+:1028B000C8860840D4860840D8860840DC86084090
+:1028C00058860840E88708409487084024860840D6
+:1028D0000086084008860840508608404086084028
+:1028E0003C860840AF2C2000A12D20009486084093
+:1028F00080B483B000AF7860034A7B68136000BF88
+:102900000C37BD4680BC7047644E002080B483B055
+:1029100000AF7860034A7B68536000BF0C37BD4648
+:1029200080BC7047644E002080B500AF00BF0E4BE6
+:102930001B6803F00203002BF9D10C4BED221A6047
+:102940000A4BED221A60094BEE221A60074BEE2269
+:102950001A60074B1B68002B02D0044BEF221A6051
+:10296000FFF728FF00BF80BD4C860840388808402C
+:102970002C86084080B582B000AF0346FB710E4B39
+:1029800002221A7200F06CF9FB790A2B02D9FB794A
+:102990001A2B00D9FEE7FB79A3F10B0213469B002B
+:1029A000134403F10B02054B1A60034B03221A7206
+:1029B00000BF0837BD4680BD644E00203C860840FD
+:1029C00080B400AF00BFBD4680BC704780B500AF8B
+:1029D000074B0D221A7200F043F9FFF72FFBFFF7A8
+:1029E00066FD00F021F9024B01221A7200BF80BD82
+:1029F000644E002080B485B000AF78600B467B80C9
+:102A00000023FB73154B04221A7200BF144B1B6882
+:102A100003F00203002BF9D1124BEE221A60114B86
+:102A2000EE221A60104A7B8813600023FB7308E0D3
+:102A3000FB7B7A6813441A780B4B1A60FB7B0133DB
+:102A4000FB73FB7B9BB27A889A42F1D8034B052239
+:102A50001A7200BF1437BD4680BC7047644E002018
+:102A60004C860840388808402888084080B500AF68
+:102A7000054B06221A72FFF7EDFAFFF711FD024B24
+:102A800007221A7200BF80BD644E002080B582B05C
+:102A900000AF0F4B08221A7200F0B0F800BF0D4BC8
+:102AA0001B6803F00203002BF9D10B4BE9221A60DB
+:102AB00000237B6002E07B6801337B60054B1B6871
+:102AC00003F00203002BF6D000BF0837BD4680BDDF
+:102AD000644E00204C8608403888084080B500AF1E
+:102AE000054B09221A72FFF7B5FAFFF7D9FC024B22
+:102AF0000A221A7200BF80BD644E002080B500AF6C
+:102B0000094BED221A60084BED221A6000F076F8AE
+:102B1000054BE3221A6000BF044B1B6803F001035E
+:102B2000002BF9D000BF80BD388808404C86084093
+:102B300080B487B000AFF860B9603B601346FB71AA
+:102B40000023BB752B4B1B68BB7597F91630002B08
+:102B500006DA294BED221A60274BED221A6044E079
+:102B6000BB7D042B06D8244BED221A60224BED22AC
+:102B70001A603AE0BA7DFB799A4206D91E4BED22E3
+:102B80001A601D4BED221A602FE00023FB7509E04F
+:102B9000184B1968FB7DFA681344CAB21A70FB7DA2
+:102BA0000133FB75FA7DBB7D023B9A42F0DB114B92
+:102BB0001B68DBB2493BDBB25AB23B681A700D4B63
+:102BC0001B687B757B7D03F08003002B14BF012302
+:102BD0000023DAB27B6A1A70BB68BA7D1A70064BA2
+:102BE000ED221A60044BED221A601C37BD4680BCF2
+:102BF000704700BF288808403888084080B400AF7C
+:102C0000074B1B68064A43F007031360054B1B681C
+:102C1000044A43F00203136000BFBD4680BC704706
+:102C20008C8608409086084080B400AF044B002298
+:102C30001A60044B00221A6000BFBD4680BC70477A
+:102C40008C8608409086084080B400AF034BE32296
+:102C50001A6000BFBD4680BC704700BF388808407E
+:102C600080B400AF00BF0A4B1B6803F00203002BC7
+:102C7000F9D1084B1B68002B06D0074BEF221A60D6
+:102C8000064B6FF044021A6000BFBD4680BC70471F
+:102C90004C8608402C860840388808403488084014
+:102CA00080B400AF00231846BD4680BC704780B595
+:102CB00082B000AFFFF7ACF900F0D6F803463B60F6
+:102CC000344B1B68FB71344B1B68BB719D2002F0B9
+:102CD0004BFA304B00221A602F4B00221A60FB790E
+:102CE00003F00203002B0FD02C4B0B221A722B4B3C
+:102CF0001B68002B07D0294B1B683A681046984781
+:102D0000FFF77AF942E0FEE7FB7903F04003002B7E
+:102D10000FD0224B0C221A72204B5B68002B07D07D
+:102D20001E4B5B683A6810469847FFF765F92DE03F
+:102D3000FEE7FB7903F00403002B0FD0174B0C22A6
+:102D40001A72164B5B68002B07D0144B5B683A680D
+:102D500010469847FFF750F918E0FEE7BB7903F0FB
+:102D60000203002B0FD00D4B0C221A720B4B5B6829
+:102D7000002B07D0094B5B683A6810469847FFF76D
+:102D80003BF903E0FEE7FFF737F900BF0837BD4620
+:102D900080BD00BF3488084030880840644E002061
+:102DA00080B483B000AF0A4B1B68FB71084B1A68F4
+:102DB000FB79134003F00203002B03D0044B6FF0A8
+:102DC00002021A6000BF0C37BD4680BC704700BFCE
+:102DD0009486084080B500AF04220021054803F026
+:102DE000BDFC0549A12002F022F8A12002F034F92F
+:102DF00000BF80BD704E0020932E200080B483B0B1
+:102E000000AF7860034A7B68136000BF0C37BD4693
+:102E100080BC7047704E002080B582B000AF7860F3
+:102E2000A12002F0CFF802F0E8FC02467B68D31A3A
+:102E30000C4A934203D8A12002F058F90DE002F0A9
+:102E4000DCFC02467B689B1A042B03D8A12002F00D
+:102E50004DF902E0786802F013FD00BF0837BD4667
+:102E600080BD00BFFEFFFF0080B500AF02F0C5FCD3
+:102E70000346184680BD80B500AFA12002F0A2F83D
+:102E800000BF80BD80B500AFA12002F0E5F800BF13
+:102E900080BD80B500AFFFF7BBF8084B1B68002B67
+:102EA00007D0A12002F060F9044B1B689847FFF798
+:102EB000A3F8FFF7A1F800BF80BD00BF704E00204F
+:102EC00080B500AF00F007F8FEE780B400AFFEE782
+:102ED00080B400AFFEE780B582B000AF114BFF2297
+:102EE0001A60114B114A1A60114B7B60114B3B6009
+:102EF00007E07A68131D7B603B68191D3960126812
+:102F00001A603B680C4A9342F3D30C480C494FF0CB
+:102F100000028842B8BF40F8042BFADBFEF7DCFC65
+:102F2000FEE700BFB4200D4008ED00E000002000E7
+:102F3000D0702000004000208C4200208C420020F5
+:102F4000804E002080B500AF0C2200211E4803F007
+:102F500005FC1E4803F020F941F6FF711B4803F001
+:102F6000A4FA0121194803F019FB00220221184894
+:102F700002F06EF90221164801F09DF8154A012170
+:102F8000134802F0C9F90121114801F07EF802F05E
+:102F9000BBFD014660234FF4E1320C4803F06AF8B0
+:102FA0000A4803F0DEF8094803F02AF9102107481F
+:102FB00003F067F90849054803F031FA152002F0DB
+:102FC00001F800BF80BD00BF744E002000C000406B
+:102FD00000900D4000410D40ED30200080B483B0E2
+:102FE00000AF78603960054A7B681360034A3B682C
+:102FF000536000BF0C37BD4680BC7047744E002044
+:1030000080B500AF7021024803F03CFA00BF80BDDC
+:1030100000C0004080B500AF7021024803F045FABF
+:1030200000BF80BD00C0004080B500AF5021024805
+:1030300003F063FA00BF80BD00C0004080B500AF60
+:103040002021024803F059FA00BF80BD00C00040B3
+:1030500080B582B000AF0346FB71FB79112B05D020
+:10306000FB79132B02D0FB79122B0AD1094B0122D9
+:103070001A72084AFB7953721221074803F08AF941
+:1030800004E0FB791946044803F084F900BF0837CF
+:10309000BD4680BD744E002000C0004080B582B0A7
+:1030A00000AF054803F04BF978607B68DBB2184647
+:1030B0000837BD4680BD00BF00C0004080B582B06B
+:1030C00000AF0346FB71FB79002B04D011210648A9
+:1030D00003F060F903E01321034803F05BF900BF3C
+:1030E0000837BD4680BD00BF00C0004080B582B03B
+:1030F00000AF0121124803F0EBF97860152002F0CF
+:1031000033F87B6803F02003002B05D0FEF7CCFFDB
+:1031100000F018F8FEF7C2FF7B6803F01003002BE5
+:1031200004D17B6803F04003002B05D0FEF7AAFF13
+:1031300000F02CF8FEF7A0FF00BF0837BD4680BDA9
+:1031400000C0004080B500AFFFF778FF0D4B1B7A41
+:10315000002B0CD00B4B00221A720A4B5B7A83F0C7
+:103160001003DBB21946084803F014F906E0054BDA
+:103170001B68002B02D0034B1B689847002318469E
+:1031800080BD00BF744E002000C0004080B500AF7D
+:10319000FFF74AFF044B5B68002B02D0024B5B68D1
+:1031A00098470023184680BD744E002080B584B037
+:1031B00000AF78600B46FB704F4BBB604F4B01225A
+:1031C0001A700023FB730AE0FB7B7A681A44FB7BCE
+:1031D000B9680B4412781A70FB7B0133FB73FB7BDD
+:1031E0000F2BF1D99F2001F037FF454B1B68444A54
+:1031F00043F001031360434B1B68424A43F003034F
+:103200001360414B1B68404A23F0010313603E4B9F
+:103210001B683D4A43F0010313603C4B1B683B4A6B
+:1032200043F0030313603A4B1B68394A03F003036E
+:103230001360374B1B68364A43F001031360FB7879
+:1032400001229A40334B1A60334B1B68324A43F0D9
+:1032500001031360314ABB681360314B10221A60BE
+:1032600000BF304B1B6803F00103002BF8D02D4B3F
+:103270001B68002B07DA254B1B68244A43F00043E8
+:103280001360032333E0274B1B6803F08043002BBC
+:1032900007D01E4B1B681D4A43F080431360022376
+:1032A00025E01A4B1B68194A43F003031360164BC1
+:1032B00000221A601C4B1B6803F00703012B04D08B
+:1032C0000E4B00221A70022311E00023FB7307E06B
+:1032D000FB7BBA68134400221A70FB7B0133FB733B
+:1032E000FB7B0F2BF4D9054B00221A7000231846E4
+:1032F0001037BD4680BD00BFA04A00209C4A002078
+:1033000080B7084084B7084000B7084088B7084035
+:1033100008B4084000B4084000B0084004B00840B9
+:103320000CB0084090B7084004B4084080B584B0A1
+:1033300000AFF860B96011461A460B46FB711346A0
+:10334000BB712C4B02221A702B4B01221A602B4BA3
+:1033500001221A603B7E002B05D09F2001F004FF64
+:103360009F2001F02FFE264B02221A60254B1B687E
+:10337000244A43F003031360234AFB79136000BF20
+:10338000214B1B68002BFADB204B1B6803F000531A
+:10339000002B07D01B4B1B681A4A43F000531360E5
+:1033A000012322E0BB79002B03D0194B0C221A60B9
+:1033B00002E0174B08221A60164B10221A60164BB7
+:1033C00000221A60154B01221A60154AFB6813602F
+:1033D000144B10221A60144B01221A60134ABB6866
+:1033E0001360134B10221A60002318461037BD4695
+:1033F00080BD00BF9C4A002080B7084084B70840C9
+:1034000000B7084088B708400CB4084090B708409F
+:1034100050B5084054B5084058B5084000B00840C1
+:1034200004B008400CB0084020B0084024B0084068
+:103430002CB0084080B400AF0F4B1B78DBB203F018
+:103440000103002B0FD10C4B1B780B4B1B78DBB20D
+:1034500003F08043002B06D1074B1B78DBB203F04F
+:103460000053002B01D0012300E00023DBB21846FB
+:10347000BD4680BC704700BF90B7084080B500AF24
+:103480001E4B1B68002B07DA1D4B1B681C4A43F0C0
+:103490000043136003232EE0184B1B6803F08043A6
+:1034A000002B07D0164B1B68154A43F0804313606E
+:1034B000022320E0114B1B6803F00053002B07D0C0
+:1034C0000F4B1B680E4A43F000531360012312E0B8
+:1034D0009F2001F0C1FD0A4B1B68094A43F003031A
+:1034E0001360084B00221A60074B00221A60074B3A
+:1034F00000221A700023184680BD00BF90B7084014
+:1035000088B7084000B7084050B508409C4A0020E2
+:1035100080B58AB000AFBA607B600346FB730B4690
+:10352000BB73704B03221A709F2001F095FD6E4B08
+:1035300001221A606D4B03221A606D4B02221A6041
+:103540006C4B1B686B4A43F0030313606A4A97F89D
+:103550003C30136000BF684B1B68002BFADB674BE5
+:103560001B6803F00053002B07D0624B1B68614AB5
+:1035700043F0005313600123AFE097F84430013B60
+:10358000DBB23B74002387F8233011E097F8233037
+:10359000BA681A4497F823300133127807F12801EA
+:1035A0000B4403F8182C97F82330013387F82330A5
+:1035B00097F823300C2BE9D997F84430032B01D12D
+:1035C00000237B770023BB770023FB7707F11003F1
+:1035D0004B4A1B6813604B4A7B6913604A4ABB69BC
+:1035E00013604A4AFB69136097F84430013BDB04DF
+:1035F0007B62BB7B012B07D9BB7B023B5B109B052E
+:103600001A467B6A13437B627B6A43F480237B62A6
+:103610007B6A43F008037B627B6A43F004037B62AE
+:103620007B6A43F040037B627B6A43F000537B621A
+:103630007B6A43F4C0737B62354A7B6A1360354A08
+:103640003B8E1360344B00221A60344A3B8F136068
+:103650003B8F002B1BD0324B01221A60314A7B6B0F
+:103660001360314A3B8F136000BF244B1B6803F08B
+:103670000203002BF8D0214B1B68002B07DA1D4BEF
+:103680001B681C4A43F000431360032325E0194BD9
+:1036900003221A6097F84830002B05D09F2001F0D4
+:1036A00063FD9F2001F08EFC104B01221A60FB7B12
+:1036B000002B11D01A4B01221A601A4A7B68136042
+:1036C000194A3B8E1360194B01221A60184A7B6815
+:1036D0001360184A3B8E1360002318462837BD46F6
+:1036E00080BD00BF9C4A002080B7084084B70840D6
+:1036F00000B7084088B708400CB4084090B70840AD
+:1037000040B5084044B5084048B508404CB50840AD
+:1037100050B5084054B5084058B508405CB508405D
+:1037200000B0084004B008400CB0084020B0084089
+:1037300024B008402CB0084080B400AF0F4B1B7879
+:10374000DBB203F00103002B0FD10C4B1B780B4BAA
+:103750001B78DBB203F08043002B06D1074B1B78AC
+:10376000DBB203F00053002B01D0012300E0002363
+:10377000DBB21846BD4680BC704700BF90B708401A
+:1037800080B588B000AF03463A60FB710B46BB8042
+:10379000374B1B68002B07DA364B1B68354A43F062
+:1037A0000043136003235FE0314B1B6803F0804349
+:1037B000002B07D02F4B1B682E4A43F08043136029
+:1037C000022351E02A4B1B6803F00053002B07D063
+:1037D000284B1B68274A43F000531360012343E042
+:1037E0009F2001F039FC244B00221A6000BF234BBC
+:1037F0001B6803F08043B3F1804FF7D1204A07F1F3
+:103800000C0312681A601F4A07F10C030433126894
+:103810001A601D4A07F10C03083312681A601B4A2C
+:1038200007F10C030C3312681A60124B1B68114A23
+:1038300043F0030313600023FB770DE0FA7FFB7F67
+:1038400039680B4407F120010A4412F8142CD2B253
+:103850001A70FB7F0133FB77FA7FFB799A42EDD335
+:103860000B4B00221A70002318462037BD4680BD3E
+:1038700090B7084088B7084000B7084050B50840E6
+:1038800070B5084074B5084078B508407CB508406C
+:103890009C4A002080B58AB000AFBA607B600346C6
+:1038A000FB730B46BB73BB7B9BB23A8ED31A3B8434
+:1038B0006A4B03221A706A4B01221A60694B032279
+:1038C0001A60694B02221A60684B03221A60684A28
+:1038D00097F83C30136000BF654B1B68002BFADB88
+:1038E000644B1B6803F00053002B07D05F4B1B6831
+:1038F0005E4A43F0005313600123ABE097F8443075
+:10390000013BDBB23B74002387F8233011E097F8CA
+:103910002330BA681A4497F823300133127807F13C
+:1039200028010B4403F8182C97F82330013387F84B
+:10393000233097F823300C2BE9D997F84430032B28
+:1039400001D100237B770023BB770023FB7707F1AE
+:103950001003494A1B681360484A7B691360484A50
+:10396000BB691360474AFB69136097F84430013B19
+:10397000DB047B62BB7B012B07D9BB7B023B5B106B
+:103980009B051A467B6A13437B627B6A43F4802360
+:103990007B627B6A43F008037B627B6A43F04003EF
+:1039A0007B627B6A43F000537B627B6A43F4C073A3
+:1039B0007B62354A7B6A1360344A3B8C1360344B1C
+:1039C00000221A60334A3B8F13603B8F002B1BD0C1
+:1039D000314B01221A60314A7B6B1360304A3B8FB6
+:1039E000136000BF234B1B6803F00203002BF8D0C9
+:1039F000204B1B68002B07DA1C4B1B681B4A43F04B
+:103A000000431360032325E0184B03221A6097F844
+:103A10004830002B05D09F2001F0A6FB9F2001F02D
+:103A2000D1FA104B01221A60FB7B002B11D01A4BEC
+:103A300001221A60194A7B681360194A3B8C136093
+:103A4000184B01221A60184A7B681360174A3B8C96
+:103A50001360002318462837BD4680BD9C4A0020CD
+:103A600080B7084084B7084000B7084088B70840CE
+:103A70000CB4084090B7084040B5084044B5084031
+:103A800048B508404CB5084050B5084054B508400A
+:103A900058B508405CB5084000B0084004B0084084
+:103AA0000CB0084020B0084024B008402CB00840BA
+:103AB00080B500AFFFF740FE0346184680BD80B5D5
+:103AC0008AB000AFB9607B600346FB731346BB81CD
+:103AD000FB7B9BB2BA89D31ABB844A4B1B68002B71
+:103AE00007DA494B1B68484A43F00043136003233D
+:103AF00084E0444B1B6803F08043002B07D0424B0B
+:103B00001B68414A43F080431360022376E03D4B3B
+:103B10001B6803F00053002B07D03B4B1B683A4A4D
+:103B200043F000531360012368E09F2001F094FAF2
+:103B3000364B00221A6000BF354B1B6803F08043F0
+:103B4000B3F1804FF7D1334A07F1140312681A60BA
+:103B5000314A07F11403043312681A602F4A07F13F
+:103B60001403083312681A602D4A07F114030C334A
+:103B700012681A60244B1B68234A43F00303136046
+:103B8000002387F8273011E097F8272097F827308F
+:103B900079680B4407F128010A4412F8142CD2B2B8
+:103BA0001A7097F82730013387F8273097F82720C5
+:103BB000FB7B9A42E8D3002387F8263015E097F87C
+:103BC00026307A6813441A78B98C97F826300B445B
+:103BD0001946BB680B441B789A4201D004230DE0C0
+:103BE00097F82630013387F8263097F82620FB7B9C
+:103BF0009A42E4D30B4B00221A7000231846283750
+:103C0000BD4680BD90B7084088B7084000B708405F
+:103C100050B5084070B5084074B5084078B5084004
+:103C20007CB508409C4A002080B485B000AF786025
+:103C30007B68124A934210D0104A934203D8104A2C
+:103C4000934207D012E00F4A934209D00E4A9342A2
+:103C500009D00BE01023FB600AE01123FB6007E0B2
+:103C60001223FB6004E01323FB6001E0002300E06B
+:103C7000FB6818461437BD4680BC704700A00D4055
+:103C800000900D4000B00D4000C00D4080B485B0E4
+:103C900000AFF8600B467A60FB727B6803F00103AB
+:103CA000002B06D0FB6803F580631A68FB7A134388
+:103CB00006E0FB6803F580631B68FA7AD243134081
+:103CC000FA6802F5806213607B6803F00203002B40
+:103CD00006D0FB6803F584631A68FB7A134306E099
+:103CE000FB6803F584631B68FA7AD2431340FA68D1
+:103CF00002F58462136000BF1437BD4680BC704774
+:103D000080B485B000AF78600B46FB70FB78012271
+:103D100002FA03F3FB707B6803F580631B68FB60AA
+:103D20007B6803F584631B68BB60FA78FB6813400B
+:103D3000002B14BF01230023DBB21946FA78BB68BD
+:103D40001340002B01D0022300E000230B43184650
+:103D50001437BD4680BC704780B485B000AFF860B2
+:103D60000B467A60FB727B6803F00103002B06D0E0
+:103D7000FB6803F581631A68FB7A134306E0FB686E
+:103D800003F581631B68FA7AD2431340FA6802F59F
+:103D9000816213607B6803F00203002B06D0FB688E
+:103DA00003F204431A68FB7A134306E0FB6803F24C
+:103DB00004431B68FA7AD2431340FA6802F20442C1
+:103DC00013607B6803F00403002B06D0FB6803F24A
+:103DD0000C431A68FB7A134306E0FB6803F20C43BA
+:103DE0001B68FA7AD2431340FA6802F20C4213605D
+:103DF00000BF1437BD4680BC704780B487B000AFA9
+:103E000078600B46FB70FB78012202FA03F3FB702B
+:103E10007B6803F581631B687B617B6803F2044365
+:103E20001B683B617B6803F20C431B68FB60FA78FC
+:103E30007B691340002B14BF01230023DBB219461A
+:103E4000FA783B691340002B01D0022300E00023E5
+:103E50000B43F978FA680A40002A01D0042200E0F6
+:103E60000022134318461C37BD4680BC704780B4FF
+:103E700083B000AF78600B46FB707B6803F582630C
+:103E80001A68FB78796801F5826113430B6000BF03
+:103E90000C37BD4680BC704780B483B000AF7860FB
+:103EA0000B46FB707B6803F582631B68FA78D2438C
+:103EB00011467A6802F582620B40136000BF0C372E
+:103EC000BD4680BC704780B483B000AF78600B46BD
+:103ED000FB70FB78002B04D07B6803F583631B68C1
+:103EE00003E07B6803F214431B6818460C37BD4699
+:103EF00080BC704780B483B000AF78600B46FB7025
+:103F00007B6803F21C431A46FB78136000BF0C3732
+:103F1000BD4680BC704780B582B000AF7860396024
+:103F20007868FFF781FE78603968786800F07FFF75
+:103F3000786801F047F800BF0837BD4680BD80B5FE
+:103F400082B000AF78607868FFF76EFE78607868BE
+:103F500001F082F8786800F09BFF00BF0837BD468B
+:103F600080BD80B483B000AF78600B46FB70FB78F7
+:103F70009B001A467B6813441B6818460C37BD46E5
+:103F800080BC704780B483B000AF78600B46FB7094
+:103F90001346BB70FB789B001A467B6813441A4695
+:103FA000BB78136000BF0C37BD4680BC704780B53E
+:103FB00082B000AF78600B46FB70FB780022194698
+:103FC0007868FFF763FEFB7800221946786801F0F5
+:103FD0007DFA00BF0837BD4680BD80B582B000AF16
+:103FE00078600B46FB70FB78012219467868FFF772
+:103FF0004DFEFB7800221946786801F067FA00BF91
+:104000000837BD4680BD80B582B000AF78600B46F2
+:10401000FB70FB78022219467868FFF737FEFB78C1
+:1040200000221946786801F051FA00BF0837BD46F2
+:1040300080BD80B582B000AF78600B46FB70FB7826
+:10404000022219467868FFF721FEFB780022194604
+:10405000786801F03BFA00BF0837BD4680BD80B5E7
+:1040600082B000AF78600B46FB70FB7802221946E5
+:104070007868FFF70BFEFB7800221946786801F09C
+:1040800025FA00BF0837BD4680BD80B582B000AFBD
+:1040900078600B46FB70FB78022219467868FFF7C0
+:1040A000F5FDFB7800221946786801F00FFA00BF91
+:1040B0000837BD4680BD80B582B000AF78600B4642
+:1040C000FB70FB78022219467868FFF7DFFDFB786A
+:1040D00008221946786801F0F9F900BF0837BD4693
+:1040E00080BD80B487B000AFF8600B467A60FB7289
+:1040F00000237B61FB681D4A934201D100237B6151
+:10410000FB681B4A934201D108237B61FB68194A73
+:10411000934201D110237B61FB68174A934201D17E
+:1041200018237B61FA7A7B6902FA03F33B617B68AF
+:10413000012B0BD1FB6803F204731A68FB6803F2CE
+:10414000047319463B6913430B600AE0FB6803F2F2
+:1041500004731A683B69DB43F96801F20471134088
+:104160000B6000BF1C37BD4680BC704700900D40FF
+:1041700000A00D4000B00D4000C00D4080B485B0DF
+:1041800000AF78600B46FB700023FB607B68174A2A
+:10419000934201D10023FB607B68154A934201D111
+:1041A0000823FB607B68134A934201D11023FB6014
+:1041B0007B68114A934201D11823FB60FA78FB68AF
+:1041C0001344012202FA03F3BB607B6803F2047319
+:1041D0001A68BB681340002B01D0012300E00023C4
+:1041E00018461437BD4680BC704700BF00900D4094
+:1041F00000A00D4000B00D4000C00D4080B485B05F
+:1042000000AF78600B46FB700023FB607B68164AAA
+:10421000934201D10023FB607B68144A934201D191
+:104220000823FB607B68124A934201D11023FB6094
+:104230007B68104A934201D11823FB60FA78FB682F
+:1042400002FA03F3BB607B6803F5E2631A687B68DC
+:1042500003F5E2631946BB6813430B6000BF1437D4
+:10426000BD4680BC704700BF00900D4000A00D40CF
+:1042700000B00D4000C00D4080B485B000AF786044
+:104280000B46FB700023FB607B68164A934201D10A
+:104290000023FB607B68144A934201D10823FB6032
+:1042A0007B68124A934201D11023FB607B68104A5D
+:1042B000934201D11823FB60FA78FB6802FA03F3FA
+:1042C000BB607B6803F5E2631A68BB68DB4379680F
+:1042D00001F5E26113400B6000BF1437BD4680BC9E
+:1042E000704700BF00900D4000A00D4000B00D4091
+:1042F00000C00D4080B485B000AF78600B46FB7005
+:104300000023FB607B68184A934201D10023FB60C5
+:104310007B68164A934201D10823FB607B68144AEC
+:10432000934201D11023FB607B68124A934201D172
+:104330001823FB60FB78002B08D07B6803F5E36350
+:104340001A68FB6822FA03F3DBB207E07B6803F527
+:10435000E4631A68FB6822FA03F3DBB218461437E9
+:10436000BD4680BC704700BF00900D4000A00D40CE
+:1043700000B00D4000C00D4080B485B000AF786043
+:104380000B46FB700023FB607B68164A934201D109
+:104390000023FB607B68144A934201D10823FB6031
+:1043A0007B68124A934201D11023FB607B68104A5C
+:1043B000934201D11823FB60FA78FB6802FA03F3F9
+:1043C000BB607B6803F5E3631A687B6803F5E3630E
+:1043D0001946BB6813430B6000BF1437BD4680BC51
+:1043E000704700BF00900D4000A00D4000B00D4090
+:1043F00000C00D4080B483B000AF7860054B1A68F0
+:1044000004497B6813430B6000BF0C37BD4680BC7A
+:10441000704700BF94200D4080B483B000AF786037
+:10442000054B1A687B68DB43034913400B6000BFF0
+:104430000C37BD4680BC704794200D4080B483B0DB
+:1044400000AF786039607B680C331A68396840F2D5
+:1044500001130B4079680C3113430B6000BF0C371C
+:10446000BD4680BC704780B483B000AF78603960CF
+:104470007B680C331A68396840F201130B40DB4348
+:1044800079680C3113400B6000BF0C37BD4680BC0F
+:10449000704780B483B000AF786039607B680C33BC
+:1044A0001B687A680C3223F4807323F001031360D5
+:1044B0007B683A68120E1A603B68DBB27A68043295
+:1044C00043F4007313603B681B0ADBB27A6808325E
+:1044D00043F40073136000BF0C37BD4680BC7047C7
+:1044E00080B485B000AFF860B9601346FB71BA685C
+:1044F00044F240031340BB60FB79002B05D0FB68FE
+:104500000C331A68BB68134305E0FB680C331A6868
+:10451000BB68DB431340FA680C32136000BF1437EA
+:10452000BD4680BC704780B485B000AFF860B9600C
+:104530001346FB71BA6842F220031340BB60FB795B
+:10454000002B05D0FB680C331A68BB68134305E0E9
+:10455000FB680C331A68BB68DB431340FA680C3203
+:10456000136000BF1437BD4680BC704780B485B06F
+:1045700000AFF860B9607A60BA6840F60C43134047
+:10458000BB60FB680C331A68BB68DB431A40796870
+:10459000BB680B40F9680C3113430B6000BF143744
+:1045A000BD4680BC704780B485B000AFF860B9608C
+:1045B0001346FB71BA6840F202231340BB60FB79DB
+:1045C000002B05D0FB680C331A68BB68134305E069
+:1045D000FB680C331A68BB68DB431340FA680C3283
+:1045E000136000BF1437BD4680BC704780B485B0EF
+:1045F00000AFF860B9601346FB71BB68DBB2002BFB
+:1046000013D0FB79002B08D0FB6804331B68FA68D1
+:10461000043243F04003136007E0FB6804331B6877
+:10462000FA68043223F040031360BB6803F47F434D
+:10463000002B13D0FB79002B08D0FB6808331B68D4
+:10464000FA68083243F04003136007E0FB68083360
+:104650001B68FA68083223F04003136000BF143768
+:10466000BD4680BC704780B485B000AFF860B960CB
+:104670007A60BB68DBB2002B04D0FB6838331A4683
+:104680007B681360BB6803F47F43002B04D0FB6896
+:104690003C331A467B68136000BF1437BD4680BCAC
+:1046A000704780B483B000AF786039603B68FF2BFF
+:1046B00003D17B6838331B6802E07B683C331B689E
+:1046C00018460C37BD4680BC704780B485B000AF3B
+:1046D000F860B9607A60BB68DBB2002B04D0FB687D
+:1046E00040331A467B681360BB6803F47F43002B9A
+:1046F00004D0FB6844331A467B68136000BF14374C
+:10470000BD4680BC704780B483B000AF786039602C
+:104710003B68FF2B03D17B6840331B6802E07B685A
+:1047200044331B6818460C37BD4680BC704780B4C4
+:1047300085B000AFF860B9607A60BB68DBB2002B6F
+:1047400004D0FB6828331A467B681360BB6803F407
+:104750007F43002B04D0FB682C331A467B68136020
+:1047600000BF1437BD4680BC704780B483B000AF33
+:10477000786039603B68FF2B03D17B6828331B6866
+:1047800002E07B682C331B6818460C37BD4680BCA2
+:10479000704780B483B000AF786039603B68FF2B0E
+:1047A00003D17B6848331B6802E07B684C331B688D
+:1047B00018460C37BD4680BC704780B485B000AF4A
+:1047C000F860B9607A60BB68DBB2002B04D0FB688C
+:1047D00030331A467B681360BB6803F47F43002BB9
+:1047E00004D0FB6834331A467B68136000BF14376B
+:1047F000BD4680BC704780B483B000AF786039603C
+:104800003B68FF2B03D17B6830331B6802E07B6879
+:1048100034331B6818460C37BD4680BC704780B5E2
+:1048200084B000AFF860B9607A60FB68184A9342C0
+:104830000DD0FB68174A934207D0FB68164A934293
+:1048400001D1272304E0332302E0252300E02323C2
+:10485000FB60BB68DBB2002B06D07968F86800F01B
+:10486000E6FAF86800F0AEFBBB6803F47F43002B68
+:104870000AD0FB6801337968184600F0D8FAFB6863
+:104880000133184600F09EFB00BF1037BD4680BDC7
+:1048900000000340001003400020034080B582B0B8
+:1048A00000AF786039607B68174A93420DD07B680F
+:1048B000164A934207D07B68154A934201D12723B9
+:1048C00004E0332302E0252300E023237B603B68E0
+:1048D000DBB2002B05D0786800F0BEFB786800F0F2
+:1048E000D7FA3B6803F47F43002B09D07B68013380
+:1048F000184600F0B1FB7B680133184600F0C8FA97
+:1049000000BF0837BD4680BD0000034000100340D3
+:104910000020034080B483B000AF786039607B68CA
+:1049200018331A687B68183319463B6813430B60C9
+:1049300000BF0C37BD4680BC704780B483B000AF69
+:10494000786039607B6818331A683B68DB437968A4
+:10495000183113400B6000BF0C37BD4680BC704758
+:1049600080B483B000AF78600B46FB70FB78002BFF
+:1049700003D07B6820331B6802E07B681C331B6814
+:1049800018460C37BD4680BC704780B483B000AF7A
+:10499000786039607B6824331A463B68136000BF37
+:1049A0000C37BD4680BC704780B483B000AF7860E0
+:1049B00039607B6810331A463B68136000BF0C37C0
+:1049C000BD4680BC704700BF80B584B000AF786042
+:1049D0000B46FB7000F038F8FB78002B02D00F4B31
+:1049E000FB6001E00E4BFB60FA6813469B0013442A
+:1049F0009B001A467B681344591EFA6813469B00B5
+:104A000013449B00B1FBF3F3013BBB60054ABB6859
+:104A1000136000BF1037BD4680BD00BF801A06007E
+:104A2000A08601000C00024080B582B000AF0346B2
+:104A3000FB7100F017F8034AFB79136000BF0837D9
+:104A4000BD4680BD0008024080B400AF044B1B6827
+:104A5000034A43F01003136000BFBD4680BC70479B
+:104A60002000024080B400AF064B1B68054A43F0AB
+:104A700020031360044B01221A6000BFBD4680BCB6
+:104A8000704700BF200002400408024080B400AF1D
+:104A9000044B1B68034A23F01003136000BFBD469C
+:104AA00080BC70472000024080B400AF064B00225B
+:104AB0001A60064B1B68054A23F02003136000BFF1
+:104AC000BD4680BC704700BF040802402000024081
+:104AD00080B582B000AF78607968182000F0A7F93F
+:104AE000182000F06FFA00BF0837BD4680BD80B5C2
+:104AF00000AF182000F0B0FA182000F0C9F900BF8C
+:104B000080BD80B400AF034B01221A6000BFBD46D8
+:104B100080BC70471000024080B400AF044B1B689B
+:104B2000034A43F00103136000BFBD4680BC7047D9
+:104B30000C08024080B483B000AF7860054B1A685F
+:104B400004497B6813430B6000BF0C37BD4680BC33
+:104B5000704700BF0C08024080B400AF034B002236
+:104B60001A6000BFBD4680BC704700BF1000024005
+:104B700080B400AF044B1B68034A23F001031360A9
+:104B800000BFBD4680BC70470C08024080B483B0B3
+:104B900000AF7860054B1A687B68DB43034913401C
+:104BA0000B6000BF0C37BD4680BC70470C0802404C
+:104BB00080B483B000AF0346FB71FB79002B07D0B4
+:104BC000094B1B68002B14BF01230023DBB206E056
+:104BD000064B1B68002B14BF01230023DBB21846D1
+:104BE0000C37BD4680BC70471800024014000240DC
+:104BF00080B483B000AF0346FB71FB79002B07D074
+:104C0000094B1B68002B14BF01230023DBB206E015
+:104C1000064B1B68002B14BF01230023DBB2184690
+:104C20000C37BD4680BC7047140802401008024093
+:104C300080B483B000AF0346FB71FB79002B02D038
+:104C4000044B1B6801E0044B1B6818460C37BD463B
+:104C500080BC7047140802401008024080B400AFC6
+:104C6000044B01221A60044B01221A6000BFBD46AA
+:104C700080BC70471C0002401800024080B400AFA6
+:104C8000034B01221A6000BFBD4680BC704700BFC5
+:104C90001808024080B483B000AF7860034A7B6894
+:104CA000136000BF0C37BD4680BC70471808024037
+:104CB00080B483B000AF03460A46FB711346BB7154
+:104CC000FB795A00BB791A43034B1A6000BF0C37BB
+:104CD000BD4680BC704700BF0000024080B400AFFA
+:104CE000064B1B6803F00103002B01D0012300E0F9
+:104CF00000231846BD4680BC704700BF0400024038
+:104D000080B400AF064B1B6803F04003002B01D0BA
+:104D1000012300E000231846BD4680BC704700BF59
+:104D20000400024080B483B000AF7860034A7B681F
+:104D3000136000BF0C37BD4680BC704704000240C2
+:104D400080B483B000AF0C4B1B687B607B6803F0C2
+:104D50000103002B01D0002309E07B6803F012035C
+:104D6000002B03D07B6803F01C0300E000231846EF
+:104D70000C37BD4680BC70470400024080B483B04D
+:104D800000AF0346FB71044AFB79136000BF0C3788
+:104D9000BD4680BC704700BF0800024080B400AF31
+:104DA000024B1B681846BD4680BC70470800024095
+:104DB00080B400AF024B1B681846BD4680BC7047EC
+:104DC0000408024080B483B000AF0346FB71044A7C
+:104DD000FB79136000BF0C37BD4680BC704700BF35
+:104DE0000808024080B400AF024B1B681846BD465D
+:104DF00080BC70470808024080B400AFFEE780B571
+:104E000000AF01F05EFC0346002B14BF012300231A
+:104E1000DBB2184680BD80B500AF01F045FC03460B
+:104E2000002B14BF01230023DBB2184680BD80B4E1
+:104E300085B000AF78603960134B1B68134A93420A
+:104E400018D0114B1B68BB600023FB600CE0FB68B3
+:104E50009A00BB6813441B6819460C4AFB6842F869
+:104E60002310FB680133FB60FB68A22BEFD9064BD4
+:104E7000064A1A6005497B683A6841F8232000BF5A
+:104E80001437BD4680BC704708ED00E000400020AC
+:104E900080B483B000AF7860044A7B68044942F86C
+:104EA000231000BF0C37BD4680BC70470040002077
+:104EB000F94D200080B483B000AF7860074A7B686A
+:104EC00052F82330064A43F0BF6343F400331360C3
+:104ED00000BF0C37BD4680BC704700BF486E200045
+:104EE0000CED00E080B483B000AF0E4B1B6803F400
+:104EF000E0633B6000237B6009E00B4A7B6852F86B
+:104F000023303A689A4206D07B6801337B607B6825
+:104F1000072BF2D900E000BF7B6818460C37BD466E
+:104F200080BC70470CED00E0486E200080B485B076
+:104F300000AF78600B46FB707B689B08144A52F800
+:104F400023301B68FB607B6803F00303DB00FF2258
+:104F500002FA03F3DB431A46FB681340FB60FA785E
+:104F60007B6803F00303DB0002FA03F31A46FB68D5
+:104F70001343FB607B689B08054A52F823301A46AE
+:104F8000FB68136000BF1437BD4680BC704700BF8C
+:104F9000686E200080B483B000AF78607B689B08A7
+:104FA000074A52F823301A687B6803F00303DB00DA
+:104FB00022FA03F3DBB218460C37BD4680BC7047BB
+:104FC000686E200080B483B000AF78607B68042BEB
+:104FD00006D11E4B1B681D4A43F4803313602FE03B
+:104FE0007B68052B06D1194B1B68184A43F4003324
+:104FF000136025E07B68062B06D1144B1B68134A0F
+:1050000043F4802313601BE07B680F2B06D1104B09
+:105010001B680F4A43F00203136011E07B680F2BFB
+:105020000ED97B68103B03F01F03012202FA03F143
+:105030007B68103B5B09074A52F823300A461A6026
+:1050400000BF0C37BD4680BC704700BF24ED00E0B8
+:1050500010E000E00C6F200080B483B000AF7860F7
+:105060007B68042B06D11E4B1B681D4A23F480333A
+:1050700013602FE07B68052B06D1194B1B68184A7B
+:1050800023F40033136025E07B68062B06D1144B14
+:105090001B68134A23F4802313601BE07B680F2BEB
+:1050A00006D1104B1B680F4A23F00203136011E076
+:1050B0007B680F2B0ED97B68103B03F01F03012286
+:1050C00002FA03F17B68103B5B09074A52F8233070
+:1050D0000A461A6000BF0C37BD4680BC704700BF4F
+:1050E00024ED00E010E000E0206F200080B483B0E9
+:1050F00000AF78607B68022B06D1194B1B68184AF9
+:1051000043F00043136025E07B680E2B06D1144B5F
+:105110001B68134A43F0805313601BE07B680F2B1E
+:1051200006D10F4B1B680E4A43F08063136011E0F9
+:105130007B680F2B0ED97B68103B03F01F03012205
+:1051400002FA03F17B68103B5B09064A52F82330F0
+:105150000A461A6000BF0C37BD4680BC704700BFCE
+:1051600004ED00E0346F200080B483B000AF7860BD
+:105170007B680E2B06D1144B1B68134A43F0006367
+:1051800013601BE07B680F2B06D10F4B1B680E4A88
+:1051900043F00073136011E07B680F2B0ED97B681E
+:1051A000103B03F01F03012202FA03F17B68103B5E
+:1051B0005B09064A52F823300A461A6000BF0C37D2
+:1051C000BD4680BC704700BF04ED00E0486F200082
+:1051D00080B582B000AF7860786801F082FA00BFD5
+:1051E0000837BD4680BD80B500AF01F07EFA0346AA
+:1051F000184680BD80B400AF044B1B68034A43F0DF
+:105200000103136000BFBD4680BC704798200D406D
+:1052100080B400AF044B1B68034A23F00103136002
+:1052200000BFBD4680BC704798200D4080B400AFE1
+:10523000064B1B6803F00103002B01D0012300E0A3
+:1052400000231846BD4680BC704700BF98200D4023
+:1052500080B489B000AFF8600B467A60FB72254BD2
+:10526000FB610023BB613CE0FA7ABB6942FA03F3BD
+:1052700003F001037B617B69002B2FD0FB681E4A82
+:10528000934213D01C4A934203D81C4A934207D03E
+:105290001EE01B4A93420FD01A4A934212D017E0E5
+:1052A000194ABB6952F82330FB6114E0174ABB6905
+:1052B00052F82330FB610EE0154ABB6952F82330E7
+:1052C000FB6108E0134ABB6952F82330FB6102E03E
+:1052D000084BFB6100BFFB697A681A60BB69013348
+:1052E000BB61BB69072BBFD900BF2437BD4680BC5B
+:1052F000704700BF00400D4000A00D4000900D40E1
+:1053000000B00D4000C00D40DC6F2000FC6F20009D
+:105310001C7020003C70200080B487B000AFF860A3
+:105320000B467A60FB7200237B61FB68634A934201
+:1053300037D0624A934203D8614A934207D0ABE028
+:10534000604A934256D0604A93427CD0A4E0FB7AF4
+:10535000012B01D100237B61FB7A022B01D10123B8
+:105360007B61FB7A042B01D102237B61FB7A082B42
+:1053700001D103237B61FB7A102B01D104237B61D4
+:10538000FB7A202B01D105237B61FB7A402B01D1D5
+:1053900006237B61FB7A802B40F0818007237B61B1
+:1053A0007DE0FB7A012B01D108237B61FB7A022B84
+:1053B00001D109237B61FB7A042B01D10A237B6194
+:1053C000FB7A082B01D10B237B61FB7A102B01D1D7
+:1053D0000C237B61FB7A202B01D10D237B61FB7AAF
+:1053E000402B01D10E237B61FB7A802B59D10F23F7
+:1053F0007B6156E0FB7A012B01D110237B61FB7AA4
+:10540000022B01D111237B61FB7A042B01D11223E2
+:105410007B61FB7A082B01D113237B61FB7A102B74
+:1054200001D114237B61FB7A202B01D115237B61F1
+:10543000FB7A402B01D116237B61FB7A802B32D182
+:1054400017237B612FE0FB7A012B01D118237B61AD
+:10545000FB7A022B01D119237B61FB7A042B01D14A
+:105460001A237B61FB7A082B01D11B237B61FB7A1A
+:10547000102B01D11C237B61FB7A202B01D11D2332
+:105480007B61FB7A402B01D11E237B61FB7A802B51
+:105490000BD11F237B6108E000237B6106E000BF86
+:1054A00004E000BF02E000BF00E000BF7B687A6953
+:1054B0001A6000BF1C37BD4680BC704700A00D407D
+:1054C00000900D4000B00D4000C00D4080B489B088
+:1054D00000AFF8600B467A60FB72254BFB6100233E
+:1054E000BB613CE0FA7ABB6942FA03F303F00103C3
+:1054F0007B617B69002B2FD0FB681E4A934213D03F
+:105500001C4A934203D81C4A934207D01EE01B4A10
+:1055100093420FD01A4A934212D017E0194ABB693E
+:1055200052F82330FB6114E0174ABB6952F823306C
+:10553000FB610EE0154ABB6952F82330FB6108E0BD
+:10554000134ABB6952F82330FB6102E0114BFB6147
+:1055500000BFFB697A681A60BB690133BB61BB6934
+:10556000072BBFD900BF2437BD4680BC704700BFA2
+:1055700000400D4000A00D4000900D4000B00D40D7
+:1055800000C00D405C6F20007C6F20009C6F2000ED
+:10559000BC6F200080400D4080B485B000AF7860C3
+:1055A0000B46FB70644BFB607B68644A934237D0C8
+:1055B000624A934203D8624A934207D0ABE0614A01
+:1055C000934256D0604A93427CD0A4E0FB78012BF2
+:1055D00001D1594BFB60FB78022B01D15B4BFB6087
+:1055E000FB78042B01D15A4BFB60FB78082B01D1CF
+:1055F000584BFB60FB78102B01D1574BFB60FB78BD
+:10560000202B01D1554BFB60FB78402B01D1544B33
+:10561000FB60FB78802B40F08180524BFB607DE08B
+:10562000FB78012B01D1504BFB60FB78022B01D1A1
+:105630004E4BFB60FB78042B01D14D4BFB60FB789C
+:10564000082B01D14B4BFB60FB78102B01D14A4B4F
+:10565000FB60FB78202B01D1484BFB60FB78402B93
+:1056600001D1474BFB60FB78802B59D1454BFB6048
+:1056700056E0FB78012B01D1434BFB60FB78022BFA
+:1056800001D1424BFB60FB78042B01D1404BFB6006
+:10569000FB78082B01D13F4BFB60FB78102B01D12D
+:1056A0003D4BFB60FB78202B01D13C4BFB60FB7832
+:1056B000402B01D13A4BFB60FB78802B32D1394B28
+:1056C000FB602FE0FB78012B01D1374BFB60FB78AF
+:1056D000022B01D1354BFB60FB78042B01D1344BFD
+:1056E000FB60FB78082B01D1324BFB60FB78102B61
+:1056F00001D1314BFB60FB78202B01D12F4BFB609C
+:10570000FB78402B01D12E4BFB60FB78802B0BD11B
+:105710002C4BFB6008E0084BFB6006E000BF04E098
+:1057200000BF02E000BF00E000BFFB681B68184636
+:105730001437BD4680BC704780400D4000A00D402E
+:1057400000900D4000B00D4000C00D4084400D4061
+:1057500088400D408C400D4090400D4094400D40DD
+:1057600098400D409C400D40A0400D40A4400D408D
+:10577000A8400D40AC400D40B0400D40B4400D403D
+:10578000B8400D40BC400D40C0400D40C4400D40ED
+:10579000C8400D40CC400D40D0400D40D4400D409D
+:1057A000D8400D40DC400D40E0400D40E4400D404D
+:1057B000E8400D40EC400D40F0400D40F4400D40FD
+:1057C000F8400D40FC400D4080B582B000AF7860DD
+:1057D0007968A120FFF72BFBA120FFF7F3FB00BFA7
+:1057E0000837BD4680BD80B500AFA120FFF734FC6F
+:1057F000A120FFF74DFB00BF80BD80B483B000AF98
+:105800000D4B1B687B600D4B1B681B027A681343B2
+:105810007B600B4B1B681B047A6813437B60094B4E
+:105820001B681B067A6813437B607B6818460C373D
+:10583000BD4680BC704700BF40500D4044500D40F5
+:1058400048500D404C500D4080B485B000AF78609A
+:1058500039600A4B1B68FB60FB6823F03F03FB6069
+:105860007A683B681343FA681343FB60034AFB689A
+:10587000136000BF1437BD4680BC704754500D40C4
+:1058800080B483B000AF786000BF0E4B1B6803F09C
+:105890000103002BF9D00C4A7B681B0E13607B6858
+:1058A0001B0C0A4ADBB213607B681B0A084ADBB296
+:1058B0001360084A7B68DBB2136000BF0C37BD463B
+:1058C00080BC704750500D404C500D4048500D402A
+:1058D00044500D4040500D4080B483B000AF0D4B9C
+:1058E0001B687B600C4B1B681B027A6813437B6050
+:1058F0000A4B1B681B047A6813437B60084B1B68C8
+:105900001B067A6813437B607B6818460C37BD46DC
+:1059100080BC70475C500D4060500D4064500D409D
+:1059200068500D4080B483B000AF074B1B6803F094
+:105930000103002B14BF01230023FB71FB791846E0
+:105940000C37BD4680BC704758500D4080B483B0C2
+:1059500000AF074B1B687B607B6823F001037B6013
+:10596000034A7B68136000BF0C37BD4680BC70479C
+:1059700058500D4080B586B000AF03463A60FB71C9
+:105980000B46BB71BB7983F00103DBB2002B07D060
+:10599000244B1B6843F400133B61224A3B691360AC
+:1059A000204B1B683B613A691F4B13403B61FB79FD
+:1059B00083F00103DBB2002B03D03B6943F080731B
+:1059C0003B61BB79002B02D04FF4803300E0002311
+:1059D000BB603A69BB6813433B613A693B68134358
+:1059E0003B61104A3B691360104B1B687B610023CD
+:1059F000FB6008E0102000F0DBF80C4B1B687B61BB
+:105A0000FB680133FB607B6903F48033BA689A4218
+:105A100004D0FB684FF6FE729342EBD900BF1837F3
+:105A2000BD4680BD00200D40F8FFFEFE04200D4065
+:105A300080B485B000AF1E4B1B68BB60BB6803F031
+:105A400007037B600023FB607B68072B2AD801A239
+:105A500052F823F0755A20007B5A2000815A20000A
+:105A6000875A20008D5A2000935A2000995A20000E
+:105A70009F5A20000F4BFB6014E00F4BFB6011E0BE
+:105A80000E4BFB600EE00E4BFB600BE00D4BFB6022
+:105A900008E00D4BFB6005E00C4BFB6002E00C4B9B
+:105AA000FB6000BFFB6818461437BD4680BC7047DA
+:105AB00004200D400048E8010024F40000127A00A0
+:105AC00000093D0080841E0040420F0020A1070015
+:105AD00090D0030080B485B000AF7860094B1B689C
+:105AE000FB60FB6823F4E063FB607B681B02FA68E1
+:105AF0001343FB60034AFB68136000BF1437BD46C5
+:105B000080BC704700200D4080B485B000AF1F4BB3
+:105B10001B68BB60BB681B0A03F007037B600023A4
+:105B2000FB607B68072B2BD801A252F823F000BF43
+:105B3000515B2000575B20005D5B2000635B200011
+:105B4000695B20006F5B2000755B20007B5B2000A1
+:105B50000F4BFB6014E00F4BFB6011E00E4BFB6042
+:105B60000EE00E4BFB600BE00D4BFB6008E00D4BB5
+:105B7000FB6005E00C4BFB6002E00C4BFB6000BFE0
+:105B8000FB6818461437BD4680BC704704200D40A2
+:105B90000048E8010024F40000127A0000093D00EA
+:105BA00080841E0040420F0020A1070090D0030017
+:105BB00001387FF4FDAF704700BF80B400AF024BE7
+:105BC00008221A60FEE700BF74200D4080B500AFC8
+:105BD00000F07EFD00BF80BD80B582B000AF334BCA
+:105BE0001B687B607B6803F00703002B0CBF01235D
+:105BF0000023FB707B6803F4E063002B0CBF0123E0
+:105C00000023BB70FB78002B02D1BB78002B18D08F
+:105C1000274B1B687B60FB78002B01D0012300E041
+:105C200000237A6813437B60BB78002B02D04FF4CB
+:105C3000807300E000237A6813437B601C4A7B6812
+:105C400013601C4B1B681B4A43F00403136000F0F5
+:105C50003FFD184B1B68174A23F004031360FB78C1
+:105C6000002B02D1BB78002B1BD0114B1B687B6033
+:105C7000FB78002B02D06FF0070301E04FF0FF33F9
+:105C80007A6813407B60BB78002B02D06FF4E0632E
+:105C900001E04FF0FF337A6813407B60044A7B6871
+:105CA000136000BF0837BD4680BD00BF04200D4013
+:105CB00000200D4010ED00E080B485B000AF7860AA
+:105CC0007B681B0A03F00F03042B0BD07B681B0AB5
+:105CD00003F00F03042B05D07B681B0A03F00F03AE
+:105CE000052B03D1104B1B68FB6002E00F4B1B68B8
+:105CF000FB607B681B0A03F00F030D4A52F8232058
+:105D00007B6803F00F0302FA03F3BB60FA68BB6819
+:105D10001340002B01D0012300E000231846143764
+:105D2000BD4680BC704700BF1C300D4018300D4090
+:105D3000B870200080B485B000AF78607B681B0A23
+:105D400003F00F031D4A52F823301B687A6802F0F3
+:105D50000F02012101FA02F210467A68120A02F0DB
+:105D60000F02164951F82220034313600023FB6001
+:105D700002E0FB680133FB60FB680F2BF9D97B68FD
+:105D80001B0A03F00F030D4A52F823301B687A6890
+:105D900002F00F02012101FA02F2D24310467A68A2
+:105DA000120A02F00F02054951F822200340136045
+:105DB00000BF1437BD4680BC704700BFA4702000F0
+:105DC00080B483B000AF78607B681B0A03F00F03D8
+:105DD0000C4A52F823301B687A6802F00F02012146
+:105DE00001FA02F210467A68120A02F00F0205491F
+:105DF00051F822200343136000BF0C37BD4680BC1E
+:105E0000704700BF5C70200080B483B000AF786042
+:105E10007B681B0A03F00F030C4A52F823301B68FF
+:105E20007A6802F00F02012101FA02F2D243104611
+:105E30007A68120A02F00F02044951F82220034046
+:105E4000136000BF0C37BD4680BC70475C702000FB
+:105E500080B483B000AF78607B681B0A03F00F0347
+:105E60000C4A52F823301B687A6802F00F020121B5
+:105E700001FA02F210467A68120A02F00F0205498E
+:105E800051F822200343136000BF0C37BD4680BC8D
+:105E9000704700BF7470200080B483B000AF78609A
+:105EA0007B681B0A03F00F030C4A52F823301B686F
+:105EB0007A6802F00F02012101FA02F2D243104681
+:105EC0007A68120A02F00F02044951F822200340B6
+:105ED000136000BF0C37BD4680BC70477470200053
+:105EE00080B483B000AF78607B681B0A03F00F03B7
+:105EF0000C4A52F823301B687A6802F00F02012125
+:105F000001FA02F210467A68120A02F00F020549FD
+:105F100051F822200343136000BF0C37BD4680BCFC
+:105F2000704700BF8C70200080B483B000AF7860F1
+:105F30007B681B0A03F00F030C4A52F823301B68DE
+:105F40007A6802F00F02012101FA02F2D2431046F0
+:105F50007A68120A02F00F02044951F82220034025
+:105F6000136000BF0C37BD4680BC70478C702000AA
+:105F700080B483B000AF7860034A7B68136000BFD1
+:105F80000C37BD4680BC704758200D4080B483B0AC
+:105F900000AF064B1B687B607B6803F003037B60EC
+:105FA0007B6818460C37BD4680BC704758200D40B2
+:105FB00080B483B000AF074B1B687B607B6843F005
+:105FC00001037B60034A7B68136000BF0C37BD464A
+:105FD00080BC704780200D4080B483B000AF7860F3
+:105FE00039607B682C331B6823F086027B682C3376
+:105FF00019463B6813430B6000BF0C37BD4680BC9D
+:10600000704780B483B000AF78607B682C331B6826
+:1060100003F0860318460C37BD4680BC704780B439
+:1060200085B000AFF860B9607A60FB683433194618
+:10603000BA687B6813430B6000BF1437BD4680BC51
+:10604000704780B487B000AFF860B9607A60FB68D1
+:1060500034331B687B617B6903F00702BB681A60FD
+:106060007B6903F038027B681A6000BF1C37BD46AD
+:1060700080BC704780B586B000AFF860B9607A60C8
+:106080003B60F86800F088F87B681B01BA689A42A8
+:106090000BD2FB6830331B68FA68303243F02003C0
+:1060A00013607B685B087B6007E0FB6830331B682C
+:1060B000FA68303223F020031360BB68DA007B6893
+:1060C000B2FBF3F301335B087B61FB6824331A46B0
+:1060D0007B699B091360FB6828331A467B6903F0D0
+:1060E0003F031360FB682C331A463B681360FB6860
+:1060F00018331A460023136000BF1837BD4680BD11
+:1061000080B487B000AFF860B9607A603B60FB682C
+:1061100024331B687B61FB6828331B683B61BB68C9
+:106120009A007B6999013B690B44B2FBF3F27B68EF
+:106130001A60FB6830331B6803F02003002B04D087
+:106140007B681B685A007B681A60FB682C331B68ED
+:1061500003F0EE023B681A6000BF1C37BD4680BCEE
+:10616000704780B483B000AF78607B682C331B68C5
+:106170007A682C3243F0100313607B6830331B685D
+:106180007A68303243F4407343F00103136000BF78
+:106190000C37BD4680BC704780B483B000AF7860D8
+:1061A00000BF7B6818331B6803F00803002BF8D18D
+:1061B0007B682C331B687A682C3223F01003136041
+:1061C0007B6830331B687A68303223F4407323F0E5
+:1061D0000103136000BF0C37BD4680BC704780B41C
+:1061E00083B000AF78607B682C331B687A682C32F0
+:1061F00043F01003136000BF0C37BD4680BC7047EE
+:1062000080B483B000AF78607B682C331B687A68F9
+:106210002C3223F01003136000BF0C37BD4680BC46
+:10622000704780B483B000AF78600B46FB70FB789A
+:10623000002B08D07B6830331B687A68303243F01B
+:106240000603136007E07B6830331B687A683032DE
+:1062500043F00203136000BF0C37BD4680BC70479B
+:1062600080B483B000AF78607B6830331B687A6895
+:10627000303223F00603136000BF0C37BD4680BCEC
+:10628000704780B483B000AF786039607B6830338A
+:106290001B6823F010027B68303319463B681343B8
+:1062A0000B6000BF0C37BD4680BC704780B483B024
+:1062B00000AF78607B6830331B6803F0100318462A
+:1062C0000C37BD4680BC704780B483B000AF7860A7
+:1062D0007B6818331B6803F01003002B0CBF0123ED
+:1062E0000023DBB218460C37BD4680BC704780B433
+:1062F00083B000AF78607B6818331B6803F020031D
+:10630000002B0CBF01230023DBB218460C37BD461F
+:1063100080BC704780B483B000AF78607B6818336E
+:106320001B6803F01003002B02D17B681B6801E09F
+:106330004FF0FF3318460C37BD4680BC704780B421
+:1063400083B000AF786000BF7B6818331B6803F030
+:106350001003002BF8D17B681B6818460C37BD462C
+:1063600080BC704780B483B000AF78600B46FB7090
+:106370007B6818331B6803F02003002B04D17B6873
+:10638000FA781A60012300E0002318460C37BD4656
+:1063900080BC704780B483B000AF78600B46FB7060
+:1063A00000BF7B6818331B6803F02003002BF8D173
+:1063B0007B68FA781A6000BF0C37BD4680BC704716
+:1063C00080B483B000AF78600B46FB70FB78002B85
+:1063D00005D07B682C331B6843F0010304E07B6825
+:1063E0002C331B6823F001037A682C32136000BF42
+:1063F0000C37BD4680BC704780B483B000AF786076
+:106400007B6818331B6803F00803002B14BF0123BB
+:106410000023DBB218460C37BD4680BC704780B500
+:1064200084B000AF786039607B68094A934201D13B
+:10643000152300E01623FB603968F868FEF7F7FCC7
+:10644000F868FEF7BFFD00BF1037BD4680BD00BF36
+:1064500000C0004080B584B000AF78607B68084A17
+:10646000934201D1152300E01623FB60F868FEF784
+:10647000F3FDF868FEF70CFD00BF1037BD4680BD88
+:1064800000C0004080B483B000AF786039607B68A2
+:1064900038331A687B68383319463B6813430B60FE
+:1064A00000BF0C37BD4680BC704780B483B000AFDE
+:1064B000786039607B6838331A683B68DB437968F9
+:1064C000383113400B6000BF0C37BD4680BC7047AD
+:1064D00080B483B000AF78600B46FB70FB78002B74
+:1064E00003D07B6840331B6802E07B683C331B6849
+:1064F00018460C37BD4680BC704780B483B000AFEF
+:10650000786039607B6844331A463B68136000BF8B
+:106510000C37BD4680BC704780B483B000AF786054
+:1065200039607B6848331A687B68483319463B6892
+:1065300013430B6000BF0C37BD4680BC704780B46E
+:1065400083B000AF786039607B6848331A683B6875
+:10655000DB437968483113400B6000BF0C37BD4600
+:1065600080BC704780B483B000AF78607B68043330
+:106570001B6803F00F0318460C37BD4680BC7047FC
+:1065800080B483B000AF78607B6804331A46002380
+:10659000136000BF0C37BD4680BC704780B483B029
+:1065A00000AF786039607B6803F6C8731A463B68B1
+:1065B000136000BF0C37BD4680BC704780B483B009
+:1065C00000AF78607B6803F6C8731B6818460C3709
+:1065D000BD4680BC704780B483B000AF78607B68F4
+:1065E000A4331B687A68A43243F40043136000BFED
+:1065F0000C37BD4680BC704780B483B000AF786074
+:106600007B68A4331B687A68A43223F400431360C8
+:1066100000BF0C37BD4680BC704780B483B000AF6C
+:1066200078600B46FB701346BB707B68A4331A4638
+:10663000FB7813607B68A8331A46BB78136000BFF1
+:106640000C37BD4680BC704780B485B000AF786021
+:106650000B46FB7000BF7B6818331B6803F0880390
+:10666000802BF8D17B682C331B68FB60FB6823F020
+:1066700086037A682C3243F0820313607B68FA78D1
+:106680001A6000BF7B6818331B6803F08803802BF7
+:10669000F8D17B682C331A46FB68136000BF1437AF
+:1066A000BD4680BC704700BFEFF3108072B67047E4
+:1066B0001C4623461846EFF3108070471C462346BD
+:1066C0001846EFF3108062B670471C462346184602
+:1066D00030BF704700BF20BF704700BF40BF70474A
+:1066E00000BF80F31188704700BFEFF3118070473F
+:1066F0001C46234618460000032A70B414D940EA09
+:106700000105AD0704460B4622D11D6826681946CF
+:10671000AE42204603F1040304F1040418D1043A04
+:10672000032A20461946F0D8541E72B102780B781D
+:106730009A4208BF641806D00CE010F8012F11F837
+:10674000013F9A4206D1A142F7D1002070BC7047A8
+:10675000541EEBE7D01A70BC704700BFF0B4860738
+:1067600043D0541E002A3ED0CAB2034602E014F1C0
+:10677000FF3438D303F8012B9D07F8D1032C2BD914
+:10678000CDB245EA05250F2C45EA054516D9A4F1F9
+:1067900010073F0903F1200606EB071603F110026C
+:1067A00042E9045542E902551032B242F8D104F0F0
+:1067B0000F040137032C03EB07130DD91E462246A5
+:1067C000043A032A46F8045BFAD8221F22F0030297
+:1067D0000432134404F003042CB1C9B21C4403F87E
+:1067E000011B9C42FBD1F0BC704714460346C5E731
+:1067F000683D7563620000006F70656E6D6F746553
+:106800002D622D323467687A000000004343323530
+:106810003338000043433235333820536F43000090
+:106820004F70656E57534E20000000000000891124
+:1068300012239B322446AD573665BF74488CC19DE8
+:106840005AAFD3BE6CCAE5DB7EE9F7F881100801C8
+:1068500093331A22A5562C47B7753E64C99C408DC8
+:10686000DBBF52AEEDDA64CBFFF976E802218B3064
+:10687000100299132667AF763444BD554AADC3BCA8
+:10688000588ED19F6EEBE7FA7CC8F5D983310A2088
+:1068900091121803A7772E66B5543C45CBBD42AC88
+:1068A000D99E508FEFFB66EAFDD874C904428D5320
+:1068B00016619F702004A9153227BB364CCEC5DF68
+:1068C0005EEDD7FC6888E1997AABF3BA85520C4348
+:1068D00097711E60A1142805B3373A26CDDE44CF48
+:1068E000DFFD56ECE9986089FBBB72AA06638F72E4
+:1068F00014409D512225AB343006B9174EEFC7FE28
+:106900005CCCD5DD6AA9E3B8788AF19B87730E6207
+:1069100095501C41A3352A24B1163807CFFF46EE07
+:10692000DDDC54CDEBB962A8F99A708B08848195AF
+:106930001AA793B62CC2A5D33EE1B7F04008C919F7
+:10694000522BDB3A644EED5F766DFF7C89940085B7
+:106950009BB712A6ADD224C3BFF136E0C1184809D7
+:10696000D33B5A2AE55E6C4FF77D7E6C0AA583B453
+:10697000188691972EE3A7F23CC0B5D14229CB38B7
+:10698000500AD91B666FEF7E744CFD5D8BB502A477
+:1069900099961087AFF326E2BDD034C1C3394A2897
+:1069A000D11A580BE77F6E6EF55C7C4D0CC685D70F
+:1069B0001EE597F42880A1913AA3B3B2444ACD5B77
+:1069C0005669DF78600CE91D722FFB3E8DD604C737
+:1069D0009FF516E4A9902081BBB332A2C55A4C4B57
+:1069E000D7795E68E11C680DF33F7A2E0EE787F6D3
+:1069F0001CC495D52AA1A3B03882B193466BCF7A37
+:106A00005448DD59622DEB3C700EF91F8FF706E6F6
+:106A10009DD414C5ABB122A0B9923083C77B4E6A16
+:106A2000D5585C49E33D6A2CF11E780F683D7563CB
+:106A3000620000006F70656E6D6F74652D622D329F
+:106A40003467687A00000000434332353338000071
+:106A500043433235333820536F4300004F70656E27
+:106A600057534E2000000000683D7563620000002F
+:106A70006F70656E6D6F74652D622D323467687A44
+:106A800000000000434332353338000043433235C1
+:106A9000333820536F4300004F70656E57534E20BC
+:106AA000000000000000891112239B322446AD57DC
+:106AB0003665BF74488CC19D5AAFD3BE6CCAE5DB46
+:106AC0007EE9F7F88110080193331A22A5562C4766
+:106AD000B7753E64C99C408DDBBF52AEEDDA64CB26
+:106AE000FFF976E802218B30100299132667AF7602
+:106AF0003444BD554AADC3BC588ED19F6EEBE7FA06
+:106B00007CC8F5D983310A2091121803A7772E6625
+:106B1000B5543C45CBBD42ACD99E508FEFFB66EAE5
+:106B2000FDD874C904428D5316619F702004A915C5
+:106B30003227BB364CCEC5DF5EEDD7FC6888E199C5
+:106B40007AABF3BA85520C4397711E60A1142805E5
+:106B5000B3373A26CDDE44CFDFFD56ECE9986089A5
+:106B6000FBBB72AA06638F7214409D512225AB3481
+:106B70003006B9174EEFC7FE5CCCD5DD6AA9E3B885
+:106B8000788AF19B87730E6295501C41A3352A24A5
+:106B9000B1163807CFFF46EEDDDC54CDEBB962A865
+:106BA000F99A708B088481951AA793B62CC2A5D345
+:106BB0003EE1B7F04008C919522BDB3A644EED5F55
+:106BC000766DFF7C899400859BB712A6ADD224C355
+:106BD000BFF136E0C1184809D33B5A2AE55E6C4F35
+:106BE000F77D7E6C0AA583B4188691972EE3A7F2F1
+:106BF0003CC0B5D14229CB38500AD91B666FEF7E15
+:106C0000744CFD5D8BB502A499961087AFF326E214
+:106C1000BDD034C1C3394A28D11A580BE77F6E6EF4
+:106C2000F55C7C4D0CC685D71EE597F42880A191B4
+:106C30003AA3B3B2444ACD5B5669DF78600CE91DD4
+:106C4000722FFB3E8DD604C79FF516E4A9902081D4
+:106C5000BBB332A2C55A4C4BD7795E68E11C680DB4
+:106C6000F33F7A2E0EE787F61CC495D52AA1A3B070
+:106C70003882B193466BCF7A5448DD59622DEB3C94
+:106C8000700EF91F8FF706E69DD414C5ABB122A094
+:106C9000B9923083C77B4E6AD5585C49E33D6A2C74
+:106CA000F11E780F683D7563620000006F70656EBD
+:106CB0006D6F74652D622D323467687A00000000B4
+:106CC00043433235333800004343323533382053A1
+:106CD0006F4300004F70656E57534E200000000058
+:106CE000683D7563620000006F70656E6D6F74655E
+:106CF0002D622D323467687A00000000434332353C
+:106D00003338000043433235333820536F4300009B
+:106D10004F70656E57534E2000000000683D75634C
+:106D2000620000006F70656E6D6F74652D622D32AC
+:106D30003467687A0000000043433235333800007E
+:106D400043433235333820536F4300004F70656E34
+:106D500057534E2000000000683D7563620000003C
+:106D60006F70656E6D6F74652D622D323467687A51
+:106D700000000000434332353338000043433235CE
+:106D8000333820536F430000683D75636200000094
+:106D90006F70656E6D6F74652D622D323467687A21
+:106DA000000000004343323533380000434332359E
+:106DB000333820536F430000683D75636200000064
+:106DC0006F70656E6D6F74652D622D323467687AF1
+:106DD000000000004343323533380000434332356E
+:106DE000333820536F430000683D75636200000034
+:106DF0006F70656E6D6F74652D622D323467687AC1
+:106E0000000000004343323533380000434332353D
+:106E1000333820536F430000683D75636200000003
+:106E20006F70656E6D6F74652D622D323467687A90
+:106E3000000000004343323533380000434332350D
+:106E4000333820536F4300000007000000060000A5
+:106E50000005000000040000000300000002000024
+:106E600000010000000000000000000018ED00E03C
+:106E70001CED00E020ED00E000E400E004E400E0B0
+:106E800008E400E00CE400E010E400E014E400E0BA
+:106E900018E400E01CE400E020E400E024E400E06A
+:106EA00028E400E02CE400E030E400E034E400E01A
+:106EB00038E400E03CE400E040E400E044E400E0CA
+:106EC00048E400E04CE400E050E400E054E400E07A
+:106ED00058E400E05CE400E060E400E064E400E02A
+:106EE00068E400E06CE400E070E400E074E400E0DA
+:106EF00078E400E07CE400E080E400E084E400E08A
+:106F000088E400E08CE400E090E400E000E100E0D0
+:106F100004E100E008E100E00CE100E010E100E045
+:106F200080E100E084E100E088E100E08CE100E045
+:106F300090E100E000E200E004E200E008E200E0AE
+:106F40000CE200E010E200E080E200E084E200E019
+:106F500088E200E08CE200E090E200E080400D403A
+:106F600084400D4088400D408C400D4090400D40C5
+:106F700094400D4098400D409C400D40A0400D4075
+:106F8000A4400D40A8400D40AC400D40B0400D4025
+:106F9000B4400D40B8400D40BC400D40C0400D40D5
+:106FA000C4400D40C8400D40CC400D40D0400D4085
+:106FB000D4400D40D8400D40DC400D40E0400D4035
+:106FC000E4400D40E8400D40EC400D40F0400D40E5
+:106FD000F4400D40F8400D40FC400D4000400D4095
+:106FE00004400D4008400D400C400D4010400D4045
+:106FF00014400D4018400D401C400D4020400D40F5
+:1070000024400D4028400D402C400D4030400D40A4
+:1070100034400D4038400D403C400D4040400D4054
+:1070200044400D4048400D404C400D4050400D4004
+:1070300054400D4058400D405C400D4060400D40B4
+:1070400064400D4068400D406C400D4070400D4064
+:1070500074400D4078400D407C400D4008200D40AC
+:1070600018200D4028200D4038200D4048200D40AC
+:10707000A8200D400C200D401C200D402C200D4060
+:107080003C200D404C200D40AC200D4010200D4008
+:1070900020200D4030200D4040200D4050200D405C
+:1070A000B0200D4014200D4024200D4034200D4010
+:1070B00044200D4054200D4001000000000100005C
+:1070C00000000100000000010100000004000000B9
+:1070D00000000000000000000000000000000000B0
+:1070E00000000000000000000000000000000000A0
+:1070F0000000000000000000000000000000000090
+:10710000000000000000000000000000000000007F
+:10711000000000000000000000000000000000006F
+:10712000000000000000000000000000000000005F
+:10713000000000000000000000000000000000004F
+:10714000000000000000000000000000000000003F
+:10715000000000000000000000000000000000002F
+:10716000000000000000000000000000000000001F
+:10717000000000000000000000000000000000000F
+:1071800000000000000000000000000000000000FF
+:1071900000000000000000000000000000000000EF
+:1071A00000000000000000000000000000000000DF
+:1071B00000000000000000000000000000000000CF
+:1071C00000000000000000000000000000000000BF
+:1071D00000000000000000000000000000000000AF
+:1071E000000000000000000000000000000000009F
+:1071F000000000000000000000000000000000008F
+:10720000000000000000000000000000000000007E
+:10721000000000000000000000000000000000006E
+:10722000000000000000000000000000000000005E
+:10723000000000000000000000000000000000004E
+:10724000000000000000000000000000000000003E
+:10725000000000000000000000000000000000002E
+:10726000000000000000000000000000000000001E
+:10727000000000000000000000000000000000000E
+:1072800000000000000000000000000000000000FE
+:1072900000000000000000000000000000000000EE
+:1072A00000000000000000000000000000000000DE
+:1072B00000000000000000000000000000000000CE
+:1072C00000000000000000000000000000000000BE
+:1072D00000000000000000000000000000000000AE
+:1072E000000000000000000000000000000000009E
+:1072F000000000000000000000000000000000008E
+:10730000000000000000000000000000000000007D
+:10731000000000000000000000000000000000006D
+:10732000000000000000000000000000000000005D
+:10733000000000000000000000000000000000004D
+:10734000000000000000000000000000000000003D
+:0C73500000000000000000000000000031
+:020000040027D3
+:0CFFD400FFFFFFF600000000000020000E
+:0400000500202ED7D2
+:00000001FF
diff --git a/mercator-opentestbed.yml b/mercator-opentestbed.yml
new file mode 100644
index 0000000000..19662e8d5a
--- /dev/null
+++ b/mercator-opentestbed.yml
@@ -0,0 +1,39 @@
+platform:
+ name: opentestbed
+ mqtt_broker:
+ # specify your MQTT broker and a token to use
+ host: mqtt-broker.example.com
+ port: 1883
+ token: 123
+ nodes: &nodes
+ # specify nodes in your testbed
+ - XX-XX-XX-XX-XX-XX-XX-XX
+ - XX-XX-XX-XX-XX-XX-XX-XX
+ firmware:
+ os: OpenWSN
+ path: firmwares/openwsn-openmote-b-24ghz.ihex
+
+measurement:
+ num_transactions: 10
+ channels: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
+ tx_nodes: *nodes
+ tx_len: 100
+ tx_interval_ms: 10
+ tx_num_per_transaction: 100
+ tx_fill_byte: 0x5a
+
+logging:
+ version: 1
+ formatters:
+ default:
+ format: '%(asctime)s: [%(levelname)s] %(message)s'
+ handlers:
+ file:
+ class: logging.handlers.RotatingFileHandler
+ formatter: default
+ filename: mercator.log
+ maxBytes: 1048576 # 1MB
+ backupCount: 2
+ root:
+ level: INFO
+ handlers: [file]
diff --git a/mercator.yml b/mercator.yml
new file mode 100644
index 0000000000..58f09146f7
--- /dev/null
+++ b/mercator.yml
@@ -0,0 +1,40 @@
+platform:
+ name: iotlab
+ experiment_duration_min: 60
+ nodes: &nodes
+ - m3-2.grenoble.iot-lab.info
+ - m3-4.grenoble.iot-lab.info
+ - m3-5.grenoble.iot-lab.info
+ - m3-9.grenoble.iot-lab.info
+ - m3-11.grenoble.iot-lab.info
+ - m3-13.grenoble.iot-lab.info
+ - m3-14.grenoble.iot-lab.info
+ firmware:
+ os: OpenWSN
+ archi: M3
+ path: firmwares/openwsn-iot-lab_M3.elf
+
+measurement:
+ num_transactions: 5
+ channels: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]
+ tx_nodes: *nodes
+ tx_len: 100
+ tx_interval_ms: 10
+ tx_num_per_transaction: 100
+ tx_fill_byte: 0x5a
+
+logging:
+ version: 1
+ formatters:
+ default:
+ format: '%(asctime)s: [%(levelname)s] %(message)s'
+ handlers:
+ file:
+ class: logging.handlers.RotatingFileHandler
+ formatter: default
+ filename: mercator.log
+ maxBytes: 1048576 # 1MB
+ backupCount: 2
+ root:
+ level: INFO
+ handlers: [file]
diff --git a/code/software/__init__.py b/mercator/__init__.py
similarity index 100%
rename from code/software/__init__.py
rename to mercator/__init__.py
diff --git a/mercator/__main__.py b/mercator/__main__.py
new file mode 100644
index 0000000000..2e63566647
--- /dev/null
+++ b/mercator/__main__.py
@@ -0,0 +1,297 @@
+import argparse
+import datetime
+from importlib import import_module
+import logging
+import logging.config
+import math
+import os
+import signal
+import sys
+import threading
+import time
+
+import tqdm
+import yaml
+
+from mercator.node import NodeStatus
+
+from mercator.utils import MercatorHalo, Outfile, print_bold
+
+class SigIntException(Exception):
+ pass
+
+def _init_logger(config):
+ try:
+ logging.config.dictConfig(config)
+ except yaml.YAMLError as err:
+ print_bold('{0} is not a valid YAML file'.format(config_file_path))
+ exit(1)
+ except ValueError as err:
+ print_bold('logging config is not loaded succesfully')
+ print(str(err))
+ exit(1)
+
+def _parse_args():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-C', dest='dump_sample_yml_file',
+ help='print sample YAML file for a specified platform',
+ choices=['iotlab', 'opentestbed'],
+ type=str)
+ parser.add_argument('-c', dest='config', help='path to config YAML file',
+ type=str, default='./mercator.yml')
+ parser.add_argument('-i', dest='exp_id',
+ help='attach to exp_id (only for iotlab)',
+ type=int)
+ parser.add_argument('-p', dest='program_firmware',
+ help='program firmware to nodes (only for opentestbed)',
+ default=False, action='store_true')
+ parser.add_argument('-o', dest='out_file_path',
+ help='path to an output file',
+ type=str, default='output.jsonl.gz')
+ parser.add_argument('-f', dest='overwrite_out_file',
+ help='overwrite an existing file',
+ default=False, action='store_true')
+ parser.add_argument('-s', '--only-platform-setup',
+ dest='only_platform_setup',
+ help='exit without measurements',
+ default=False, action='store_true')
+ parser.add_argument('-q', dest='quiet',
+ help='suppress console outputs', action='store_true')
+ return parser.parse_args()
+
+def _read_config(config_file_path):
+ if not os.path.exists(config_file_path):
+ print_bold('{0} is not found'.format(config_file_path))
+ print_bold('use -c option to specify the path to your mercator.yml')
+ raise ValueError('mercator.yml is not found')
+
+ with open(config_file_path, 'r') as f:
+ try:
+ config = yaml.safe_load(f)
+ except yaml.YAMLError as err:
+ config_file_name = os.path.basename(config_file_path)
+ print('cannot parse {0} as a YAML file'.format(config_file_name),
+ file=sys.stderr)
+ print(err, file=sys.stderr)
+ exit(1)
+
+ # 'nodes' key may have a list of lists; flatten such a list
+ for node_id_list in [config['platform']['nodes'],
+ config['measurement']['tx_nodes']]:
+ assert node_id_list
+ if isinstance(node_id_list[0], list):
+ flattened_node_id_list = [node_id for node_id_sub_list in node_id_list
+ for node_id in node_id_sub_list]
+ if node_id_list == config['platform']['nodes']:
+ config['platform']['nodes'] = flattened_node_id_list
+ elif node_id_list == config['measurement']['tx_nodes']:
+ config['measurement']['tx_nodes'] = flattened_node_id_list
+ else:
+ raise NotImplementedError()
+
+ return config
+
+def _setup_platform(platform_config, args):
+ module_name = 'mercator.platforms.{0}'.format(platform_config['name'])
+ platform_module = import_module(module_name)
+
+ if platform_config['name'] == 'iotlab':
+ platform_args = {'exp_id': args.exp_id}
+ elif platform_config['name'] == 'opentestbed':
+ platform_args = {'program_firmware': args.program_firmware}
+ else:
+ raise NotImplementedError(
+ 'Platform {0} is not supported'.format(platform_config['name']))
+
+ return platform_module.Platform(platform_config, **platform_args)
+
+def _run_transactions(num_transactions, channels, nodes, outfile, quiet):
+ quit_now = False
+
+ def _sigint_handler(sig, frame):
+ raise SigIntException()
+
+ def _running_in_thread():
+ tx_nodes = [node for node in nodes if node.tx_node]
+ num_tx_nodes = len(tx_nodes)
+ total_exec_num = num_transactions * len(channels) * num_tx_nodes
+ params = _get_measurement_params(num_transactions, channels,
+ num_tx_nodes)
+
+ with tqdm.tqdm(total=total_exec_num, unit='meas', disable=quiet) as pbar:
+ for trans_ctr, channel, tx_node_idx in params:
+ tx_node = tx_nodes[tx_node_idx]
+ _beginning_of_measurement(pbar,
+ trans_ctr, channel,
+ tx_node_idx, num_tx_nodes)
+ try:
+ _do_measurement(nodes, tx_node, trans_ctr, channel, outfile)
+ except RuntimeError:
+ print_bold('RuntimeError occurs; stopping Mercator...')
+ break
+
+ _end_of_measurement(pbar,
+ trans_ctr, channel,
+ tx_node_idx, num_tx_nodes)
+ if quit_now:
+ break
+
+ signal.signal(signal.SIGINT, _sigint_handler)
+ thread = threading.Thread(target=_running_in_thread)
+ try:
+ thread.start()
+ thread.join()
+ except (KeyboardInterrupt, SigIntException):
+ quit_now = True
+ print_bold('KeyboardInterrupt/SIGINT is received; Mercator will stop.')
+ print_bold('Waiting for the current measurement to finish...')
+ thread.join()
+
+def _get_measurement_params(num_transactions, channels, num_tx_nodes):
+ trans_ctr = 0
+ while trans_ctr < num_transactions:
+ for channel in channels:
+ for node_idx in range(num_tx_nodes):
+ yield trans_ctr, channel, node_idx
+ trans_ctr += 1
+
+def _do_measurement(nodes, tx_node, trans_ctr, channel, outfile):
+ rx_nodes = [node for node in nodes if node != tx_node]
+ start_time_of_measurement = datetime.datetime.now()
+
+ if not _is_every_node_idle(nodes):
+ raise RuntimeError('NodeStatus Error')
+
+ _make_rx_nodes_start_listening(rx_nodes,
+ tx_node, channel, trans_ctr)
+
+ # start TX and wait to finish
+ tx_node.start_tx(channel, trans_ctr)
+ tx_node.wait_tx_done()
+
+ _make_rx_nodes_stop_listening(rx_nodes)
+ _save_data(outfile, tx_node, rx_nodes,
+ start_time_of_measurement, trans_ctr, channel)
+
+ outfile.flush()
+
+def _beginning_of_measurement(pbar, trans_ctr, channel, node_idx, num_nodes):
+ logging.info('Beginning of measurement - '
+ + 'trans_ctr: {0}, '.format(trans_ctr)
+ + 'channel: {0}, '.format(channel)
+ + 'tx_node: {0}/{1}'.format(node_idx+1,
+ num_nodes))
+
+ pbar.set_description('trans_ctr {0}'.format(trans_ctr))
+ pbar.set_postfix(ch=channel,
+ tx_node='{0}/{1}'.format(node_idx+1,
+ num_nodes))
+
+def _is_every_node_idle(nodes):
+ ret = True
+ threads = {}
+ for _idx, _node in enumerate(nodes):
+ thread = threading.Thread(target=_node.update_status)
+ thread.start()
+ threads[_idx] = thread
+ for _idx, _node in enumerate(nodes):
+ threads[_idx].join()
+ if _node.status != NodeStatus.IDLE:
+ logging.critical('Invalid NodeStatus at '
+ + 'Node {0} '.format(_node.id)
+ + '{0}'.format(_node.status.name))
+ ret = False
+ return ret
+
+def _make_rx_nodes_start_listening(rx_nodes, tx_node, channel, trans_ctr):
+ threads = {}
+ for _idx, _node in enumerate(rx_nodes):
+ thread = threading.Thread(target=_node.start_rx,
+ args=(channel,
+ tx_node.mac_addr,
+ trans_ctr))
+ thread.start()
+ threads[_idx] = thread
+ for _idx, _node in enumerate(rx_nodes):
+ threads[_idx].join()
+
+def _make_rx_nodes_stop_listening(rx_nodes):
+ threads = {}
+ for _idx, _node in enumerate(rx_nodes):
+ thread = threading.Thread(target=_node.stop_rx)
+ thread.start()
+ threads[_idx] = thread
+ for _idx, _node in enumerate(rx_nodes):
+ threads[_idx].join()
+
+def _save_data(outfile, tx_node, rx_nodes, start_time, trans_ctr, channel):
+ outfile.write_data('tx',
+ {'datetime': start_time.isoformat(),
+ 'trans_ctr': trans_ctr,
+ 'channel': channel,
+ 'mac_addr': str(tx_node.mac_addr)})
+ for rx_node in rx_nodes:
+ rx_data = {'mac_addr': str(rx_node.mac_addr),
+ 'rssi_records': rx_node.rssi_records}
+ outfile.write_data('rx', rx_data)
+
+def _end_of_measurement(pbar, trans_ctr, channel, node_idx, num_nodes):
+ logging.info('End of measurement - '
+ + 'trans_ctr: {0}, '.format(trans_ctr)
+ + 'channel: {0}, '.format(channel)
+ + 'tx_node: {0}/{1}'.format(node_idx+1,
+ num_nodes))
+ pbar.update()
+
+def main():
+ args = _parse_args()
+
+ if args.dump_sample_yml_file:
+ module_name = 'mercator.platforms.{0}'.format(args.dump_sample_yml_file)
+ platform_module = import_module(module_name)
+ platform_module.Platform.dump_sample_yml_file()
+ elif args.config:
+ if args.quiet:
+ print_bold('-q ("quiet") is specified. ' +
+ 'See mercator.log for mercator\'s activities.')
+ MercatorHalo.disable()
+
+ config = _read_config(args.config)
+ _init_logger(config['logging'])
+ outfile = Outfile(args.out_file_path, config, args.overwrite_out_file)
+
+ logging.info('Start Mercator at '
+ + '"{0}" platform'.format(config['platform']['name']))
+
+ platform = _setup_platform(config['platform'], args)
+ nodes = platform.setup_measurement(config['measurement'])
+
+ if args.only_platform_setup:
+ # done
+ pass
+ else:
+ channels = config['measurement']['channels']
+ num_transactions = config['measurement']['num_transactions']
+
+ if num_transactions < 0:
+ # if we have a negative value, take it as an infinite
+ # value
+ num_transactions = math.inf
+
+ # body of main
+ outfile.open()
+ outfile.write_data('start_time',
+ {'timestamp': datetime.datetime.now().isoformat()})
+ _run_transactions(num_transactions, channels, nodes, outfile,
+ args.quiet)
+ for node_idx, node in enumerate(nodes):
+ outfile.write_data('node_info', {'node_index': node_idx,
+ 'mac_addr': str(node.mac_addr)})
+ outfile.write_data('end_time',
+ {'timestamp': datetime.datetime.now().isoformat()})
+ outfile.close()
+ else:
+ raise ValueError('Shouldn\'t come here')
+
+if __name__ == '__main__':
+ main()
diff --git a/mercator/hdlc.py b/mercator/hdlc.py
new file mode 100644
index 0000000000..4ff7ec7af7
--- /dev/null
+++ b/mercator/hdlc.py
@@ -0,0 +1,93 @@
+class HdlcException(Exception):
+ pass
+
+HDLC_MIN_BODY_LEN = 3 # DATA(>1)|CRC(2)
+
+HDLC_FLAG = b'\x7e'
+HDLC_FLAG_ESCAPED = b'\x5e'
+HDLC_ESCAPE = b'\x7d'
+HDLC_ESCAPE_ESCAPED = b'\x5d'
+HDLC_CRCINIT = 0xffff
+HDLC_CRCGOOD = 0xf0b8
+
+FCS16TAB = (
+ 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
+ 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
+ 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,
+ 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,
+ 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,
+ 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,
+ 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,
+ 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,
+ 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,
+ 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,
+ 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,
+ 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,
+ 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,
+ 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,
+ 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,
+ 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,
+ 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,
+ 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,
+ 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,
+ 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,
+ 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,
+ 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,
+ 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,
+ 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,
+ 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,
+ 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,
+ 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,
+ 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,
+ 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,
+ 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
+ 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
+ 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78,
+)
+
+def _crc_iteration(crc, b):
+ return (crc >> 8) ^ FCS16TAB[((crc ^ b) & 0xff)]
+
+def hdlc_calc_crc(in_buf):
+ if not in_buf:
+ raise HdlcException('in_buf is empty')
+
+ # calculate CRC
+ crc = HDLC_CRCINIT
+ for b in in_buf:
+ crc = _crc_iteration(crc, b)
+ crc = 0xffff - crc
+
+ return crc.to_bytes(2, byteorder='little', signed=False)
+
+def hdlc_verify_crc(in_buf):
+ if not in_buf:
+ raise HdlcException('in_buf is empty')
+
+ # assuming the last two bytes is CRC
+ crc = HDLC_CRCINIT
+ for b in (in_buf):
+ crc = _crc_iteration(crc, b)
+ return crc == HDLC_CRCGOOD
+
+def hdlc_escape(in_buf):
+ if not in_buf:
+ raise HdlcException('in_buf is empty')
+
+ out_buf = bytearray(in_buf)
+ out_buf = out_buf.replace(HDLC_ESCAPE,
+ HDLC_ESCAPE+HDLC_ESCAPE_ESCAPED)
+ out_buf = out_buf.replace(HDLC_FLAG,
+ HDLC_ESCAPE+HDLC_FLAG_ESCAPED)
+ return out_buf
+
+def hdlc_unescape(in_buf):
+ if not in_buf:
+ raise HdlcException('in_buf is empty')
+
+ out_buf = bytearray(in_buf)
+ out_buf = out_buf.replace(HDLC_ESCAPE+HDLC_FLAG_ESCAPED,
+ HDLC_FLAG)
+ out_buf = out_buf.replace(HDLC_ESCAPE+HDLC_ESCAPE_ESCAPED,
+ HDLC_ESCAPE)
+ return out_buf
diff --git a/mercator/k7analyze.py b/mercator/k7analyze.py
new file mode 100644
index 0000000000..14189dafa8
--- /dev/null
+++ b/mercator/k7analyze.py
@@ -0,0 +1,235 @@
+import argparse
+import itertools
+import gzip
+import json
+import os
+from statistics import mean
+
+import matplotlib.pyplot as plt
+import networkx as nx
+import numpy as np
+import pandas as pd
+from pandas.plotting import register_matplotlib_converters
+import seaborn as sns
+
+register_matplotlib_converters()
+
+CHART_NODE_DEGREE_FILE_NAME = 'chart-node_degree.png'
+CHART_PDR_VS_CHANNEL_FILE_NAME = 'chart-pdr_vs_channel.png'
+CHART_NUM_GOOD_CHANNELS_PER_NBR_FILE_NAME = 'chart-num_good_channels.png'
+CHART_WATERFALL_RSSI_VS_PDR_FILE_NAME = 'chart-rssi_vs_pdr.png'
+CHART_PDR_OVER_TIME_FILE_NAME = 'chart-pdr_over_time_from_{0}_to_{1}.png'
+
+
+def _construct_bare_link_graph(df, node_count):
+ df_per_channel = pd.pivot_table(df,
+ values='pdr',
+ index=['src', 'dst', 'channel'],
+ aggfunc=np.mean)
+ df_per_channel = df_per_channel.reset_index()
+ df_overall = pd.pivot_table(df, values='pdr', index=['src', 'dst'],
+ aggfunc=np.mean)
+ df_overall = df_overall.reset_index()
+ df_overall['channel'] = 'overall'
+ df = pd.concat([df_per_channel, df_overall], sort=False)
+
+ G = nx.MultiDiGraph()
+ G.add_edges_from([(src, dst, channel, {'avg_pdr': pdr if pdr else 0})
+ for src, dst, channel, pdr in df.itertuples(index=False)])
+ return G
+
+def _construct_valid_link_graph(bare_link_graph, min_pdr):
+ G = nx.Graph()
+ for u, v in itertools.combinations(bare_link_graph.nodes, 2):
+ link_u_v = bare_link_graph.get_edge_data(u, v, 'overall',
+ default={'avg_pdr': 0})
+ link_v_u = bare_link_graph.get_edge_data(u, v, 'overall',
+ default={'avg_pdr': 0})
+
+ if ((link_u_v['avg_pdr'] >= min_pdr)
+ and (link_v_u['avg_pdr'] >= min_pdr)):
+ # if the both directions have enough PDR values, we
+ # consider the link as valid
+ overall_avg_pdr = (link_u_v['avg_pdr'] + link_v_u['avg_pdr']) /2
+ G.add_edge(u, v, overall_avg_pdr=overall_avg_pdr)
+ return G
+
+def _plot_node_degree(valid_link_graph):
+ # plot node degree
+ print('Generate a chart of node degree')
+ plt.figure()
+ data = [degree for _, degree in valid_link_graph.degree]
+ ax = sns.distplot(data, bins=max(data),
+ kde=False, norm_hist=True, hist_kws={'cumulative': True})
+ ax.set_xticks(range(0, max(data)))
+ ax.set_xlabel('Node Degree')
+ ax.set_xlim(0, max(data))
+ ax.set_ylabel('Probability')
+ ax.set_ylim(0, 1)
+ plt.savefig(CHART_NODE_DEGREE_FILE_NAME)
+ plt.close()
+
+def _plot_pdr_vs_channel(df):
+ # plot PDR vs channel
+ print('Generate a chart of average PDR per channel, '
+ + 'taking only PDR values > 0%')
+ plt.figure()
+ data = df[df['pdr'] > 0].copy()
+ data['pdr'] *= 100
+ ax = sns.barplot(x='channel', y='pdr', data=data,
+ color=sns.xkcd_rgb["windows blue"])
+ # add vertical lines for WiFi Channels 1, 6, 11 their center
+ # frequencies are roughly located at channel 12.5, 17.5, and 22.5
+ # of IEEE 802.15.4
+ ax.vlines(x=[1.5, 6.5, 11.5], ymin=0, ymax=100,
+ linestyles='dashed', colors='red')
+ ax.set_xlabel('IEEE 802.15.4 Channel (2.4GHz)')
+ ax.set_ylabel('Average Link PDR (%)')
+ ax.set_ylim(0, 100)
+ plt.savefig(CHART_PDR_VS_CHANNEL_FILE_NAME)
+ plt.close()
+
+def _plot_num_channels_having_valid_links(df, min_pdr, channels):
+ # plot number of channels with PDR >= min_pdr
+ print('Generate a chart of number of channels with '
+ + 'PDR >= {0}% (min_pdr)'.format(min_pdr * 100))
+ plt.figure()
+ data = pd.pivot_table(df,
+ values='pdr',
+ index=['src', 'dst', 'channel'],
+ aggfunc=np.mean)
+ data = data.reset_index()
+ data = data.loc[data['pdr'] >= min_pdr]
+ data = pd.pivot_table(data,
+ values='channel',
+ index=['src', 'dst'],
+ aggfunc=len)
+ data = data.reset_index()
+ data = data['channel']
+ ax = sns.distplot(data, bins=len(channels), kde=False,
+ norm_hist=True, hist_kws={'cumulative': True})
+ ax.set_xlabel('Number of Channels with PDR >= {0}%'.format(min_pdr * 100))
+ ax.set_ylabel('Probability')
+ plt.savefig(CHART_NUM_GOOD_CHANNELS_PER_NBR_FILE_NAME)
+ plt.close()
+
+def _plot_waterfall_rssi_vs_pdr(df):
+ # plot waterfall
+ print('Generate a waterfall plot')
+ plt.figure()
+ data = df[df['pdr'] > 0].copy()
+ data = data[['mean_rssi', 'pdr']]
+ data['pdr'] *= 100
+ ax = sns.scatterplot(x='mean_rssi', y='pdr', data=data, marker='+')
+ ax.set_xticks([i for i in range(-100, 0, 10)])
+ ax.set_xlabel('Average RSSI (dB)')
+ ax.set_ylabel('PDR (%)')
+ ax.set_ylim(0, 110)
+ plt.savefig(CHART_WATERFALL_RSSI_VS_PDR_FILE_NAME)
+ plt.close()
+
+def _plot_pdr_over_time(df, src, dst, channels):
+ print('Generate a chart for PDR over time from {0} to {1}'.format(src, dst))
+ fig = plt.figure()
+ data = df[(df['src']==src) & (df['dst']==dst)].copy()
+ # use relative time in minutes ax index, from the first
+ # measurement
+ data['timedelta'] = data['datetime'] - min(data['datetime'])
+ data['min'] = data.apply(lambda x: x['timedelta'].total_seconds() / 60,
+ axis=1)
+ data = data.set_index('min')
+
+ data_mean_pdr = pd.pivot_table(data, values='pdr', index='channel',
+ aggfunc=np.mean)
+ data_mean_pdr['pdr'] *= 100
+ data_mean_pdr = data_mean_pdr.T.to_dict()
+
+ _data = pd.DataFrame(index=data.index, columns=channels, dtype=int)
+ _data.index.astype(data.index.dtype)
+ _data.rename_axis('')
+ del _data.index.name
+ pdr_values = {channel: None for channel in channels}
+ start_index = None
+ for index, row in data.iterrows():
+ pdr_values[row['channel']] = row['pdr'] * 100
+ if (not start_index) and (None not in pdr_values.values()):
+ start_index = index
+ _data.loc[index] = list(pdr_values.values())
+ data = _data.loc[start_index:]
+
+ axes = data.plot.line(ylim=(0, 110), use_index=True, subplots=True,
+ sharex=True, legend=False,
+ style=['red' if channel % 2 else 'blue'
+ for channel in channels])
+ for channel, ax in zip(channels, axes):
+ ax.set_xlabel('Elapsed Time (min)')
+ ax.set_yticks([])
+ ax.set_ylabel(channel,
+ rotation='horizontal', ha='right', va='center')
+ ax_right = ax.twinx()
+ ax_right.set_yticks([])
+ ax_right.set_ylabel('{0}%'.format(int(data_mean_pdr[channel]['pdr'])),
+ rotation='horizontal', ha='left', va='center')
+
+ fig = axes[0].figure
+ fig.text(0.07, 0.55, 'PDR (%) per IEEE802.15.4 Channel',
+ rotation='vertical', ha='center', va='center')
+ plt.savefig(CHART_PDR_OVER_TIME_FILE_NAME.format(src, dst))
+ plt.close('all')
+
+def analyze_k7_file(k7_file_path, min_pdr, single_tx):
+ with gzip.open(k7_file_path, 'rt') as f:
+ config = json.loads(f.readline())
+ df = pd.read_csv(f, header=0,
+ dtype={'datetime': str, 'src': int, 'dst': int,
+ 'channel': int, 'mean_rssi': float,
+ 'pdr': float, 'tx_count': int},
+ na_values='None',
+ parse_dates=[0])
+
+ df['valid_link'] = df.apply(lambda x: 1 if x['pdr'] >= min_pdr else 0,
+ axis=1)
+
+ bare_link_graph = _construct_bare_link_graph(df, config['node_count'])
+ valid_link_graph = _construct_valid_link_graph(bare_link_graph, min_pdr)
+
+ if single_tx:
+ src_list = set(df['src'])
+ assert len(src_list) > 0
+ if len(src_list) > 1:
+ print('Multiple TX nodes are found')
+ print('Cannot use --single-tx with such a K7 file')
+ exit(1)
+ else:
+ src = src_list.pop()
+ for dst in set(df['dst']):
+ _plot_pdr_over_time(df, src, dst, config['channels'])
+ else:
+ _plot_node_degree(valid_link_graph)
+ _plot_pdr_vs_channel(df)
+ _plot_num_channels_having_valid_links(df, min_pdr, config['channels'])
+ _plot_waterfall_rssi_vs_pdr(df)
+
+def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--min-pdr', dest='min_pdr',
+ help='minimum PDR(%%) of a valid link',
+ type=int, default=50)
+ parser.add_argument('--single-tx', dest='single_tx',
+ help='generate charts for a single TX case',
+ action='store_true', default=False)
+ parser.add_argument('k7_file_path',
+ help='path to a K7 file (.k7.gz) to analyze')
+ args = parser.parse_args()
+
+ if (args.min_pdr < 0) or (args.min_pdr > 100):
+ raise ValueError('Invalid min_pdr value: {0}%'.format(args.min_pdr))
+ min_pdr = args.min_pdr / 100.0
+
+ if not os.path.exists(args.k7_file_path):
+ raise ValueError('{0} doesn\'t exist'.format(args.raw_file_path))
+ else:
+ analyze_k7_file(args.k7_file_path, min_pdr, args.single_tx)
+
+if __name__ == '__main__':
+ main()
diff --git a/mercator/k7conv.py b/mercator/k7conv.py
new file mode 100644
index 0000000000..c81fe8f8d5
--- /dev/null
+++ b/mercator/k7conv.py
@@ -0,0 +1,147 @@
+import argparse
+import gzip
+import json
+import os
+from statistics import mean
+
+def _find_node_list_and_end_time(raw_file_path):
+ node_list = {}
+ end_time = None
+ with gzip.open(raw_file_path, 'rt') as raw_file:
+ for line in raw_file:
+ line = json.loads(line)
+ if line['data_type'] == 'node_info':
+ node_list[line['data']['mac_addr']] = line['data']['node_index']
+ elif line['data_type'] == 'end_time':
+ end_time = line['data']['timestamp']
+ break
+ return node_list, end_time
+
+def _read_tx_line(line):
+ line = json.loads(line)
+ if line['data_type'] != 'tx':
+ raise ValueError('data_type ({0})is not "tx"'.format(line['data_type']))
+ data = line['data']
+ return data['mac_addr'], data['datetime'], data['channel']
+
+def _read_rx_lines(lines_to_read, node_list, tx_count):
+ tuples_to_output = []
+ for line in lines_to_read:
+ line = json.loads(line)
+ assert line['data_type'] == 'rx'
+
+ data = line['data']
+ rx_mac_addr = data['mac_addr']
+ rssi_records = data['rssi_records']
+ rx_node_id = node_list[rx_mac_addr]
+
+ # compute mean RSSI and PDR
+ valid_rssi_values = [rssi for rssi in rssi_records if rssi]
+ rx_count = len(valid_rssi_values)
+ pdr = rx_count / tx_count
+ if pdr > 0:
+ mean_rssi = mean(valid_rssi_values)
+ else:
+ mean_rssi = None
+
+ # save to the file
+ tuples_to_output.append((rx_node_id, mean_rssi, pdr))
+
+ return tuples_to_output
+
+def _generate_k7_header(location, config, start_time, end_time):
+ header = {}
+ header['location'] = location
+ header['tx_length'] = config['measurement']['tx_len']
+ header['start_date'] = start_time
+ header['stop_date'] = end_time
+ header['node_count'] = len(config['platform']['nodes'])
+ header['channels'] = config['measurement']['channels']
+ header['interframe_duration'] = config['measurement']['tx_interval_ms']
+ return json.dumps(header) + '\n'
+
+def convert_raw_file(location, raw_file_path, out_file_path):
+ CSV_HEADER = 'datetime,src,dst,channel,mean_rssi,pdr,tx_count\n'
+ start_time = None
+ node_list, end_time = _find_node_list_and_end_time(raw_file_path)
+ if not end_time:
+ raise ValueError('Invalid raw file format {0}; '.format(raw_file_path)
+ + '"end_time" data is not found')
+ with gzip.open(out_file_path, 'wt') as out_file:
+ with gzip.open(raw_file_path, 'rb') as raw_file:
+ # read config line
+ line = json.loads(raw_file.readline())
+ assert line['data_type'] == 'config'
+ config = line['data']
+
+ # shorthand
+ tx_count = config['measurement']['tx_num_per_transaction']
+ num_nodes = len(config['platform']['nodes'])
+
+ # read start time, and insert headers
+ line = json.loads(raw_file.readline())
+ assert line['data_type'] == 'start_time'
+ start_time = line['data']['timestamp']
+ header_line = _generate_k7_header(location, config,
+ start_time, end_time)
+ out_file.write(header_line)
+ out_file.write(CSV_HEADER)
+
+ # read start of transaction
+ for line in raw_file:
+ try:
+ tx_mac_addr, timestamp, channel = _read_tx_line(line)
+ tx_node_id = node_list[tx_mac_addr]
+ except ValueError:
+ line = json.loads(line)
+ if line['data_type'] == 'end_time':
+ assert end_time == line['data']['timestamp']
+ break
+ elif line['data_type'] == 'node_info':
+ # skip
+ continue
+ else:
+ raise ValueError('The current line should be '
+ + '"tx" or "end_time"')
+
+ # read RX records
+ lines_to_read = [raw_file.readline()
+ for _ in range(num_nodes-1)]
+ tuples_to_output = _read_rx_lines(lines_to_read,
+ node_list,
+ tx_count)
+ for dst, mean_rssi, pdr in tuples_to_output:
+ mean_rssi = ('{0:.2f}'.format(mean_rssi)
+ if mean_rssi else None)
+ out_file.write('{0},{1},{2},{3},'.format(timestamp,
+ tx_node_id,
+ dst,
+ channel)
+ + '{0},{1},{2}\n'.format(mean_rssi,
+ pdr,
+ tx_count))
+
+def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-l', dest='location',
+ help='specify "location" to be shown in K7 header',
+ type=str, required=True)
+ parser.add_argument('-o', dest='out_file_path',
+ help='path to a resulting K7 file (.k7.gz)',
+ default='output.k7.gz')
+ parser.add_argument('-f', dest='force',
+ help='overwrite an existing K7 file (.k7.gz)',
+ action='store_true')
+ parser.add_argument('raw_file_path',
+ help='path to a raw output file (.jsonl.gz) to convert')
+ args = parser.parse_args()
+
+ if not os.path.exists(args.raw_file_path):
+ raise ValueError('{0} doesn\'t exist'.format(args.raw_file_path))
+ elif (not args.force) and os.path.exists(args.out_file_path):
+ raise ValueError('{0} exists'.format(args.out_file_path))
+ else:
+ convert_raw_file(args.location, args.raw_file_path, args.out_file_path)
+
+if __name__ == '__main__':
+ main()
diff --git a/mercator/node.py b/mercator/node.py
new file mode 100644
index 0000000000..4a6e087e96
--- /dev/null
+++ b/mercator/node.py
@@ -0,0 +1,619 @@
+import enum
+import logging
+import socket
+import struct
+import threading
+import time
+
+import netaddr
+
+from mercator.hdlc import (hdlc_calc_crc, hdlc_verify_crc,
+ hdlc_escape, hdlc_unescape,
+ HDLC_FLAG, HDLC_MIN_BODY_LEN)
+from mercator.utils import restore_xon_xoff, OSName
+
+class MsgType(enum.IntEnum):
+ REQ_ST = 1
+ RESP_ST = 2
+ REQ_IDLE = 3
+ REQ_TX = 4
+ IND_TXDONE = 5
+ REQ_RX = 6
+ IND_RX = 7
+ IND_UP = 8
+ RESP_IDLE = 10
+ RESP_TX = 11
+ RESP_RX = 12
+
+
+class RxFlag(enum.IntFlag):
+ GOOD_CRC = 128
+ RIGHT_FRAME = 64
+ EXPECTED_FLAGS = 192 # GOOD_CRC | RIGHT_FRAME
+
+class NodeStatus(enum.IntEnum):
+ STOPPING_RX = 0 # internal use
+ IDLE = 1
+ TXDONE = 2
+ TX = 3
+ RX = 4
+ UNKNOWN = -1
+
+class Node(object):
+ MAX_REQUEST_RETRIES = 3
+ STATUS_POLLING_INTERVAL = 0.5
+ DUMMY_TX_POWER_VALUE = 0
+
+ def __init__(self, platform):
+ self.platform = platform
+
+ # initialize variables for thread
+ self.keep_receiving_thread = None
+ self.lock = threading.Lock()
+
+ # for serial communication
+ self.serial_leftover = b''
+
+ # for measurements
+ self._status = NodeStatus.UNKNOWN
+ self.tx_node = False
+ self.tx_power_dbm = None
+ self.tx_len = None
+ self.tx_num_pk = None
+ self.tx_ifdur_ms = None
+ self.tx_fill_byte = None
+ self.rssi_records = None
+ self.current_channel = None
+ self.current_trans_ctr = None
+ self.current_tx_mac_addr = None
+
+ def setup(self, config):
+ # mercator related
+ # Note: OpenWSN doesn't support tx_power_dbm; see
+ # 03oos_mercator.c in openwsn-fw repository. set a dummy value
+ if self.platform.firmware_os_name == OSName.OpenWSN:
+ self.tx_power_dbm = self.DUMMY_TX_POWER_VALUE
+ else:
+ raise NotImplementedError('{0} is not supported'.format(
+ self.platform.firmware_os_name))
+ self.tx_node = self._am_i_tx_node(config['tx_nodes'])
+ self.tx_len = config['tx_len']
+ self.tx_num_pk = config['tx_num_per_transaction']
+ self.tx_ifdur_ms = config['tx_interval_ms']
+ self.tx_fill_byte = config['tx_fill_byte']
+ self.rssi_records = [None] * self.tx_num_pk
+
+ self._setup() # platform-specific setup method
+
+ # make sure to get the node IDLE
+ status, self.mac_addr = self.request_status()
+ if status != NodeStatus.IDLE:
+ self.request_idle()
+ self._status = NodeStatus.IDLE
+
+ @property
+ def status(self):
+ with self.lock:
+ return self._status
+
+ @status.setter
+ def status(self, status):
+ with self.lock:
+ self._status = status
+
+ def request_status(self):
+ result = self._issue_command(self._send_req_st,
+ self._recv_resp_st)
+ if result:
+ node_status = result[0]
+ mac_addr = result[1]
+ else:
+ node_status = None
+ mac_addr = None
+ return node_status, mac_addr
+
+ def request_idle(self):
+ result = self._issue_command(self._send_req_idle,
+ self._recv_resp_idle)
+ # change the status to IDLE as we received RESP_IDLE
+ if result:
+ assert result[0] is True
+ self.status = NodeStatus.IDLE
+ else:
+ # do nothing
+ pass
+
+ def update_status(self):
+ self.status, _ = self.request_status()
+
+ def wait_ind_up(self):
+ logging.info('Wait for IND_UP from {0}'.format(self.id))
+ msg = self._recv_msg()
+ if msg and (msg[0] == MsgType.IND_UP):
+ # done
+ pass
+ else:
+ # IND_UP is gone somewhere; this is normal especially
+ # running on FIT/IoT-LAB where IND_UP may be sent before
+ # establishing a WebSocket connection
+ logging.info('No IND_UP from {0}'.format(self.id))
+
+ def wait_until_status(self, target_node_status):
+ # we assume we have a thread working to change the node status
+ while self.status != target_node_status:
+ time.sleep(self.STATUS_POLLING_INTERVAL)
+
+ def start_tx(self, channel, trans_ctr):
+ assert not self.current_channel
+ assert not self.current_trans_ctr
+ self.current_channel = channel
+ self.current_trans_ctr = trans_ctr
+ self.current_tx_mac_addr = self.mac_addr.value
+
+ done = False
+ retry_count = 0
+ while (not done) and (retry_count <= self.MAX_REQUEST_RETRIES):
+ if retry_count > 0:
+ logging.info('Retry REQ_TX to {0}'.format(self.id))
+ result = self._issue_command(self._send_req_tx,
+ self._recv_resp_tx,
+ retry=False)
+ if result and (result[0] == MsgType.RESP_TX):
+ # we may receive RESP_ST for a retried REQ_ST sent
+ # before REQ_TX
+ self.status = NodeStatus.TX
+ done = True
+ else:
+ # no RESP_TX is received in time; check status
+ result = self._issue_command(self._send_req_st,
+ self._recv_resp_tx)
+ if result:
+ if result[0] == MsgType.RESP_TX:
+ # receive a delayed RESP_TX
+ self.status = NodeStatus.TX
+ done = True
+ elif result[0] == MsgType.IND_TXDONE:
+ # RESP_TX was dropped for some reason; but we
+ # receive an IND_TXDONE, which means the
+ # node's status is TX
+ self.status = NodeStatus.TX
+ done = True
+ else:
+ # RESP_TX was dropped for some reason; but we
+ # receive a RESP_ST
+ assert result[0] == MsgType.RESP_ST
+ if result[1] == NodeStatus.TX:
+ # it's in TX
+ self.status = NodeStatus.TX
+ done = True
+ else:
+ # retry REQ_TX
+ retry_count += 1
+ else:
+ err_str = ('Node {0} doesn\'t respond '.format(self.id)
+ + 'to REQ_ST')
+ logging.critical(err_Str)
+ raise RuntimeError(err_str)
+ if done:
+ # REQ_TX succeeds
+ pass
+ else:
+ err_str = ('Node {0} doesn\'t respond '.format(self.id)
+ + 'to REQ_TX')
+ logging.critical(err_str)
+ raise RuntimeError(err_str)
+
+ def wait_tx_done (self):
+ # a set of transmissions takes (tx_num_pk * tx_ifdur_ms) at
+ # least
+ logging.info('Wait for IND_TXDONE from {0}'.format(self.id))
+ wait_time_seconds = self.tx_num_pk * self.tx_ifdur_ms / 1000
+ time.sleep(wait_time_seconds)
+
+ # we may receive RESP_ST, which was sent in start_tx()
+ done = False
+ while not done:
+ msg = self._recv_msg()
+ if msg:
+ if msg[0] == MsgType.IND_TXDONE:
+ done = True
+ elif msg[0] == MsgType.RESP_ST:
+ # we expect IND_TXDONE is come after; continue
+ # receiving
+ logging.info('Ignore RESP_ST from {0}'.format(self.id))
+ pass
+ else:
+ err_str = ('Unexpected MsgType '
+ + '{0} '.format(MsgType(msg[0]).name)
+ + 'from {0}'.format(self.id))
+ # shouldn't happen
+ logging.critical(err_str)
+ raise RuntimeError(err_str)
+ else:
+ # IND_TXDONE seems to have been dropped for some
+ # reason... let's forget that response
+ logging.error('IND_TXDONE from {0} '.format(self.id)
+ + 'may be dropped')
+ done = True
+
+ self.request_idle()
+ self.current_channel = None
+ self.current_trans_ctr = None
+ self.current_tx_mac_addr = None
+
+ def start_rx(self, channel, src_mac, trans_ctr):
+ assert not self.current_channel
+ assert not self.current_trans_ctr
+ assert not self.current_tx_mac_addr
+ self.current_channel = channel
+ self.current_trans_ctr = trans_ctr
+ self.current_tx_mac_addr = src_mac.value
+
+ result = self._issue_command(self._send_req_rx, self._recv_resp_rx)
+ if result:
+ assert result[0] is True
+ # change the node state to RX
+ self.status = NodeStatus.RX
+ else:
+ err_str = ('Node {0} doesn\'t respond '.format(self.id)
+ + 'to REQ_RX')
+ logging.critical(err_str)
+ raise RuntimeError(err_str)
+
+ # start receiving IND_RX
+ thread = threading.Thread(target=self._keep_receiving,
+ args=(channel, src_mac, trans_ctr))
+ thread.start()
+ self.keep_receiving_thread = thread
+
+ def stop_rx(self):
+ self.status = NodeStatus.STOPPING_RX
+ self.keep_receiving_thread.join()
+ self.keep_receiving_thread = None
+ self.request_idle()
+
+ assert self.status == NodeStatus.IDLE
+
+ self.current_channel = None
+ self.current_trans_ctr = None
+ self.current_tx_mac_addr = None
+
+ def _setup(self):
+ pass
+
+ def _am_i_tx_node(self, tx_nodes):
+ raise NotImplementedError()
+
+ def _issue_command(self, send_req, recv_resp, retry=True):
+ err = []
+ result = []
+
+ def _proces_req_and_resp():
+ retry_count = 0
+ done = False
+ while not done:
+ if ((retry_count > 0) and
+ (retry_count <= self.MAX_REQUEST_RETRIES)):
+ logging.info('Retry {0} to {1}'.format(req_type.name,
+ self.id))
+ elif retry_count > self.MAX_REQUEST_RETRIES:
+ err_str = ('Node {0} doesn\'t '.format(self.id)
+ + 'respond to {0}'.format(req_type.name))
+ logging.critical(err_str)
+ err.append(RuntimeError(err_str))
+ done = True
+ continue
+ else:
+ assert retry_count == 0
+
+ try:
+ req_type = send_req()
+ msg = self._recv_msg()
+
+ while msg:
+ return_values = recv_resp(msg)
+ if return_values:
+ break
+ else:
+ # check if we have another msg in the buffer
+ resp_type = MsgType(msg[0])
+ logging.info('Ignore {0} '.format(resp_type.name)
+ + 'from {0}'.format(self.id))
+ msg = self._recv_msg()
+
+ if msg:
+ assert return_values
+ # the request is successfully processed by the node
+ result.extend(return_values)
+ done = True
+ elif retry:
+ # no response from the node in time; try it again
+ assert not msg
+ retry_count += 1
+ else:
+ # we didn't receive a response in time; but don't
+ # retry
+ assert not msg
+ done = True
+ except Exception as e:
+ err.append(e)
+ done = True
+
+ thread = threading.Thread(target=_proces_req_and_resp)
+ thread.start()
+ thread.join()
+ if err:
+ raise err.pop()
+ return tuple(result)
+
+
+ def _send_req_st(self):
+ req = struct.pack('>B', MsgType.REQ_ST)
+ self._send_msg(req)
+ return MsgType.REQ_ST
+
+ def _recv_resp_st(self, msg):
+ assert msg
+ if msg[0] == MsgType.RESP_ST:
+ _, status, _, mac_addr = struct.unpack('>BBHQ', msg)
+ return NodeStatus(status), netaddr.EUI(mac_addr)
+ else:
+ return None
+
+ def _send_req_idle(self):
+ req = struct.pack('>B', MsgType.REQ_IDLE)
+ self._send_msg(req)
+ return MsgType.REQ_IDLE
+
+ def _recv_resp_idle(self, msg):
+ if msg[0] == MsgType.RESP_IDLE:
+ return [True]
+ else:
+ return None
+
+ def _send_req_tx(self):
+ req = struct.pack('>BBbHHHBB',
+ MsgType.REQ_TX,
+ self.current_channel,
+ self.tx_power_dbm,
+ self.current_trans_ctr,
+ self.tx_num_pk,
+ self.tx_ifdur_ms,
+ self.tx_len,
+ self.tx_fill_byte)
+ self._send_msg(req)
+ return MsgType.REQ_TX
+
+ def _recv_resp_tx(self, msg):
+ assert msg
+ msg_type = MsgType(msg[0])
+ # RESP_ST and IND_TX could be received during a REQ_TX process
+ if msg_type in [MsgType.RESP_TX, MsgType.IND_TXDONE]:
+ return [msg_type]
+ elif msg_type == MsgType.RESP_ST:
+ node_status, _ = self._recv_resp_st(msg)
+ return [MsgType.RESP_ST, node_status]
+ else:
+ return None
+
+ def _send_req_rx(self):
+ req = struct.pack('>BBQHBB',
+ MsgType.REQ_RX,
+ self.current_channel,
+ self.current_tx_mac_addr,
+ self.current_trans_ctr,
+ self.tx_len,
+ self.tx_fill_byte)
+ self._send_msg(req)
+ return MsgType.REQ_RX
+
+ def _recv_resp_rx(self, msg):
+ assert msg
+ if msg[0] == MsgType.RESP_RX:
+ self.status = NodeStatus.RX
+ return [True]
+ else:
+ return None
+
+ def _recv_ind_rx(self, msg):
+ assert msg
+ msg_type = MsgType(msg[0])
+ if msg_type in [MsgType.RESP_RX, MsgType.RESP_IDLE]:
+ # we can ignore RESP_RX, which can be seen if we retried
+ # REQ_RX. RESP_IDLE should be received at the end of a
+ # measurement
+ return [msg_type]
+ elif msg_type == MsgType.IND_RX:
+ _, length, rssi, flags, pkctr = (struct.unpack('>BBbBH', msg))
+ return [msg_type, length, rssi, flags, pkctr]
+ else:
+ err_str = ('Unexpected MsgType {0} '.format(msg_type.name)
+ + 'from {0}'.format(self.id))
+ logging.critical(err_str)
+ raise RuntimeError(err_str)
+
+ def _send_msg(self, msg):
+ crc = hdlc_calc_crc(msg)
+ hdlc_frame = HDLC_FLAG + hdlc_escape(msg+crc) + HDLC_FLAG
+ logging.info('Send {0} to {1}'.format(MsgType(msg[0]).name,
+ self.id))
+ logging.debug('Request HDLC frame to {0}: '.format(self.id)
+ + '{0}'.format(hdlc_frame.hex()))
+ self._platform_send(hdlc_frame)
+
+ def _recv_msg(self):
+ if self.serial_leftover:
+ assert self.serial_leftover.startswith(HDLC_FLAG)
+ serial_bytes = self.serial_leftover
+ hdlc_frame_end_index = serial_bytes.find(HDLC_FLAG, 1)
+ self.serial_leftover = b''
+ else:
+ serial_bytes = b''
+ hdlc_frame_end_index = -1
+
+ # recv() until we have a complete message which should be
+ # surrounded by HDLC_FLAG, and larger than 2 bytes
+ while hdlc_frame_end_index == -1:
+ chunk = self._platform_recv()
+
+ if chunk:
+ logging.debug('Recv serial bytes from {0}: '.format(self.id)
+ + '{0}'.format(chunk.hex()))
+ if serial_bytes or chunk.startswith(HDLC_FLAG):
+ serial_bytes += chunk
+ garbage = b''
+ elif chunk.find(HDLC_FLAG) == -1:
+ # no HDLC_FLAG is found
+ garbage = serial_bytes
+ else:
+ # found at least one HDLC_FLAG in chunk
+ hdlc_flag_index = chunk.find(HDLC_FLAG)
+ garbage = chunk[:hdlc_flag_index]
+ serial_bytes += chunk[hdlc_flag_index:]
+
+ if garbage:
+ # garbage; recv() again
+ logging.error('Discard chunk from '
+ + '{0} '.format(self.id)
+ + 'since it seems garbage: '
+ + '{0}'.format(chunk.hex()))
+
+ if serial_bytes.find(HDLC_FLAG+HDLC_FLAG) == -1:
+ # do nothing
+ pass
+ else:
+ # if we have two HDLC_FLAG side by side, remove
+ # one of them
+ serial_bytes = serial_bytes.replace(HDLC_FLAG+HDLC_FLAG,
+ HDLC_FLAG)
+ else:
+ # no data is received
+ self.serial_leftover = serial_bytes
+ serial_bytes = b''
+ break
+
+ assert serial_bytes.startswith(HDLC_FLAG)
+ hdlc_frame_end_index = serial_bytes.find(HDLC_FLAG, 1)
+
+ # returning only a complete message; the rest is set to
+ # serial_leftover
+ if serial_bytes:
+ assert hdlc_frame_end_index > 0
+ # we will use the end of HDLC_FLAG as the start of a next
+ # frame
+ next_hdlc_frame_start_index = hdlc_frame_end_index
+ assert next_hdlc_frame_start_index <= len(serial_bytes)
+ self.serial_leftover = (
+ serial_bytes[next_hdlc_frame_start_index:]
+ )
+ hdlc_frame = serial_bytes[:next_hdlc_frame_start_index]
+ if self.serial_leftover.startswith(HDLC_FLAG):
+ _start_index = 0
+ garbage = b'' # nothing
+ else:
+ # we have garbage in serial_leftover
+ _start_index = self.serial_leftover.find(HDLC_FLAG)
+ assert _start_index != 0
+
+ if _start_index == -1:
+ garbage = self.serial_leftover
+ else:
+ garbage = self.serial_leftover[:_start_index]
+ self.serial_leftover = self.serial_leftover[_start_index:]
+ logging.debug('Keep incomplete HDLC frames from '
+ + '{0}, '.format(self.id)
+ + '{0} '.format(len(self.serial_leftover))
+ + 'bytes')
+ if garbage:
+ logging.error('Discard serial bytes from '
+ + '{0} '.format(self.id)
+ + 'since it seems garbage: '
+ + '{0}'.format(garbage.hex()))
+ else:
+ hdlc_frame = b'' # an empty HDLC frame
+
+ # retrieve a Mercator message in the HDLC frame
+ if hdlc_frame:
+ assert hdlc_frame.startswith(HDLC_FLAG)
+ assert not hdlc_frame.endswith(HDLC_FLAG)
+ if self.platform.firmware_os_name == OSName.OpenWSN:
+ hdlc_frame = restore_xon_xoff(hdlc_frame)
+ logging.debug('Recv HDLC frame(s) from {0}: '.format(self.id)
+ + '{0}'.format(hdlc_frame.hex()))
+ hdlc_body = hdlc_frame[1:]
+ hdlc_body = hdlc_unescape(hdlc_body)
+ if len(hdlc_body) < HDLC_MIN_BODY_LEN:
+ # invalid length
+ msg = b''
+ if hdlc_verify_crc(hdlc_body):
+ assert len(hdlc_body) > 2
+ msg = hdlc_body[:-2] # remove CRC
+ else:
+ msg = b''
+
+ if msg:
+ msg_type = MsgType(msg[0])
+ if msg_type == MsgType.IND_RX:
+ # we don't want to log a reception of IND_RX,
+ # which will be overwhelming
+ pass
+ else:
+ assert msg
+ logging.info('Recv {0} from {1}'.format(msg_type.name,
+ self.id))
+ else:
+ msg = b'' # an empty msg
+
+ return msg
+
+ def _platform_send(self, msg):
+ raise NotImplementedError()
+
+ def _platform_recv(self):
+ raise NotImplementedError()
+
+ def _keep_receiving(self, channel, src_mac, trans_ctr):
+ msg = bytearray()
+ prev_pkctr = -1
+ self.rssi_records = [None] * self.tx_num_pk
+ while self.status == NodeStatus.RX:
+ msg = self._recv_msg()
+ while msg:
+ result = self._recv_ind_rx(msg)
+ if result[0] == MsgType.IND_RX:
+ length, rssi, flags, pkctr = result[1:]
+ logging.debug('Recv IND_RX from {0}: '.format(self.id)
+ + 'pkctr {0}, rssi {1}'.format(pkctr, rssi))
+ assert length == self.tx_len
+ assert flags == RxFlag.EXPECTED_FLAGS
+ prev_pkctr = self._store_rx_record(rssi, pkctr, prev_pkctr)
+ elif result[0] == MsgType.RESP_RX:
+ logging.info('Ignore RESP_RX from {0}'.format(self.id))
+ elif result[0] == MsgType.RESP_IDLE:
+ # end of this measurement
+ logging.info('Recv RESP_IDLE from {0}'.format(self.id))
+ self.status = NodeStatus.IDLE
+ else:
+ logging.critical('Recv {0} '.format(MsgType(msg_type).name)
+ + 'from {0}, '.format(self.id)
+ + 'which is not expected')
+ assert False
+ msg = self._recv_msg()
+
+
+ def _store_rx_record(self, rssi, pkctr, prev_pkctr):
+ if pkctr == prev_pkctr:
+ logging.error('Node {0} '.format(self.id)
+ + 'received a duplicate packet '
+ + '(pkctr:{0})'.format(pkctr))
+ elif pkctr > prev_pkctr:
+ assert prev_pkctr < pkctr
+
+ self.rssi_records[pkctr] = rssi
+ else:
+ logging.critical('Recv IND_RX from {0} '.format(self.id)
+ + 'having pkctr {0} '.format(pkctr)
+ + '< prev_pkctr {0}'.format(prev_pkctr))
+ assert False
+
+ return pkctr
diff --git a/mercator/platforms/__init__.py b/mercator/platforms/__init__.py
new file mode 100644
index 0000000000..845e84ce1d
--- /dev/null
+++ b/mercator/platforms/__init__.py
@@ -0,0 +1,30 @@
+import yaml
+
+class Platform(object):
+ def __init__(self, config, *args):
+ raise NotImplementedError()
+
+ def setup_measurement(self, config):
+ raise NotImplementedError()
+
+ @classmethod
+ def dump_sample_yml_file(cls):
+ cls._dump_config_measurement()
+ cls._dump_config_platform()
+
+ @staticmethod
+ def _dump_config_measurement():
+ config = {}
+ config['num_transactions'] = 10
+ config['channels'] = [11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26]
+ config['tx_len'] = 100
+ config['tx_interval_ms'] = 10
+ config['tx_num_per_transaction'] = 100
+ config['tx_fill_byte'] = 0x5a
+
+ print(yaml.dump({'measurement': config}, default_flow_style=False))
+
+ @staticmethod
+ def _dump_config_platform():
+ raise NotImplementedError
diff --git a/mercator/platforms/iotlab.py b/mercator/platforms/iotlab.py
new file mode 100644
index 0000000000..3c31d9e556
--- /dev/null
+++ b/mercator/platforms/iotlab.py
@@ -0,0 +1,426 @@
+"""https://www.iot-lab.info
+https://www.iot-lab.info/tutorials/submit-experiment-m3-clitools/
+"""
+
+import datetime
+import hashlib
+import json
+import logging
+import os
+import re
+import socket
+import sys
+import threading
+import time
+
+import dateutil.parser
+import dateutil.tz
+import iotlabcli.auth
+import iotlabcli.parser.auth
+import iotlabclient.client
+import websocket
+import yaml
+
+from mercator.hdlc import HDLC_FLAG
+import mercator.node
+import mercator.platforms
+from mercator.utils import print_bold, MercatorHalo, OSName
+
+LOCAL_IP_ADDRESS = '127.0.0.1'
+IOT_LAB_DOMAIN_NAME = 'iot-lab.info'
+
+class Platform(mercator.platforms.Platform):
+ POOLING_INTERVAL_SECONDS = 5
+
+ def __init__(self, config, exp_id):
+ # make sure we have the user credentials saved locally
+ self.username, password = self._get_credentials()
+
+ # collect nodes and identify the test site
+ self.nodes = [Node(self, hostname) for hostname in config['nodes']]
+ sites = set([node.site for node in self.nodes])
+ if len(sites) == 0:
+ raise ValueError('Invalid format for nodes in yml file')
+ elif len(sites) > 1:
+ raise ValueError('Cannot use nodes over multiple sites')
+ self.site = sites.pop()
+
+ # setup iot-lab-client instance
+ client_configuration = iotlabclient.client.Configuration()
+ client_configuration.username = self.username
+ client_configuration.password = password
+ self.api_client = iotlabclient.client.ApiClient(client_configuration)
+
+ # collect experiment settings
+ self.exp_id = exp_id
+ self.experiment_duration_min = config['experiment_duration_min']
+ self.firmware_name = self._prepare_firmware(config['firmware'])
+ self.firmware_os_name = OSName(config['firmware']['os'].lower())
+ self.token = None
+
+ def setup_measurement(self, config):
+ # make sure we don't have an active experiment of the same
+ # configuration
+ experiment_name = self._get_experiment_name()
+
+ # submit an experiment
+ if self.exp_id:
+ if self.exp_id != self._get_exp_id(experiment_name):
+ print_bold('exp_id {0} is not found on the system'.format(
+ self.exp_id)
+ )
+ print_bold('Retry without -i {0} option'.format(self.exp_id))
+ exit(1)
+ else:
+ self.exp_id = self._submit_experiment(experiment_name, config)
+
+ # wait until the experiment is scheduled
+ scheduled_date = self._get_scheduled_date()
+
+ # wait until the experiment get started
+ self._wait_until_experiment_starts(scheduled_date)
+
+ # reset the nodes
+ self._reset_nodes()
+
+ # get a token for WebSocket
+ self.token = self._get_token()
+
+ # setting up nodes
+ self._setup_nodes(config)
+
+ return self.nodes
+
+ @staticmethod
+ def _dump_config_platform():
+ config = {}
+ config['name'] = 'iotlab'
+ config['duration_min'] = 60
+ config['nodes'] = ['m3-x.site.iot-lab.info',
+ 'm3-y.site.iot-lab.info',
+ 'm3-z.site.iot-lab.info']
+ config['firmware'] = {}
+ config['firmware']['os'] = 'OpenWSN'
+ config['firmware']['archi'] = 'M3'
+ config['firmware']['path'] = 'firmwares/openwsn-iot-lab_M3.elf'
+
+ print(yaml.dump({'platform': config}, default_flow_style=False))
+
+ @staticmethod
+ def _get_credentials():
+ if not os.path.exists(iotlabcli.auth.RC_FILE):
+ username = input('User Name of FIT/IoT-LAB: ')
+ sys.stdout.flush()
+ parser = iotlabcli.parser.auth.parse_options()
+ opts = parser.parse_args(['-u', username])
+ try:
+ assert (iotlabcli.parser.auth.auth_parse_and_run(opts)
+ == 'Written')
+ except RuntimeError as err:
+ assert str(err) == 'Wrong login:password'
+ print_bold('Login failed')
+ print('Wrong login username and/or password')
+ exit(1)
+
+ spinner = MercatorHalo(text='Identifying credentials for FIT/IoT-LAB')
+ username, password = iotlabcli.auth.get_user_credentials()
+ if not password:
+ spinner.stop_failure()
+ print_bold('Password is empty, something worng')
+ print('Removing {0}, and exit'.format(iotlabcli.auth.RC_FILE))
+ os.remove(iotlabcli.auth.RC_FILE)
+ exit(1)
+ else:
+ spinner.stop_success()
+
+ return username, password
+
+ def _setup_nodes(self, config):
+ spinner = MercatorHalo(text='Setting up nodes')
+
+ threads = []
+ for node in self.nodes:
+ thread = threading.Thread(target=node.setup, args=(config,))
+ thread.start()
+ threads.append(thread)
+ for thread in threads:
+ thread.join()
+
+ # all the nodes should be IDLE
+ for node in self.nodes:
+ if node.status != mercator.node.NodeStatus.IDLE:
+ spinner.stop_failure()
+ print_bold('Node {0} has an invalid status '.format(node.id)
+ + '{0}'.format(node.status))
+ exit(1)
+ spinner.stop_success()
+
+ def _prepare_firmware(self, firmware):
+ archi_label = firmware['archi'].upper()
+ firmware_archi = getattr(iotlabclient.client.ArchiString, archi_label)
+ firmware_name = os.path.basename(firmware['path'])
+ firmware_metadata = iotlabclient.client.Firmware(
+ name=firmware_name,
+ description='Mercator Firmware for {0}'.format(archi_label),
+ archi=firmware_archi,
+ filename=firmware_name
+ )
+
+ if self.exp_id:
+ # if we have a concrete exp_id now, we don't need to
+ # upload the firmware
+ pass
+ else:
+ spinner = MercatorHalo(
+ text='Saving the firmware, "{0}", to FIT/IoT-LAB'.format(
+ firmware_name))
+ api = iotlabclient.client.FirmwaresApi(self.api_client)
+ # first, check the archi
+ if firmware_archi == iotlabclient.client.ArchiString.A8:
+ # FIT/IoT-LAB doesn't support WebSocket For A8, which
+ # Mercator needs to run
+ spinner.stop_failure()
+ print_bold('A8 is not supported by Mercator')
+ exit(1)
+
+ # second, delete a firmware having the same name if exists
+ try:
+ api.delete_firmware(firmware_name)
+ except iotlabclient.client.rest.ApiException as err:
+ assert(err.status == 500)
+
+ # third, save the firmware to the system
+ try:
+ api.save_firmware(firmware=firmware['path'],
+ metadata=firmware_metadata)
+ spinner.stop_success()
+ except iotlabclient.client.rest.ApiException as err:
+ err_body = json.loads(err.body)
+ spinner.stop_failure()
+ print_bold('Failed to save the firmware '
+ + '{0}'.format(firmware_name))
+ print('{0}, {1}'.format(err.reason, err_body['message']))
+ exit(1)
+ return firmware_name
+
+ def _submit_experiment(self, experiment_name, config):
+ spinner = MercatorHalo(text='Submitting an experiment')
+ # make sure there is no experiment registered for the same
+ # config
+ exp_id = self._get_exp_id(experiment_name)
+ if exp_id:
+ spinner.stop_failure()
+ print_bold('Found a registered experiment having the same name.')
+ print('The name of the experiment is "{0}", its ID is {1}'.format(
+ experiment_name, exp_id))
+ print('Check the active experiments on '
+ + 'https://www.iot-lab.info/testbed/dashboard\n'
+ + 'To see status of the registered experiment, run:\n'
+ + ' $ iotlab-experiment get -i {0} -p'.format(exp_id))
+ print('To stop the registered experiment:\n'
+ + ' $ iotlab-experiment stop -i {0}'.format(exp_id))
+ exit(1)
+
+ # experiment submission
+ node_list = [node.hostname for node in self.nodes]
+ experiment = iotlabclient.client.ExperimentPhysical(
+ duration=self.experiment_duration_min,
+ name=experiment_name,
+ nodes=node_list,
+ firmwareassociations=[
+ iotlabclient.client.FirmwareAssociation(
+ firmwarename=self.firmware_name,
+ nodes=node_list)])
+ api = iotlabclient.client.ExperimentsApi(self.api_client)
+ try:
+ # res is an InlineResponse200 instance
+ res = api.submit_experiment(experiment=experiment)
+ exp_id = res.id
+ spinner.stop_success()
+ print_bold('Experiment ID is {0}'.format(exp_id))
+ except iotlabclient.client.rest.ApiException as err:
+ err_body = json.loads(err.body)
+ spinner_stop_failure()
+ print('{0}, {1}'.format(err.reason, err_body['message']))
+ exit(1)
+ return exp_id
+
+ def _get_scheduled_date(self):
+ spinner = MercatorHalo(text='Waiting to be scheduled')
+ api = iotlabclient.client.ExperimentApi(self.api_client)
+ while True:
+ try:
+ res = api.get_experiment(self.exp_id)
+ except iotlabclient.client.rest.ApiException as err:
+ spinner.stop_failure()
+ print_bold(
+ 'Cannot get info of experiment {0}'.format(self.exp_id))
+ exit(1)
+ submission_date = dateutil.parser.parse(res.submission_date)
+ scheduled_date = dateutil.parser.parse(res.scheduled_date)
+ if ((res.state in ['Running', 'Launching', 'toLaunch'])
+ or (res.state == 'Waiting'
+ and submission_date < scheduled_date)):
+ spinner.stop_success()
+ print_bold('Scheduled at {0}'.format(
+ scheduled_date.astimezone(dateutil.tz.tzlocal())))
+ break
+ elif (res.state not in
+ ['Running', 'Launching', 'toLaunch', 'Waiting']):
+ spinner.stop_failure()
+ message = 'Experiment {0} has an invalid state {1}'.format(
+ self.exp_id, res.state)
+ print_bold('Invalid state: {0}'.format(res.state))
+ exit(1)
+ time.sleep(self.POOLING_INTERVAL_SECONDS)
+ return scheduled_date
+
+ def _get_token(self):
+ spinner = MercatorHalo(text='Getting a token')
+
+ # get a token
+ assert self.exp_id
+ api = iotlabclient.client.ExperimentApi(self.api_client)
+ try:
+ res = api.get_experiment_token(self.exp_id)
+ token = res.token
+ except iotlabclient.client.rest.ApiException as err:
+ err_body = json.loads(err.body)
+ spinner.stop_failure()
+ print_bold('Failed to get a token')
+ print('{0}, {1}'.format(err.reason, err_body['message']))
+ exit(1)
+
+ spinner.stop_success()
+ return token
+
+ def _wait_until_experiment_starts(self, scheduled_date):
+ spinner = MercatorHalo(text='Waiting to start')
+ now = datetime.datetime.now(dateutil.tz.tzutc())
+ if scheduled_date < now:
+ # the experiment should have started already
+ pass
+ else:
+ delta_seconds = (now - scheduled_date).seconds
+ time.sleep(delta_seconds)
+
+ api = iotlabclient.client.ExperimentApi(self.api_client)
+ while True:
+ try:
+ res = api.get_experiment(self.exp_id)
+ except iotlabclient.client.rest.ApiException as err:
+ spinner.stop_failure()
+ print_bold(
+ 'Cannot get info of experiment {0}'.format(self.exp_id))
+ exit(1)
+
+ if res.state == 'Running':
+ spinner.stop_success()
+ break
+ elif res.state not in ['Launching', 'toLaunch', 'Waiting']:
+ # the experiment shouldn't be waiting after the
+ # scheduled date
+ spinner.stop_failure()
+ message = 'Experiment {0} has an invalid state {1}'.format(
+ self.exp_id, res.state)
+ print_bold('Invalid state: {0}'.format(res.state))
+ exit(1)
+ time.sleep(self.POOLING_INTERVAL_SECONDS)
+
+ def _reset_nodes(self):
+ spinner = MercatorHalo(text='Resetting nodes')
+ api = iotlabclient.client.ExperimentApi(self.api_client)
+ try:
+ res = api.send_cmd_nodes(self.exp_id, 'reset')
+ except iotlabclient.client.rest.ApiException as err:
+ spinner.stop_failure()
+ print_bold('Cannot reset the nodes for experiment '
+ + '{0}'.format(self.exp_id))
+ exit(1)
+ # not sure how to check 'res' of reset command... :(
+ spinner.stop_success()
+
+
+ def _get_exp_id(self, experiment_name):
+ api = iotlabclient.client.ExperimentsApi(self.api_client)
+ res = api.get_experiments(state='Running,Launching,toLaunch,Waiting')
+ exp_id = None
+ for experiment in res.items:
+ if experiment.name == experiment_name:
+ exp_id = experiment.id
+
+ return exp_id
+
+ def _get_experiment_name(self):
+ m = hashlib.sha1()
+ m.update(self.firmware_name.encode('utf-8'))
+ node_list = sorted([node.hostname for node in self.nodes])
+ m.update(','.join(node_list).encode('utf-8'))
+ return 'Mercator_{0}'.format(m.hexdigest()[:7])
+
+class Node(mercator.node.Node):
+ TCP_PORT_TO_SERIAL = 20000
+ WS_TIMEOUT_SECONDS = 3
+
+ def __init__(self, platform, hostname):
+ super(Node, self).__init__(platform)
+
+ # 'hostname' is a string like "m3-1.grenoble.iot-lab.info"
+ self.hostname = hostname
+ self.id, self.site = re.sub(r'\.{0}$'.format(IOT_LAB_DOMAIN_NAME),
+ '', self.hostname).split('.')
+ self.ws = None
+
+ def _setup(self):
+ # open a WebSocket
+ self.ws = self._open_ws()
+ self.ws.settimeout(self.WS_TIMEOUT_SECONDS)
+
+ def _am_i_tx_node(self, tx_nodes):
+ full_node_id = '{0}.{1}.{2}'.format(self.id, self.site,
+ IOT_LAB_DOMAIN_NAME)
+ return full_node_id in tx_nodes
+
+ def _open_ws(self):
+ # short-hands
+ username = self.platform.username
+ exp_id = self.platform.exp_id
+ site = self.platform.site
+ token = self.platform.token
+
+ assert username
+ assert exp_id
+ assert site
+ assert token
+ ws = websocket.WebSocket()
+ url = 'wss://www.iot-lab.info:443/ws/{0}/{1}/{2}/serial/raw'.format(
+ site, exp_id, self.id)
+ try:
+ ws.connect(url, subprotocols=[username, 'token', token])
+ except websocket.WebSocketBadStatusException as err:
+ raise RuntimeError('{0}, {1}'.format(url, str(err)))
+ return ws
+
+ def _platform_send(self, msg):
+ try:
+ self.ws.send_binary(msg)
+ except (websocket.WebSocketConnectionClosedException, BrokenPipeError):
+ self._handle_connection_lost()
+
+ def _platform_recv(self):
+ try:
+ data = self.ws.recv()
+ except websocket.WebSocketTimeoutException as err:
+ logging.debug('Recv on WebSocket from {0} timeout'.format(self.id))
+ data = b''
+ except websocket.WebSocketConnectionClosedException:
+ self._handle_connection_lost()
+ data = b''
+
+ return data
+
+ def _handle_connection_lost(self):
+ # we lost the connection; change the node's status to UNKNOWN.
+ logging.critical('Connection to {0} is closed'.format(self.id))
+ self.status = mercator.node.NodeStatus.UNKNOWN
+ # Mercator will stop
diff --git a/mercator/platforms/opentestbed.py b/mercator/platforms/opentestbed.py
new file mode 100644
index 0000000000..287f69185d
--- /dev/null
+++ b/mercator/platforms/opentestbed.py
@@ -0,0 +1,427 @@
+"""https://github.com/openwsn-berkeley/opentestbed
+"""
+
+import base64
+import binascii
+import json
+import logging
+import os
+import queue
+import threading
+import time
+import sys
+
+import paho.mqtt.client as mqtt
+import yaml
+
+import mercator.node
+import mercator.platforms
+from mercator.utils import print_bold, MercatorHalo, OSName
+
+class Platform(mercator.platforms.Platform):
+ GET_ALL_NODES_TIMEOUT_SECONDS = 2
+
+ def __init__(self, config, program_firmware):
+ self.config = config
+
+ # initialize MQTT client
+ self.mqtt = self._init_mqtt_client(config['mqtt_broker'],
+ config['token'])
+
+ self.nodes = self._init_nodes(config['nodes'])
+
+ self.firmware_os_name = OSName(config['firmware']['os'].lower())
+ if program_firmware:
+ self._program_firmware(config['firmware'])
+
+ # make sure all the nodes have a firmware having the same name
+ # as specified in config, and they booted successfully.
+ self._check_firmware_status(config['firmware'])
+
+ def setup_measurement(self, config):
+ self._setup_nodes(config)
+ return self.nodes
+
+ @staticmethod
+ def _dump_config_platform():
+ config = {}
+ config['name'] = 'opentestbed'
+ config['mqtt_broker'] = {}
+ config['mqtt_broker']['host'] = 'mqtt-broker.example.com'
+ config['mqtt_broker']['port'] = 1883
+ config['token'] = 123
+ config['nodes'] = ['xx-xx-xx-xx-xx-xx-xx-xx',
+ 'yy-yy-yy-yy-yy-yy-yy-yy',
+ 'zz-zz-zz-zz-zz-zz-zz-zz']
+ config['firmware'] = {}
+ config['firmware']['os'] = 'OpenWSN'
+ config['firmware']['path'] = 'firmwares/openwsn-openmote-b-24ghz.ihex'
+
+ print(yaml.dump({'platform': config}, default_flow_style=False))
+
+ def _init_mqtt_client(self, mqtt_broker_config, token):
+ spinner = MercatorHalo(text='Initializing MQTT client')
+ mqtt = MQTTClient(mqtt_broker_config, token)
+ spinner.stop_success()
+ return mqtt
+
+ def _init_nodes(self, node_id_list):
+ spinner = MercatorHalo(text='Initializing Mercator nodes')
+
+ # get all the available motes in the opentestbed
+ available_node_list = self._get_available_node_list()
+
+ # confirm the nodes specified in config are listed in the
+ # list; and create a Node object
+ nodes = []
+ unavailable_nodes = []
+ otbox_set = set()
+ for node_id in node_id_list:
+ if node_id not in available_node_list:
+ unavailable_nodes.append(node_id)
+ else:
+ node_info = available_node_list[node_id]
+ mote = node_info['mote']
+ otbox_id = node_info['otbox_id']
+
+ node = Node(self, node_id, otbox_id)
+ node.update_firmware_status((mote['firmware_description'],
+ mote['bootload_success']))
+ otbox_set.add(otbox_id)
+ nodes.append(node)
+
+ if unavailable_nodes:
+ spinner.stop_failure()
+ for node_id in unavailable_nodes:
+ print_bold('Node {0} is not available'.format(node_id))
+ print('Check the testbed status')
+ exit(1)
+
+ # reset the serial connections of each otbox, which can be
+ # done by "discovermotes"
+ for otbox_id in otbox_set:
+ self._reset_serial_connections(otbox_id)
+
+ spinner.stop_success()
+ return nodes
+
+ def _get_available_node_list(self):
+ # 'dicovery' cmd doesn't work for some reason. use 'status'
+ # instead
+ cmd_topic = 'opentestbed/deviceType/box/deviceId/all/cmd/status'
+ resp_topic = 'opentestbed/deviceType/box/deviceId/+/resp/status'
+
+ node_list = {} # indexed by node_id (EUI64)
+
+ self.mqtt.subscribe(resp_topic)
+ self.mqtt.send(cmd_topic)
+ while True:
+ payload = self.mqtt.recv(resp_topic,
+ self.GET_ALL_NODES_TIMEOUT_SECONDS)
+ if payload:
+ try:
+ node_list.update(
+ {
+ mote['EUI64']: {
+ 'mote': mote,
+ 'otbox_id': payload['returnVal']['host_name']}
+ for mote in payload['returnVal']['motes']})
+ except KeyError as err:
+ assert 'EUI64' in str(err)
+ # this otbox doesn't return any mote info; ignore this
+ continue
+ else:
+ break
+ self.mqtt.unsubscribe(resp_topic)
+ return node_list
+
+ def _reset_serial_connections(self, otbox_id):
+ topic_prefix = ('opentestbed/deviceType/box/deviceId/'
+ + '{0}'.format(otbox_id))
+ cmd_topic = topic_prefix + '/cmd/status'
+ resp_topic = topic_prefix + '/resp/status'
+
+ self.mqtt.subscribe(resp_topic)
+ self.mqtt.send(cmd_topic)
+ payload = self.mqtt.recv(resp_topic)
+ self.mqtt.unsubscribe(resp_topic)
+ assert payload['success']
+
+ def _program_firmware(self, firmware_config):
+ spinner = MercatorHalo(text='Programming the firmware')
+
+ firmware_path = firmware_config['path']
+ assert os.path.exists(firmware_path)
+ if firmware_config['os'].lower() == OSName.OpenWSN:
+ assert os.path.basename(firmware_path).endswith('.ihex')
+
+ firmware_image = b''
+ with open(firmware_path, 'rb') as f:
+ while True:
+ chunk = f.read()
+ if chunk:
+ # encode chunk into Base64
+ firmware_image += base64.encodebytes(chunk)
+ else:
+ break
+
+ # json.dumps() doesn't accept bytes object; needs to convert
+ # to string
+ firmware_hex_string = firmware_image.decode('utf-8') # string
+ # remove all new line characters, which are inserted by
+ # base64.decode(), because opentestbed doesn't accept a
+ # firmware hex string having them
+ firmware_hex_string = firmware_hex_string.replace('\n', '')
+ firmware_name = os.path.basename(firmware_path)
+ threads = []
+ for node in self.nodes:
+ thread = threading.Thread(target=node.program_firmware,
+ args=(firmware_name,
+ firmware_hex_string))
+ thread.start()
+ threads.append(thread)
+
+ # wait until all the thread terminate
+ for thread in threads:
+ thread.join()
+
+ if [node for node in self.nodes if not node.boot_success]:
+ spinner.stop_failure()
+ print_bold('Programming the firmware failed; check logs')
+ exit(1)
+ spinner.stop_success()
+
+ def _check_firmware_status(self, firmware_config):
+ spinner = MercatorHalo(text='Checking firmwares of the nodes')
+ firmware_name = os.path.basename(firmware_config['path'])
+
+ exit_on_failure = False
+ for node in self.nodes:
+ if node.firmware_status[0] != firmware_name:
+ spinner.stop_failure()
+ print_bold(
+ 'Node {0} doesn\'t have the right firmware'.format(node.id))
+ print_bold(
+ 'Its firmware is "{0}"'.format(node.firmware_status[0]
+ if node.firmware_status[0]
+ else 'unknown'))
+ exit_on_failure = True
+ elif not node.firmware_status[1]: # bootload_success
+ spinner.stop_failure()
+ print_bold(
+ 'Node {0} failed to boot'.format(node.id))
+ exit_on_failure = True
+
+ if exit_on_failure:
+ print('Try again with "-p" option to program the firmware')
+ exit(1)
+
+ spinner.stop_success()
+
+ def _setup_nodes(self, config):
+ spinner = MercatorHalo(text='Setting up nodes')
+ threads = []
+ for node in self.nodes:
+ thread = threading.Thread(target=node.setup, args=(config,))
+ thread.start()
+ threads.append(thread)
+ for thread in threads:
+ thread.join()
+ spinner.stop_success()
+
+class Node(mercator.node.Node):
+ MQTT_TOPIC_BASE='opentestbed/deviceType/mote/deviceId/'
+ PROGRAM_TIMEOUT_SECONDS = 30
+ PROGRAM_MAX_RETRY_COUNT = 2
+ PROGRAM_WAIT_SECONDS = 15
+
+ def __init__(self, platform, mac_addr, otbox_id):
+ super(Node, self).__init__(platform)
+
+ self.platform = platform
+ self.id = mac_addr # use mac_addr as id
+ self.otbox_id = otbox_id
+ self.mqtt_topic_prefix = self.MQTT_TOPIC_BASE + '{0}/'.format(self.id)
+ self.firmware_status = (None, None)
+ self.boot_success = None # this is used in program_firmware()
+
+ _prefix = 'opentestbed/deviceType/mote/deviceId/{0}'.format(self.id)
+ self.topic_recv_msg = (_prefix
+ + '/notif/frommoteserialbytes')
+ self.topic_send_msg = (_prefix
+ + '/cmd/tomoteserialbytes')
+ self.topic_send_msg_resp = (_prefix
+ + '/resp/tomoteserialbytes')
+
+ def program_firmware(self, firmware_name, firmware_hex_image):
+ retry_count = 0
+ self.boot_success = False
+ while retry_count <= self.PROGRAM_MAX_RETRY_COUNT:
+ logging.info('Start programming "{0}" to {1}'.format(firmware_name,
+ self.id))
+ payload = self._send_mqtt_cmd('program',
+ {'description': firmware_name,
+ 'hex': firmware_hex_image},
+ self.PROGRAM_TIMEOUT_SECONDS)
+
+ if payload and ('returnVal' in payload):
+ self.update_firmware_status((firmware_name,
+ payload['returnVal']))
+ self.boot_success = True
+ break
+ else:
+ logging.error('Failed to program '
+ + '"{0}" to {1} '.format(firmware_name, self.id))
+ print(payload, file=sys.stderr)
+ time.sleep(self.PROGRAM_WAIT_SECONDS)
+ logging.error('Retry to program '
+ + '"{0}" to {1} '.format(firmware_name, self.id)
+ + 'in {0} '.format(self.PROGRAM_WAIT_SECONDS)
+ + 'seconds')
+ retry_count += 1
+
+ if self.boot_success:
+ logging.info('Succeed to program '
+ + '"{0}" to {1}'.format(firmware_name, self.id))
+ else:
+ logging.critical('Failed to program '
+ + '"{0}" to {1}'.format(firmware_name, self.id))
+ # the main program will terminate later
+
+ def update_firmware_status(self, status):
+ self.firmware_status = status
+
+ def _setup(self):
+ # subscribe the topic to receive serial bytes from the node
+ self.platform.mqtt.subscribe(self.topic_recv_msg)
+ self.platform.mqtt.subscribe(self.topic_send_msg_resp)
+
+ def _am_i_tx_node(self, tx_nodes):
+ return self.id in tx_nodes
+
+ def _send_mqtt_cmd(self, cmd, payload={}, timeout=None):
+ cmd_topic = self.mqtt_topic_prefix + 'cmd/{0}'.format(cmd)
+ resp_topic = self.mqtt_topic_prefix + 'resp/{0}'.format(cmd)
+
+ self.platform.mqtt.subscribe(resp_topic)
+ self.platform.mqtt.send(cmd_topic, payload)
+ payload = self.platform.mqtt.recv(resp_topic, timeout)
+ self.platform.mqtt.unsubscribe(resp_topic)
+ return payload
+
+ def _platform_send(self, msg):
+ # clear recv_queue for topic_send_msg_resp, which may have a
+ # delayed response for the previous command
+ self.platform.mqtt.clear_msg_queue(self.topic_send_msg_resp)
+ self.platform.mqtt.send(self.topic_send_msg,
+ {'serialbytes': [b for b in msg]})
+ payload = self.platform.mqtt.recv(self.topic_send_msg_resp)
+ if payload:
+ assert payload['success'] is True
+ else:
+ err_str = ('No ACK from '
+ + '{0}/resp/tomoteserialbytes'.format(self.id))
+ logging.error(err_str)
+ logging.error('{0} may be busy'.format(self.otbox_id))
+
+ def _platform_recv(self):
+ payload = self.platform.mqtt.recv(self.topic_recv_msg)
+ if payload and ('serialbytes' in payload):
+ data = bytes(payload['serialbytes'])
+ else:
+ data = b''
+ return data
+
+class MQTTClient(object):
+ MQTT_CLIENT_ID = 'mercator'
+ DEFAULT_RECV_TIMEOUT_SECONDS = 5
+
+ def __init__(self, mqtt_broker_config, token):
+ self.token = token
+
+ self._topics_of_interest = []
+ # they are indexed by topic
+ self._msg_queues = {}
+
+ def _on_message(client, userdata, msg):
+ matched_topics = [topic
+ for topic in self._topics_of_interest
+ if mqtt.topic_matches_sub(topic, msg.topic)]
+ assert len(matched_topics) == 1
+ topic = matched_topics[0]
+ assert topic in self._msg_queues
+ assert msg.payload
+ self._msg_queues[topic].put(msg.payload)
+
+ self._client = mqtt.Client(client_id=self.MQTT_CLIENT_ID)
+ self._client.connect(host=mqtt_broker_config['host'],
+ port=mqtt_broker_config['port'])
+ self._client.on_message = _on_message
+ self._client.enable_logger()
+ self._client.loop_start()
+
+ def send(self, topic, payload={}):
+ # subscribe first to receive results
+ if 'token' not in payload:
+ # create a new dict having token
+ payload = dict(token=self.token, **payload)
+ payload_str = json.dumps(payload)
+ ret = self._client.publish(topic, payload_str)
+ logging.debug('Publish MQTT message to {0} '.format(topic)
+ + '{0}'.format(payload_str))
+ assert ret.rc == mqtt.MQTT_ERR_SUCCESS
+
+ def recv(self, topic, timeout=None):
+ assert topic in self._topics_of_interest
+ assert topic in self._msg_queues
+
+ if not timeout:
+ timeout = self.DEFAULT_RECV_TIMEOUT_SECONDS
+
+ logging.debug('Wait on {0}'.format(topic))
+ try:
+ ret_msg = self._msg_queues[topic].get(timeout=timeout)
+ logging.debug('Recv MQTT Payload on {0}: '.format(topic)
+ + '{0}'.format(ret_msg))
+ ret_msg = json.loads(ret_msg) # convert to dict
+ except queue.Empty:
+ # timeout
+ logging.debug('Recv MQTT timeout on {0}'.format(topic))
+ ret_msg = {} # return an empty dict
+
+ return ret_msg
+
+ def clear_msg_queue(self, topic):
+ while True:
+ try:
+ self._msg_queues[topic].get_nowait()
+ except queue.Empty:
+ # msg_queue is empty now
+ break
+
+ def subscribe(self, topic):
+ assert topic not in self._topics_of_interest
+ assert topic not in self._msg_queues
+ # initialize internal variables for the topic
+ self._topics_of_interest.append(topic)
+ self._msg_queues[topic] = queue.SimpleQueue()
+ self._client.subscribe(topic)
+ logging.debug('Subscribe to {0}'.format(topic))
+
+ def unsubscribe(self, topic):
+ # initialize internal variables
+ self._client.unsubscribe(topic)
+
+ # a waiting thread will end with timeout
+ assert topic in self._msg_queues
+ del self._msg_queues[topic]
+
+ self._topics_of_interest.remove(topic)
+ logging.debug('Unsubscribe from {0}'.format(topic))
+
+ def extract_device_id(self, topic):
+ # topic looks like:
+ # opentestbed/deviceType/box/deviceId/otbox17/cmd/status
+ components = topic.split('/')
+ assert len(components) == 7
+ return components[4]
diff --git a/mercator/platforms/skeleton.py b/mercator/platforms/skeleton.py
new file mode 100644
index 0000000000..4983db4e42
--- /dev/null
+++ b/mercator/platforms/skeleton.py
@@ -0,0 +1,30 @@
+import mercator.node
+import mercator.platforms
+
+class Platform(mercator.platforms.Platform):
+ def __init__(self, config, *args):
+ # 'args' is platform-specific arguments; see iotlab.py or
+ # opentestbed.py for your reference
+ raise NotImplementedError()
+
+ def setup_measurement(self, config):
+ raise NotImplementedError()
+
+class Node(mercator.node.Node):
+ def __init__(self, platform, *args):
+ # 'args' is platform-specific arguments; see iotlab.py or
+ # opentestbed.py for your reference
+
+ # MUST BE CALLED
+ super(Node, self).__init__(platform)
+
+ raise NotImplementedError()
+
+ def _setup(self):
+ raise NotImplementedError()
+
+ def _platform_send(self):
+ raise NotImplementedError()
+
+ def _platform_recv(self):
+ raise NotImplementedError()
diff --git a/mercator/utils.py b/mercator/utils.py
new file mode 100644
index 0000000000..cb39acf3f8
--- /dev/null
+++ b/mercator/utils.py
@@ -0,0 +1,100 @@
+import enum
+import gzip
+import json
+import logging
+import os
+import sys
+
+from colored import attr, fg, stylize
+from halo import Halo
+
+# from openwsn-fw/bsp/boards/uart.h
+UART_XON = b'\x11'
+UART_XON_ESCAPED = b'\x01'
+UART_XOFF = b'\x13'
+UART_XOFF_ESCAPED = b'\x03'
+UART_ESCAPE = b'\x12'
+UART_ESCAPE_ESCAPED = b'\x02'
+
+class OSName(enum.Enum):
+ # concrete values (string) should be in lowercase
+ OpenWSN = 'openwsn'
+
+def escape_xon_xoff(message):
+ # This function is not used now since OpenWSN doesn't expect a
+ # received serial message is escaped (see uart_readByte() in
+ # openwsn-fw/bsp/boards/uart.c)
+ ret = bytearray(message)
+ ret = ret.replace(UART_XON,
+ UART_ESCAPE+UART_XON_ESCAPED)
+ ret = ret.replace(UART_XOFF,
+ UART_ESCAPE+UART_XOFF_ESCAPED)
+ ret = ret.replace(UART_ESCAPE,
+ UART_ESCAPE+UART_ESCAPE_ESCAPED)
+ return ret
+
+def restore_xon_xoff(message):
+ ret = bytearray(message)
+ ret = ret.replace(UART_ESCAPE+UART_XON_ESCAPED,
+ UART_XON)
+ ret = ret.replace(UART_ESCAPE+UART_XOFF_ESCAPED,
+ UART_XOFF)
+ ret = ret.replace(UART_ESCAPE+UART_ESCAPE_ESCAPED,
+ UART_ESCAPE)
+ return ret
+
+class MercatorHalo(Halo):
+ enabled = True
+
+ def __init__(self, text='', color='cyan', text_color=None, spinner=None,
+ animation=None, placement='left', interval=-1,
+ stream=sys.stdout):
+ super(MercatorHalo, self).__init__(text, color, text_color, spinner,
+ animation, placement, interval,
+ self.enabled, stream)
+ self.start()
+
+ @classmethod
+ def disable(cls):
+ cls.enabled = False
+
+ def stop_success(self, text=None):
+ self.succeed(text)
+ self.stop()
+
+ def stop_failure(self, text=None):
+ self.fail(text)
+ self.stop()
+
+def print_bold(message):
+ bold_message = stylize(message, attr('bold'))
+ print(bold_message)
+
+class Outfile(object):
+ def __init__(self, out_file_path, config, overwrite_out_file):
+ if not out_file_path.endswith('jsonl.gz'):
+ raise ValueError('Filename must end with "jsonl.gz"')
+ elif os.path.exists(out_file_path):
+ if overwrite_out_file:
+ print_bold('{0} will be overwritten'.format(out_file_path))
+ else:
+ raise ValueError('{0} already exists'.format(out_file_path))
+
+ self.fp = None
+ self.out_file_path = out_file_path
+ self.config = config
+
+ def open(self):
+ self.fp = gzip.open(self.out_file_path, 'wt')
+ logging.info('Outfile {0} is opened'.format(self.out_file_path))
+ self.write_data('config', self.config)
+
+ def write_data(self, data_type, data):
+ json_line = json.dumps({'data_type': data_type, 'data': data})
+ self.fp.write(json_line + '\n')
+
+ def close(self):
+ self.fp.close()
+
+ def flush(self):
+ self.fp.flush()
diff --git a/metas/README.md b/metas/README.md
deleted file mode 100644
index 86fc18f737..0000000000
--- a/metas/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-This folder contains:
-
-* a CSV file per location, listing the location of each mote.
-* `sites.csv` which lists the location files. This file is needed by the web interface.
-* `gen_sites.py` which generates `sites.csv` based on the current location files.
-* `update_states` that generates a states.json file with all the nodes in "Active" state
-* `update_locations` that generates a locations.json file with all the nodes location
-
-Each location file corresponds is a CSV file which contains the following columns:
-
-* `mac`: TODO
-* `x`: TODO
-* `y`: TODO
-* `z`: TODO
diff --git a/metas/euratech.csv b/metas/euratech.csv
deleted file mode 100644
index f12b592627..0000000000
--- a/metas/euratech.csv
+++ /dev/null
@@ -1,222 +0,0 @@
-mac,x,y,z
-14-15-92-00-12-91-c3-21,3.6,2.5,0.0
-14-15-92-00-12-91-c2-3a,3.0,2.5,0.0
-14-15-92-00-12-91-cf-17,2.4,2.5,0.0
-14-15-92-00-12-91-bd-11,1.8,2.5,0.0
-14-15-92-00-12-91-b6-bc,1.2,2.5,0.0
-14-15-92-00-12-91-cc-aa,3.6,2.5,0.6
-14-15-92-00-12-91-b1-54,3.0,2.5,0.6
-14-15-92-00-12-91-b2-7b,2.4,2.5,0.6
-14-15-92-00-12-91-bc-2d,1.8,2.5,0.6
-14-15-92-00-12-91-bc-b6,1.2,2.5,0.6
-14-15-92-00-12-91-c3-c4,3.6,2.5,1.2
-14-15-92-00-12-91-c8-a8,3.0,2.5,1.2
-14-15-92-00-12-91-c1-5b,2.4,2.5,1.2
-14-15-92-00-12-91-b0-34,1.8,2.5,1.2
-14-15-92-00-12-91-b4-71,1.2,2.5,1.2
-14-15-92-00-12-91-bb-f0,3.6,2.5,1.8
-14-15-92-00-12-91-b9-86,3.0,2.5,1.8
-14-15-92-00-12-91-be-29,2.4,2.5,1.8
-14-15-92-00-12-91-c1-02,1.8,2.5,1.8
-14-15-92-00-12-91-b0-b4,1.2,2.5,1.8
-14-15-92-00-12-91-af-c7,3.6,2.5,2.4
-14-15-92-00-12-91-bc-13,3.0,2.5,2.4
-14-15-92-00-12-91-b2-bb,2.4,2.5,2.4
-14-15-92-00-12-91-c6-df,1.8,2.5,2.4
-14-15-92-00-12-91-c4-c8,1.2,2.5,2.4
-14-15-92-00-12-91-c2-6d,3.6,2.5,3.0
-14-15-92-00-12-91-b9-66,3.0,2.5,3.0
-14-15-92-00-12-91-cb-f3,2.4,2.5,3.0
-14-15-92-00-12-91-b5-38,1.8,2.5,3.0
-14-15-92-00-12-91-c9-46,1.2,2.5,3.0
-14-15-92-00-12-91-c4-69,3.6,2.5,3.6
-14-15-92-00-12-91-ca-fe,3.0,2.5,3.6
-14-15-92-00-12-91-c6-dc,2.4,2.5,3.6
-14-15-92-00-12-91-af-ad,1.8,2.5,3.6
-14-15-92-00-12-91-b5-4f,1.2,2.5,3.6
-14-15-92-00-12-91-c9-2c,3.6,2.5,4.2
-14-15-92-00-12-91-b4-68,3.0,2.5,4.2
-14-15-92-00-12-91-c2-b6,2.4,2.5,4.2
-14-15-92-00-12-91-c6-9d,1.8,2.5,4.2
-14-15-92-00-12-91-c0-e8,1.2,2.5,4.2
-14-15-92-00-12-91-cd-ec,3.6,2.5,4.8
-14-15-92-00-12-91-c7-21,3.0,2.5,4.8
-14-15-92-00-12-91-c7-f0,2.4,2.5,4.8
-14-15-92-00-12-91-c8-f3,1.8,2.5,4.8
-14-15-92-00-12-91-ce-61,1.2,2.5,4.8
-14-15-92-00-12-91-b2-bf,3.6,2.5,5.4
-14-15-92-00-12-91-bd-2d,3.0,2.5,5.4
-14-15-92-00-12-91-be-4d,2.4,2.5,5.4
-14-15-92-00-12-91-b8-43,1.8,2.5,5.4
-14-15-92-00-12-91-ba-95,1.2,2.5,5.4
-14-15-92-00-12-91-ba-46,3.6,2.5,6.0
-14-15-92-00-12-91-be-4b,3.0,2.5,6.0
-14-15-92-00-12-91-b9-5f,2.4,2.5,6.0
-14-15-92-00-12-91-1c-e4,1.8,2.5,6.0
-14-15-92-00-12-91-c8-7e,1.2,2.5,6.0
-14-15-92-00-12-91-c4-c2,3.0,2.5,6.6
-14-15-92-00-12-91-cb-e9,2.4,2.5,6.6
-14-15-92-00-12-91-c5-c8,1.8,2.5,6.6
-14-15-92-00-12-91-c3-d6,1.2,2.5,6.6
-14-15-92-00-12-91-c0-88,3.6,2.5,7.2
-14-15-92-00-12-91-c1-1c,3.0,2.5,7.2
-14-15-92-00-12-91-c1-1e,2.4,2.5,7.2
-14-15-92-00-12-91-bc-63,1.2,2.5,7.2
-14-15-92-00-12-91-c8-ad,3.6,2.5,7.8
-14-15-92-00-12-91-c2-86,3.0,2.5,7.8
-14-15-92-00-12-91-bc-48,2.4,2.5,7.8
-14-15-92-00-12-91-ce-d3,1.8,2.5,7.8
-14-15-92-00-12-91-c6-89,3.6,2.5,8.4
-14-15-92-00-12-91-c0-dc,3.0,2.5,8.4
-14-15-92-00-12-91-b0-1f,2.4,2.5,8.4
-14-15-92-00-12-91-bb-ea,1.8,2.5,8.4
-14-15-92-00-12-91-cb-78,1.2,2.5,8.4
-14-15-92-00-12-91-cc-ed,3.6,2.5,9.0
-14-15-92-00-12-91-cb-08,3.0,2.5,9.0
-14-15-92-00-12-91-c9-73,2.4,2.5,9.0
-14-15-92-00-12-91-c2-41,1.8,2.5,9.0
-14-15-92-00-12-91-ba-bc,1.2,2.5,9.0
-14-15-92-00-12-91-b5-f1,3.6,2.5,9.6
-14-15-92-00-12-91-c8-c8,3.0,2.5,9.6
-14-15-92-00-12-91-c6-40,2.4,2.5,9.6
-14-15-92-00-12-91-ca-25,1.8,2.5,9.6
-14-15-92-00-12-91-b6-59,1.2,2.5,9.6
-14-15-92-00-12-91-b5-cc,3.6,2.5,10.2
-14-15-92-00-12-91-b2-c1,3.0,2.5,10.2
-14-15-92-00-12-91-cd-82,2.4,2.5,10.2
-14-15-92-00-12-91-b3-25,1.8,2.5,10.2
-14-15-92-00-12-91-cc-1b,1.2,2.5,10.2
-14-15-92-00-12-91-b4-2b,3.6,2.5,10.8
-14-15-92-00-12-91-c4-ea,3.0,2.5,10.8
-14-15-92-00-12-91-b6-a3,2.4,2.5,10.8
-14-15-92-00-12-91-b3-1a,1.8,2.5,10.8
-14-15-92-00-12-91-b3-81,1.2,2.5,10.8
-14-15-92-00-12-91-c3-42,3.6,3.4,0.0
-14-15-92-00-12-91-c0-ab,3.0,3.4,0.0
-14-15-92-00-12-91-c8-3b,2.4,3.4,0.0
-14-15-92-00-12-91-b3-6b,1.8,3.4,0.0
-14-15-92-00-12-91-b4-db,1.2,3.4,0.0
-14-15-92-00-12-91-b8-71,3.6,3.4,0.6
-14-15-92-00-12-91-bd-e6,3.0,3.4,0.6
-14-15-92-00-12-91-bc-c4,2.4,3.4,0.6
-14-15-92-00-12-91-be-f4,1.8,3.4,0.6
-14-15-92-00-12-91-1c-9e,1.2,3.4,0.6
-14-15-92-00-12-91-af-78,3.6,3.4,1.2
-14-15-92-00-12-91-ca-e0,3.0,3.4,1.2
-14-15-92-00-12-91-c3-e5,2.4,3.4,1.2
-14-15-92-00-12-91-b8-3b,1.8,3.4,1.2
-14-15-92-00-12-91-bf-14,1.2,3.4,1.2
-14-15-92-00-12-91-cf-2e,3.6,3.4,1.8
-14-15-92-00-12-91-bd-f3,3.0,3.4,1.8
-14-15-92-00-12-91-b6-1a,2.4,3.4,1.8
-14-15-92-00-12-91-ce-b6,1.8,3.4,1.8
-14-15-92-00-12-91-c7-35,1.2,3.4,1.8
-14-15-92-00-12-91-bb-0a,3.6,3.4,2.4
-14-15-92-00-12-91-c4-d2,3.0,3.4,2.4
-14-15-92-00-12-91-bc-e9,2.4,3.4,2.4
-14-15-92-00-12-91-ba-9d,1.8,3.4,2.4
-14-15-92-00-12-91-ce-3a,1.2,3.4,2.4
-14-15-92-00-12-91-1b-fa,3.6,3.4,3.0
-14-15-92-00-12-91-c8-34,3.0,3.4,3.0
-14-15-92-00-12-91-1f-91,2.4,3.4,3.0
-14-15-92-00-12-91-bb-b4,1.8,3.4,3.0
-14-15-92-00-12-91-1f-9e,1.2,3.4,3.0
-14-15-92-00-12-91-c7-4d,3.6,3.4,3.6
-14-15-92-00-12-91-c6-f5,3.0,3.4,3.6
-14-15-92-00-12-91-b8-db,2.4,3.4,3.6
-14-15-92-00-12-91-1c-af,1.8,3.4,3.6
-14-15-92-00-12-91-c9-2a,1.2,3.4,3.6
-14-15-92-00-12-91-bb-a2,3.6,3.4,4.2
-14-15-92-00-12-91-c2-0a,3.0,3.4,4.2
-14-15-92-00-12-91-ca-c8,2.4,3.4,4.2
-14-15-92-00-12-91-bd-ef,1.8,3.4,4.2
-14-15-92-00-12-91-b7-98,1.2,3.4,4.2
-14-15-92-00-12-91-c1-98,3.6,3.4,4.8
-14-15-92-00-12-91-c2-d0,3.0,3.4,4.8
-14-15-92-00-12-91-bf-4d,2.4,3.4,4.8
-14-15-92-00-12-91-c3-b1,1.8,3.4,4.8
-14-15-92-00-12-91-b7-23,1.2,3.4,4.8
-14-15-92-00-12-91-b7-48,3.6,3.4,5.4
-14-15-92-00-12-91-1b-fc,3.0,3.4,5.4
-14-15-92-00-12-91-b5-84,2.4,3.4,5.4
-14-15-92-00-12-91-b1-8d,1.8,3.4,5.4
-14-15-92-00-12-91-b5-c9,1.2,3.4,5.4
-14-15-92-00-12-91-c5-06,3.6,3.4,6.0
-14-15-92-00-12-91-bc-d3,3.0,3.4,6.0
-14-15-92-00-12-91-cd-df,2.4,3.4,6.0
-14-15-92-00-12-91-bc-46,1.8,3.4,6.0
-14-15-92-00-12-91-b9-84,1.2,3.4,6.0
-14-15-92-00-12-91-ce-38,3.6,3.4,6.6
-14-15-92-00-12-91-b2-b8,3.0,3.4,6.6
-14-15-92-00-12-91-bc-12,2.4,3.4,6.6
-14-15-92-00-12-91-cb-0c,1.8,3.4,6.6
-14-15-92-00-12-91-c5-f9,1.2,3.4,6.6
-14-15-92-00-12-91-b2-46,3.6,3.4,7.2
-14-15-92-00-12-91-c2-2f,3.0,3.4,7.2
-14-15-92-00-12-91-b0-e0,2.4,3.4,7.2
-14-15-92-00-12-91-cf-07,1.8,3.4,7.2
-14-15-92-00-12-91-b8-c6,1.2,3.4,7.2
-14-15-92-00-12-91-b2-82,3.6,3.4,7.8
-14-15-92-00-12-91-c1-67,3.0,3.4,7.8
-14-15-92-00-12-91-c5-34,2.4,3.4,7.8
-14-15-92-00-12-91-b3-1c,1.8,3.4,7.8
-14-15-92-00-12-91-bc-60,1.2,3.4,7.8
-14-15-92-00-12-91-cd-ba,3.6,3.4,8.4
-14-15-92-00-12-91-c7-03,3.0,3.4,8.4
-14-15-92-00-12-91-cd-29,2.4,3.4,8.4
-14-15-92-00-12-91-c3-a3,1.8,3.4,8.4
-14-15-92-00-12-91-cc-1d,1.2,3.4,8.4
-14-15-92-00-12-91-c6-ba,3.6,3.4,9.0
-14-15-92-00-12-91-b3-20,3.0,3.4,9.0
-14-15-92-00-12-91-cc-61,2.4,3.4,9.0
-14-15-92-00-12-91-b1-f4,1.8,3.4,9.0
-14-15-92-00-12-91-b4-6b,1.2,3.4,9.0
-14-15-92-00-12-91-c7-aa,3.6,3.4,9.6
-14-15-92-00-12-91-c5-40,3.0,3.4,9.6
-14-15-92-00-12-91-ba-5e,2.4,3.4,9.6
-14-15-92-00-12-91-b3-bd,1.8,3.4,9.6
-14-15-92-00-12-91-bc-23,1.2,3.4,9.6
-14-15-92-00-12-91-c6-25,3.6,3.4,10.2
-14-15-92-00-12-91-be-d4,3.0,3.4,10.2
-14-15-92-00-12-91-1f-7a,2.4,3.4,10.2
-14-15-92-00-12-91-c1-c8,1.8,3.4,10.2
-14-15-92-00-12-91-bf-29,1.2,3.4,10.2
-14-15-92-00-12-91-c3-04,3.6,3.4,10.8
-14-15-92-00-12-91-c3-70,3.0,3.4,10.8
-14-15-92-00-12-91-c9-1c,2.4,3.4,10.8
-14-15-92-00-12-91-c0-35,1.8,3.4,10.8
-14-15-92-00-12-91-c5-fe,1.2,3.4,10.8
-14-15-92-00-12-91-c9-13,0.0,3.28,11.32
-14-15-92-00-12-91-ce-49,0.6,3.28,11.32
-14-15-92-00-12-91-bb-da,1.2,3.28,11.32
-14-15-92-00-12-91-af-f2,1.8,3.28,11.32
-14-15-92-00-12-91-ca-e8,2.4,3.28,11.32
-14-15-92-00-12-91-bd-d1,3.0,3.28,11.32
-14-15-92-00-12-91-b6-8e,3.6,3.28,11.32
-14-15-92-00-12-91-cb-6a,4.2,3.28,11.32
-14-15-92-00-12-91-cc-68,4.8,3.28,11.32
-14-15-92-00-12-91-c3-6b,0.0,2.67,11.32
-14-15-92-00-12-91-c4-16,0.6,2.67,11.32
-14-15-92-00-12-91-b8-63,1.2,2.67,11.32
-14-15-92-00-12-91-bd-65,1.8,2.67,11.32
-14-15-92-00-12-91-c2-3c,2.4,2.67,11.32
-14-15-92-00-12-91-bd-5c,3.0,2.67,11.32
-14-15-92-00-12-91-ce-56,3.6,2.67,11.32
-14-15-92-00-12-91-c4-47,4.2,2.67,11.32
-14-15-92-00-12-91-c3-3a,4.8,2.67,11.32
-14-15-92-00-12-91-ce-00,1.1,0.25,11.32
-14-15-92-00-12-91-c1-17,1.1,0.9,11.32
-14-15-92-00-12-91-1f-43,1.1,1.55,11.32
-14-15-92-00-12-91-c2-c8,1.1,2.2,11.32
-14-15-92-00-12-91-af-75,1.55,0.25,11.32
-14-15-92-00-12-91-b9-8e,1.55,0.9,11.32
-14-15-92-00-12-91-bd-00,1.55,1.55,11.32
-14-15-92-00-12-91-bb-e4,1.55,2.2,11.32
-14-15-92-00-12-91-c0-13,3.25,0.25,11.32
-14-15-92-00-12-91-1f-71,3.25,0.9,11.32
-14-15-92-00-12-91-c2-b8,3.25,1.55,11.32
-14-15-92-00-12-91-c8-39,3.25,2.2,11.32
-14-15-92-00-12-91-b2-ee,3.7,0.25,11.32
-14-15-92-00-12-91-bd-79,3.7,0.9,11.32
-14-15-92-00-12-91-b7-3b,3.7,1.55,11.32
-14-15-92-00-12-91-cd-89,3.7,2.2,11.32
diff --git a/metas/gen_sites.py b/metas/gen_sites.py
deleted file mode 100644
index 2d78c5672a..0000000000
--- a/metas/gen_sites.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import os
-import re
-
-output = []
-output += ['site']
-
-for filename in os.listdir('.'):
-
- m = re.search('([a-z]+)\.csv',filename)
- if not m:
- continue
-
- _site = m.group(1)
-
- output += [_site]
-
-output = '\n'.join(output)
-
-print output
-
-with open('sites.csv','w') as f:
- f.write(output)
-
-raw_input("Script ended successfully. Press Enter to close.")
diff --git a/metas/grenoble.csv b/metas/grenoble.csv
deleted file mode 100644
index 1e94583037..0000000000
--- a/metas/grenoble.csv
+++ /dev/null
@@ -1,251 +0,0 @@
-mac,x,y,z
-14-15-92-00-12-91-b2-ce,4.25,27.67,1.98
-14-15-92-00-12-91-bd-c0,4.57,27.37,2.7
-14-15-92-00-12-91-cd-f2,5.67,27.37,2.22
-14-15-92-00-12-91-c6-c0,6.36,27.37,2.8
-14-15-92-00-12-91-b2-7c,7.4,27.37,2.42
-14-15-92-00-12-91-bf-c6,8.15,27.37,2.85
-14-15-92-00-12-91-b3-9e,9.13,27.37,2.28
-14-15-92-00-12-91-b0-7f,10.4,27.37,2.37
-14-15-92-00-12-91-c7-e6,11.36,27.37,2.8
-14-15-92-00-12-91-be-ed,12.53,27.37,2.3
-14-15-92-00-12-91-bb-40,13.75,27.37,2.65
-14-15-92-00-12-91-c1-fe,3.03,28.07,2.54
-14-15-92-00-12-91-b8-07,3.83,28.07,2.54
-14-15-92-00-12-91-b2-ca,4.8,28.07,2.54
-14-15-92-00-12-91-b0-20,5.74,28.07,2.54
-14-15-92-00-12-91-b6-d8,6.76,28.07,2.54
-14-15-92-00-12-91-c6-31,7.86,28.07,2.54
-14-15-92-00-12-91-cc-8b,8.93,28.07,2.54
-14-15-92-00-12-91-b0-3d,10.13,28.07,2.54
-14-15-92-00-12-91-c2-4c,11.28,28.07,2.54
-14-15-92-00-12-91-cc-0d,12.18,28.07,2.54
-14-15-92-00-12-91-b0-47,13.18,28.07,2.54
-14-15-92-00-12-91-bc-97,14.18,28.07,2.54
-14-15-92-00-12-91-c1-3d,14.93,28.07,2.54
-14-15-92-00-12-91-be-d2,15.73,28.07,2.54
-14-15-92-00-12-91-b1-cb,1.98,29.35,3.6
-14-15-92-00-12-91-b9-4f,3.13,29.35,3.6
-14-15-92-00-12-91-c3-3e,4.08,29.35,3.6
-14-15-92-00-12-91-1c-be,5.18,29.35,3.6
-14-15-92-00-12-91-cc-c8,6.38,29.35,3.6
-14-15-92-00-12-91-b1-a5,7.45,29.35,3.6
-14-15-92-00-12-91-b6-3b,8.3,29.35,3.6
-14-15-92-00-12-91-c7-8e,8.8,29.35,3.6
-14-15-92-00-12-91-b9-02,10.17,29.35,3.6
-14-15-92-00-12-91-c4-43,11.08,29.35,3.6
-14-15-92-00-12-91-b6-15,12.12,29.35,3.6
-14-15-92-00-12-91-cf-33,12.89,29.35,3.6
-14-15-92-00-12-91-b8-bd,14.11,29.35,3.6
-14-15-92-00-12-91-b3-2d,15.13,29.35,3.6
-14-15-92-00-12-91-c2-1d,3.95,29.1,2.53
-14-15-92-00-12-91-c2-16,5.51,29.05,2.53
-14-15-92-00-12-91-ca-2d,7.53,29.22,2.53
-14-15-92-00-12-91-c7-ee,9.53,29.02,2.53
-14-15-92-00-12-91-bb-04,11.73,29.27,2.53
-14-15-92-00-12-91-c8-78,13.78,29.01,2.53
-14-15-92-00-12-91-b8-5a,15.58,28.93,2.53
-14-15-92-00-12-91-b2-f9,2.98,30.13,2.52
-14-15-92-00-12-91-bd-6f,4.33,30.21,2.52
-14-15-92-00-12-91-c2-f6,5.3,30.21,2.52
-14-15-92-00-12-91-c1-8d,6.28,30.17,2.52
-14-15-92-00-12-91-c4-74,7.51,30.17,2.52
-14-15-92-00-12-91-c4-bb,8.58,30.17,2.52
-14-15-92-00-12-91-b3-84,9.58,30.17,2.52
-14-15-92-00-12-91-b0-a8,10.45,30.17,2.52
-14-15-92-00-12-91-bf-c4,11.32,30.17,2.52
-14-15-92-00-12-91-c5-97,12.26,30.17,2.52
-14-15-92-00-12-91-c9-0d,13.28,30.17,2.52
-14-15-92-00-12-91-ca-91,14.28,30.17,2.52
-14-15-92-00-12-91-b3-5b,15.53,30.17,2.52
-14-15-92-00-12-91-bb-a0,16.53,29.72,2.5
-14-15-92-00-12-91-b3-28,3.98,30.37,3.6
-14-15-92-00-12-91-b7-a5,5.08,30.47,3.6
-14-15-92-00-12-91-c7-b0,6.18,30.47,3.6
-14-15-92-00-12-91-c8-73,7.2,30.47,3.6
-14-15-92-00-12-91-c0-4d,8.68,30.47,3.6
-14-15-92-00-12-91-c5-b5,9.58,30.47,3.6
-14-15-92-00-12-91-c1-15,10.53,30.42,3.6
-14-15-92-00-12-91-be-03,11.35,30.27,3.6
-14-15-92-00-12-91-bf-a6,12.35,30.42,3.6
-14-15-92-00-12-91-be-64,13.28,30.42,3.6
-14-15-92-00-12-91-c5-96,14.31,30.42,3.6
-14-15-92-00-12-91-c0-1c,15.21,30.42,3.6
-14-15-92-00-12-91-c8-dd,7.83,30.92,3.53
-14-15-92-00-12-91-b1-8b,4.0,31.97,3.66
-14-15-92-00-12-91-bf-c5,4.97,31.97,3.66
-14-15-92-00-12-91-b0-e9,6.0,31.97,3.66
-14-15-92-00-12-91-1f-a0,7.01,31.97,3.66
-14-15-92-00-12-91-b2-ba,8.16,31.97,3.66
-14-15-92-00-12-91-b1-ae,9.08,31.97,3.66
-14-15-92-00-12-91-b8-9a,10.1,31.99,3.66
-14-15-92-00-12-91-b4-1e,11.05,31.92,3.66
-14-15-92-00-12-91-b6-66,13.07,32.03,3.66
-14-15-92-00-12-91-bd-e3,14.26,32.05,3.66
-14-15-92-00-12-91-b0-29,15.41,32.05,3.66
-14-15-92-00-12-91-b6-5d,5.44,32.03,2.58
-14-15-92-00-12-91-c8-e0,6.4,32.03,2.58
-14-15-92-00-12-91-c1-d7,7.45,32.03,2.58
-14-15-92-00-12-91-c4-94,8.42,32.03,2.58
-14-15-92-00-12-91-b1-93,9.37,32.04,2.58
-14-15-92-00-12-91-c8-28,10.3,32.04,2.58
-14-15-92-00-12-91-cd-06,11.3,32.02,2.58
-14-15-92-00-12-91-af-ed,12.4,32.02,2.58
-14-15-92-00-12-91-ba-ea,13.36,31.97,2.58
-14-15-92-00-12-91-c1-9c,14.43,31.97,2.58
-14-15-92-00-12-91-be-7f,15.41,31.95,2.58
-14-15-92-00-12-91-be-cb,2.3,27.37,2.65
-14-15-92-00-12-91-ba-2d,17.06,33.57,2.62
-14-15-92-00-12-91-ba-a9,3.8,30.85,2.6
-14-15-92-00-12-91-ba-d5,15.58,30.97,2.6
-14-15-92-00-12-91-be-b6,4.08,32.0,0.37
-14-15-92-00-12-91-b4-de,4.82,32.0,0.37
-14-15-92-00-12-91-c7-9d,5.72,32.0,0.37
-14-15-92-00-12-91-c1-6a,6.46,32.0,0.37
-14-15-92-00-12-91-b3-23,3.98,31.72,1.07
-14-15-92-00-12-91-b3-96,4.79,31.72,1.07
-14-15-92-00-12-91-b4-c1,5.66,31.72,1.07
-14-15-92-00-12-91-be-a9,6.48,31.72,1.07
-14-15-92-00-12-91-ba-73,4.12,32.14,2.0
-14-15-92-00-12-91-b0-92,4.9,32.14,2.0
-14-15-92-00-12-91-b2-bc,5.78,32.14,2.0
-14-15-92-00-12-91-ba-62,6.5,32.19,2.0
-14-15-92-00-12-91-b3-4b,3.88,32.85,0.2
-14-15-92-00-12-91-b9-74,4.98,32.89,0.2
-14-15-92-00-12-91-b2-30,5.78,32.89,0.2
-14-15-92-00-12-91-c3-19,6.53,32.77,0.43
-14-15-92-00-12-91-cb-e5,4.1,32.66,1.04
-14-15-92-00-12-91-c6-39,4.86,32.66,1.04
-14-15-92-00-12-91-bf-ca,6.47,32.69,1.04
-14-15-92-00-12-91-c5-fb,4.07,33.08,1.82
-14-15-92-00-12-91-c5-52,5.06,33.08,1.8
-14-15-92-00-12-91-b4-13,5.95,33.08,1.83
-14-15-92-00-12-91-c3-b4,2.34,35.6,2.63
-14-15-92-00-12-91-c3-8d,8.81,27.77,3.0
-14-15-92-00-12-91-b5-d0,10.91,27.72,3.02
-14-15-92-00-12-91-c9-cd,1.98,33.64,2.6
-14-15-92-00-12-91-b4-91,2.71,33.57,2.57
-14-15-92-00-12-91-be-ab,3.73,33.57,2.57
-14-15-92-00-12-91-b0-53,4.81,33.57,2.57
-14-15-92-00-12-91-c3-49,5.72,33.57,2.58
-14-15-92-00-12-91-be-0f,6.7,33.57,2.59
-14-15-92-00-12-91-b8-a3,7.68,33.57,2.59
-14-15-92-00-12-91-c4-d1,8.7,33.57,2.6
-14-15-92-00-12-91-c6-86,9.7,33.57,2.6
-14-15-92-00-12-91-bf-ba,10.69,33.57,2.61
-14-15-92-00-12-91-ba-a2,11.71,33.57,2.61
-14-15-92-00-12-91-c5-29,12.71,33.57,2.62
-14-15-92-00-12-91-b7-c6,13.74,33.57,2.62
-14-15-92-00-12-91-cc-dc,14.75,33.57,2.62
-14-15-92-00-12-91-b7-4f,15.73,33.57,2.62
-14-15-92-00-12-91-bb-93,7.95,34.01,3.6
-14-15-92-00-12-91-20-4e,11.23,33.99,3.58
-14-15-92-00-12-91-b7-97,2.56,35.07,3.67
-14-15-92-00-12-91-b7-1f,3.36,35.07,3.67
-14-15-92-00-12-91-c9-8d,4.4,35.07,3.67
-14-15-92-00-12-91-bf-ea,5.35,35.07,3.67
-14-15-92-00-12-91-bf-cd,6.4,35.07,3.67
-14-15-92-00-12-91-af-b3,7.45,35.07,3.67
-14-15-92-00-12-91-c0-67,8.43,35.07,3.67
-14-15-92-00-12-91-bd-0c,9.75,35.07,3.67
-14-15-92-00-12-91-cc-6e,10.76,35.07,3.67
-14-15-92-00-12-91-1f-58,11.66,35.07,3.67
-14-15-92-00-12-91-c4-de,12.66,35.07,3.67
-14-15-92-00-12-91-c8-4d,13.76,35.07,3.67
-14-15-92-00-12-91-be-e7,14.76,35.07,3.67
-14-15-92-00-12-91-b5-aa,15.78,35.07,3.67
-14-15-92-00-12-91-ce-a4,1.91,35.09,2.6
-14-15-92-00-12-91-c1-d2,2.75,35.07,2.58
-14-15-92-00-12-91-b9-61,3.65,35.07,2.58
-14-15-92-00-12-91-b0-13,4.57,35.07,2.58
-14-15-92-00-12-91-c4-cf,6.55,35.07,2.58
-14-15-92-00-12-91-bf-a1,7.53,35.07,2.58
-14-15-92-00-12-91-bb-56,8.54,35.07,2.58
-14-15-92-00-12-91-ba-8c,9.56,35.07,2.58
-14-15-92-00-12-91-b8-e1,10.66,35.07,2.58
-14-15-92-00-12-91-b9-78,11.76,35.07,2.58
-14-15-92-00-12-91-ca-c7,12.8,35.07,2.58
-14-15-92-00-12-91-b6-c1,2.52,36.37,3.67
-14-15-92-00-12-91-b9-c2,3.37,36.37,3.67
-14-15-92-00-12-91-af-8d,4.44,36.37,3.67
-14-15-92-00-12-91-b1-05,5.39,36.37,3.67
-14-15-92-00-12-91-ba-a8,6.55,36.37,3.67
-14-15-92-00-12-91-b6-50,7.46,36.37,3.67
-14-15-92-00-12-91-b0-97,8.53,36.37,3.67
-14-15-92-00-12-91-c1-fd,9.56,36.37,3.67
-14-15-92-00-12-91-c0-ce,10.51,36.37,3.67
-14-15-92-00-12-91-bf-9c,11.66,36.37,3.67
-14-15-92-00-12-91-c9-38,12.55,36.37,3.67
-14-15-92-00-12-91-b2-d8,13.55,36.37,3.67
-14-15-92-00-12-91-b0-1d,14.61,36.37,3.67
-14-15-92-00-12-91-c4-32,15.65,36.37,3.67
-14-15-92-00-12-91-20-30,1.93,36.37,2.56
-14-15-92-00-12-91-b3-1e,2.91,36.37,2.55
-14-15-92-00-12-91-cb-9b,3.91,36.37,2.55
-14-15-92-00-12-91-ba-2e,4.91,36.37,2.55
-14-15-92-00-12-91-b1-b2,5.91,36.37,2.55
-14-15-92-00-12-91-b9-16,6.91,36.37,2.55
-14-15-92-00-12-91-c1-5f,7.92,36.34,2.55
-14-15-92-00-12-91-1f-69,8.92,36.37,2.55
-14-15-92-00-12-91-b8-df,10.02,36.34,2.55
-14-15-92-00-12-91-cd-e9,11.07,36.37,2.55
-14-15-92-00-12-91-b3-55,12.06,36.37,2.55
-14-15-92-00-12-91-ce-d8,13.18,36.37,2.55
-14-15-92-00-12-91-cb-46,7.16,37.6,3.37
-14-15-92-00-12-91-c8-63,12.23,37.55,3.37
-14-15-92-00-12-91-bf-1e,13.25,37.55,3.37
-14-15-92-00-12-91-c3-11,14.26,37.55,3.37
-14-15-92-00-12-91-b4-f0,15.26,37.55,3.37
-14-15-92-00-12-91-ce-be,16.26,37.55,3.37
-14-15-92-00-12-91-b6-b3,3.23,37.82,2.8
-14-15-92-00-12-91-b5-d5,4.23,37.82,2.95
-14-15-92-00-12-91-c8-fd,5.03,37.82,3.1
-14-15-92-00-12-91-b8-f3,4.78,37.82,2.3
-14-15-92-00-12-91-ca-86,6.13,37.82,2.55
-14-15-92-00-12-91-b9-a2,6.91,38.07,3.2
-14-15-92-00-12-91-cf-50,6.91,38.07,2.18
-14-15-92-00-12-91-bf-b3,6.91,38.87,2.13
-14-15-92-00-12-91-b7-2f,12.23,37.77,2.43
-14-15-92-00-12-91-c0-8f,12.98,37.77,2.37
-14-15-92-00-12-91-b7-e4,13.93,37.77,2.48
-14-15-92-00-12-91-c0-0a,14.96,37.77,2.6
-14-15-92-00-12-91-cd-fc,16.06,37.77,2.7
-14-15-92-00-12-91-b4-51,17.08,37.77,2.2
-14-15-92-00-12-91-b4-8c,7.84,38.59,3.35
-14-15-92-00-12-91-c3-ee,7.84,39.55,3.35
-14-15-92-00-12-91-b8-c3,7.86,40.55,3.35
-14-15-92-00-12-91-b7-b6,7.86,41.45,3.35
-14-15-92-00-12-91-b1-5e,9.96,38.54,3.6
-14-15-92-00-12-91-b4-34,9.98,39.49,3.6
-14-15-92-00-12-91-cc-b0,9.98,40.51,3.6
-14-15-92-00-12-91-cc-9f,9.98,41.41,3.6
-14-15-92-00-12-91-c8-36,9.96,42.41,3.6
-14-15-92-00-12-91-ca-8a,11.34,38.57,3.35
-14-15-92-00-12-91-cd-71,11.36,39.57,3.35
-14-15-92-00-12-91-b2-c4,11.36,40.57,3.35
-14-15-92-00-12-91-b3-3f,11.36,41.47,3.35
-14-15-92-00-12-91-c3-1a,8.53,37.32,2.57
-14-15-92-00-12-91-b5-65,8.53,38.43,2.57
-14-15-92-00-12-91-b7-00,8.53,39.45,2.57
-14-15-92-00-12-91-c6-3c,10.24,37.34,2.57
-14-15-92-00-12-91-c5-cc,10.24,38.24,2.57
-14-15-92-00-12-91-ce-e7,10.24,39.47,2.57
-14-15-92-00-12-91-c5-43,6.91,39.77,3.5
-14-15-92-00-12-91-ce-47,8.83,40.28,2.66
-14-15-92-00-12-91-c1-08,6.91,41.77,3.25
-14-15-92-00-12-91-bc-0f,9.51,42.8,3.34
-14-15-92-00-12-91-ca-22,8.56,40.05,3.7
-14-15-92-00-12-91-c6-c4,6.91,40.87,3.53
-14-15-92-00-12-91-b1-4d,9.51,41.87,3.34
-14-15-92-00-12-91-b8-c8,10.36,40.09,3.7
-14-15-92-00-12-91-ce-6c,10.51,38.42,3.37
-14-15-92-00-12-91-bd-f0,11.41,42.95,3.63
-14-15-92-00-12-91-c8-19,12.23,41.31,3.65
-14-15-92-00-12-91-b4-e4,10.24,40.28,2.6
-14-15-92-00-12-91-c9-4e,12.23,41.91,3.27
-14-15-92-00-12-91-c8-fb,12.23,40.57,3.53
-14-15-92-00-12-91-be-2e,7.31,42.95,3.62
-14-15-92-00-12-91-c4-ed,8.12,42.95,3.63
-14-15-92-00-12-91-b6-69,8.88,42.95,3.63
-14-15-92-00-12-91-cd-4c,7.69,41.9,3.35
-14-15-92-00-12-91-b8-06,5.7,32.68,1.04
diff --git a/metas/lille.json b/metas/lille.json
deleted file mode 100644
index 4553a05f8a..0000000000
--- a/metas/lille.json
+++ /dev/null
@@ -1,2087 +0,0 @@
-[
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-6.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d5-12-55",
- "state": "Alive",
- "y": "0.1",
- "x": "3.22",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-9.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-10-55",
- "state": "Alive",
- "y": "0.1",
- "x": "5.62",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-10.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-21-56",
- "state": "Alive",
- "y": "0.1",
- "x": "5.62",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-11.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-14-57",
- "state": "Alive",
- "y": "0.1",
- "x": "6.82",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-14.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-b5-88",
- "state": "Alive",
- "y": "0.1",
- "x": "8.02",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-15.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-21-50",
- "state": "Alive",
- "y": "0.1",
- "x": "9.22",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-18.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-18-54",
- "state": "Alive",
- "y": "0.1",
- "x": "10.42",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-19.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-24-55",
- "state": "Alive",
- "y": "0.1",
- "x": "11.62",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-23.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-34-54",
- "state": "Alive",
- "y": "0.1",
- "x": "14.02",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-24.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-10-58",
- "state": "Alive",
- "y": "0.1",
- "x": "14.02",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-26.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-91-70",
- "state": "Alive",
- "y": "0.1",
- "x": "15.22",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-27.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-99-73",
- "state": "Alive",
- "y": "0.3",
- "x": "0.1",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-28.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-11-55",
- "state": "Alive",
- "y": "0.3",
- "x": "0.1",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-32.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-17-59",
- "state": "Alive",
- "y": "0.3",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-33.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-17-58",
- "state": "Alive",
- "y": "0.3",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-34.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b3-73",
- "state": "Alive",
- "y": "0.3",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-38.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-21-51",
- "state": "Alive",
- "y": "0.3",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-39.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b2-71",
- "state": "Alive",
- "y": "0.3",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-40.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-b3-70",
- "state": "Alive",
- "y": "0.3",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-42.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-17-57",
- "state": "Alive",
- "y": "0.3",
- "x": "16.1",
- "z": "2.4"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-47.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-a1-73",
- "state": "Alive",
- "y": "1.5",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-49.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-b5-72",
- "state": "Alive",
- "y": "1.5",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-51.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-b0-71",
- "state": "Alive",
- "y": "1.5",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-52.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-df-b4-73",
- "state": "Alive",
- "y": "1.5",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-54.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-97-73",
- "state": "Alive",
- "y": "1.5",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-56.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-a6-89",
- "state": "Alive",
- "y": "1.5",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-57.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-27-55",
- "state": "Alive",
- "y": "1.5",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-63.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-a6-73",
- "state": "Alive",
- "y": "2.7",
- "x": "0.1",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-64.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-a2-73",
- "state": "Alive",
- "y": "2.7",
- "x": "0.1",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-65.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-97-77",
- "state": "Alive",
- "y": "2.7",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-66.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-a3-90",
- "state": "Alive",
- "y": "2.7",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-67.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-85-74",
- "state": "Alive",
- "y": "2.7",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-70.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-87-74",
- "state": "Alive",
- "y": "2.7",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-71.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d6-86-74",
- "state": "Alive",
- "y": "2.7",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-72.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-a0-77",
- "state": "Alive",
- "y": "2.7",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-73.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-17-56",
- "state": "Alive",
- "y": "2.7",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-74.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-dc-28-52",
- "state": "Alive",
- "y": "2.7",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-76.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-25-50",
- "state": "Alive",
- "y": "2.7",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-82.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-b0-89",
- "state": "Alive",
- "y": "3.9",
- "x": "0.1",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-83.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-dc-14-59",
- "state": "Alive",
- "y": "3.9",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-85.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-b6-71",
- "state": "Alive",
- "y": "3.9",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-87.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-22-58",
- "state": "Alive",
- "y": "3.9",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-88.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-27-50",
- "state": "Alive",
- "y": "3.9",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-89.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-35-54",
- "state": "Alive",
- "y": "3.9",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-90.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-09-56",
- "state": "Alive",
- "y": "3.9",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-91.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-c1-70",
- "state": "Alive",
- "y": "3.9",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-92.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-99-89",
- "state": "Alive",
- "y": "3.9",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-94.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-b2-72",
- "state": "Alive",
- "y": "3.9",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-95.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-24-59",
- "state": "Alive",
- "y": "3.9",
- "x": "15.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-97.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-dc-25-55",
- "state": "Alive",
- "y": "3.9",
- "x": "16.1",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-100.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-89-73",
- "state": "Alive",
- "y": "5.1",
- "x": "0.1",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-102.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-a4-73",
- "state": "Alive",
- "y": "5.1",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-104.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-06-60",
- "state": "Alive",
- "y": "5.1",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-106.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-35-59",
- "state": "Alive",
- "y": "5.1",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-108.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-b1-72",
- "state": "Alive",
- "y": "5.1",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-110.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d5-28-53",
- "state": "Alive",
- "y": "5.1",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-111.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-38-58",
- "state": "Alive",
- "y": "5.1",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-113.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d5-19-57",
- "state": "Alive",
- "y": "5.1",
- "x": "15.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-114.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b8-72",
- "state": "Alive",
- "y": "5.1",
- "x": "16.1",
- "z": "2.4"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-115.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-a8-90",
- "state": "Alive",
- "y": "5.1",
- "x": "16.1",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-116.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b4-88",
- "state": "Alive",
- "y": "5.1",
- "x": "16.1",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-118.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-25-56",
- "state": "Alive",
- "y": "5.45",
- "x": "5.42",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-121.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-dc-10-61",
- "state": "Alive",
- "y": "5.1",
- "x": "14.18",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-122.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-31-54",
- "state": "Alive",
- "y": "5.1",
- "x": "14.18",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-125.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-de-95-70",
- "state": "Alive",
- "y": "6.3",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-127.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d5-35-58",
- "state": "Alive",
- "y": "6.3",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-130.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-19-54",
- "state": "Alive",
- "y": "6.3",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-131.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b3-88",
- "state": "Alive",
- "y": "6.3",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-132.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-b9-73",
- "state": "Alive",
- "y": "6.3",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-133.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-24-51",
- "state": "Alive",
- "y": "6.3",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-134.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-b6-70",
- "state": "Alive",
- "y": "6.3",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-135.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-09-57",
- "state": "Alive",
- "y": "6.3",
- "x": "14.18",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-136.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-05-61",
- "state": "Alive",
- "y": "6.3",
- "x": "14.18",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-138.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d4-18-56",
- "state": "Alive",
- "y": "7.5",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-140.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-de-90-73",
- "state": "Alive",
- "y": "7.5",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-142.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-92-70",
- "state": "Alive",
- "y": "7.5",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-143.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-87-73",
- "state": "Alive",
- "y": "7.5",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-144.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-a1-89",
- "state": "Alive",
- "y": "7.5",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-145.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-a1-70",
- "state": "Alive",
- "y": "7.5",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-148.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-c2-73",
- "state": "Alive",
- "y": "7.5",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-149.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d6-90-74",
- "state": "Alive",
- "y": "7.5",
- "x": "14.18",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-156.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-29-55",
- "state": "Alive",
- "y": "8.7",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-157.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-23-50",
- "state": "Alive",
- "y": "8.7",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-159.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-20-50",
- "state": "Alive",
- "y": "8.7",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-161.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-18-55",
- "state": "Alive",
- "y": "8.7",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-163.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-17-54",
- "state": "Alive",
- "y": "8.7",
- "x": "14.18",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-169.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-29-51",
- "state": "Alive",
- "y": "9.16",
- "x": "3.22",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-170.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-17-51",
- "state": "Alive",
- "y": "9.16",
- "x": "3.22",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-173.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-11-56",
- "state": "Alive",
- "y": "9.16",
- "x": "6.82",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-174.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-20-55",
- "state": "Alive",
- "y": "9.16",
- "x": "6.82",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-177.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-b3-89",
- "state": "Alive",
- "y": "9.16",
- "x": "9.22",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-179.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-33-55",
- "state": "Alive",
- "y": "9.9",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-181.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-27-54",
- "state": "Alive",
- "y": "9.9",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-182.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-84-74",
- "state": "Alive",
- "y": "9.9",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-184.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-31-58",
- "state": "Alive",
- "y": "9.9",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-187.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-91-73",
- "state": "Alive",
- "y": "9.9",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-188.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-13-58",
- "state": "Alive",
- "y": "9.9",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-190.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-34-53",
- "state": "Alive",
- "y": "9.9",
- "x": "14.18",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-193.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-38-59",
- "state": "Alive",
- "y": "11.1",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-194.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-95-73",
- "state": "Alive",
- "y": "11.1",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-195.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-dc-21-52",
- "state": "Alive",
- "y": "11.1",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-196.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-25-59",
- "state": "Alive",
- "y": "11.1",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-197.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-b2-73",
- "state": "Alive",
- "y": "11.1",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-200.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-97-70",
- "state": "Alive",
- "y": "11.1",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-202.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-27-51",
- "state": "Alive",
- "y": "11.1",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-203.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-85-73",
- "state": "Alive",
- "y": "11.1",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-204.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-20-52",
- "state": "Alive",
- "y": "11.1",
- "x": "15.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-209.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d6-b5-71",
- "state": "Alive",
- "y": "12.3",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-210.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-12-54",
- "state": "Alive",
- "y": "12.3",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-211.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-27-59",
- "state": "Alive",
- "y": "12.3",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-212.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-de-b2-70",
- "state": "Alive",
- "y": "12.3",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-213.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-18-59",
- "state": "Alive",
- "y": "12.3",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-214.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-23-52",
- "state": "Alive",
- "y": "12.3",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-215.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-34-58",
- "state": "Alive",
- "y": "12.3",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-217.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-31-52",
- "state": "Alive",
- "y": "12.3",
- "x": "15.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-218.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-93-73",
- "state": "Alive",
- "y": "13.5",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-219.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-23-59",
- "state": "Alive",
- "y": "13.5",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-220.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-c2-70",
- "state": "Alive",
- "y": "13.5",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-221.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-b8-73",
- "state": "Alive",
- "y": "13.5",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-223.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-25-52",
- "state": "Alive",
- "y": "13.5",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-226.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-24-50",
- "state": "Alive",
- "y": "13.5",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-228.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-b0-73",
- "state": "Alive",
- "y": "13.5",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-229.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-a7-90",
- "state": "Alive",
- "y": "13.5",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-230.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d5-12-58",
- "state": "Alive",
- "y": "13.5",
- "x": "15.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-232.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-28-51",
- "state": "Alive",
- "y": "14.7",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-233.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-12-56",
- "state": "Alive",
- "y": "14.7",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-238.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-31-53",
- "state": "Alive",
- "y": "14.7",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-239.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-33-58",
- "state": "Alive",
- "y": "14.7",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-241.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-20-51",
- "state": "Alive",
- "y": "14.7",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-243.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-15-52",
- "state": "Alive",
- "y": "14.7",
- "x": "15.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-244.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-26-59",
- "state": "Alive",
- "y": "15.9",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-245.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-31-51",
- "state": "Alive",
- "y": "15.9",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-246.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-24-54",
- "state": "Alive",
- "y": "15.9",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-248.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-24-58",
- "state": "Alive",
- "y": "15.9",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-250.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-b8-71",
- "state": "Alive",
- "y": "15.9",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-253.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-12-57",
- "state": "Alive",
- "y": "15.9",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-254.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-b3-71",
- "state": "Alive",
- "y": "15.9",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-255.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-28-58",
- "state": "Alive",
- "y": "15.9",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-256.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-25-54",
- "state": "Alive",
- "y": "15.9",
- "x": "15.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-2.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-30-51",
- "state": "Alive",
- "y": "0.1",
- "x": "0.82",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-4.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-32-59",
- "state": "Alive",
- "y": "0.1",
- "x": "2.02",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-5.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-14-53",
- "state": "Alive",
- "y": "0.1",
- "x": "3.22",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-7.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d4-a5-90",
- "state": "Alive",
- "y": "0.1",
- "x": "4.42",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-12.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-11-58",
- "state": "Alive",
- "y": "0.1",
- "x": "6.82",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-13.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-34-55",
- "state": "Alive",
- "y": "0.1",
- "x": "8.02",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-16.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-26-55",
- "state": "Alive",
- "y": "0.1",
- "x": "9.22",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-17.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-23-55",
- "state": "Alive",
- "y": "0.1",
- "x": "10.42",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-20.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-dc-33-53",
- "state": "Alive",
- "y": "0.1",
- "x": "11.62",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-21.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-26-52",
- "state": "Alive",
- "y": "0.1",
- "x": "12.82",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-22.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-27-58",
- "state": "Alive",
- "y": "0.1",
- "x": "12.82",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-25.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d4-16-56",
- "state": "Alive",
- "y": "0.1",
- "x": "15.22",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-30.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-38-62",
- "state": "Alive",
- "y": "0.3",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-31.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-07-61",
- "state": "Alive",
- "y": "0.3",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-35.lille.iot-lab.info",
- "state": "Alive",
- "y": "0.3",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-36.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-b1-89",
- "state": "Alive",
- "y": "0.3",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-37.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-a4-89",
- "state": "Alive",
- "y": "0.3",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-43.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-c4-73",
- "state": "Alive",
- "y": "0.3",
- "x": "16.1",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-45.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-11-61",
- "state": "Alive",
- "y": "1.5",
- "x": "0.1",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-46.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-a0-90",
- "state": "Alive",
- "y": "1.5",
- "x": "0.1",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-48.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-16-51",
- "state": "Alive",
- "y": "1.5",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-50.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-c0-70",
- "state": "Alive",
- "y": "1.5",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-53.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-b3-72",
- "state": "Alive",
- "y": "1.5",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-58.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-18-52",
- "state": "Alive",
- "y": "1.5",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-59.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-21-54",
- "state": "Alive",
- "y": "1.5",
- "x": "15.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-60.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-09-61",
- "state": "Alive",
- "y": "1.5",
- "x": "16.1",
- "z": "2.4"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-61.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d4-16-57",
- "state": "Alive",
- "y": "1.5",
- "x": "16.1",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-62.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-37-58",
- "state": "Alive",
- "y": "1.5",
- "x": "16.1",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-69.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-93-70",
- "state": "Alive",
- "y": "2.7",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-77.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-99-77",
- "state": "Alive",
- "y": "2.7",
- "x": "15.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-78.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-30-52",
- "state": "Alive",
- "y": "2.7",
- "x": "16.1",
- "z": "2.4"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-81.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-14-54",
- "state": "Alive",
- "y": "3.9",
- "x": "0.1",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-84.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d5-15-56",
- "state": "Alive",
- "y": "3.9",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-86.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b7-71",
- "state": "Alive",
- "y": "3.9",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-93.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-92-73",
- "state": "Alive",
- "y": "3.9",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-96.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-08-57",
- "state": "Alive",
- "y": "3.9",
- "x": "16.1",
- "z": "2.4"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-98.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-98-73",
- "state": "Alive",
- "y": "3.9",
- "x": "16.1",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-99.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-90-70",
- "state": "Alive",
- "y": "5.1",
- "x": "0.1",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-103.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-16-54",
- "state": "Alive",
- "y": "5.1",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-105.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-28-55",
- "state": "Alive",
- "y": "5.1",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-107.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b2-89",
- "state": "Alive",
- "y": "5.1",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-109.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-09-58",
- "state": "Alive",
- "y": "5.1",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-112.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a2-70",
- "state": "Alive",
- "y": "5.1",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-117.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-11-54",
- "state": "Alive",
- "y": "5.45",
- "x": "5.42",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-119.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d5-13-56",
- "state": "Alive",
- "y": "5.45",
- "x": "10.82",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-120.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-07-58",
- "state": "Alive",
- "y": "5.45",
- "x": "10.82",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-123.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-84-73",
- "state": "Alive",
- "y": "6.3",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-124.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d4-b4-71",
- "state": "Alive",
- "y": "6.3",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-126.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-19-56",
- "state": "Alive",
- "y": "6.3",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-137.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-26-50",
- "state": "Alive",
- "y": "7.5",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-139.lille.iot-lab.info",
- "state": "Alive",
- "y": "7.5",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-141.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-31-55",
- "state": "Alive",
- "y": "7.5",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-146.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-98-77",
- "state": "Alive",
- "y": "7.5",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-147.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d4-13-59",
- "state": "Alive",
- "y": "7.5",
- "x": "12.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-151.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b1-73",
- "state": "Alive",
- "y": "8.7",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-152.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-e0-c0-73",
- "state": "Alive",
- "y": "8.7",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-153.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d7-28-50",
- "state": "Alive",
- "y": "8.7",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-154.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-32-54",
- "state": "Alive",
- "y": "8.7",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-155.lille.iot-lab.info",
- "state": "Alive",
- "y": "8.7",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-158.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-b4-72",
- "state": "Alive",
- "y": "8.7",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-162.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d6-22-57",
- "state": "Alive",
- "y": "8.7",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-164.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-86-73",
- "state": "Alive",
- "y": "8.7",
- "x": "14.18",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-165.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-a0-70",
- "state": "Alive",
- "y": "9.16",
- "x": "0.82",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-166.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-df-c3-73",
- "state": "Alive",
- "y": "9.16",
- "x": "0.82",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-167.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-13-55",
- "state": "Alive",
- "y": "9.16",
- "x": "2.02",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-168.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-31-59",
- "state": "Alive",
- "y": "9.16",
- "x": "2.02",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-171.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-29-59",
- "state": "Alive",
- "y": "9.16",
- "x": "4.42",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-172.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a7-71",
- "state": "Alive",
- "y": "9.16",
- "x": "4.42",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-175.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-39-62",
- "state": "Alive",
- "y": "9.16",
- "x": "8.02",
- "z": "1.5"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-176.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-b9-70",
- "state": "Alive",
- "y": "9.16",
- "x": "8.02",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-180.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d5-24-56",
- "state": "Alive",
- "y": "9.9",
- "x": "2.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-183.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-a8-73",
- "state": "Alive",
- "y": "9.9",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-185.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-30-59",
- "state": "Alive",
- "y": "9.9",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-186.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a3-73",
- "state": "Alive",
- "y": "9.9",
- "x": "10.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-189.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-a2-89",
- "state": "Alive",
- "y": "9.9",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-191.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a4-90",
- "state": "Alive",
- "y": "9.9",
- "x": "14.18",
- "z": "0.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-192.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-db-a5-73",
- "state": "Alive",
- "y": "11.1",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-198.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-14-55",
- "state": "Alive",
- "y": "11.1",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-199.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-dc-16-52",
- "state": "Alive",
- "y": "11.1",
- "x": "9.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-201.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a8-71",
- "state": "Alive",
- "y": "11.1",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-205.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d8-18-57",
- "state": "Alive",
- "y": "12.3",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-207.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-db-26-51",
- "state": "Alive",
- "y": "12.3",
- "x": "3.22",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-208.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-88-73",
- "state": "Alive",
- "y": "12.3",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-222.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-b2-88",
- "state": "Alive",
- "y": "13.5",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-224.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-b0-70",
- "state": "Alive",
- "y": "13.5",
- "x": "8.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-227.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d0-09-59",
- "state": "Alive",
- "y": "13.5",
- "x": "11.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-231.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d2-21-59",
- "state": "Alive",
- "y": "14.7",
- "x": "0.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-234.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-22-51",
- "state": "Alive",
- "y": "14.7",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-235.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-d6-a8-89",
- "state": "Alive",
- "y": "14.7",
- "x": "5.62",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-242.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-dc-20-54",
- "state": "Alive",
- "y": "14.7",
- "x": "14.02",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-247.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-d9-15-54",
- "state": "Alive",
- "y": "15.9",
- "x": "4.42",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-249.lille.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-b7-70",
- "state": "Alive",
- "y": "15.9",
- "x": "6.82",
- "z": "2.6"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-252.lille.iot-lab.info",
- "mac": "05-43-32-ff-02-da-23-58",
- "state": "Alive",
- "y": "15.9",
- "x": "10.42",
- "z": "2.6"
- }
-]
\ No newline at end of file
diff --git a/metas/lille_eui64.csv b/metas/lille_eui64.csv
deleted file mode 100644
index d994ae598b..0000000000
--- a/metas/lille_eui64.csv
+++ /dev/null
@@ -1,231 +0,0 @@
-05-43-32-ff-02-d9-21-56,m3-10
-05-43-32-ff-03-d8-89-73,m3-100
-05-43-32-ff-03-dd-a4-73,m3-102
-05-43-32-ff-02-d6-16-54,m3-103
-05-43-32-ff-02-da-06-60,m3-104
-05-43-32-ff-02-db-28-55,m3-105
-05-43-32-ff-02-d9-35-59,m3-106
-05-43-32-ff-03-db-b2-89,m3-107
-05-43-32-ff-03-da-b1-72,m3-108
-05-43-32-ff-02-da-09-58,m3-109
-05-43-32-ff-02-d8-14-57,m3-11
-05-43-32-ff-02-d5-28-53,m3-110
-05-43-32-ff-02-d7-38-58,m3-111
-05-43-32-ff-03-da-a2-70,m3-112
-05-43-32-ff-02-d5-19-57,m3-113
-05-43-32-ff-03-db-b8-72,m3-114
-05-43-32-ff-03-d7-a8-90,m3-115
-05-43-32-ff-03-db-b4-88,m3-116
-05-43-32-ff-02-db-11-54,m3-117
-05-43-32-ff-02-d7-25-56,m3-118
-05-43-32-ff-02-d5-13-56,m3-119
-05-43-32-ff-02-d6-11-58,m3-12
-05-43-32-ff-02-d7-07-58,m3-120
-05-43-32-ff-02-dc-10-61,m3-121
-05-43-32-ff-02-da-31-54,m3-122
-05-43-32-ff-03-da-84-73,m3-123
-05-43-32-ff-03-d4-b4-71,m3-124
-05-43-32-ff-03-de-95-70,m3-125
-05-43-32-ff-02-d9-19-56,m3-126
-05-43-32-ff-02-d5-35-58,m3-127
-05-43-32-ff-02-db-34-55,m3-13
-05-43-32-ff-02-d8-19-54,m3-130
-05-43-32-ff-03-db-b3-88,m3-131
-05-43-32-ff-03-d9-b9-73,m3-132
-05-43-32-ff-02-d9-24-51,m3-133
-05-43-32-ff-03-dd-b6-70,m3-134
-05-43-32-ff-02-da-09-57,m3-135
-05-43-32-ff-02-d9-05-61,m3-136
-05-43-32-ff-02-d8-26-50,m3-137
-05-43-32-ff-02-d4-18-56,m3-138
-05-43-32-ff-03-d7-b5-88,m3-14
-05-43-32-ff-03-de-90-73,m3-140
-05-43-32-ff-02-d8-31-55,m3-141
-05-43-32-ff-03-d8-92-70,m3-142
-05-43-32-ff-03-d7-87-73,m3-143
-05-43-32-ff-03-d8-a1-89,m3-144
-05-43-32-ff-03-dc-a1-70,m3-145
-05-43-32-ff-03-da-98-77,m3-146
-05-43-32-ff-02-d4-13-59,m3-147
-05-43-32-ff-03-dc-c2-73,m3-148
-05-43-32-ff-03-d6-90-74,m3-149
-05-43-32-ff-02-da-21-50,m3-15
-05-43-32-ff-03-db-b1-73,m3-151
-05-43-32-ff-03-e0-c0-73,m3-152
-05-43-32-ff-02-d7-28-50,m3-153
-05-43-32-ff-02-da-32-54,m3-154
-05-43-32-ff-02-d9-29-55,m3-156
-05-43-32-ff-02-da-23-50,m3-157
-05-43-32-ff-03-d8-b4-72,m3-158
-05-43-32-ff-02-d8-20-50,m3-159
-05-43-32-ff-02-d7-26-55,m3-16
-05-43-32-ff-02-da-18-55,m3-161
-05-43-32-ff-02-d6-22-57,m3-162
-05-43-32-ff-02-da-17-54,m3-163
-05-43-32-ff-03-d9-86-73,m3-164
-05-43-32-ff-03-dd-a0-70,m3-165
-05-43-32-ff-03-df-c3-73,m3-166
-05-43-32-ff-02-da-13-55,m3-167
-05-43-32-ff-02-da-31-59,m3-168
-05-43-32-ff-02-d7-29-51,m3-169
-05-43-32-ff-02-d6-23-55,m3-17
-05-43-32-ff-02-d9-17-51,m3-170
-05-43-32-ff-02-db-29-59,m3-171
-05-43-32-ff-03-da-a7-71,m3-172
-05-43-32-ff-02-d7-11-56,m3-173
-05-43-32-ff-02-d7-20-55,m3-174
-05-43-32-ff-02-d8-39-62,m3-175
-05-43-32-ff-03-da-b9-70,m3-176
-05-43-32-ff-03-dc-b3-89,m3-177
-05-43-32-ff-02-d9-33-55,m3-179
-05-43-32-ff-02-d9-18-54,m3-18
-05-43-32-ff-02-d5-24-56,m3-180
-05-43-32-ff-02-d9-27-54,m3-181
-05-43-32-ff-03-d8-84-74,m3-182
-05-43-32-ff-03-db-a8-73,m3-183
-05-43-32-ff-02-da-31-58,m3-184
-05-43-32-ff-02-d8-30-59,m3-185
-05-43-32-ff-03-da-a3-73,m3-186
-05-43-32-ff-03-d9-91-73,m3-187
-05-43-32-ff-02-d7-13-58,m3-188
-05-43-32-ff-03-d8-a2-89,m3-189
-05-43-32-ff-02-da-24-55,m3-19
-05-43-32-ff-02-d7-34-53,m3-190
-05-43-32-ff-03-da-a4-90,m3-191
-05-43-32-ff-03-db-a5-73,m3-192
-05-43-32-ff-02-d8-38-59,m3-193
-05-43-32-ff-03-db-95-73,m3-194
-05-43-32-ff-02-dc-21-52,m3-195
-05-43-32-ff-02-d6-25-59,m3-196
-05-43-32-ff-03-d8-b2-73,m3-197
-05-43-32-ff-02-da-14-55,m3-198
-05-43-32-ff-02-dc-16-52,m3-199
-05-43-32-ff-02-d9-30-51,m3-2
-05-43-32-ff-02-dc-33-53,m3-20
-05-43-32-ff-03-d9-97-70,m3-200
-05-43-32-ff-03-da-a8-71,m3-201
-05-43-32-ff-02-d8-27-51,m3-202
-05-43-32-ff-03-d8-85-73,m3-203
-05-43-32-ff-02-d6-20-52,m3-204
-05-43-32-ff-02-d8-18-57,m3-205
-05-43-32-ff-02-db-26-51,m3-207
-05-43-32-ff-03-d9-88-73,m3-208
-05-43-32-ff-03-d6-b5-71,m3-209
-05-43-32-ff-02-d6-26-52,m3-21
-05-43-32-ff-02-db-12-54,m3-210
-05-43-32-ff-02-d9-27-59,m3-211
-05-43-32-ff-03-de-b2-70,m3-212
-05-43-32-ff-02-da-18-59,m3-213
-05-43-32-ff-02-d7-23-52,m3-214
-05-43-32-ff-02-db-34-58,m3-215
-05-43-32-ff-02-db-31-52,m3-217
-05-43-32-ff-03-dc-93-73,m3-218
-05-43-32-ff-02-d8-23-59,m3-219
-05-43-32-ff-02-d9-27-58,m3-22
-05-43-32-ff-03-d9-c2-70,m3-220
-05-43-32-ff-03-dc-b8-73,m3-221
-05-43-32-ff-03-d8-b2-88,m3-222
-05-43-32-ff-02-db-25-52,m3-223
-05-43-32-ff-03-d8-b0-70,m3-224
-05-43-32-ff-02-db-24-50,m3-226
-05-43-32-ff-02-d0-09-59,m3-227
-05-43-32-ff-03-dd-b0-73,m3-228
-05-43-32-ff-03-db-a7-90,m3-229
-05-43-32-ff-02-d7-34-54,m3-23
-05-43-32-ff-02-d5-12-58,m3-230
-05-43-32-ff-02-d2-21-59,m3-231
-05-43-32-ff-02-da-28-51,m3-232
-05-43-32-ff-02-d7-12-56,m3-233
-05-43-32-ff-02-da-22-51,m3-234
-05-43-32-ff-03-d6-a8-89,m3-235
-05-43-32-ff-02-d9-31-53,m3-238
-05-43-32-ff-02-d9-33-58,m3-239
-05-43-32-ff-02-da-10-58,m3-24
-05-43-32-ff-02-d7-20-51,m3-241
-05-43-32-ff-02-dc-20-54,m3-242
-05-43-32-ff-02-d8-15-52,m3-243
-05-43-32-ff-02-db-26-59,m3-244
-05-43-32-ff-02-da-31-51,m3-245
-05-43-32-ff-02-d7-24-54,m3-246
-05-43-32-ff-02-d9-15-54,m3-247
-05-43-32-ff-02-d7-24-58,m3-248
-05-43-32-ff-03-dc-b7-70,m3-249
-05-43-32-ff-02-d4-16-56,m3-25
-05-43-32-ff-03-dc-b8-71,m3-250
-05-43-32-ff-02-da-23-58,m3-252
-05-43-32-ff-02-d9-12-57,m3-253
-05-43-32-ff-03-d8-b3-71,m3-254
-05-43-32-ff-02-da-28-58,m3-255
-05-43-32-ff-02-d6-25-54,m3-256
-05-43-32-ff-02-d9-08-5,m3-257
-05-43-32-ff-03-da-a9-71,m3-258
-05-43-32-ff-03-da-91-70,m3-26
-05-43-32-ff-03-da-99-73,m3-27
-05-43-32-ff-02-d9-11-55,m3-28
-05-43-32-ff-02-db-38-62,m3-30
-05-43-32-ff-02-d9-07-61,m3-31
-05-43-32-ff-02-d9-17-59,m3-32
-05-43-32-ff-02-d8-17-58,m3-33
-05-43-32-ff-03-db-b3-73,m3-34
-05-43-32-ff-03-d7-b1-89,m3-36
-05-43-32-ff-03-d7-a4-89,m3-37
-05-43-32-ff-02-d9-21-51,m3-38
-05-43-32-ff-03-db-b2-71,m3-39
-05-43-32-ff-02-db-32-59,m3-4
-05-43-32-ff-03-d9-b3-70,m3-40
-05-43-32-ff-02-d6-17-57,m3-42
-05-43-32-ff-03-dd-c4-73,m3-43
-05-43-32-ff-02-d6-11-61,m3-45
-05-43-32-ff-03-dc-a0-90,m3-46
-05-43-32-ff-03-db-a1-73,m3-47
-05-43-32-ff-02-db-16-51,m3-48
-05-43-32-ff-03-da-b5-72,m3-49
-05-43-32-ff-02-db-14-53,m3-5
-05-43-32-ff-03-d8-c0-70,m3-50
-05-43-32-ff-03-d7-b0-71,m3-51
-05-43-32-ff-03-df-b4-73,m3-52
-05-43-32-ff-03-d7-b3-72,m3-53
-05-43-32-ff-03-d7-97-73,m3-54
-05-43-32-ff-03-d8-a6-89,m3-56
-05-43-32-ff-02-da-27-55,m3-57
-05-43-32-ff-02-db-18-52,m3-58
-05-43-32-ff-02-d8-21-54,m3-59
-05-43-32-ff-02-d5-12-55,m3-6
-05-43-32-ff-02-d6-09-61,m3-60
-05-43-32-ff-02-d4-16-57,m3-61
-05-43-32-ff-02-da-37-58,m3-62
-05-43-32-ff-03-d9-a6-73,m3-63
-05-43-32-ff-03-dd-a2-73,m3-64
-05-43-32-ff-03-d9-97-77,m3-65
-05-43-32-ff-03-d9-a3-90,m3-66
-05-43-32-ff-03-d8-85-74,m3-67
-05-43-32-ff-03-da-93-70,m3-69
-05-43-32-ff-03-d4-a5-90,m3-7
-05-43-32-ff-03-d9-87-74,m3-70
-05-43-32-ff-03-d6-86-74,m3-71
-05-43-32-ff-03-d9-a0-77,m3-72
-05-43-32-ff-02-da-17-56,m3-73
-05-43-32-ff-02-dc-28-52,m3-74
-05-43-32-ff-02-d7-25-50,m3-76
-05-43-32-ff-03-db-99-77,m3-77
-05-43-32-ff-02-d8-30-52,m3-78
-05-43-32-ff-02-d8-14-54,m3-81
-05-43-32-ff-03-d9-b0-89,m3-82
-05-43-32-ff-02-dc-14-59,m3-83
-05-43-32-ff-02-d5-15-56,m3-84
-05-43-32-ff-03-d8-b6-71,m3-85
-05-43-32-ff-03-db-b7-71,m3-86
-05-43-32-ff-02-db-22-58,m3-87
-05-43-32-ff-02-d7-27-50,m3-88
-05-43-32-ff-02-da-35-54,m3-89
-05-43-32-ff-02-da-10-55,m3-9
-05-43-32-ff-02-d8-09-56,m3-90
-05-43-32-ff-03-d8-c1-70,m3-91
-05-43-32-ff-03-d7-99-89,m3-92
-05-43-32-ff-03-db-92-73,m3-93
-05-43-32-ff-03-d9-b2-72,m3-94
-05-43-32-ff-02-d7-24-59,m3-95
-05-43-32-ff-02-da-08-57,m3-96
-05-43-32-ff-02-dc-25-55,m3-97
-05-43-32-ff-03-dd-98-73,m3-98
-05-43-32-ff-03-dc-90-70,m3-99
diff --git a/metas/locations.json b/metas/locations.json
deleted file mode 100644
index ffa971b29d..0000000000
--- a/metas/locations.json
+++ /dev/null
@@ -1,11259 +0,0 @@
-[
- {
- "nodes": [
- {
- "y": "2.1",
- "x": "1.31",
- "z": "2.78",
- "network_address": "a8-1.lyon.iot-lab.info"
- },
- {
- "y": "2.51",
- "x": "1.31",
- "z": "2.78",
- "network_address": "a8-2.lyon.iot-lab.info"
- },
- {
- "y": "1.6",
- "x": "3.1",
- "z": "2.78",
- "network_address": "a8-3.lyon.iot-lab.info"
- },
- {
- "y": "1.6",
- "x": "3.82",
- "z": "2.78",
- "network_address": "a8-4.lyon.iot-lab.info"
- },
- {
- "y": "2.70",
- "x": "4.5",
- "z": "2.78",
- "network_address": "a8-5.lyon.iot-lab.info"
- },
- {
- "y": "3.92",
- "x": "4.5",
- "z": "2.78",
- "network_address": "a8-6.lyon.iot-lab.info"
- },
- {
- "y": "4.56",
- "x": "4.5",
- "z": "2.78",
- "network_address": "a8-7.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "6.94",
- "z": "2.78",
- "network_address": "a8-8.lyon.iot-lab.info"
- },
- {
- "y": "4.22",
- "x": "8.35",
- "z": "2.78",
- "network_address": "a8-10.lyon.iot-lab.info"
- },
- {
- "y": "4",
- "x": "1.31",
- "z": "2.78",
- "network_address": "m3-1.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "3.2",
- "z": "2.78",
- "network_address": "m3-2.lyon.iot-lab.info"
- },
- {
- "y": "2.02",
- "x": "4.5",
- "z": "2.78",
- "network_address": "m3-4.lyon.iot-lab.info"
- },
- {
- "y": "2.65",
- "x": "4.5",
- "z": "2.78",
- "network_address": "m3-5.lyon.iot-lab.info"
- },
- {
- "y": "1.6",
- "x": "5.11",
- "z": "2.78",
- "network_address": "m3-6.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "5.19",
- "z": "2.78",
- "network_address": "m3-7.lyon.iot-lab.info"
- },
- {
- "y": "1.6",
- "x": "5.8",
- "z": "2.78",
- "network_address": "m3-8.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "5.88",
- "z": "2.78",
- "network_address": "m3-9.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "7.33",
- "z": "2.78",
- "network_address": "m3-10.lyon.iot-lab.info"
- },
- {
- "y": "3.81",
- "x": "8.35",
- "z": "2.78",
- "network_address": "m3-11.lyon.iot-lab.info"
- },
- {
- "y": "5.19",
- "x": "8.35",
- "z": "2.78",
- "network_address": "m3-12.lyon.iot-lab.info"
- },
- {
- "y": "5.61",
- "x": "8.35",
- "z": "2.78",
- "network_address": "m3-13.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "8.33",
- "z": "2.78",
- "network_address": "m3-14.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "8.96",
- "z": "2.78",
- "network_address": "m3-15.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "9.60",
- "z": "2.78",
- "network_address": "m3-16.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "10.4",
- "z": "2.78",
- "network_address": "m3-17.lyon.iot-lab.info"
- },
- {
- "y": "6.2",
- "x": "11.42",
- "z": "2.78",
- "network_address": "m3-18.lyon.iot-lab.info"
- }
- ],
- "location": "lyon"
- },
- {
- "nodes": [
- {
- "y": "9.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-1.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-2.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-3.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-4.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-5.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-6.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-7.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-8.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-9.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-10.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "3.00",
- "z": "1.50",
- "network_address": "wsn430-11.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-12.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-13.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-14.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-15.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-16.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "5.00",
- "z": "1.50",
- "network_address": "wsn430-17.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-18.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-19.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-20.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-21.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-22.strasbourg.iot-lab.info"
- },
- {
- "y": "9.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-23.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-25.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-26.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-27.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-28.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-29.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-30.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-31.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-32.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-33.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-34.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "3.00",
- "z": "1.50",
- "network_address": "wsn430-35.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-36.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-37.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-38.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-39.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-40.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "5.00",
- "z": "1.50",
- "network_address": "wsn430-41.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-42.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-43.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-44.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-45.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-46.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-47.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "7.00",
- "z": "2.50",
- "network_address": "wsn430-48.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-49.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-50.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-51.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-52.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-53.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-54.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-55.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-56.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-57.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-58.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-60.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-61.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-62.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-63.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-64.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "5.00",
- "z": "1.50",
- "network_address": "wsn430-65.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-66.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-67.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-68.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-69.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-70.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-71.strasbourg.iot-lab.info"
- },
- {
- "y": "7.00",
- "x": "7.00",
- "z": "2.50",
- "network_address": "wsn430-72.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-73.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-74.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-75.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-76.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-77.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-78.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-79.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-80.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-81.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-82.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "3.00",
- "z": "1.50",
- "network_address": "wsn430-83.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-84.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-85.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-86.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-87.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-88.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "5.00",
- "z": "1.50",
- "network_address": "wsn430-89.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-90.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-91.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-92.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-93.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-94.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-95.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "7.00",
- "z": "2.50",
- "network_address": "wsn430-96.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-97.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-98.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-99.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-100.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-101.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-102.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-103.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-104.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-105.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-106.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "3.00",
- "z": "1.50",
- "network_address": "wsn430-107.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-108.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-109.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-110.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-111.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-112.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "5.00",
- "z": "1.50",
- "network_address": "wsn430-113.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-114.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-115.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-116.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-117.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-118.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-119.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "7.00",
- "z": "2.50",
- "network_address": "wsn430-120.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-121.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-122.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-123.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-124.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-125.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-126.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-127.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-128.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-129.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-130.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "3.00",
- "z": "1.50",
- "network_address": "wsn430-131.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-132.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-133.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-134.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-135.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-136.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-138.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-139.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-140.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-141.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-142.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-143.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "7.00",
- "z": "2.50",
- "network_address": "wsn430-144.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-145.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-146.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-147.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-148.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-149.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-150.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-151.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-152.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-153.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-154.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "3.00",
- "z": "1.50",
- "network_address": "wsn430-155.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-156.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-157.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-158.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-159.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-160.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "5.00",
- "z": "1.50",
- "network_address": "wsn430-161.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-162.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-163.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-164.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-165.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-166.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-167.strasbourg.iot-lab.info"
- },
- {
- "y": "3.00",
- "x": "7.00",
- "z": "2.50",
- "network_address": "wsn430-168.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-169.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-170.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-171.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-172.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-173.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-174.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-175.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-176.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-177.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-178.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "3.00",
- "z": "1.50",
- "network_address": "wsn430-179.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-180.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-181.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-182.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-183.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-184.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "5.00",
- "z": "1.50",
- "network_address": "wsn430-185.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-186.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-187.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-188.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-189.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-190.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-191.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "7.00",
- "z": "2.50",
- "network_address": "wsn430-192.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-193.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-194.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-195.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-196.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-197.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-198.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-199.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-200.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-201.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-202.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "3.00",
- "z": "1.50",
- "network_address": "wsn430-203.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-204.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-205.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-206.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-207.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-208.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "5.00",
- "z": "1.50",
- "network_address": "wsn430-209.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-210.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-211.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-212.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-213.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-214.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-215.strasbourg.iot-lab.info"
- },
- {
- "y": "1.00",
- "x": "7.00",
- "z": "2.50",
- "network_address": "wsn430-216.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "0.00",
- "z": "0.50",
- "network_address": "wsn430-217.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "0.00",
- "z": "1.50",
- "network_address": "wsn430-218.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "0.00",
- "z": "2.50",
- "network_address": "wsn430-219.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "1.00",
- "z": "0.50",
- "network_address": "wsn430-220.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "1.00",
- "z": "1.50",
- "network_address": "wsn430-221.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "1.00",
- "z": "2.50",
- "network_address": "wsn430-222.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "2.00",
- "z": "0.50",
- "network_address": "wsn430-223.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "2.00",
- "z": "1.50",
- "network_address": "wsn430-224.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "2.00",
- "z": "2.50",
- "network_address": "wsn430-225.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "3.00",
- "z": "0.50",
- "network_address": "wsn430-226.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "3.00",
- "z": "1.50",
- "network_address": "wsn430-227.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "3.00",
- "z": "2.50",
- "network_address": "wsn430-228.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "4.00",
- "z": "0.50",
- "network_address": "wsn430-229.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "4.00",
- "z": "1.50",
- "network_address": "wsn430-230.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "4.00",
- "z": "2.50",
- "network_address": "wsn430-231.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "5.00",
- "z": "0.50",
- "network_address": "wsn430-232.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "5.00",
- "z": "1.50",
- "network_address": "wsn430-233.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "5.00",
- "z": "2.50",
- "network_address": "wsn430-234.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "6.00",
- "z": "0.50",
- "network_address": "wsn430-235.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "6.00",
- "z": "1.50",
- "network_address": "wsn430-236.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "6.00",
- "z": "2.50",
- "network_address": "wsn430-237.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "7.00",
- "z": "0.50",
- "network_address": "wsn430-238.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "7.00",
- "z": "1.50",
- "network_address": "wsn430-239.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "7.00",
- "z": "2.50",
- "network_address": "wsn430-240.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "2.00",
- "z": "1.20",
- "network_address": "a8-1.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "2.00",
- "z": "2.10",
- "network_address": "a8-2.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "6.00",
- "z": "1.20",
- "network_address": "a8-3.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "6.00",
- "z": "2.10",
- "network_address": "a8-4.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "10.00",
- "z": "1.20",
- "network_address": "a8-5.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "14.00",
- "z": "1.20",
- "network_address": "a8-7.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "14.00",
- "z": "2.10",
- "network_address": "a8-8.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "2.00",
- "z": "2.10",
- "network_address": "a8-10.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "6.00",
- "z": "1.20",
- "network_address": "a8-11.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "6.00",
- "z": "2.10",
- "network_address": "a8-12.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "10.00",
- "z": "1.20",
- "network_address": "a8-13.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "10.00",
- "z": "2.10",
- "network_address": "a8-14.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "0.00",
- "z": "1.20",
- "mac": "05-43-32-ff-03-d2-96-87",
- "network_address": "m3-1.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "2.00",
- "z": "1.20",
- "mac": "05-43-32-ff-03-d4-97-89",
- "network_address": "m3-3.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "4.00",
- "z": "1.20",
- "mac": "05-43-32-ff-03-d5-90-84",
- "network_address": "m3-5.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "4.00",
- "z": "2.10",
- "network_address": "m3-6.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "6.00",
- "z": "1.20",
- "network_address": "m3-7.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "6.00",
- "z": "2.10",
- "network_address": "m3-8.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "8.00",
- "z": "1.20",
- "network_address": "m3-9.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "10.00",
- "z": "1.20",
- "network_address": "m3-11.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "12.00",
- "z": "1.20",
- "network_address": "m3-13.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "12.00",
- "z": "2.10",
- "network_address": "m3-14.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "14.00",
- "z": "1.20",
- "network_address": "m3-15.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "14.00",
- "z": "2.10",
- "network_address": "m3-16.strasbourg.iot-lab.info"
- },
- {
- "y": "8.00",
- "x": "16.00",
- "z": "1.20",
- "network_address": "m3-17.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "0.00",
- "z": "2.10",
- "network_address": "m3-20.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "4.00",
- "z": "1.20",
- "network_address": "m3-21.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "4.00",
- "z": "2.10",
- "network_address": "m3-22.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "8.00",
- "z": "1.20",
- "network_address": "m3-23.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "8.00",
- "z": "2.10",
- "network_address": "m3-24.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "12.00",
- "z": "1.20",
- "network_address": "m3-25.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "16.00",
- "z": "1.20",
- "network_address": "m3-27.strasbourg.iot-lab.info"
- },
- {
- "y": "6.00",
- "x": "16.00",
- "z": "2.10",
- "network_address": "m3-28.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "0.00",
- "z": "1.20",
- "network_address": "m3-29.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "2.00",
- "z": "1.20",
- "network_address": "m3-31.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "2.00",
- "z": "2.10",
- "network_address": "m3-32.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "4.00",
- "z": "2.10",
- "network_address": "m3-34.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "6.00",
- "z": "1.20",
- "network_address": "m3-35.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "6.00",
- "z": "2.10",
- "network_address": "m3-36.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "8.00",
- "z": "1.20",
- "network_address": "m3-37.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "8.00",
- "z": "2.10",
- "network_address": "m3-38.strasbourg.iot-lab.info"
- },
- {
- "y": "4.00",
- "x": "10.00",
- "z": "1.20",
- "network_address": "m3-39.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "12.00",
- "z": "1.20",
- "network_address": "m3-41.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "12.00",
- "z": "2.10",
- "network_address": "m3-42.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "14.00",
- "z": "1.20",
- "network_address": "m3-43.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "14.00",
- "z": "2.10",
- "network_address": "m3-44.strasbourg.iot-lab.info"
- },
- {
- "y": "5.00",
- "x": "16.00",
- "z": "2.10",
- "network_address": "m3-46.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "0.00",
- "z": "1.20",
- "network_address": "m3-47.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "4.00",
- "z": "1.20",
- "network_address": "m3-49.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "4.00",
- "z": "2.10",
- "network_address": "m3-50.strasbourg.iot-lab.info"
- },
- {
- "y": "2.00",
- "x": "8.00",
- "z": "2.10",
- "network_address": "m3-52.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "0.00",
- "z": "1.20",
- "network_address": "m3-53.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "0.00",
- "z": "2.10",
- "network_address": "m3-54.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "2.00",
- "z": "2.10",
- "network_address": "m3-56.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "4.00",
- "z": "2.10",
- "network_address": "m3-58.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "6.00",
- "z": "1.20",
- "network_address": "m3-59.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "6.00",
- "z": "2.10",
- "network_address": "m3-60.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "8.00",
- "z": "1.20",
- "network_address": "m3-61.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "8.00",
- "z": "2.10",
- "network_address": "m3-62.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "10.00",
- "z": "1.20",
- "network_address": "m3-63.strasbourg.iot-lab.info"
- },
- {
- "y": "0.00",
- "x": "10.00",
- "z": "2.10",
- "network_address": "m3-64.strasbourg.iot-lab.info"
- },
- {
- "y": " ",
- "x": " ",
- "z": " ",
- "network_address": "m3-96.strasbourg.iot-lab.info"
- },
- {
- "y": " ",
- "x": " ",
- "z": " ",
- "network_address": "m3-97.strasbourg.iot-lab.info"
- }
- ],
- "location": "strasbourg"
- },
- {
- "nodes": [
- {
- "y": "0.1",
- "x": "3.22",
- "z": "0.6",
- "network_address": "m3-6.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "5.62",
- "z": "1.5",
- "network_address": "m3-9.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "8.02",
- "z": "0.6",
- "network_address": "m3-14.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "9.22",
- "z": "1.5",
- "network_address": "m3-15.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "10.42",
- "z": "0.6",
- "network_address": "m3-18.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "11.62",
- "z": "1.5",
- "network_address": "m3-19.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "14.02",
- "z": "1.5",
- "network_address": "m3-23.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "14.02",
- "z": "0.6",
- "network_address": "m3-24.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "15.22",
- "z": "0.6",
- "network_address": "m3-26.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "0.1",
- "z": "1.5",
- "network_address": "m3-27.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "0.1",
- "z": "0.6",
- "network_address": "m3-28.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-32.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-33.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-34.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-38.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-39.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-40.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "16.1",
- "z": "2.4",
- "network_address": "m3-42.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-47.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-49.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-51.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-52.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-54.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-56.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-57.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "0.1",
- "z": "1.5",
- "network_address": "m3-63.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "0.1",
- "z": "0.6",
- "network_address": "m3-64.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-65.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-66.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-67.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-70.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-71.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-72.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-73.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-74.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-76.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "0.1",
- "z": "0.6",
- "network_address": "m3-82.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-83.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-85.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-87.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-88.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-89.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-90.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-91.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-92.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-94.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "15.22",
- "z": "2.6",
- "network_address": "m3-95.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "16.1",
- "z": "1.5",
- "network_address": "m3-97.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "0.1",
- "z": "0.6",
- "network_address": "m3-100.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-102.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-104.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-106.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-108.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-110.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-111.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "15.22",
- "z": "2.6",
- "network_address": "m3-113.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "16.1",
- "z": "2.4",
- "network_address": "m3-114.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "16.1",
- "z": "1.5",
- "network_address": "m3-115.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "16.1",
- "z": "0.6",
- "network_address": "m3-116.lille.iot-lab.info"
- },
- {
- "y": "5.45",
- "x": "5.42",
- "z": "0.6",
- "network_address": "m3-118.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "14.18",
- "z": "1.5",
- "network_address": "m3-121.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "14.18",
- "z": "0.6",
- "network_address": "m3-122.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-125.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-127.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-130.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-131.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-132.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-133.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-134.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "14.18",
- "z": "1.5",
- "network_address": "m3-135.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "14.18",
- "z": "0.6",
- "network_address": "m3-136.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-138.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-140.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-142.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-143.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-144.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-145.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-148.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "14.18",
- "z": "1.5",
- "network_address": "m3-149.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-156.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-157.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-159.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-161.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "14.18",
- "z": "1.5",
- "network_address": "m3-163.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "3.22",
- "z": "1.5",
- "network_address": "m3-169.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "3.22",
- "z": "0.6",
- "network_address": "m3-170.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "6.82",
- "z": "1.5",
- "network_address": "m3-173.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "6.82",
- "z": "0.6",
- "network_address": "m3-174.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "9.22",
- "z": "1.5",
- "network_address": "m3-177.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-179.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-181.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-182.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-184.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-187.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-188.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "14.18",
- "z": "1.5",
- "network_address": "m3-190.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-193.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-194.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-195.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-196.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-197.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-200.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-202.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-203.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "15.22",
- "z": "2.6",
- "network_address": "m3-204.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-209.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-210.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-211.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-212.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-213.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-214.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-215.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "15.22",
- "z": "2.6",
- "network_address": "m3-217.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-218.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-219.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-220.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-221.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-223.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-226.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-228.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-229.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "15.22",
- "z": "2.6",
- "network_address": "m3-230.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-232.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-233.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-236.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-238.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-239.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-240.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-241.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "15.22",
- "z": "2.6",
- "network_address": "m3-243.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-244.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-245.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-246.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-248.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-250.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-253.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-254.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-255.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "15.22",
- "z": "2.6",
- "network_address": "m3-256.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "0.82",
- "z": "0.6",
- "network_address": "m3-2.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "2.02",
- "z": "0.6",
- "network_address": "m3-4.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "3.22",
- "z": "1.5",
- "network_address": "m3-5.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "4.42",
- "z": "1.5",
- "network_address": "m3-7.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "8.02",
- "z": "1.5",
- "network_address": "m3-13.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "9.22",
- "z": "0.6",
- "network_address": "m3-16.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "10.42",
- "z": "1.5",
- "network_address": "m3-17.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "11.62",
- "z": "0.6",
- "network_address": "m3-20.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "12.82",
- "z": "1.5",
- "network_address": "m3-21.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "12.82",
- "z": "0.6",
- "network_address": "m3-22.lille.iot-lab.info"
- },
- {
- "y": "0.1",
- "x": "15.22",
- "z": "1.5",
- "network_address": "m3-25.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-30.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-31.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-35.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-36.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-37.lille.iot-lab.info"
- },
- {
- "y": "0.3",
- "x": "16.1",
- "z": "1.5",
- "network_address": "m3-43.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "0.1",
- "z": "1.5",
- "network_address": "m3-45.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "0.1",
- "z": "0.6",
- "network_address": "m3-46.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-48.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-50.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-53.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-58.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "15.22",
- "z": "2.6",
- "network_address": "m3-59.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "16.1",
- "z": "2.4",
- "network_address": "m3-60.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "16.1",
- "z": "1.5",
- "network_address": "m3-61.lille.iot-lab.info"
- },
- {
- "y": "1.5",
- "x": "16.1",
- "z": "0.6",
- "network_address": "m3-62.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-69.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-75.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "15.22",
- "z": "2.6",
- "network_address": "m3-77.lille.iot-lab.info"
- },
- {
- "y": "2.7",
- "x": "16.1",
- "z": "2.4",
- "network_address": "m3-78.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "0.1",
- "z": "1.5",
- "network_address": "m3-81.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-84.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-86.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-93.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "16.1",
- "z": "2.4",
- "network_address": "m3-96.lille.iot-lab.info"
- },
- {
- "y": "3.9",
- "x": "16.1",
- "z": "0.6",
- "network_address": "m3-98.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "0.1",
- "z": "1.5",
- "network_address": "m3-99.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-103.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-105.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-107.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-109.lille.iot-lab.info"
- },
- {
- "y": "5.1",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-112.lille.iot-lab.info"
- },
- {
- "y": "5.45",
- "x": "5.42",
- "z": "1.5",
- "network_address": "m3-117.lille.iot-lab.info"
- },
- {
- "y": "5.45",
- "x": "10.82",
- "z": "1.5",
- "network_address": "m3-119.lille.iot-lab.info"
- },
- {
- "y": "5.45",
- "x": "10.82",
- "z": "0.6",
- "network_address": "m3-120.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-123.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-124.lille.iot-lab.info"
- },
- {
- "y": "6.3",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-126.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-137.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-139.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-141.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-146.lille.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "12.82",
- "z": "2.6",
- "network_address": "m3-147.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-151.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-152.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-153.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-154.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-155.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-158.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-162.lille.iot-lab.info"
- },
- {
- "y": "8.7",
- "x": "14.18",
- "z": "0.6",
- "network_address": "m3-164.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "0.82",
- "z": "1.5",
- "network_address": "m3-165.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "0.82",
- "z": "0.6",
- "network_address": "m3-166.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "2.02",
- "z": "1.5",
- "network_address": "m3-167.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "2.02",
- "z": "0.6",
- "network_address": "m3-168.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "4.42",
- "z": "1.5",
- "network_address": "m3-171.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "4.42",
- "z": "0.6",
- "network_address": "m3-172.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "8.02",
- "z": "1.5",
- "network_address": "m3-175.lille.iot-lab.info"
- },
- {
- "y": "9.16",
- "x": "8.02",
- "z": "0.6",
- "network_address": "m3-176.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "2.02",
- "z": "2.6",
- "network_address": "m3-180.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-183.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-185.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-186.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-189.lille.iot-lab.info"
- },
- {
- "y": "9.9",
- "x": "14.18",
- "z": "0.6",
- "network_address": "m3-191.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-192.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-198.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-199.lille.iot-lab.info"
- },
- {
- "y": "11.1",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-201.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-205.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "3.22",
- "z": "2.6",
- "network_address": "m3-207.lille.iot-lab.info"
- },
- {
- "y": "12.3",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-208.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-222.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-224.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "9.22",
- "z": "2.6",
- "network_address": "m3-225.lille.iot-lab.info"
- },
- {
- "y": "13.5",
- "x": "11.62",
- "z": "2.6",
- "network_address": "m3-227.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "0.82",
- "z": "2.6",
- "network_address": "m3-231.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-234.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "5.62",
- "z": "2.6",
- "network_address": "m3-235.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "8.02",
- "z": "2.6",
- "network_address": "m3-237.lille.iot-lab.info"
- },
- {
- "y": "14.7",
- "x": "14.02",
- "z": "2.6",
- "network_address": "m3-242.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "4.42",
- "z": "2.6",
- "network_address": "m3-247.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "6.82",
- "z": "2.6",
- "network_address": "m3-249.lille.iot-lab.info"
- },
- {
- "y": "15.9",
- "x": "10.42",
- "z": "2.6",
- "network_address": "m3-252.lille.iot-lab.info"
- },
- {
- "y": " ",
- "x": " ",
- "z": " ",
- "network_address": "m3-258.lille.iot-lab.info"
- },
- {
- "y": " ",
- "x": " ",
- "z": " ",
- "network_address": "m3-259.lille.iot-lab.info"
- }
- ],
- "location": "lille"
- },
- {
- "nodes": [
- {
- "y": "1.82",
- "x": "0",
- "z": "1.71",
- "network_address": "m3-1.paris.iot-lab.info"
- },
- {
- "y": "1.82",
- "x": "0",
- "z": "0.55",
- "network_address": "m3-2.paris.iot-lab.info"
- },
- {
- "y": "1.22",
- "x": "0",
- "z": "2.33",
- "network_address": "m3-3.paris.iot-lab.info"
- },
- {
- "y": "1.22",
- "x": "0",
- "z": "1.12",
- "network_address": "m3-4.paris.iot-lab.info"
- },
- {
- "y": "0.6",
- "x": "0",
- "z": "1.71",
- "network_address": "m3-5.paris.iot-lab.info"
- },
- {
- "y": "0.6",
- "x": "0",
- "z": "0.55",
- "network_address": "m3-6.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "0",
- "z": "2.33",
- "network_address": "m3-7.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "0",
- "z": "1.12",
- "network_address": "m3-8.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "1.02",
- "z": "1.12",
- "network_address": "m3-9.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "1.63",
- "z": "0.55",
- "network_address": "m3-10.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "2.28",
- "z": "1.12",
- "network_address": "m3-11.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "2.86",
- "z": "0.55",
- "network_address": "m3-12.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "3.47",
- "z": "1.12",
- "network_address": "m3-13.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "4.08",
- "z": "0.55",
- "network_address": "m3-14.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "4.67",
- "z": "2.33",
- "network_address": "m3-15.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "4.67",
- "z": "0.55",
- "network_address": "m3-16.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "5.3",
- "z": "2.33",
- "network_address": "m3-17.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "5.3",
- "z": "0.55",
- "network_address": "m3-18.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "5.9",
- "z": "2.33",
- "network_address": "m3-19.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "5.9",
- "z": "0.55",
- "network_address": "m3-20.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "6.52",
- "z": "2.33",
- "network_address": "m3-21.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "6.52",
- "z": "0.55",
- "network_address": "m3-22.paris.iot-lab.info"
- },
- {
- "y": "0.43",
- "x": "6.92",
- "z": "2.33",
- "network_address": "m3-23.paris.iot-lab.info"
- },
- {
- "y": "0.43",
- "x": "6.92",
- "z": "1.12",
- "network_address": "m3-24.paris.iot-lab.info"
- },
- {
- "y": "1.05",
- "x": "6.92",
- "z": "1.71",
- "network_address": "m3-25.paris.iot-lab.info"
- },
- {
- "y": "1.05",
- "x": "6.92",
- "z": "0.55",
- "network_address": "m3-26.paris.iot-lab.info"
- },
- {
- "y": "1.65",
- "x": "6.92",
- "z": "2.33",
- "network_address": "m3-27.paris.iot-lab.info"
- },
- {
- "y": "1.65",
- "x": "6.92",
- "z": "1.12",
- "network_address": "m3-28.paris.iot-lab.info"
- },
- {
- "y": "2.27",
- "x": "6.92",
- "z": "1.71",
- "network_address": "m3-29.paris.iot-lab.info"
- },
- {
- "y": "2.27",
- "x": "6.92",
- "z": "0.55",
- "network_address": "m3-30.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "6.39",
- "z": "2.33",
- "network_address": "m3-31.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "6.39",
- "z": "1.12",
- "network_address": "m3-32.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "5.82",
- "z": "1.71",
- "network_address": "m3-33.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "5.18",
- "z": "2.33",
- "network_address": "m3-35.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "5.18",
- "z": "1.12",
- "network_address": "m3-36.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "4.59",
- "z": "1.71",
- "network_address": "m3-37.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "4.59",
- "z": "0.55",
- "network_address": "m3-38.paris.iot-lab.info"
- },
- {
- "y": "2.76",
- "x": "4.41",
- "z": "1.99",
- "network_address": "m3-39.paris.iot-lab.info"
- },
- {
- "y": "2.76",
- "x": "4.41",
- "z": "1.4",
- "network_address": "m3-40.paris.iot-lab.info"
- },
- {
- "y": "2.76",
- "x": "4.41",
- "z": "0.8",
- "network_address": "m3-41.paris.iot-lab.info"
- },
- {
- "y": "3.24",
- "x": "4.41",
- "z": "2.34",
- "network_address": "m3-42.paris.iot-lab.info"
- },
- {
- "y": "3.92",
- "x": "4.41",
- "z": "2.07",
- "network_address": "m3-43.paris.iot-lab.info"
- },
- {
- "y": "4.35",
- "x": "4.41",
- "z": "0.55",
- "network_address": "m3-45.paris.iot-lab.info"
- },
- {
- "y": "4.97",
- "x": "4.41",
- "z": "1.12",
- "network_address": "m3-46.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "4.05",
- "z": "1.71",
- "network_address": "m3-47.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "4.05",
- "z": "0.55",
- "network_address": "m3-48.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "3.47",
- "z": "2.33",
- "network_address": "m3-49.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "3.47",
- "z": "1.12",
- "network_address": "m3-50.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "2.85",
- "z": "1.71",
- "network_address": "m3-51.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "2.85",
- "z": "0.55",
- "network_address": "m3-52.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "2.25",
- "z": "2.33",
- "network_address": "m3-53.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "2.25",
- "z": "1.12",
- "network_address": "m3-54.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "1.62",
- "z": "1.71",
- "network_address": "m3-55.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "1.62",
- "z": "0.55",
- "network_address": "m3-56.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "1.02",
- "z": "2.33",
- "network_address": "m3-57.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "1.02",
- "z": "1.12",
- "network_address": "m3-58.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "0.37",
- "z": "1.71",
- "network_address": "m3-59.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "0.37",
- "z": "0.55",
- "network_address": "m3-60.paris.iot-lab.info"
- },
- {
- "y": "4.98",
- "x": "0",
- "z": "2.33",
- "network_address": "m3-61.paris.iot-lab.info"
- },
- {
- "y": "4.98",
- "x": "0",
- "z": "1.12",
- "network_address": "m3-62.paris.iot-lab.info"
- },
- {
- "y": "4.37",
- "x": "0",
- "z": "1.71",
- "network_address": "m3-63.paris.iot-lab.info"
- },
- {
- "y": "4.37",
- "x": "0",
- "z": "0.55",
- "network_address": "m3-64.paris.iot-lab.info"
- },
- {
- "y": "3.7",
- "x": "0",
- "z": "2.33",
- "network_address": "m3-65.paris.iot-lab.info"
- },
- {
- "y": "3.7",
- "x": "0",
- "z": "1.12",
- "network_address": "m3-66.paris.iot-lab.info"
- },
- {
- "y": "3.13",
- "x": "0",
- "z": "1.71",
- "network_address": "m3-67.paris.iot-lab.info"
- },
- {
- "y": "3.13",
- "x": "0",
- "z": "0.55",
- "network_address": "m3-68.paris.iot-lab.info"
- },
- {
- "y": "2.47",
- "x": "0",
- "z": "2.33",
- "network_address": "m3-69.paris.iot-lab.info"
- },
- {
- "y": "1.82",
- "x": "0",
- "z": "2.33",
- "network_address": "a8-1.paris.iot-lab.info"
- },
- {
- "y": "1.82",
- "x": "0",
- "z": "1.12",
- "network_address": "a8-2.paris.iot-lab.info"
- },
- {
- "y": "1.22",
- "x": "0",
- "z": "1.71",
- "network_address": "a8-3.paris.iot-lab.info"
- },
- {
- "y": "1.22",
- "x": "0",
- "z": "0.55",
- "network_address": "a8-4.paris.iot-lab.info"
- },
- {
- "y": "0.6",
- "x": "0",
- "z": "2.33",
- "network_address": "a8-5.paris.iot-lab.info"
- },
- {
- "y": "0.6",
- "x": "0",
- "z": "1.12",
- "network_address": "a8-6.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "0",
- "z": "1.71",
- "network_address": "a8-7.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "0",
- "z": "0.55",
- "network_address": "a8-8.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "1.02",
- "z": "0.55",
- "network_address": "a8-9.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "1.63",
- "z": "1.12",
- "network_address": "a8-10.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "2.28",
- "z": "0.55",
- "network_address": "a8-11.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "2.86",
- "z": "1.12",
- "network_address": "a8-12.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "3.47",
- "z": "0.55",
- "network_address": "a8-13.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "4.08",
- "z": "1.12",
- "network_address": "a8-14.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "4.67",
- "z": "1.71",
- "network_address": "a8-15.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "4.67",
- "z": "1.12",
- "network_address": "a8-16.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "5.3",
- "z": "1.71",
- "network_address": "a8-17.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "5.3",
- "z": "1.12",
- "network_address": "a8-18.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "5.9",
- "z": "1.71",
- "network_address": "a8-19.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "5.9",
- "z": "1.12",
- "network_address": "a8-20.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "6.52",
- "z": "1.71",
- "network_address": "a8-21.paris.iot-lab.info"
- },
- {
- "y": "0",
- "x": "6.52",
- "z": "1.12",
- "network_address": "a8-22.paris.iot-lab.info"
- },
- {
- "y": "0.43",
- "x": "6.92",
- "z": "1.71",
- "network_address": "a8-23.paris.iot-lab.info"
- },
- {
- "y": "0.43",
- "x": "6.92",
- "z": "0.55",
- "network_address": "a8-24.paris.iot-lab.info"
- },
- {
- "y": "1.05",
- "x": "6.92",
- "z": "2.33",
- "network_address": "a8-25.paris.iot-lab.info"
- },
- {
- "y": "1.05",
- "x": "6.92",
- "z": "1.12",
- "network_address": "a8-26.paris.iot-lab.info"
- },
- {
- "y": "1.65",
- "x": "6.92",
- "z": "1.71",
- "network_address": "a8-27.paris.iot-lab.info"
- },
- {
- "y": "1.65",
- "x": "6.92",
- "z": "0.55",
- "network_address": "a8-28.paris.iot-lab.info"
- },
- {
- "y": "2.27",
- "x": "6.92",
- "z": "2.33",
- "network_address": "a8-29.paris.iot-lab.info"
- },
- {
- "y": "2.27",
- "x": "6.92",
- "z": "1.12",
- "network_address": "a8-30.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "6.39",
- "z": "1.71",
- "network_address": "a8-31.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "6.39",
- "z": "0.55",
- "network_address": "a8-32.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "5.82",
- "z": "2.33",
- "network_address": "a8-33.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "5.82",
- "z": "1.12",
- "network_address": "a8-34.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "5.18",
- "z": "1.71",
- "network_address": "a8-35.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "5.18",
- "z": "0.55",
- "network_address": "a8-36.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "4.59",
- "z": "2.33",
- "network_address": "a8-37.paris.iot-lab.info"
- },
- {
- "y": "2.58",
- "x": "4.59",
- "z": "1.12",
- "network_address": "a8-38.paris.iot-lab.info"
- },
- {
- "y": "4.35",
- "x": "4.41",
- "z": "1.12",
- "network_address": "a8-39.paris.iot-lab.info"
- },
- {
- "y": "4.97",
- "x": "4.41",
- "z": "0.55",
- "network_address": "a8-40.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "4.05",
- "z": "2.33",
- "network_address": "a8-41.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "4.05",
- "z": "1.12",
- "network_address": "a8-42.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "3.47",
- "z": "1.71",
- "network_address": "a8-43.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "3.47",
- "z": "0.55",
- "network_address": "a8-44.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "2.85",
- "z": "2.33",
- "network_address": "a8-45.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "2.85",
- "z": "1.12",
- "network_address": "a8-46.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "2.25",
- "z": "1.71",
- "network_address": "a8-47.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "2.25",
- "z": "0.55",
- "network_address": "a8-48.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "1.62",
- "z": "2.33",
- "network_address": "a8-49.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "1.62",
- "z": "1.12",
- "network_address": "a8-50.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "1.02",
- "z": "1.71",
- "network_address": "a8-51.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "1.02",
- "z": "0.55",
- "network_address": "a8-52.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "0.37",
- "z": "2.33",
- "network_address": "a8-53.paris.iot-lab.info"
- },
- {
- "y": "5.44",
- "x": "0.37",
- "z": "1.12",
- "network_address": "a8-54.paris.iot-lab.info"
- },
- {
- "y": "4.98",
- "x": "0",
- "z": "1.71",
- "network_address": "a8-55.paris.iot-lab.info"
- },
- {
- "y": "4.98",
- "x": "0",
- "z": "0.55",
- "network_address": "a8-56.paris.iot-lab.info"
- },
- {
- "y": "4.37",
- "x": "0",
- "z": "2.33",
- "network_address": "a8-57.paris.iot-lab.info"
- },
- {
- "y": "4.37",
- "x": "0",
- "z": "1.12",
- "network_address": "a8-58.paris.iot-lab.info"
- },
- {
- "y": "3.7",
- "x": "0",
- "z": "1.71",
- "network_address": "a8-59.paris.iot-lab.info"
- },
- {
- "y": "3.7",
- "x": "0",
- "z": "0.55",
- "network_address": "a8-60.paris.iot-lab.info"
- },
- {
- "y": "3.13",
- "x": "0",
- "z": "2.33",
- "network_address": "a8-61.paris.iot-lab.info"
- },
- {
- "y": "3.13",
- "x": "0",
- "z": "1.12",
- "network_address": "a8-62.paris.iot-lab.info"
- }
- ],
- "location": "paris"
- },
- {
- "nodes": [
- {
- "y": "2.5",
- "x": "3.6",
- "z": "0.0",
- "network_address": "wsn430-1.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "0.0",
- "network_address": "wsn430-2.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "0.0",
- "network_address": "wsn430-3.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "0.0",
- "network_address": "wsn430-4.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "0.0",
- "network_address": "wsn430-5.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "0.6",
- "network_address": "wsn430-6.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "0.6",
- "network_address": "wsn430-7.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "0.6",
- "network_address": "wsn430-8.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "0.6",
- "network_address": "wsn430-9.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "0.6",
- "network_address": "wsn430-10.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "1.2",
- "network_address": "wsn430-11.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "1.2",
- "network_address": "wsn430-12.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "1.2",
- "network_address": "wsn430-13.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "1.2",
- "network_address": "wsn430-14.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "1.2",
- "network_address": "wsn430-15.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "1.8",
- "network_address": "wsn430-18.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "1.8",
- "network_address": "wsn430-19.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "1.8",
- "network_address": "wsn430-20.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "2.4",
- "network_address": "wsn430-21.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "2.4",
- "network_address": "wsn430-22.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "2.4",
- "network_address": "wsn430-23.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "2.4",
- "network_address": "wsn430-24.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "2.4",
- "network_address": "wsn430-25.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "3.0",
- "network_address": "wsn430-26.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "3.0",
- "network_address": "wsn430-27.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "3.0",
- "network_address": "wsn430-28.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "3.0",
- "network_address": "wsn430-29.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "3.0",
- "network_address": "wsn430-30.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "3.6",
- "network_address": "wsn430-31.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "3.6",
- "network_address": "wsn430-32.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "3.6",
- "network_address": "wsn430-33.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "3.6",
- "network_address": "wsn430-34.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "3.6",
- "network_address": "wsn430-35.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "4.2",
- "network_address": "wsn430-36.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "4.2",
- "network_address": "wsn430-37.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "4.2",
- "network_address": "wsn430-38.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "4.2",
- "network_address": "wsn430-39.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "4.2",
- "network_address": "wsn430-40.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "4.8",
- "network_address": "wsn430-41.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "4.8",
- "network_address": "wsn430-42.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "4.8",
- "network_address": "wsn430-43.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "4.8",
- "network_address": "wsn430-44.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "5.4",
- "network_address": "wsn430-46.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "5.4",
- "network_address": "wsn430-47.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "5.4",
- "network_address": "wsn430-48.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "5.4",
- "network_address": "wsn430-49.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "5.4",
- "network_address": "wsn430-50.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "6.0",
- "network_address": "wsn430-51.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "6.0",
- "network_address": "wsn430-52.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "6.0",
- "network_address": "wsn430-53.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "6.0",
- "network_address": "wsn430-54.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "6.0",
- "network_address": "wsn430-55.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "6.6",
- "network_address": "wsn430-56.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "6.6",
- "network_address": "wsn430-57.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "6.6",
- "network_address": "wsn430-58.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "6.6",
- "network_address": "wsn430-59.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "6.6",
- "network_address": "wsn430-60.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "7.2",
- "network_address": "wsn430-61.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "7.2",
- "network_address": "wsn430-62.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "7.2",
- "network_address": "wsn430-63.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "7.2",
- "network_address": "wsn430-64.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "7.2",
- "network_address": "wsn430-65.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "7.8",
- "network_address": "wsn430-66.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "7.8",
- "network_address": "wsn430-67.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "7.8",
- "network_address": "wsn430-68.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "7.8",
- "network_address": "wsn430-69.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "7.8",
- "network_address": "wsn430-70.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "8.4",
- "network_address": "wsn430-71.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "8.4",
- "network_address": "wsn430-72.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "8.4",
- "network_address": "wsn430-73.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "8.4",
- "network_address": "wsn430-74.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "8.4",
- "network_address": "wsn430-75.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "9.0",
- "network_address": "wsn430-76.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "9.0",
- "network_address": "wsn430-77.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "9.0",
- "network_address": "wsn430-78.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "9.0",
- "network_address": "wsn430-79.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "9.0",
- "network_address": "wsn430-80.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "9.6",
- "network_address": "wsn430-81.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "9.6",
- "network_address": "wsn430-82.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "9.6",
- "network_address": "wsn430-83.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "9.6",
- "network_address": "wsn430-84.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "9.6",
- "network_address": "wsn430-85.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "10.2",
- "network_address": "wsn430-86.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "10.2",
- "network_address": "wsn430-87.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "10.2",
- "network_address": "wsn430-88.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "10.2",
- "network_address": "wsn430-89.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "10.2",
- "network_address": "wsn430-90.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.6",
- "z": "10.8",
- "network_address": "wsn430-91.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "3.0",
- "z": "10.8",
- "network_address": "wsn430-92.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.4",
- "z": "10.8",
- "network_address": "wsn430-93.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.8",
- "z": "10.8",
- "network_address": "wsn430-94.euratech.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "1.2",
- "z": "10.8",
- "network_address": "wsn430-95.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "0.0",
- "network_address": "wsn430-96.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "0.0",
- "network_address": "wsn430-97.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "0.0",
- "network_address": "wsn430-98.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "0.0",
- "network_address": "wsn430-99.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "0.0",
- "network_address": "wsn430-100.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "0.6",
- "network_address": "wsn430-101.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "0.6",
- "network_address": "wsn430-102.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "0.6",
- "network_address": "wsn430-103.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "0.6",
- "network_address": "wsn430-104.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "0.6",
- "network_address": "wsn430-105.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "1.2",
- "network_address": "wsn430-106.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "1.2",
- "network_address": "wsn430-107.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "1.2",
- "network_address": "wsn430-108.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "1.2",
- "network_address": "wsn430-109.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "1.2",
- "network_address": "wsn430-110.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "1.8",
- "network_address": "wsn430-111.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "1.8",
- "network_address": "wsn430-112.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "1.8",
- "network_address": "wsn430-113.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "1.8",
- "network_address": "wsn430-114.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "1.8",
- "network_address": "wsn430-115.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "2.4",
- "network_address": "wsn430-116.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "2.4",
- "network_address": "wsn430-117.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "2.4",
- "network_address": "wsn430-118.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "2.4",
- "network_address": "wsn430-119.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "2.4",
- "network_address": "wsn430-120.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "3.0",
- "network_address": "wsn430-121.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "3.0",
- "network_address": "wsn430-122.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "3.0",
- "network_address": "wsn430-123.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "3.0",
- "network_address": "wsn430-124.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "3.0",
- "network_address": "wsn430-125.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "3.6",
- "network_address": "wsn430-127.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "3.6",
- "network_address": "wsn430-128.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "3.6",
- "network_address": "wsn430-129.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "3.6",
- "network_address": "wsn430-130.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "4.2",
- "network_address": "wsn430-131.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "4.2",
- "network_address": "wsn430-132.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "4.2",
- "network_address": "wsn430-133.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "4.2",
- "network_address": "wsn430-134.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "4.2",
- "network_address": "wsn430-135.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "4.8",
- "network_address": "wsn430-136.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "4.8",
- "network_address": "wsn430-137.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "4.8",
- "network_address": "wsn430-138.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "4.8",
- "network_address": "wsn430-139.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "4.8",
- "network_address": "wsn430-140.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "5.4",
- "network_address": "wsn430-141.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "5.4",
- "network_address": "wsn430-142.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "5.4",
- "network_address": "wsn430-143.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "5.4",
- "network_address": "wsn430-144.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "5.4",
- "network_address": "wsn430-145.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "6.0",
- "network_address": "wsn430-146.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "6.0",
- "network_address": "wsn430-147.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "6.0",
- "network_address": "wsn430-148.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "6.0",
- "network_address": "wsn430-149.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "6.0",
- "network_address": "wsn430-150.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "6.6",
- "network_address": "wsn430-151.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "6.6",
- "network_address": "wsn430-152.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "6.6",
- "network_address": "wsn430-153.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "6.6",
- "network_address": "wsn430-154.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "6.6",
- "network_address": "wsn430-155.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "7.2",
- "network_address": "wsn430-156.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "7.2",
- "network_address": "wsn430-157.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "7.2",
- "network_address": "wsn430-158.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "7.2",
- "network_address": "wsn430-159.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "7.2",
- "network_address": "wsn430-160.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "7.8",
- "network_address": "wsn430-161.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "7.8",
- "network_address": "wsn430-162.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "7.8",
- "network_address": "wsn430-163.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "7.8",
- "network_address": "wsn430-164.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "7.8",
- "network_address": "wsn430-165.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "8.4",
- "network_address": "wsn430-166.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "8.4",
- "network_address": "wsn430-167.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "8.4",
- "network_address": "wsn430-168.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "8.4",
- "network_address": "wsn430-169.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "8.4",
- "network_address": "wsn430-170.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "9.0",
- "network_address": "wsn430-171.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "9.0",
- "network_address": "wsn430-172.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "9.0",
- "network_address": "wsn430-173.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "9.0",
- "network_address": "wsn430-174.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "9.0",
- "network_address": "wsn430-175.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "9.6",
- "network_address": "wsn430-176.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "9.6",
- "network_address": "wsn430-177.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "9.6",
- "network_address": "wsn430-178.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "9.6",
- "network_address": "wsn430-179.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "9.6",
- "network_address": "wsn430-180.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "10.2",
- "network_address": "wsn430-181.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "10.2",
- "network_address": "wsn430-182.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "10.2",
- "network_address": "wsn430-183.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "10.2",
- "network_address": "wsn430-184.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.2",
- "z": "10.2",
- "network_address": "wsn430-185.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.6",
- "z": "10.8",
- "network_address": "wsn430-186.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "3.0",
- "z": "10.8",
- "network_address": "wsn430-187.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "2.4",
- "z": "10.8",
- "network_address": "wsn430-188.euratech.iot-lab.info"
- },
- {
- "y": "3.4",
- "x": "1.8",
- "z": "10.8",
- "network_address": "wsn430-189.euratech.iot-lab.info"
- },
- {
- "y": "3.28",
- "x": "0.0",
- "z": "11.32",
- "network_address": "wsn430-191.euratech.iot-lab.info"
- },
- {
- "y": "3.28",
- "x": "0.6",
- "z": "11.32",
- "network_address": "wsn430-192.euratech.iot-lab.info"
- },
- {
- "y": "3.28",
- "x": "1.2",
- "z": "11.32",
- "network_address": "wsn430-193.euratech.iot-lab.info"
- },
- {
- "y": "3.28",
- "x": "1.8",
- "z": "11.32",
- "network_address": "wsn430-194.euratech.iot-lab.info"
- },
- {
- "y": "3.28",
- "x": "2.4",
- "z": "11.32",
- "network_address": "wsn430-195.euratech.iot-lab.info"
- },
- {
- "y": "3.28",
- "x": "3.0",
- "z": "11.32",
- "network_address": "wsn430-196.euratech.iot-lab.info"
- },
- {
- "y": "3.28",
- "x": "3.6",
- "z": "11.32",
- "network_address": "wsn430-197.euratech.iot-lab.info"
- },
- {
- "y": "3.28",
- "x": "4.2",
- "z": "11.32",
- "network_address": "wsn430-198.euratech.iot-lab.info"
- },
- {
- "y": "3.28",
- "x": "4.8",
- "z": "11.32",
- "network_address": "wsn430-199.euratech.iot-lab.info"
- },
- {
- "y": "2.67",
- "x": "0.0",
- "z": "11.32",
- "network_address": "wsn430-200.euratech.iot-lab.info"
- },
- {
- "y": "2.67",
- "x": "1.2",
- "z": "11.32",
- "network_address": "wsn430-202.euratech.iot-lab.info"
- },
- {
- "y": "2.67",
- "x": "1.8",
- "z": "11.32",
- "network_address": "wsn430-203.euratech.iot-lab.info"
- },
- {
- "y": "2.67",
- "x": "2.4",
- "z": "11.32",
- "network_address": "wsn430-204.euratech.iot-lab.info"
- },
- {
- "y": "2.67",
- "x": "3.0",
- "z": "11.32",
- "network_address": "wsn430-205.euratech.iot-lab.info"
- },
- {
- "y": "2.67",
- "x": "3.6",
- "z": "11.32",
- "network_address": "wsn430-206.euratech.iot-lab.info"
- },
- {
- "y": "2.67",
- "x": "4.2",
- "z": "11.32",
- "network_address": "wsn430-207.euratech.iot-lab.info"
- },
- {
- "y": "2.67",
- "x": "4.8",
- "z": "11.32",
- "network_address": "wsn430-208.euratech.iot-lab.info"
- },
- {
- "y": "0.25",
- "x": "1.1",
- "z": "11.32",
- "network_address": "wsn430-209.euratech.iot-lab.info"
- },
- {
- "y": "0.9",
- "x": "1.1",
- "z": "11.32",
- "network_address": "wsn430-210.euratech.iot-lab.info"
- },
- {
- "y": "1.55",
- "x": "1.1",
- "z": "11.32",
- "network_address": "wsn430-211.euratech.iot-lab.info"
- },
- {
- "y": "2.2",
- "x": "1.1",
- "z": "11.32",
- "network_address": "wsn430-212.euratech.iot-lab.info"
- },
- {
- "y": "0.25",
- "x": "1.55",
- "z": "11.32",
- "network_address": "wsn430-213.euratech.iot-lab.info"
- },
- {
- "y": "0.9",
- "x": "1.55",
- "z": "11.32",
- "network_address": "wsn430-214.euratech.iot-lab.info"
- },
- {
- "y": "1.55",
- "x": "1.55",
- "z": "11.32",
- "network_address": "wsn430-215.euratech.iot-lab.info"
- },
- {
- "y": "2.2",
- "x": "1.55",
- "z": "11.32",
- "network_address": "wsn430-216.euratech.iot-lab.info"
- },
- {
- "y": "0.25",
- "x": "3.25",
- "z": "11.32",
- "network_address": "wsn430-217.euratech.iot-lab.info"
- },
- {
- "y": "0.9",
- "x": "3.25",
- "z": "11.32",
- "network_address": "wsn430-218.euratech.iot-lab.info"
- },
- {
- "y": "1.55",
- "x": "3.25",
- "z": "11.32",
- "network_address": "wsn430-219.euratech.iot-lab.info"
- },
- {
- "y": "2.2",
- "x": "3.25",
- "z": "11.32",
- "network_address": "wsn430-220.euratech.iot-lab.info"
- },
- {
- "y": "0.25",
- "x": "3.7",
- "z": "11.32",
- "network_address": "wsn430-221.euratech.iot-lab.info"
- },
- {
- "y": "0.9",
- "x": "3.7",
- "z": "11.32",
- "network_address": "wsn430-222.euratech.iot-lab.info"
- },
- {
- "y": "1.55",
- "x": "3.7",
- "z": "11.32",
- "network_address": "wsn430-223.euratech.iot-lab.info"
- },
- {
- "y": "2.2",
- "x": "3.7",
- "z": "11.32",
- "network_address": "wsn430-224.euratech.iot-lab.info"
- }
- ],
- "location": "euratech"
- },
- {
- "nodes": [
- {
- "y": "55.8",
- "x": "1",
- "z": "4",
- "network_address": "m3-1.saclay.iot-lab.info"
- },
- {
- "y": "55.8",
- "x": "1.8",
- "z": "4",
- "network_address": "m3-2.saclay.iot-lab.info"
- },
- {
- "y": "55.8",
- "x": "2.6",
- "z": "4",
- "network_address": "m3-3.saclay.iot-lab.info"
- },
- {
- "y": "56.8",
- "x": "1",
- "z": "4",
- "network_address": "m3-4.saclay.iot-lab.info"
- },
- {
- "y": "56.8",
- "x": "1.8",
- "z": "4",
- "network_address": "m3-5.saclay.iot-lab.info"
- },
- {
- "y": "56.8",
- "x": "2.6",
- "z": "4",
- "network_address": "m3-6.saclay.iot-lab.info"
- },
- {
- "y": "57.8",
- "x": "1",
- "z": "4",
- "network_address": "m3-7.saclay.iot-lab.info"
- },
- {
- "y": "57.8",
- "x": "1.8",
- "z": "4",
- "network_address": "m3-8.saclay.iot-lab.info"
- },
- {
- "y": "57.8",
- "x": "2.6",
- "z": "4",
- "network_address": "m3-9.saclay.iot-lab.info"
- },
- {
- "y": "58.8",
- "x": "1",
- "z": "4",
- "network_address": "m3-10.saclay.iot-lab.info"
- },
- {
- "y": "58.8",
- "x": "1.8",
- "z": "4",
- "network_address": "m3-11.saclay.iot-lab.info"
- },
- {
- "y": "58.8",
- "x": "2.6",
- "z": "4",
- "network_address": "m3-12.saclay.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-1.saclay.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-2.saclay.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-3.saclay.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-5.saclay.iot-lab.info"
- },
- {
- "y": "2.5",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-6.saclay.iot-lab.info"
- },
- {
- "y": "5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-7.saclay.iot-lab.info"
- },
- {
- "y": "5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-8.saclay.iot-lab.info"
- },
- {
- "y": "5",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-9.saclay.iot-lab.info"
- },
- {
- "y": "5",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-10.saclay.iot-lab.info"
- },
- {
- "y": "5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-11.saclay.iot-lab.info"
- },
- {
- "y": "5",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-12.saclay.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-13.saclay.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-14.saclay.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-16.saclay.iot-lab.info"
- },
- {
- "y": "7.5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-17.saclay.iot-lab.info"
- },
- {
- "y": "10",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-19.saclay.iot-lab.info"
- },
- {
- "y": "10",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-21.saclay.iot-lab.info"
- },
- {
- "y": "10",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-22.saclay.iot-lab.info"
- },
- {
- "y": "10",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-23.saclay.iot-lab.info"
- },
- {
- "y": "10",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-24.saclay.iot-lab.info"
- },
- {
- "y": "12.5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-25.saclay.iot-lab.info"
- },
- {
- "y": "12.5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-26.saclay.iot-lab.info"
- },
- {
- "y": "12.5",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-27.saclay.iot-lab.info"
- },
- {
- "y": "12.5",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-28.saclay.iot-lab.info"
- },
- {
- "y": "12.5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-29.saclay.iot-lab.info"
- },
- {
- "y": "15",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-30.saclay.iot-lab.info"
- },
- {
- "y": "15",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-31.saclay.iot-lab.info"
- },
- {
- "y": "15",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-32.saclay.iot-lab.info"
- },
- {
- "y": "15",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-33.saclay.iot-lab.info"
- },
- {
- "y": "17.5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-35.saclay.iot-lab.info"
- },
- {
- "y": "17.5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-36.saclay.iot-lab.info"
- },
- {
- "y": "17.5",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-37.saclay.iot-lab.info"
- },
- {
- "y": "17.5",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-38.saclay.iot-lab.info"
- },
- {
- "y": "17.5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-39.saclay.iot-lab.info"
- },
- {
- "y": "20",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-40.saclay.iot-lab.info"
- },
- {
- "y": "20",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-41.saclay.iot-lab.info"
- },
- {
- "y": "20",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-42.saclay.iot-lab.info"
- },
- {
- "y": "20",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-43.saclay.iot-lab.info"
- },
- {
- "y": "20",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-44.saclay.iot-lab.info"
- },
- {
- "y": "22.5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-45.saclay.iot-lab.info"
- },
- {
- "y": "22.5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-46.saclay.iot-lab.info"
- },
- {
- "y": "22.5",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-47.saclay.iot-lab.info"
- },
- {
- "y": "22.5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-49.saclay.iot-lab.info"
- },
- {
- "y": "22.5",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-50.saclay.iot-lab.info"
- },
- {
- "y": "25",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-51.saclay.iot-lab.info"
- },
- {
- "y": "25",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-52.saclay.iot-lab.info"
- },
- {
- "y": "25",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-53.saclay.iot-lab.info"
- },
- {
- "y": "25",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-54.saclay.iot-lab.info"
- },
- {
- "y": "25",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-55.saclay.iot-lab.info"
- },
- {
- "y": "25",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-56.saclay.iot-lab.info"
- },
- {
- "y": "27.5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-57.saclay.iot-lab.info"
- },
- {
- "y": "27.5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-58.saclay.iot-lab.info"
- },
- {
- "y": "27.5",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-59.saclay.iot-lab.info"
- },
- {
- "y": "27.5",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-60.saclay.iot-lab.info"
- },
- {
- "y": "27.5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-61.saclay.iot-lab.info"
- },
- {
- "y": "27.5",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-62.saclay.iot-lab.info"
- },
- {
- "y": "30",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-63.saclay.iot-lab.info"
- },
- {
- "y": "30",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-64.saclay.iot-lab.info"
- },
- {
- "y": "30",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-65.saclay.iot-lab.info"
- },
- {
- "y": "30",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-66.saclay.iot-lab.info"
- },
- {
- "y": "30",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-67.saclay.iot-lab.info"
- },
- {
- "y": "30",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-68.saclay.iot-lab.info"
- },
- {
- "y": "32.5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-69.saclay.iot-lab.info"
- },
- {
- "y": "32.5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-70.saclay.iot-lab.info"
- },
- {
- "y": "32.5",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-71.saclay.iot-lab.info"
- },
- {
- "y": "32.5",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-72.saclay.iot-lab.info"
- },
- {
- "y": "32.5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-73.saclay.iot-lab.info"
- },
- {
- "y": "32.5",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-74.saclay.iot-lab.info"
- },
- {
- "y": "35",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-75.saclay.iot-lab.info"
- },
- {
- "y": "35",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-76.saclay.iot-lab.info"
- },
- {
- "y": "35",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-77.saclay.iot-lab.info"
- },
- {
- "y": "35",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-78.saclay.iot-lab.info"
- },
- {
- "y": "35",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-79.saclay.iot-lab.info"
- },
- {
- "y": "35",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-80.saclay.iot-lab.info"
- },
- {
- "y": "37.5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-81.saclay.iot-lab.info"
- },
- {
- "y": "37.5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-82.saclay.iot-lab.info"
- },
- {
- "y": "37.5",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-83.saclay.iot-lab.info"
- },
- {
- "y": "37.5",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-84.saclay.iot-lab.info"
- },
- {
- "y": "37.5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-85.saclay.iot-lab.info"
- },
- {
- "y": "37.5",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-86.saclay.iot-lab.info"
- },
- {
- "y": "40.0",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-87.saclay.iot-lab.info"
- },
- {
- "y": "40.0",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-88.saclay.iot-lab.info"
- },
- {
- "y": "40.0",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-89.saclay.iot-lab.info"
- },
- {
- "y": "40.0",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-90.saclay.iot-lab.info"
- },
- {
- "y": "40.0",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-91.saclay.iot-lab.info"
- },
- {
- "y": "40.0",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-92.saclay.iot-lab.info"
- },
- {
- "y": "42.5",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-93.saclay.iot-lab.info"
- },
- {
- "y": "42.5",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-94.saclay.iot-lab.info"
- },
- {
- "y": "42.5",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-95.saclay.iot-lab.info"
- },
- {
- "y": "42.5",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-96.saclay.iot-lab.info"
- },
- {
- "y": "42.5",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-97.saclay.iot-lab.info"
- },
- {
- "y": "42.5",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-98.saclay.iot-lab.info"
- },
- {
- "y": "45",
- "x": "2.5",
- "z": "2.5",
- "network_address": "a8-99.saclay.iot-lab.info"
- },
- {
- "y": "45",
- "x": "8.5",
- "z": "2.5",
- "network_address": "a8-100.saclay.iot-lab.info"
- },
- {
- "y": "45",
- "x": "11.5",
- "z": "2.5",
- "network_address": "a8-101.saclay.iot-lab.info"
- },
- {
- "y": "45",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-102.saclay.iot-lab.info"
- },
- {
- "y": "45",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-103.saclay.iot-lab.info"
- },
- {
- "y": "45",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-104.saclay.iot-lab.info"
- },
- {
- "y": "47",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-105.saclay.iot-lab.info"
- },
- {
- "y": "47",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-106.saclay.iot-lab.info"
- },
- {
- "y": "47",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-107.saclay.iot-lab.info"
- },
- {
- "y": "50",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-108.saclay.iot-lab.info"
- },
- {
- "y": "50",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-109.saclay.iot-lab.info"
- },
- {
- "y": "50",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-110.saclay.iot-lab.info"
- },
- {
- "y": "52",
- "x": "15.5",
- "z": "2.5",
- "network_address": "a8-111.saclay.iot-lab.info"
- },
- {
- "y": "52",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-112.saclay.iot-lab.info"
- },
- {
- "y": "52",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-113.saclay.iot-lab.info"
- },
- {
- "y": "54",
- "x": "20.5",
- "z": "2.5",
- "network_address": "a8-114.saclay.iot-lab.info"
- },
- {
- "y": "54",
- "x": "24.5",
- "z": "2.5",
- "network_address": "a8-115.saclay.iot-lab.info"
- },
- {
- "y": "46.8",
- "x": "1",
- "z": "5",
- "network_address": "a8-116.saclay.iot-lab.info"
- },
- {
- "y": "46.8",
- "x": "1.8",
- "z": "5",
- "network_address": "a8-117.saclay.iot-lab.info"
- },
- {
- "y": "48.3",
- "x": "1",
- "z": "5",
- "network_address": "a8-119.saclay.iot-lab.info"
- },
- {
- "y": "48.3",
- "x": "1.8",
- "z": "5",
- "network_address": "a8-120.saclay.iot-lab.info"
- },
- {
- "y": "48.3",
- "x": "2.6",
- "z": "5",
- "network_address": "a8-121.saclay.iot-lab.info"
- },
- {
- "y": "51.8",
- "x": "1",
- "z": "5",
- "network_address": "a8-122.saclay.iot-lab.info"
- },
- {
- "y": "51.8",
- "x": "2.6",
- "z": "5",
- "network_address": "a8-124.saclay.iot-lab.info"
- },
- {
- "y": "52.8",
- "x": "1",
- "z": "5",
- "network_address": "a8-125.saclay.iot-lab.info"
- },
- {
- "y": "52.8",
- "x": "1.8",
- "z": "5",
- "network_address": "a8-126.saclay.iot-lab.info"
- },
- {
- "y": "52.8",
- "x": "2.6",
- "z": "5",
- "network_address": "a8-127.saclay.iot-lab.info"
- },
- {
- "y": "53.8",
- "x": "1",
- "z": "5",
- "network_address": "a8-128.saclay.iot-lab.info"
- },
- {
- "y": "53.8",
- "x": "2.6",
- "z": "5",
- "network_address": "a8-130.saclay.iot-lab.info"
- },
- {
- "y": "54.8",
- "x": "1",
- "z": "5",
- "network_address": "a8-131.saclay.iot-lab.info"
- },
- {
- "y": "54.8",
- "x": "1.8",
- "z": "5",
- "network_address": "a8-132.saclay.iot-lab.info"
- },
- {
- "y": "54.8",
- "x": "2.6",
- "z": "5",
- "network_address": "a8-133.saclay.iot-lab.info"
- },
- {
- "y": "55.8",
- "x": "1.8",
- "z": "5",
- "network_address": "a8-135.saclay.iot-lab.info"
- },
- {
- "y": "55.8",
- "x": "2.6",
- "z": "5",
- "network_address": "a8-136.saclay.iot-lab.info"
- },
- {
- "y": "56.8",
- "x": "1",
- "z": "5",
- "network_address": "a8-137.saclay.iot-lab.info"
- },
- {
- "y": "56.8",
- "x": "1.8",
- "z": "5",
- "network_address": "a8-138.saclay.iot-lab.info"
- },
- {
- "y": "56.8",
- "x": "2.6",
- "z": "5",
- "network_address": "a8-139.saclay.iot-lab.info"
- },
- {
- "y": "57.8",
- "x": "1",
- "z": "5",
- "network_address": "a8-140.saclay.iot-lab.info"
- },
- {
- "y": "57.8",
- "x": "1.8",
- "z": "5",
- "network_address": "a8-141.saclay.iot-lab.info"
- },
- {
- "y": "57.8",
- "x": "2.6",
- "z": "5",
- "network_address": "a8-142.saclay.iot-lab.info"
- },
- {
- "y": "58.8",
- "x": "1",
- "z": "5",
- "network_address": "a8-143.saclay.iot-lab.info"
- },
- {
- "y": "58.8",
- "x": "1.8",
- "z": "5",
- "network_address": "a8-144.saclay.iot-lab.info"
- },
- {
- "y": "58.8",
- "x": "2.6",
- "z": "5",
- "network_address": "a8-145.saclay.iot-lab.info"
- },
- {
- "y": "64.3",
- "x": "0.8",
- "z": "5",
- "network_address": "a8-146.saclay.iot-lab.info"
- },
- {
- "y": "64.3",
- "x": "2",
- "z": "5",
- "network_address": "a8-147.saclay.iot-lab.info"
- },
- {
- "y": "64.3",
- "x": "3",
- "z": "5",
- "network_address": "a8-148.saclay.iot-lab.info"
- },
- {
- "y": "64.3",
- "x": "4",
- "z": "5",
- "network_address": "a8-149.saclay.iot-lab.info"
- },
- {
- "y": "64.3",
- "x": "5",
- "z": "5",
- "network_address": "a8-150.saclay.iot-lab.info"
- },
- {
- "y": "65.3",
- "x": "0.8",
- "z": "5",
- "network_address": "a8-151.saclay.iot-lab.info"
- },
- {
- "y": "65.3",
- "x": "2",
- "z": "5",
- "network_address": "a8-152.saclay.iot-lab.info"
- },
- {
- "y": "65.3",
- "x": "3",
- "z": "5",
- "network_address": "a8-153.saclay.iot-lab.info"
- },
- {
- "y": "65.3",
- "x": "4",
- "z": "5",
- "network_address": "a8-154.saclay.iot-lab.info"
- },
- {
- "y": "65.3",
- "x": "5",
- "z": "5",
- "network_address": "a8-155.saclay.iot-lab.info"
- },
- {
- "y": "66.3",
- "x": "0.8",
- "z": "5",
- "network_address": "a8-156.saclay.iot-lab.info"
- },
- {
- "y": "66.3",
- "x": "2",
- "z": "5",
- "network_address": "a8-157.saclay.iot-lab.info"
- },
- {
- "y": "66.3",
- "x": "3",
- "z": "5",
- "network_address": "a8-158.saclay.iot-lab.info"
- },
- {
- "y": "66.3",
- "x": "4",
- "z": "5",
- "network_address": "a8-159.saclay.iot-lab.info"
- },
- {
- "y": "66.3",
- "x": "5",
- "z": "5",
- "network_address": "a8-160.saclay.iot-lab.info"
- },
- {
- "y": "67.3",
- "x": "2",
- "z": "5",
- "network_address": "a8-162.saclay.iot-lab.info"
- },
- {
- "y": "67.3",
- "x": "3",
- "z": "5",
- "network_address": "a8-163.saclay.iot-lab.info"
- },
- {
- "y": "67.3",
- "x": "4",
- "z": "5",
- "network_address": "a8-164.saclay.iot-lab.info"
- },
- {
- "y": "67.3",
- "x": "5",
- "z": "5",
- "network_address": "a8-165.saclay.iot-lab.info"
- },
- {
- "y": "68.3",
- "x": "1",
- "z": "5",
- "network_address": "a8-166.saclay.iot-lab.info"
- },
- {
- "y": "68.3",
- "x": "2",
- "z": "5",
- "network_address": "a8-167.saclay.iot-lab.info"
- },
- {
- "y": "68.3",
- "x": "3",
- "z": "5",
- "network_address": "a8-168.saclay.iot-lab.info"
- },
- {
- "y": "68.3",
- "x": "4",
- "z": "5",
- "network_address": "a8-169.saclay.iot-lab.info"
- },
- {
- "y": "68.3",
- "x": "5",
- "z": "5",
- "network_address": "a8-170.saclay.iot-lab.info"
- },
- {
- "y": "69.3",
- "x": "1",
- "z": "5",
- "network_address": "a8-171.saclay.iot-lab.info"
- },
- {
- "y": "69.3",
- "x": "2",
- "z": "5",
- "network_address": "a8-172.saclay.iot-lab.info"
- },
- {
- "y": "69.3",
- "x": "3",
- "z": "5",
- "network_address": "a8-173.saclay.iot-lab.info"
- },
- {
- "y": "69.3",
- "x": "4",
- "z": "5",
- "network_address": "a8-174.saclay.iot-lab.info"
- },
- {
- "y": "69.3",
- "x": "5",
- "z": "5",
- "network_address": "a8-175.saclay.iot-lab.info"
- },
- {
- "y": "53.8",
- "x": "1",
- "z": "4",
- "network_address": "custom-1.saclay.iot-lab.info"
- },
- {
- "y": "53.8",
- "x": "1.8",
- "z": "4",
- "network_address": "custom-2.saclay.iot-lab.info"
- },
- {
- "y": "53.8",
- "x": "2.6",
- "z": "4",
- "network_address": "custom-3.saclay.iot-lab.info"
- },
- {
- "y": "54.8",
- "x": "1",
- "z": "4",
- "network_address": "custom-4.saclay.iot-lab.info"
- },
- {
- "y": "54.8",
- "x": "1.8",
- "z": "4",
- "network_address": "custom-5.saclay.iot-lab.info"
- },
- {
- "y": "54.8",
- "x": "2.6",
- "z": "4",
- "network_address": "custom-6.saclay.iot-lab.info"
- },
- {
- "y": "63.3",
- "x": "0.8",
- "z": "4",
- "network_address": "custom-7.saclay.iot-lab.info"
- },
- {
- "y": "63.3",
- "x": "0.8",
- "z": "5",
- "network_address": "custom-8.saclay.iot-lab.info"
- }
- ],
- "location": "saclay"
- },
- {
- "nodes": [
- {
- "y": "0.744",
- "x": "-4.62",
- "z": "2.912",
- "network_address": "wsn430-2.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "-4.62",
- "z": "2.911",
- "network_address": "wsn430-3.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "-4.62",
- "z": "2.911",
- "network_address": "wsn430-5.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "-4.62",
- "z": "2.91",
- "network_address": "wsn430-6.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "-4.62",
- "z": "2.91",
- "network_address": "wsn430-7.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "-4.62",
- "z": "2.91",
- "network_address": "wsn430-8.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "-4.62",
- "z": "2.91",
- "network_address": "wsn430-9.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "-4.62",
- "z": "2.909",
- "network_address": "wsn430-10.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "-4.62",
- "z": "2.909",
- "network_address": "wsn430-11.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "-4.62",
- "z": "2.909",
- "network_address": "wsn430-12.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "-4.62",
- "z": "2.908",
- "network_address": "wsn430-13.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "-4.62",
- "z": "2.908",
- "network_address": "wsn430-14.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "-4.62",
- "z": "2.908",
- "network_address": "wsn430-15.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "-4.62",
- "z": "2.907",
- "network_address": "wsn430-16.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "-4.62",
- "z": "2.907",
- "network_address": "wsn430-17.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "-4.62",
- "z": "2.907",
- "network_address": "wsn430-18.rennes.iot-lab.info"
- },
- {
- "y": "11.014",
- "x": "-4.62",
- "z": "2.907",
- "network_address": "wsn430-19.rennes.iot-lab.info"
- },
- {
- "y": "11.618",
- "x": "-4.62",
- "z": "2.906",
- "network_address": "wsn430-20.rennes.iot-lab.info"
- },
- {
- "y": "12.222",
- "x": "-4.62",
- "z": "2.906",
- "network_address": "wsn430-21.rennes.iot-lab.info"
- },
- {
- "y": "12.826",
- "x": "-4.62",
- "z": "2.906",
- "network_address": "wsn430-22.rennes.iot-lab.info"
- },
- {
- "y": "13.431",
- "x": "-4.62",
- "z": "2.905",
- "network_address": "wsn430-23.rennes.iot-lab.info"
- },
- {
- "y": "14.035",
- "x": "-4.62",
- "z": "2.905",
- "network_address": "wsn430-24.rennes.iot-lab.info"
- },
- {
- "y": "0.14",
- "x": "-3.796",
- "z": "2.912",
- "network_address": "wsn430-25.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "-3.796",
- "z": "2.912",
- "network_address": "wsn430-26.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "-3.796",
- "z": "2.911",
- "network_address": "wsn430-27.rennes.iot-lab.info"
- },
- {
- "y": "1.952",
- "x": "-3.796",
- "z": "2.911",
- "network_address": "wsn430-28.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "-3.796",
- "z": "2.911",
- "network_address": "wsn430-29.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "-3.796",
- "z": "2.91",
- "network_address": "wsn430-30.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "-3.796",
- "z": "2.91",
- "network_address": "wsn430-31.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "-3.796",
- "z": "2.91",
- "network_address": "wsn430-32.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "-3.796",
- "z": "2.909",
- "network_address": "wsn430-34.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "-3.796",
- "z": "2.909",
- "network_address": "wsn430-35.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "-3.796",
- "z": "2.909",
- "network_address": "wsn430-36.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "-3.796",
- "z": "2.908",
- "network_address": "wsn430-37.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "-3.796",
- "z": "2.908",
- "network_address": "wsn430-38.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "-3.796",
- "z": "2.908",
- "network_address": "wsn430-39.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "-3.796",
- "z": "2.907",
- "network_address": "wsn430-40.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "-3.796",
- "z": "2.907",
- "network_address": "wsn430-41.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "-3.796",
- "z": "2.907",
- "network_address": "wsn430-42.rennes.iot-lab.info"
- },
- {
- "y": "11.014",
- "x": "-3.796",
- "z": "2.907",
- "network_address": "wsn430-43.rennes.iot-lab.info"
- },
- {
- "y": "11.618",
- "x": "-3.796",
- "z": "2.906",
- "network_address": "wsn430-44.rennes.iot-lab.info"
- },
- {
- "y": "12.222",
- "x": "-3.796",
- "z": "2.906",
- "network_address": "wsn430-45.rennes.iot-lab.info"
- },
- {
- "y": "12.826",
- "x": "-3.796",
- "z": "2.906",
- "network_address": "wsn430-46.rennes.iot-lab.info"
- },
- {
- "y": "0.14",
- "x": "-2.972",
- "z": "2.912",
- "network_address": "wsn430-49.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "-2.972",
- "z": "2.912",
- "network_address": "wsn430-50.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "-2.972",
- "z": "2.911",
- "network_address": "wsn430-51.rennes.iot-lab.info"
- },
- {
- "y": "1.952",
- "x": "-2.972",
- "z": "2.911",
- "network_address": "wsn430-52.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "-2.972",
- "z": "2.911",
- "network_address": "wsn430-53.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "-2.972",
- "z": "2.91",
- "network_address": "wsn430-54.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "-2.972",
- "z": "2.91",
- "network_address": "wsn430-55.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "-2.972",
- "z": "2.91",
- "network_address": "wsn430-56.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "-2.972",
- "z": "2.91",
- "network_address": "wsn430-57.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "-2.972",
- "z": "2.909",
- "network_address": "wsn430-58.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "-2.972",
- "z": "2.909",
- "network_address": "wsn430-59.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "-2.972",
- "z": "2.909",
- "network_address": "wsn430-60.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "-2.972",
- "z": "2.908",
- "network_address": "wsn430-61.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "-2.972",
- "z": "2.908",
- "network_address": "wsn430-62.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "-2.972",
- "z": "2.908",
- "network_address": "wsn430-63.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "-2.972",
- "z": "2.907",
- "network_address": "wsn430-64.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "-2.972",
- "z": "2.907",
- "network_address": "wsn430-65.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "-2.972",
- "z": "2.907",
- "network_address": "wsn430-66.rennes.iot-lab.info"
- },
- {
- "y": "11.014",
- "x": "-2.972",
- "z": "2.907",
- "network_address": "wsn430-67.rennes.iot-lab.info"
- },
- {
- "y": "11.618",
- "x": "-2.972",
- "z": "2.906",
- "network_address": "wsn430-68.rennes.iot-lab.info"
- },
- {
- "y": "12.222",
- "x": "-2.972",
- "z": "2.906",
- "network_address": "wsn430-69.rennes.iot-lab.info"
- },
- {
- "y": "12.826",
- "x": "-2.972",
- "z": "2.906",
- "network_address": "wsn430-70.rennes.iot-lab.info"
- },
- {
- "y": "13.431",
- "x": "-2.972",
- "z": "2.905",
- "network_address": "wsn430-71.rennes.iot-lab.info"
- },
- {
- "y": "0.14",
- "x": "-2.148",
- "z": "2.912",
- "network_address": "wsn430-73.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "-2.148",
- "z": "2.912",
- "network_address": "wsn430-74.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "-2.148",
- "z": "2.911",
- "network_address": "wsn430-75.rennes.iot-lab.info"
- },
- {
- "y": "1.952",
- "x": "-2.148",
- "z": "2.911",
- "network_address": "wsn430-76.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "-2.148",
- "z": "2.911",
- "network_address": "wsn430-77.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "-2.148",
- "z": "2.91",
- "network_address": "wsn430-78.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "-2.148",
- "z": "2.91",
- "network_address": "wsn430-80.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "-2.148",
- "z": "2.91",
- "network_address": "wsn430-81.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "-2.148",
- "z": "2.909",
- "network_address": "wsn430-82.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "-2.148",
- "z": "2.909",
- "network_address": "wsn430-83.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "-2.148",
- "z": "2.909",
- "network_address": "wsn430-84.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "-2.148",
- "z": "2.908",
- "network_address": "wsn430-85.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "-2.148",
- "z": "2.908",
- "network_address": "wsn430-86.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "-2.148",
- "z": "2.908",
- "network_address": "wsn430-87.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "-2.148",
- "z": "2.907",
- "network_address": "wsn430-88.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "-2.148",
- "z": "2.907",
- "network_address": "wsn430-89.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "-2.148",
- "z": "2.907",
- "network_address": "wsn430-90.rennes.iot-lab.info"
- },
- {
- "y": "11.014",
- "x": "-2.148",
- "z": "2.907",
- "network_address": "wsn430-91.rennes.iot-lab.info"
- },
- {
- "y": "11.618",
- "x": "-2.148",
- "z": "2.906",
- "network_address": "wsn430-92.rennes.iot-lab.info"
- },
- {
- "y": "12.222",
- "x": "-2.148",
- "z": "2.906",
- "network_address": "wsn430-93.rennes.iot-lab.info"
- },
- {
- "y": "12.826",
- "x": "-2.148",
- "z": "2.906",
- "network_address": "wsn430-94.rennes.iot-lab.info"
- },
- {
- "y": "13.431",
- "x": "-2.148",
- "z": "2.905",
- "network_address": "wsn430-95.rennes.iot-lab.info"
- },
- {
- "y": "14.035",
- "x": "-2.148",
- "z": "2.905",
- "network_address": "wsn430-96.rennes.iot-lab.info"
- },
- {
- "y": "0.14",
- "x": "-1.324",
- "z": "2.912",
- "network_address": "wsn430-97.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "-1.324",
- "z": "2.911",
- "network_address": "wsn430-99.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "-1.324",
- "z": "2.911",
- "network_address": "wsn430-101.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "-1.324",
- "z": "2.91",
- "network_address": "wsn430-102.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "-1.324",
- "z": "2.91",
- "network_address": "wsn430-104.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "-1.324",
- "z": "2.909",
- "network_address": "wsn430-106.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "-1.324",
- "z": "2.908",
- "network_address": "wsn430-109.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "-1.324",
- "z": "2.908",
- "network_address": "wsn430-110.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "-1.324",
- "z": "2.908",
- "network_address": "wsn430-111.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "-1.324",
- "z": "2.907",
- "network_address": "wsn430-112.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "-1.324",
- "z": "2.907",
- "network_address": "wsn430-113.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "-1.324",
- "z": "2.907",
- "network_address": "wsn430-114.rennes.iot-lab.info"
- },
- {
- "y": "11.618",
- "x": "-1.324",
- "z": "2.906",
- "network_address": "wsn430-116.rennes.iot-lab.info"
- },
- {
- "y": "12.826",
- "x": "-1.324",
- "z": "2.906",
- "network_address": "wsn430-118.rennes.iot-lab.info"
- },
- {
- "y": "13.431",
- "x": "-1.324",
- "z": "2.905",
- "network_address": "wsn430-119.rennes.iot-lab.info"
- },
- {
- "y": "14.035",
- "x": "-1.324",
- "z": "2.905",
- "network_address": "wsn430-120.rennes.iot-lab.info"
- },
- {
- "y": "0.14",
- "x": "-0.5",
- "z": "2.912",
- "network_address": "wsn430-121.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "-0.5",
- "z": "2.912",
- "network_address": "wsn430-122.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "-0.5",
- "z": "2.911",
- "network_address": "wsn430-123.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "-0.5",
- "z": "2.911",
- "network_address": "wsn430-125.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "-0.5",
- "z": "2.91",
- "network_address": "wsn430-126.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "-0.5",
- "z": "2.91",
- "network_address": "wsn430-127.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "-0.5",
- "z": "2.91",
- "network_address": "wsn430-128.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "-0.5",
- "z": "2.91",
- "network_address": "wsn430-129.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "-0.5",
- "z": "2.908",
- "network_address": "wsn430-133.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "-0.5",
- "z": "2.908",
- "network_address": "wsn430-134.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "-0.5",
- "z": "2.908",
- "network_address": "wsn430-135.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "-0.5",
- "z": "2.907",
- "network_address": "wsn430-136.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "-0.5",
- "z": "2.907",
- "network_address": "wsn430-138.rennes.iot-lab.info"
- },
- {
- "y": "11.014",
- "x": "-0.5",
- "z": "2.907",
- "network_address": "wsn430-139.rennes.iot-lab.info"
- },
- {
- "y": "11.618",
- "x": "-0.5",
- "z": "2.906",
- "network_address": "wsn430-140.rennes.iot-lab.info"
- },
- {
- "y": "12.222",
- "x": "-0.5",
- "z": "2.906",
- "network_address": "wsn430-141.rennes.iot-lab.info"
- },
- {
- "y": "12.826",
- "x": "-0.5",
- "z": "2.906",
- "network_address": "wsn430-142.rennes.iot-lab.info"
- },
- {
- "y": "13.431",
- "x": "-0.5",
- "z": "2.905",
- "network_address": "wsn430-143.rennes.iot-lab.info"
- },
- {
- "y": "14.035",
- "x": "-0.5",
- "z": "2.905",
- "network_address": "wsn430-144.rennes.iot-lab.info"
- },
- {
- "y": "0.51",
- "x": "0.66",
- "z": "2.66",
- "network_address": "wsn430-145.rennes.iot-lab.info"
- },
- {
- "y": "1.46",
- "x": "0.66",
- "z": "2.8",
- "network_address": "wsn430-146.rennes.iot-lab.info"
- },
- {
- "y": "2.51",
- "x": "0.66",
- "z": "2.69",
- "network_address": "wsn430-147.rennes.iot-lab.info"
- },
- {
- "y": "3.11",
- "x": "0.66",
- "z": "2.7",
- "network_address": "wsn430-148.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "2.26",
- "z": "2.912",
- "network_address": "wsn430-150.rennes.iot-lab.info"
- },
- {
- "y": "1.952",
- "x": "2.26",
- "z": "2.911",
- "network_address": "wsn430-152.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "2.26",
- "z": "2.91",
- "network_address": "wsn430-153.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "2.26",
- "z": "2.91",
- "network_address": "wsn430-154.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "2.26",
- "z": "2.91",
- "network_address": "wsn430-155.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "2.26",
- "z": "2.909",
- "network_address": "wsn430-156.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "2.26",
- "z": "2.909",
- "network_address": "wsn430-157.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "2.26",
- "z": "2.908",
- "network_address": "wsn430-158.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "2.26",
- "z": "2.908",
- "network_address": "wsn430-159.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "2.26",
- "z": "2.907",
- "network_address": "wsn430-160.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "2.26",
- "z": "2.907",
- "network_address": "wsn430-161.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "2.26",
- "z": "2.907",
- "network_address": "wsn430-162.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "2.26",
- "z": "2.906",
- "network_address": "wsn430-163.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "2.26",
- "z": "2.906",
- "network_address": "wsn430-164.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "2.26",
- "z": "2.905",
- "network_address": "wsn430-165.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "2.26",
- "z": "2.905",
- "network_address": "wsn430-166.rennes.iot-lab.info"
- },
- {
- "y": "0.14",
- "x": "3.084",
- "z": "2.912",
- "network_address": "wsn430-167.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "3.084",
- "z": "2.912",
- "network_address": "wsn430-168.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "3.084",
- "z": "2.911",
- "network_address": "wsn430-169.rennes.iot-lab.info"
- },
- {
- "y": "1.952",
- "x": "3.084",
- "z": "2.911",
- "network_address": "wsn430-170.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "3.084",
- "z": "2.91",
- "network_address": "wsn430-171.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "3.084",
- "z": "2.91",
- "network_address": "wsn430-172.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "3.084",
- "z": "2.91",
- "network_address": "wsn430-173.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "3.084",
- "z": "2.909",
- "network_address": "wsn430-174.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "3.084",
- "z": "2.909",
- "network_address": "wsn430-175.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "3.084",
- "z": "2.908",
- "network_address": "wsn430-176.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "3.084",
- "z": "2.908",
- "network_address": "wsn430-177.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "3.084",
- "z": "2.907",
- "network_address": "wsn430-178.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "3.084",
- "z": "2.907",
- "network_address": "wsn430-179.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "3.084",
- "z": "2.907",
- "network_address": "wsn430-180.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "3.084",
- "z": "2.906",
- "network_address": "wsn430-181.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "3.084",
- "z": "2.906",
- "network_address": "wsn430-182.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "3.084",
- "z": "2.905",
- "network_address": "wsn430-183.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "3.084",
- "z": "2.905",
- "network_address": "wsn430-184.rennes.iot-lab.info"
- },
- {
- "y": "0.14",
- "x": "3.908",
- "z": "2.912",
- "network_address": "wsn430-185.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "3.908",
- "z": "2.912",
- "network_address": "wsn430-186.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "3.908",
- "z": "2.911",
- "network_address": "wsn430-187.rennes.iot-lab.info"
- },
- {
- "y": "1.952",
- "x": "3.908",
- "z": "2.911",
- "network_address": "wsn430-188.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "3.908",
- "z": "2.91",
- "network_address": "wsn430-189.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "3.908",
- "z": "2.91",
- "network_address": "wsn430-190.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "3.908",
- "z": "2.91",
- "network_address": "wsn430-191.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "3.908",
- "z": "2.909",
- "network_address": "wsn430-193.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "3.908",
- "z": "2.908",
- "network_address": "wsn430-194.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "3.908",
- "z": "2.908",
- "network_address": "wsn430-195.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "3.908",
- "z": "2.907",
- "network_address": "wsn430-196.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "3.908",
- "z": "2.907",
- "network_address": "wsn430-197.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "3.908",
- "z": "2.907",
- "network_address": "wsn430-198.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "3.908",
- "z": "2.906",
- "network_address": "wsn430-199.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "3.908",
- "z": "2.906",
- "network_address": "wsn430-200.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "3.908",
- "z": "2.905",
- "network_address": "wsn430-201.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "3.908",
- "z": "2.905",
- "network_address": "wsn430-202.rennes.iot-lab.info"
- },
- {
- "y": "0.14",
- "x": "4.732",
- "z": "2.912",
- "network_address": "wsn430-203.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "4.732",
- "z": "2.912",
- "network_address": "wsn430-204.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "4.732",
- "z": "2.911",
- "network_address": "wsn430-205.rennes.iot-lab.info"
- },
- {
- "y": "1.952",
- "x": "4.732",
- "z": "2.911",
- "network_address": "wsn430-206.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "4.732",
- "z": "2.91",
- "network_address": "wsn430-207.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "4.732",
- "z": "2.91",
- "network_address": "wsn430-208.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "4.732",
- "z": "2.91",
- "network_address": "wsn430-209.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "4.732",
- "z": "2.909",
- "network_address": "wsn430-210.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "4.732",
- "z": "2.909",
- "network_address": "wsn430-211.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "4.732",
- "z": "2.908",
- "network_address": "wsn430-212.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "4.732",
- "z": "2.908",
- "network_address": "wsn430-213.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "4.732",
- "z": "2.907",
- "network_address": "wsn430-214.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "4.732",
- "z": "2.907",
- "network_address": "wsn430-215.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "4.732",
- "z": "2.907",
- "network_address": "wsn430-216.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "4.732",
- "z": "2.906",
- "network_address": "wsn430-217.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "4.732",
- "z": "2.906",
- "network_address": "wsn430-218.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "4.732",
- "z": "2.905",
- "network_address": "wsn430-219.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "4.732",
- "z": "2.905",
- "network_address": "wsn430-220.rennes.iot-lab.info"
- },
- {
- "y": "0.14",
- "x": "5.556",
- "z": "2.912",
- "network_address": "wsn430-221.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "5.556",
- "z": "2.912",
- "network_address": "wsn430-222.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "5.556",
- "z": "2.911",
- "network_address": "wsn430-223.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "5.556",
- "z": "2.91",
- "network_address": "wsn430-225.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "5.556",
- "z": "2.91",
- "network_address": "wsn430-226.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "5.556",
- "z": "2.91",
- "network_address": "wsn430-227.rennes.iot-lab.info"
- },
- {
- "y": "4.369",
- "x": "5.556",
- "z": "2.909",
- "network_address": "wsn430-228.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "5.556",
- "z": "2.909",
- "network_address": "wsn430-229.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "5.556",
- "z": "2.908",
- "network_address": "wsn430-230.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "5.556",
- "z": "2.908",
- "network_address": "wsn430-231.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "5.556",
- "z": "2.907",
- "network_address": "wsn430-232.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "5.556",
- "z": "2.907",
- "network_address": "wsn430-233.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "5.556",
- "z": "2.907",
- "network_address": "wsn430-234.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "5.556",
- "z": "2.906",
- "network_address": "wsn430-235.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "5.556",
- "z": "2.906",
- "network_address": "wsn430-236.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "5.556",
- "z": "2.905",
- "network_address": "wsn430-237.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "5.556",
- "z": "2.905",
- "network_address": "wsn430-238.rennes.iot-lab.info"
- },
- {
- "y": "0.744",
- "x": "6.38",
- "z": "2.912",
- "network_address": "wsn430-240.rennes.iot-lab.info"
- },
- {
- "y": "1.348",
- "x": "6.38",
- "z": "2.911",
- "network_address": "wsn430-241.rennes.iot-lab.info"
- },
- {
- "y": "1.952",
- "x": "6.38",
- "z": "2.911",
- "network_address": "wsn430-242.rennes.iot-lab.info"
- },
- {
- "y": "2.556",
- "x": "6.38",
- "z": "2.91",
- "network_address": "wsn430-243.rennes.iot-lab.info"
- },
- {
- "y": "3.161",
- "x": "6.38",
- "z": "2.91",
- "network_address": "wsn430-244.rennes.iot-lab.info"
- },
- {
- "y": "3.765",
- "x": "6.38",
- "z": "2.91",
- "network_address": "wsn430-245.rennes.iot-lab.info"
- },
- {
- "y": "4.973",
- "x": "6.38",
- "z": "2.909",
- "network_address": "wsn430-247.rennes.iot-lab.info"
- },
- {
- "y": "5.577",
- "x": "6.38",
- "z": "2.908",
- "network_address": "wsn430-248.rennes.iot-lab.info"
- },
- {
- "y": "6.181",
- "x": "6.38",
- "z": "2.908",
- "network_address": "wsn430-249.rennes.iot-lab.info"
- },
- {
- "y": "6.785",
- "x": "6.38",
- "z": "2.907",
- "network_address": "wsn430-250.rennes.iot-lab.info"
- },
- {
- "y": "7.389",
- "x": "6.38",
- "z": "2.907",
- "network_address": "wsn430-251.rennes.iot-lab.info"
- },
- {
- "y": "7.994",
- "x": "6.38",
- "z": "2.907",
- "network_address": "wsn430-252.rennes.iot-lab.info"
- },
- {
- "y": "8.598",
- "x": "6.38",
- "z": "2.906",
- "network_address": "wsn430-253.rennes.iot-lab.info"
- },
- {
- "y": "9.202",
- "x": "6.38",
- "z": "2.906",
- "network_address": "wsn430-254.rennes.iot-lab.info"
- },
- {
- "y": "9.806",
- "x": "6.38",
- "z": "2.905",
- "network_address": "wsn430-255.rennes.iot-lab.info"
- },
- {
- "y": "10.41",
- "x": "6.38",
- "z": "2.905",
- "network_address": "wsn430-256.rennes.iot-lab.info"
- }
- ],
- "location": "rennes"
- },
- {
- "nodes": [
- {
- "y": "26.76",
- "x": "20.70",
- "z": "-0.04",
- "network_address": "m3-2.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "21.90",
- "z": "-0.04",
- "network_address": "m3-4.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "22.50",
- "z": "-0.04",
- "network_address": "m3-5.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "26.95",
- "z": "-0.04",
- "network_address": "m3-11.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "28.15",
- "z": "-0.04",
- "network_address": "m3-13.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "28.75",
- "z": "-0.04",
- "network_address": "m3-14.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "29.35",
- "z": "-0.04",
- "network_address": "m3-15.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "32.95",
- "z": "-0.04",
- "network_address": "m3-21.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "34.15",
- "z": "-0.04",
- "network_address": "m3-23.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "35.35",
- "z": "-0.04",
- "network_address": "m3-25.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "38.35",
- "z": "-0.04",
- "network_address": "m3-30.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "38.95",
- "z": "-0.04",
- "network_address": "m3-31.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "39.55",
- "z": "-0.04",
- "network_address": "m3-32.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "40.15",
- "z": "-0.04",
- "network_address": "m3-33.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "41.35",
- "z": "-0.04",
- "network_address": "m3-35.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "42.55",
- "z": "-0.04",
- "network_address": "m3-37.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "43.15",
- "z": "-0.04",
- "network_address": "m3-38.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "43.75",
- "z": "-0.04",
- "network_address": "m3-39.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "44.35",
- "z": "-0.04",
- "network_address": "m3-40.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "49.15",
- "z": "-0.04",
- "network_address": "m3-48.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "49.75",
- "z": "-0.04",
- "network_address": "m3-49.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "50.95",
- "z": "-0.04",
- "network_address": "m3-51.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "53.35",
- "z": "-0.04",
- "network_address": "m3-55.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "55.75",
- "z": "-0.04",
- "network_address": "m3-59.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "56.95",
- "z": "-0.04",
- "network_address": "m3-61.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "58.15",
- "z": "-0.04",
- "network_address": "m3-63.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "59.35",
- "z": "-0.04",
- "network_address": "m3-65.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "61.15",
- "z": "-0.04",
- "network_address": "m3-68.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "61.75",
- "z": "-0.04",
- "network_address": "m3-69.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "16.42",
- "z": "-0.04",
- "network_address": "m3-71.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "15.82",
- "z": "-0.04",
- "network_address": "m3-72.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "15.22",
- "z": "-0.04",
- "network_address": "m3-73.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "12.82",
- "z": "-0.04",
- "network_address": "m3-77.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "11.02",
- "z": "-0.04",
- "network_address": "m3-80.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "8.02",
- "z": "-0.04",
- "network_address": "m3-85.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "6.22",
- "z": "-0.04",
- "network_address": "m3-88.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "4.42",
- "z": "-0.04",
- "network_address": "m3-91.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "2.62",
- "z": "-0.04",
- "network_address": "m3-94.grenoble.iot-lab.info"
- },
- {
- "y": "24.63",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-101.grenoble.iot-lab.info"
- },
- {
- "y": "24.63",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-102.grenoble.iot-lab.info"
- },
- {
- "y": "23.43",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-105.grenoble.iot-lab.info"
- },
- {
- "y": "23.43",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-106.grenoble.iot-lab.info"
- },
- {
- "y": "22.23",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-109.grenoble.iot-lab.info"
- },
- {
- "y": "21.03",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-113.grenoble.iot-lab.info"
- },
- {
- "y": "21.03",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-114.grenoble.iot-lab.info"
- },
- {
- "y": "20.43",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-115.grenoble.iot-lab.info"
- },
- {
- "y": "20.43",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-116.grenoble.iot-lab.info"
- },
- {
- "y": "19.83",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-117.grenoble.iot-lab.info"
- },
- {
- "y": "19.83",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-118.grenoble.iot-lab.info"
- },
- {
- "y": "18.63",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-122.grenoble.iot-lab.info"
- },
- {
- "y": "18.03",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-123.grenoble.iot-lab.info"
- },
- {
- "y": "17.43",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-125.grenoble.iot-lab.info"
- },
- {
- "y": "16.23",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-129.grenoble.iot-lab.info"
- },
- {
- "y": "16.23",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-130.grenoble.iot-lab.info"
- },
- {
- "y": "15.63",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-131.grenoble.iot-lab.info"
- },
- {
- "y": "15.63",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-132.grenoble.iot-lab.info"
- },
- {
- "y": "15.03",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-133.grenoble.iot-lab.info"
- },
- {
- "y": "14.43",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-135.grenoble.iot-lab.info"
- },
- {
- "y": "14.43",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-136.grenoble.iot-lab.info"
- },
- {
- "y": "13.23",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-139.grenoble.iot-lab.info"
- },
- {
- "y": "13.23",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-140.grenoble.iot-lab.info"
- },
- {
- "y": "12.63",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-141.grenoble.iot-lab.info"
- },
- {
- "y": "12.63",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-142.grenoble.iot-lab.info"
- },
- {
- "y": "11.43",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-146.grenoble.iot-lab.info"
- },
- {
- "y": "10.83",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-147.grenoble.iot-lab.info"
- },
- {
- "y": "10.83",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-148.grenoble.iot-lab.info"
- },
- {
- "y": "10.23",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-150.grenoble.iot-lab.info"
- },
- {
- "y": "9.63",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-151.grenoble.iot-lab.info"
- },
- {
- "y": "9.63",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-152.grenoble.iot-lab.info"
- },
- {
- "y": "8.43",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-155.grenoble.iot-lab.info"
- },
- {
- "y": "7.83",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-157.grenoble.iot-lab.info"
- },
- {
- "y": "7.83",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-158.grenoble.iot-lab.info"
- },
- {
- "y": "7.23",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-159.grenoble.iot-lab.info"
- },
- {
- "y": "7.23",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-160.grenoble.iot-lab.info"
- },
- {
- "y": "6.63",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-161.grenoble.iot-lab.info"
- },
- {
- "y": "6.63",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-162.grenoble.iot-lab.info"
- },
- {
- "y": "4.83",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-167.grenoble.iot-lab.info"
- },
- {
- "y": "4.23",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-169.grenoble.iot-lab.info"
- },
- {
- "y": "3.63",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-171.grenoble.iot-lab.info"
- },
- {
- "y": "3.03",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-174.grenoble.iot-lab.info"
- },
- {
- "y": "2.43",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-175.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "2.75",
- "z": "-0.04",
- "network_address": "m3-179.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "3.35",
- "z": "-0.04",
- "network_address": "m3-180.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "3.95",
- "z": "-0.04",
- "network_address": "m3-181.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "4.55",
- "z": "-0.04",
- "network_address": "m3-182.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "8.15",
- "z": "-0.04",
- "network_address": "m3-188.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "8.75",
- "z": "-0.04",
- "network_address": "m3-189.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "9.95",
- "z": "-0.04",
- "network_address": "m3-191.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "10.55",
- "z": "-0.04",
- "network_address": "m3-192.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "11.75",
- "z": "-0.04",
- "network_address": "m3-194.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "12.95",
- "z": "-0.04",
- "network_address": "m3-196.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "13.55",
- "z": "-0.04",
- "network_address": "m3-197.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "14.15",
- "z": "-0.04",
- "network_address": "m3-198.grenoble.iot-lab.info"
- },
- {
- "y": "0.75",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-204.grenoble.iot-lab.info"
- },
- {
- "y": "1.83",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-206.grenoble.iot-lab.info"
- },
- {
- "y": "2.43",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-208.grenoble.iot-lab.info"
- },
- {
- "y": "3.03",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-210.grenoble.iot-lab.info"
- },
- {
- "y": "3.63",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-212.grenoble.iot-lab.info"
- },
- {
- "y": "3.63",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-213.grenoble.iot-lab.info"
- },
- {
- "y": "4.23",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-214.grenoble.iot-lab.info"
- },
- {
- "y": "4.83",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-216.grenoble.iot-lab.info"
- },
- {
- "y": "5.43",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-219.grenoble.iot-lab.info"
- },
- {
- "y": "6.03",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-220.grenoble.iot-lab.info"
- },
- {
- "y": "6.63",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-222.grenoble.iot-lab.info"
- },
- {
- "y": "7.83",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-226.grenoble.iot-lab.info"
- },
- {
- "y": "7.83",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-227.grenoble.iot-lab.info"
- },
- {
- "y": "9.03",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-231.grenoble.iot-lab.info"
- },
- {
- "y": "9.63",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-232.grenoble.iot-lab.info"
- },
- {
- "y": "10.23",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-234.grenoble.iot-lab.info"
- },
- {
- "y": "10.23",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-235.grenoble.iot-lab.info"
- },
- {
- "y": "10.83",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-236.grenoble.iot-lab.info"
- },
- {
- "y": "10.83",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-237.grenoble.iot-lab.info"
- },
- {
- "y": "11.43",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-239.grenoble.iot-lab.info"
- },
- {
- "y": "12.03",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-241.grenoble.iot-lab.info"
- },
- {
- "y": "12.63",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-242.grenoble.iot-lab.info"
- },
- {
- "y": "13.23",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-244.grenoble.iot-lab.info"
- },
- {
- "y": "13.23",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-245.grenoble.iot-lab.info"
- },
- {
- "y": "13.83",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-246.grenoble.iot-lab.info"
- },
- {
- "y": "14.43",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-248.grenoble.iot-lab.info"
- },
- {
- "y": "15.63",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-252.grenoble.iot-lab.info"
- },
- {
- "y": "15.63",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-253.grenoble.iot-lab.info"
- },
- {
- "y": "16.23",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-254.grenoble.iot-lab.info"
- },
- {
- "y": "16.83",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-257.grenoble.iot-lab.info"
- },
- {
- "y": "17.43",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-258.grenoble.iot-lab.info"
- },
- {
- "y": "18.03",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-260.grenoble.iot-lab.info"
- },
- {
- "y": "18.63",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-262.grenoble.iot-lab.info"
- },
- {
- "y": "18.63",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-263.grenoble.iot-lab.info"
- },
- {
- "y": "19.23",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-264.grenoble.iot-lab.info"
- },
- {
- "y": "19.23",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-265.grenoble.iot-lab.info"
- },
- {
- "y": "19.83",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-267.grenoble.iot-lab.info"
- },
- {
- "y": "21.03",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-271.grenoble.iot-lab.info"
- },
- {
- "y": "21.63",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-272.grenoble.iot-lab.info"
- },
- {
- "y": "21.63",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-273.grenoble.iot-lab.info"
- },
- {
- "y": "23.43",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-278.grenoble.iot-lab.info"
- },
- {
- "y": "24.03",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-280.grenoble.iot-lab.info"
- },
- {
- "y": "24.63",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-282.grenoble.iot-lab.info"
- },
- {
- "y": "25.23",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-285.grenoble.iot-lab.info"
- },
- {
- "y": "26.52",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-288.grenoble.iot-lab.info"
- },
- {
- "y": "26.52",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-289.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "20.05",
- "z": "-0.04",
- "network_address": "m3-290.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "21.25",
- "z": "-0.04",
- "network_address": "m3-292.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "21.85",
- "z": "-0.04",
- "network_address": "m3-293.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "25.22",
- "z": "-0.04",
- "network_address": "m3-297.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "25.85",
- "z": "-0.04",
- "network_address": "m3-298.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "26.42",
- "z": "-0.04",
- "network_address": "m3-299.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "28.22",
- "z": "-0.04",
- "network_address": "m3-301.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "29.36",
- "z": "-0.04",
- "network_address": "m3-303.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "31.76",
- "z": "-0.04",
- "network_address": "m3-307.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "32.96",
- "z": "-0.04",
- "network_address": "m3-309.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "33.56",
- "z": "-0.04",
- "network_address": "m3-310.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "34.16",
- "z": "-0.04",
- "network_address": "m3-311.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "34.76",
- "z": "-0.04",
- "network_address": "m3-312.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "35.36",
- "z": "-0.04",
- "network_address": "m3-313.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "35.96",
- "z": "-0.04",
- "network_address": "m3-314.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "37.76",
- "z": "-0.04",
- "network_address": "m3-317.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "38.36",
- "z": "-0.04",
- "network_address": "m3-318.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "40.16",
- "z": "-0.04",
- "network_address": "m3-321.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "40.76",
- "z": "-0.04",
- "network_address": "m3-322.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "41.96",
- "z": "-0.04",
- "network_address": "m3-324.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "42.56",
- "z": "-0.04",
- "network_address": "m3-325.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "44.36",
- "z": "-0.04",
- "network_address": "m3-328.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "48.56",
- "z": "-0.04",
- "network_address": "m3-335.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "49.76",
- "z": "-0.04",
- "network_address": "m3-337.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "50.36",
- "z": "-0.04",
- "network_address": "m3-338.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "50.96",
- "z": "-0.04",
- "network_address": "m3-339.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "53.36",
- "z": "-0.04",
- "network_address": "m3-343.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "53.96",
- "z": "-0.04",
- "network_address": "m3-344.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "55.16",
- "z": "-0.04",
- "network_address": "m3-346.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "56.36",
- "z": "-0.04",
- "network_address": "m3-348.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "56.96",
- "z": "-0.04",
- "network_address": "m3-349.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "59.96",
- "z": "-0.04",
- "network_address": "m3-354.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "34.75",
- "z": "3.23",
- "network_address": "m3-359.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "35.35",
- "z": "2.63",
- "network_address": "m3-360.grenoble.iot-lab.info"
- },
- {
- "y": "24.92",
- "x": "37.75",
- "z": "2.63",
- "network_address": "m3-363.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "39.55",
- "z": "3.23",
- "network_address": "m3-366.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "40.15",
- "z": "3.23",
- "network_address": "m3-367.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "40.75",
- "z": "2.63",
- "network_address": "m3-368.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "46.75",
- "z": "2.63",
- "network_address": "m3-371.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "48.55",
- "z": "2.63",
- "network_address": "m3-374.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "49.15",
- "z": "3.23",
- "network_address": "m3-375.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "52.15",
- "z": "2.63",
- "network_address": "m3-376.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "52.75",
- "z": "2.63",
- "network_address": "m3-377.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "20.10",
- "z": "-0.04",
- "network_address": "m3-1.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "21.30",
- "z": "-0.04",
- "network_address": "m3-3.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "23.10",
- "z": "-0.04",
- "network_address": "m3-6.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "24.55",
- "z": "-0.04",
- "network_address": "m3-7.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "25.15",
- "z": "-0.04",
- "network_address": "m3-8.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "26.35",
- "z": "-0.04",
- "network_address": "m3-10.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "27.55",
- "z": "-0.04",
- "network_address": "m3-12.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "29.95",
- "z": "-0.04",
- "network_address": "m3-16.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "31.75",
- "z": "-0.04",
- "network_address": "m3-19.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "32.35",
- "z": "-0.04",
- "network_address": "m3-20.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "33.55",
- "z": "-0.04",
- "network_address": "m3-22.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "34.75",
- "z": "-0.04",
- "network_address": "m3-24.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "35.95",
- "z": "-0.04",
- "network_address": "m3-26.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "36.55",
- "z": "-0.04",
- "network_address": "m3-27.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "37.15",
- "z": "-0.04",
- "network_address": "m3-28.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "40.75",
- "z": "-0.04",
- "network_address": "m3-34.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "41.95",
- "z": "-0.04",
- "network_address": "m3-36.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "44.95",
- "z": "-0.04",
- "network_address": "m3-41.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "45.55",
- "z": "-0.04",
- "network_address": "m3-42.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "46.15",
- "z": "-0.04",
- "network_address": "m3-43.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "47.95",
- "z": "-0.04",
- "network_address": "m3-46.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "48.55",
- "z": "-0.04",
- "network_address": "m3-47.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "50.35",
- "z": "-0.04",
- "network_address": "m3-50.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "51.55",
- "z": "-0.04",
- "network_address": "m3-52.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "52.15",
- "z": "-0.04",
- "network_address": "m3-53.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "53.95",
- "z": "-0.04",
- "network_address": "m3-56.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "54.55",
- "z": "-0.04",
- "network_address": "m3-57.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "55.15",
- "z": "-0.04",
- "network_address": "m3-58.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "56.35",
- "z": "-0.04",
- "network_address": "m3-60.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "57.55",
- "z": "-0.04",
- "network_address": "m3-62.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "58.75",
- "z": "-0.04",
- "network_address": "m3-64.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "59.95",
- "z": "-0.04",
- "network_address": "m3-66.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "60.55",
- "z": "-0.04",
- "network_address": "m3-67.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "17.02",
- "z": "-0.04",
- "network_address": "m3-70.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "14.62",
- "z": "-0.04",
- "network_address": "m3-74.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "14.02",
- "z": "-0.04",
- "network_address": "m3-75.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "13.42",
- "z": "-0.04",
- "network_address": "m3-76.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "12.22",
- "z": "-0.04",
- "network_address": "m3-78.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "11.62",
- "z": "-0.04",
- "network_address": "m3-79.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "9.22",
- "z": "-0.04",
- "network_address": "m3-83.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "7.42",
- "z": "-0.04",
- "network_address": "m3-86.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "6.82",
- "z": "-0.04",
- "network_address": "m3-87.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "5.62",
- "z": "-0.04",
- "network_address": "m3-89.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "5.02",
- "z": "-0.04",
- "network_address": "m3-90.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "3.82",
- "z": "-0.04",
- "network_address": "m3-92.grenoble.iot-lab.info"
- },
- {
- "y": "26.76",
- "x": "3.22",
- "z": "-0.04",
- "network_address": "m3-93.grenoble.iot-lab.info"
- },
- {
- "y": "26.52",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-95.grenoble.iot-lab.info"
- },
- {
- "y": "26.52",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-96.grenoble.iot-lab.info"
- },
- {
- "y": "25.92",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-97.grenoble.iot-lab.info"
- },
- {
- "y": "25.92",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-98.grenoble.iot-lab.info"
- },
- {
- "y": "25.23",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-99.grenoble.iot-lab.info"
- },
- {
- "y": "25.23",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-100.grenoble.iot-lab.info"
- },
- {
- "y": "24.03",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-103.grenoble.iot-lab.info"
- },
- {
- "y": "24.03",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-104.grenoble.iot-lab.info"
- },
- {
- "y": "22.83",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-107.grenoble.iot-lab.info"
- },
- {
- "y": "22.83",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-108.grenoble.iot-lab.info"
- },
- {
- "y": "22.23",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-110.grenoble.iot-lab.info"
- },
- {
- "y": "21.63",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-112.grenoble.iot-lab.info"
- },
- {
- "y": "19.23",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-119.grenoble.iot-lab.info"
- },
- {
- "y": "19.23",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-120.grenoble.iot-lab.info"
- },
- {
- "y": "18.63",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-121.grenoble.iot-lab.info"
- },
- {
- "y": "17.43",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-126.grenoble.iot-lab.info"
- },
- {
- "y": "16.83",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-127.grenoble.iot-lab.info"
- },
- {
- "y": "16.83",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-128.grenoble.iot-lab.info"
- },
- {
- "y": "13.83",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-137.grenoble.iot-lab.info"
- },
- {
- "y": "12.03",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-144.grenoble.iot-lab.info"
- },
- {
- "y": "11.43",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-145.grenoble.iot-lab.info"
- },
- {
- "y": "10.23",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-149.grenoble.iot-lab.info"
- },
- {
- "y": "9.03",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-153.grenoble.iot-lab.info"
- },
- {
- "y": "9.03",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-154.grenoble.iot-lab.info"
- },
- {
- "y": "8.43",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-156.grenoble.iot-lab.info"
- },
- {
- "y": "6.03",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-163.grenoble.iot-lab.info"
- },
- {
- "y": "6.03",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-164.grenoble.iot-lab.info"
- },
- {
- "y": "5.43",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-166.grenoble.iot-lab.info"
- },
- {
- "y": "4.83",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-168.grenoble.iot-lab.info"
- },
- {
- "y": "4.23",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-170.grenoble.iot-lab.info"
- },
- {
- "y": "3.63",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-172.grenoble.iot-lab.info"
- },
- {
- "y": "3.03",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-173.grenoble.iot-lab.info"
- },
- {
- "y": "2.43",
- "x": "1.00",
- "z": "-0.04",
- "network_address": "m3-176.grenoble.iot-lab.info"
- },
- {
- "y": "1.85",
- "x": "0.40",
- "z": "-0.04",
- "network_address": "m3-177.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "5.75",
- "z": "-0.04",
- "network_address": "m3-184.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "6.95",
- "z": "-0.04",
- "network_address": "m3-186.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "9.35",
- "z": "-0.04",
- "network_address": "m3-190.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "11.15",
- "z": "-0.04",
- "network_address": "m3-193.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "12.35",
- "z": "-0.04",
- "network_address": "m3-195.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "14.75",
- "z": "-0.04",
- "network_address": "m3-199.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "15.35",
- "z": "-0.04",
- "network_address": "m3-200.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "15.95",
- "z": "-0.04",
- "network_address": "m3-201.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "16.55",
- "z": "-0.04",
- "network_address": "m3-202.grenoble.iot-lab.info"
- },
- {
- "y": "1.83",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-207.grenoble.iot-lab.info"
- },
- {
- "y": "2.43",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-209.grenoble.iot-lab.info"
- },
- {
- "y": "3.03",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-211.grenoble.iot-lab.info"
- },
- {
- "y": "4.23",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-215.grenoble.iot-lab.info"
- },
- {
- "y": "4.83",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-217.grenoble.iot-lab.info"
- },
- {
- "y": "5.43",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-218.grenoble.iot-lab.info"
- },
- {
- "y": "6.03",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-221.grenoble.iot-lab.info"
- },
- {
- "y": "6.63",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-223.grenoble.iot-lab.info"
- },
- {
- "y": "7.23",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-224.grenoble.iot-lab.info"
- },
- {
- "y": "7.23",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-225.grenoble.iot-lab.info"
- },
- {
- "y": "8.43",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-228.grenoble.iot-lab.info"
- },
- {
- "y": "8.43",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-229.grenoble.iot-lab.info"
- },
- {
- "y": "9.03",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-230.grenoble.iot-lab.info"
- },
- {
- "y": "9.63",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-233.grenoble.iot-lab.info"
- },
- {
- "y": "11.43",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-238.grenoble.iot-lab.info"
- },
- {
- "y": "12.03",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-240.grenoble.iot-lab.info"
- },
- {
- "y": "13.83",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-247.grenoble.iot-lab.info"
- },
- {
- "y": "14.43",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-249.grenoble.iot-lab.info"
- },
- {
- "y": "15.03",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-250.grenoble.iot-lab.info"
- },
- {
- "y": "15.03",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-251.grenoble.iot-lab.info"
- },
- {
- "y": "16.83",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-256.grenoble.iot-lab.info"
- },
- {
- "y": "17.43",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-259.grenoble.iot-lab.info"
- },
- {
- "y": "18.03",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-261.grenoble.iot-lab.info"
- },
- {
- "y": "19.83",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-266.grenoble.iot-lab.info"
- },
- {
- "y": "20.43",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-268.grenoble.iot-lab.info"
- },
- {
- "y": "20.43",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-269.grenoble.iot-lab.info"
- },
- {
- "y": "22.23",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-274.grenoble.iot-lab.info"
- },
- {
- "y": "22.23",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-275.grenoble.iot-lab.info"
- },
- {
- "y": "22.83",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-276.grenoble.iot-lab.info"
- },
- {
- "y": "22.83",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-277.grenoble.iot-lab.info"
- },
- {
- "y": "23.43",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-279.grenoble.iot-lab.info"
- },
- {
- "y": "24.03",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-281.grenoble.iot-lab.info"
- },
- {
- "y": "24.63",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-283.grenoble.iot-lab.info"
- },
- {
- "y": "26.00",
- "x": "18.95",
- "z": "-0.04",
- "network_address": "m3-286.grenoble.iot-lab.info"
- },
- {
- "y": "26.00",
- "x": "18.35",
- "z": "-0.04",
- "network_address": "m3-287.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "20.65",
- "z": "-0.04",
- "network_address": "m3-291.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "22.45",
- "z": "-0.04",
- "network_address": "m3-294.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "23.05",
- "z": "-0.04",
- "network_address": "m3-295.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "24.62",
- "z": "-0.04",
- "network_address": "m3-296.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "28.71",
- "z": "-0.04",
- "network_address": "m3-302.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "29.96",
- "z": "-0.04",
- "network_address": "m3-304.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "30.56",
- "z": "-0.04",
- "network_address": "m3-305.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "31.16",
- "z": "-0.04",
- "network_address": "m3-306.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "32.36",
- "z": "-0.04",
- "network_address": "m3-308.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "36.56",
- "z": "-0.04",
- "network_address": "m3-315.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "37.16",
- "z": "-0.04",
- "network_address": "m3-316.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "39.56",
- "z": "-0.04",
- "network_address": "m3-320.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "41.36",
- "z": "-0.04",
- "network_address": "m3-323.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "43.16",
- "z": "-0.04",
- "network_address": "m3-326.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "43.76",
- "z": "-0.04",
- "network_address": "m3-327.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "44.96",
- "z": "-0.04",
- "network_address": "m3-329.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "45.56",
- "z": "-0.04",
- "network_address": "m3-330.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "46.76",
- "z": "-0.04",
- "network_address": "m3-332.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "47.36",
- "z": "-0.04",
- "network_address": "m3-333.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "47.96",
- "z": "-0.04",
- "network_address": "m3-334.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "49.16",
- "z": "-0.04",
- "network_address": "m3-336.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "51.56",
- "z": "-0.04",
- "network_address": "m3-340.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "52.16",
- "z": "-0.04",
- "network_address": "m3-341.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "52.76",
- "z": "-0.04",
- "network_address": "m3-342.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "54.56",
- "z": "-0.04",
- "network_address": "m3-345.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "55.76",
- "z": "-0.04",
- "network_address": "m3-347.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "57.56",
- "z": "-0.04",
- "network_address": "m3-350.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "58.76",
- "z": "-0.04",
- "network_address": "m3-352.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "59.36",
- "z": "-0.04",
- "network_address": "m3-353.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "60.56",
- "z": "-0.04",
- "network_address": "m3-355.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "61.16",
- "z": "-0.04",
- "network_address": "m3-356.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "61.76",
- "z": "-0.04",
- "network_address": "m3-357.grenoble.iot-lab.info"
- },
- {
- "y": "0.94",
- "x": "62.26",
- "z": "-0.04",
- "network_address": "m3-358.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "35.95",
- "z": "3.23",
- "network_address": "m3-361.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "36.55",
- "z": "3.23",
- "network_address": "m3-362.grenoble.iot-lab.info"
- },
- {
- "y": "24.92",
- "x": "37.75",
- "z": "3.23",
- "network_address": "m3-364.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "38.95",
- "z": "2.63",
- "network_address": "m3-365.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "41.35",
- "z": "2.63",
- "network_address": "m3-369.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "46.15",
- "z": "2.63",
- "network_address": "m3-370.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "47.35",
- "z": "3.23",
- "network_address": "m3-372.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "47.95",
- "z": "2.63",
- "network_address": "m3-373.grenoble.iot-lab.info"
- },
- {
- "y": "25.28",
- "x": "20.33",
- "z": "2.63",
- "network_address": "a8-1.grenoble.iot-lab.info"
- },
- {
- "y": "25.28",
- "x": "20.33",
- "z": "3.23",
- "network_address": "a8-2.grenoble.iot-lab.info"
- },
- {
- "y": "25.28",
- "x": "20.93",
- "z": "3.23",
- "network_address": "a8-3.grenoble.iot-lab.info"
- },
- {
- "y": "25.33",
- "x": "21.53",
- "z": "2.63",
- "network_address": "a8-4.grenoble.iot-lab.info"
- },
- {
- "y": "25.33",
- "x": "21.53",
- "z": "3.23",
- "network_address": "a8-5.grenoble.iot-lab.info"
- },
- {
- "y": "25.33",
- "x": "22.13",
- "z": "2.63",
- "network_address": "a8-6.grenoble.iot-lab.info"
- },
- {
- "y": "25.33",
- "x": "22.13",
- "z": "3.23",
- "network_address": "a8-7.grenoble.iot-lab.info"
- },
- {
- "y": "25.33",
- "x": "22.73",
- "z": "2.63",
- "network_address": "a8-8.grenoble.iot-lab.info"
- },
- {
- "y": "25.33",
- "x": "23.33",
- "z": "2.63",
- "network_address": "a8-9.grenoble.iot-lab.info"
- },
- {
- "y": "25.33",
- "x": "23.33",
- "z": "3.23",
- "network_address": "a8-10.grenoble.iot-lab.info"
- },
- {
- "y": "25.80",
- "x": "23.93",
- "z": "3.23",
- "network_address": "a8-12.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "24.53",
- "z": "3.23",
- "network_address": "a8-13.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "25.13",
- "z": "2.63",
- "network_address": "a8-14.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "25.73",
- "z": "3.23",
- "network_address": "a8-15.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "26.33",
- "z": "2.63",
- "network_address": "a8-16.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "26.93",
- "z": "2.63",
- "network_address": "a8-17.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "27.55",
- "z": "3.23",
- "network_address": "a8-18.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "28.15",
- "z": "2.63",
- "network_address": "a8-19.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "28.75",
- "z": "3.23",
- "network_address": "a8-20.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "29.35",
- "z": "3.23",
- "network_address": "a8-21.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "29.95",
- "z": "2.63",
- "network_address": "a8-22.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "30.55",
- "z": "3.23",
- "network_address": "a8-23.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "31.15",
- "z": "3.23",
- "network_address": "a8-24.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "31.75",
- "z": "2.63",
- "network_address": "a8-25.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "32.35",
- "z": "2.63",
- "network_address": "a8-26.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "32.95",
- "z": "3.23",
- "network_address": "a8-28.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "33.55",
- "z": "2.63",
- "network_address": "a8-29.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "34.15",
- "z": "2.63",
- "network_address": "a8-30.grenoble.iot-lab.info"
- },
- {
- "y": "24.92",
- "x": "38.35",
- "z": "2.63",
- "network_address": "a8-31.grenoble.iot-lab.info"
- },
- {
- "y": "24.92",
- "x": "38.35",
- "z": "3.23",
- "network_address": "a8-32.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "41.95",
- "z": "3.23",
- "network_address": "a8-33.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "41.95",
- "z": "2.63",
- "network_address": "a8-34.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "43.15",
- "z": "3.23",
- "network_address": "a8-35.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "43.15",
- "z": "2.63",
- "network_address": "a8-36.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "44.35",
- "z": "3.23",
- "network_address": "a8-37.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "44.95",
- "z": "3.23",
- "network_address": "a8-38.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "44.95",
- "z": "2.63",
- "network_address": "a8-39.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "46.15",
- "z": "3.23",
- "network_address": "a8-40.grenoble.iot-lab.info"
- },
- {
- "y": "24.90",
- "x": "49.75",
- "z": "3.23",
- "network_address": "a8-41.grenoble.iot-lab.info"
- },
- {
- "y": "24.90",
- "x": "50.35",
- "z": "2.63",
- "network_address": "a8-42.grenoble.iot-lab.info"
- },
- {
- "y": "24.90",
- "x": "50.95",
- "z": "3.23",
- "network_address": "a8-43.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "51.55",
- "z": "3.23",
- "network_address": "a8-44.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "55.15",
- "z": "3.23",
- "network_address": "a8-45.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "55.75",
- "z": "2.63",
- "network_address": "a8-46.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "56.35",
- "z": "2.63",
- "network_address": "a8-47.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "56.95",
- "z": "3.23",
- "network_address": "a8-48.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "57.55",
- "z": "2.63",
- "network_address": "a8-49.grenoble.iot-lab.info"
- },
- {
- "y": "24.90",
- "x": "58.15",
- "z": "3.23",
- "network_address": "a8-50.grenoble.iot-lab.info"
- },
- {
- "y": "24.90",
- "x": "58.75",
- "z": "2.63",
- "network_address": "a8-51.grenoble.iot-lab.info"
- },
- {
- "y": "24.90",
- "x": "59.35",
- "z": "3.23",
- "network_address": "a8-52.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "59.95",
- "z": "2.63",
- "network_address": "a8-53.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "59.95",
- "z": "3.23",
- "network_address": "a8-54.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "60.55",
- "z": "3.23",
- "network_address": "a8-55.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "61.75",
- "z": "2.63",
- "network_address": "a8-57.grenoble.iot-lab.info"
- },
- {
- "y": "25.75",
- "x": "62.35",
- "z": "3.23",
- "network_address": "a8-58.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "15.47",
- "z": "2.63",
- "network_address": "a8-59.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "14.87",
- "z": "2.63",
- "network_address": "a8-60.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "14.27",
- "z": "2.63",
- "network_address": "a8-61.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "13.07",
- "z": "2.63",
- "network_address": "a8-63.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "12.47",
- "z": "2.63",
- "network_address": "a8-64.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "11.87",
- "z": "2.63",
- "network_address": "a8-65.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "11.27",
- "z": "2.63",
- "network_address": "a8-66.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "10.67",
- "z": "2.63",
- "network_address": "a8-67.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "10.07",
- "z": "2.63",
- "network_address": "a8-68.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "9.47",
- "z": "2.63",
- "network_address": "a8-69.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "8.87",
- "z": "2.63",
- "network_address": "a8-70.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "8.27",
- "z": "2.63",
- "network_address": "a8-71.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "7.67",
- "z": "2.63",
- "network_address": "a8-72.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "7.07",
- "z": "2.63",
- "network_address": "a8-73.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "6.47",
- "z": "2.63",
- "network_address": "a8-74.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "5.87",
- "z": "2.63",
- "network_address": "a8-75.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "5.27",
- "z": "2.63",
- "network_address": "a8-76.grenoble.iot-lab.info"
- },
- {
- "y": "25.73",
- "x": "4.57",
- "z": "2.63",
- "network_address": "a8-77.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "5.50",
- "z": "2.63",
- "network_address": "a8-78.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "6.10",
- "z": "2.63",
- "network_address": "a8-79.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "6.70",
- "z": "2.63",
- "network_address": "a8-80.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "7.30",
- "z": "2.63",
- "network_address": "a8-81.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "7.90",
- "z": "2.63",
- "network_address": "a8-82.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "8.50",
- "z": "2.63",
- "network_address": "a8-83.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "9.10",
- "z": "2.63",
- "network_address": "a8-84.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "9.70",
- "z": "2.63",
- "network_address": "a8-85.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "10.30",
- "z": "2.63",
- "network_address": "a8-86.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "10.90",
- "z": "2.63",
- "network_address": "a8-87.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "11.50",
- "z": "2.63",
- "network_address": "a8-88.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "12.10",
- "z": "2.63",
- "network_address": "a8-89.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "12.70",
- "z": "2.63",
- "network_address": "a8-90.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "13.30",
- "z": "2.63",
- "network_address": "a8-91.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "13.90",
- "z": "2.63",
- "network_address": "a8-92.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "14.50",
- "z": "2.63",
- "network_address": "a8-93.grenoble.iot-lab.info"
- },
- {
- "y": "0.04",
- "x": "15.10",
- "z": "2.63",
- "network_address": "a8-94.grenoble.iot-lab.info"
- },
- {
- "y": "2.10",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-95.grenoble.iot-lab.info"
- },
- {
- "y": "2.10",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-96.grenoble.iot-lab.info"
- },
- {
- "y": "2.70",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-97.grenoble.iot-lab.info"
- },
- {
- "y": "2.70",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-98.grenoble.iot-lab.info"
- },
- {
- "y": "3.30",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-99.grenoble.iot-lab.info"
- },
- {
- "y": "3.90",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-100.grenoble.iot-lab.info"
- },
- {
- "y": "4.50",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-101.grenoble.iot-lab.info"
- },
- {
- "y": "4.50",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-102.grenoble.iot-lab.info"
- },
- {
- "y": "5.10",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-103.grenoble.iot-lab.info"
- },
- {
- "y": "5.70",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-105.grenoble.iot-lab.info"
- },
- {
- "y": "6.30",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-106.grenoble.iot-lab.info"
- },
- {
- "y": "6.30",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-107.grenoble.iot-lab.info"
- },
- {
- "y": "6.90",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-108.grenoble.iot-lab.info"
- },
- {
- "y": "7.50",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-109.grenoble.iot-lab.info"
- },
- {
- "y": "8.70",
- "x": "20.45",
- "z": "2.63",
- "network_address": "a8-111.grenoble.iot-lab.info"
- },
- {
- "y": "8.70",
- "x": "20.45",
- "z": "3.23",
- "network_address": "a8-112.grenoble.iot-lab.info"
- },
- {
- "y": "9.30",
- "x": "20.45",
- "z": "3.23",
- "network_address": "a8-113.grenoble.iot-lab.info"
- },
- {
- "y": "9.90",
- "x": "20.45",
- "z": "2.63",
- "network_address": "a8-114.grenoble.iot-lab.info"
- },
- {
- "y": "10.50",
- "x": "20.45",
- "z": "3.23",
- "network_address": "a8-115.grenoble.iot-lab.info"
- },
- {
- "y": "11.10",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-116.grenoble.iot-lab.info"
- },
- {
- "y": "11.70",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-117.grenoble.iot-lab.info"
- },
- {
- "y": "11.70",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-118.grenoble.iot-lab.info"
- },
- {
- "y": "12.30",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-119.grenoble.iot-lab.info"
- },
- {
- "y": "12.90",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-120.grenoble.iot-lab.info"
- },
- {
- "y": "13.50",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-121.grenoble.iot-lab.info"
- },
- {
- "y": "13.50",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-122.grenoble.iot-lab.info"
- },
- {
- "y": "14.10",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-123.grenoble.iot-lab.info"
- },
- {
- "y": "14.70",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-124.grenoble.iot-lab.info"
- },
- {
- "y": "15.90",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-127.grenoble.iot-lab.info"
- },
- {
- "y": "16.50",
- "x": "19.75",
- "z": "3.23",
- "network_address": "a8-128.grenoble.iot-lab.info"
- },
- {
- "y": "18.90",
- "x": "19.75",
- "z": "2.63",
- "network_address": "a8-133.grenoble.iot-lab.info"
- },
- {
- "y": "21.80",
- "x": "19.91",
- "z": "3.23",
- "network_address": "a8-140.grenoble.iot-lab.info"
- },
- {
- "y": "22.40",
- "x": "19.91",
- "z": "2.63",
- "network_address": "a8-141.grenoble.iot-lab.info"
- },
- {
- "y": "24.20",
- "x": "19.91",
- "z": "3.23",
- "network_address": "a8-145.grenoble.iot-lab.info"
- },
- {
- "y": "24.20",
- "x": "19.91",
- "z": "2.63",
- "network_address": "a8-146.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "20.09",
- "z": "2.63",
- "network_address": "a8-149.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "20.09",
- "z": "3.23",
- "network_address": "a8-150.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "20.69",
- "z": "2.63",
- "network_address": "a8-151.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "21.29",
- "z": "2.63",
- "network_address": "a8-152.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "21.29",
- "z": "3.23",
- "network_address": "a8-153.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "21.89",
- "z": "2.63",
- "network_address": "a8-154.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "23.09",
- "z": "2.63",
- "network_address": "a8-156.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "23.09",
- "z": "3.23",
- "network_address": "a8-157.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "23.82",
- "z": "2.63",
- "network_address": "a8-158.grenoble.iot-lab.info"
- },
- {
- "y": "1.66",
- "x": "24.17",
- "z": "2.63",
- "network_address": "a8-160.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "26.49",
- "z": "2.63",
- "network_address": "a8-161.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "26.49",
- "z": "3.23",
- "network_address": "a8-162.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "27.29",
- "z": "3.23",
- "network_address": "a8-164.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "27.89",
- "z": "3.23",
- "network_address": "a8-165.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "28.49",
- "z": "2.63",
- "network_address": "a8-166.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "29.09",
- "z": "3.23",
- "network_address": "a8-167.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "29.69",
- "z": "2.63",
- "network_address": "a8-168.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "29.69",
- "z": "3.23",
- "network_address": "a8-169.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "30.29",
- "z": "2.63",
- "network_address": "a8-170.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "30.89",
- "z": "3.23",
- "network_address": "a8-172.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "31.49",
- "z": "2.63",
- "network_address": "a8-173.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "31.49",
- "z": "3.23",
- "network_address": "a8-174.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "32.09",
- "z": "2.63",
- "network_address": "a8-175.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "32.09",
- "z": "3.23",
- "network_address": "a8-176.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "33.29",
- "z": "3.23",
- "network_address": "a8-178.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "33.89",
- "z": "3.23",
- "network_address": "a8-179.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "34.49",
- "z": "2.63",
- "network_address": "a8-180.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "35.09",
- "z": "3.23",
- "network_address": "a8-181.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "35.69",
- "z": "2.63",
- "network_address": "a8-182.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "36.29",
- "z": "2.63",
- "network_address": "a8-183.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "36.89",
- "z": "2.63",
- "network_address": "a8-184.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "37.49",
- "z": "3.23",
- "network_address": "a8-185.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "38.09",
- "z": "2.63",
- "network_address": "a8-186.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "38.69",
- "z": "3.23",
- "network_address": "a8-187.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "39.29",
- "z": "3.23",
- "network_address": "a8-189.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "39.89",
- "z": "2.63",
- "network_address": "a8-190.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "40.49",
- "z": "3.23",
- "network_address": "a8-191.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "41.09",
- "z": "3.23",
- "network_address": "a8-192.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "41.69",
- "z": "2.63",
- "network_address": "a8-193.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "42.29",
- "z": "2.63",
- "network_address": "a8-194.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "42.36",
- "z": "3.23",
- "network_address": "a8-195.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "42.89",
- "z": "2.63",
- "network_address": "a8-196.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "43.49",
- "z": "2.63",
- "network_address": "a8-197.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "43.49",
- "z": "3.23",
- "network_address": "a8-198.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "45.96",
- "z": "2.63",
- "network_address": "a8-199.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "45.90",
- "z": "3.23",
- "network_address": "a8-200.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "46.49",
- "z": "3.23",
- "network_address": "a8-201.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "47.09",
- "z": "2.63",
- "network_address": "a8-202.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "47.69",
- "z": "3.23",
- "network_address": "a8-203.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "48.29",
- "z": "2.63",
- "network_address": "a8-204.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "48.29",
- "z": "3.23",
- "network_address": "a8-205.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "48.89",
- "z": "2.63",
- "network_address": "a8-206.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "49.49",
- "z": "3.23",
- "network_address": "a8-207.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "50.09",
- "z": "2.63",
- "network_address": "a8-208.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "51.29",
- "z": "2.63",
- "network_address": "a8-209.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "51.29",
- "z": "3.23",
- "network_address": "a8-210.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "51.89",
- "z": "3.23",
- "network_address": "a8-211.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "52.49",
- "z": "2.63",
- "network_address": "a8-212.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "53.09",
- "z": "3.23",
- "network_address": "a8-213.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "53.69",
- "z": "3.23",
- "network_address": "a8-214.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "54.29",
- "z": "2.63",
- "network_address": "a8-215.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "54.89",
- "z": "3.23",
- "network_address": "a8-216.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "55.49",
- "z": "3.23",
- "network_address": "a8-217.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "56.09",
- "z": "2.63",
- "network_address": "a8-218.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "56.69",
- "z": "3.23",
- "network_address": "a8-219.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "57.29",
- "z": "2.63",
- "network_address": "a8-220.grenoble.iot-lab.info"
- },
- {
- "y": "2.34",
- "x": "57.89",
- "z": "2.63",
- "network_address": "a8-221.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "57.89",
- "z": "3.23",
- "network_address": "a8-222.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "58.49",
- "z": "2.63",
- "network_address": "a8-223.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "59.09",
- "z": "3.23",
- "network_address": "a8-224.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "59.69",
- "z": "2.63",
- "network_address": "a8-225.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "60.29",
- "z": "3.23",
- "network_address": "a8-226.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "60.89",
- "z": "3.23",
- "network_address": "a8-227.grenoble.iot-lab.info"
- },
- {
- "y": "1.54",
- "x": "61.49",
- "z": "2.63",
- "network_address": "a8-228.grenoble.iot-lab.info"
- }
- ],
- "location": "grenoble"
- }
-]
diff --git a/metas/process_resources.py b/metas/process_resources.py
deleted file mode 100644
index 088a6619fa..0000000000
--- a/metas/process_resources.py
+++ /dev/null
@@ -1,24 +0,0 @@
-from __future__ import print_function
-import json
-import sys
-
-sites = ['rennes', 'grenoble', 'strasbourg', 'euratech']
-
-if __name__ == '__main__':
- filename = 'resources.json'
- if len(sys.argv) == 2:
- filename = sys.argv[1]
- with open(filename, 'r') as f:
- json_data = f.read()
- data = json.loads(json_data)
-
- for site in sites:
- motes = [mote for mote in data['items'] if mote['site'] == site and mote['uid'] != 'unknown' and mote['archi'].startswith('wsn430')]
- with open('{0}.csv'.format(site), 'w') as f:
- print('mac,x,y,z', file=f)
- for mote in motes:
- mac = '14-15-92-00-12-91-{0}-{1}'.format(mote['uid'][0:2], mote['uid'][2:4])
- x = mote['x']
- y = mote['y']
- z = mote['z']
- print('{0},{1},{2},{3}'.format(mac, x, y, z), file=f)
\ No newline at end of file
diff --git a/metas/rennes.csv b/metas/rennes.csv
deleted file mode 100644
index 8918ff8578..0000000000
--- a/metas/rennes.csv
+++ /dev/null
@@ -1,223 +0,0 @@
-mac,x,y,z
-14-15-92-00-12-91-ca-f5,-4.62,0.14,2.912
-14-15-92-00-12-91-ca-73,-4.62,0.744,2.912
-14-15-92-00-12-91-c8-8c,-4.62,1.348,2.911
-14-15-92-00-12-91-b1-c3,-4.62,2.556,2.911
-14-15-92-00-12-91-b7-04,-4.62,3.765,2.91
-14-15-92-00-12-91-c3-51,-4.62,4.369,2.91
-14-15-92-00-12-91-bc-98,-4.62,4.973,2.91
-14-15-92-00-12-91-b3-44,-4.62,5.577,2.909
-14-15-92-00-12-91-c5-9b,-4.62,6.181,2.909
-14-15-92-00-12-91-c0-9a,-4.62,7.389,2.908
-14-15-92-00-12-91-bd-6e,-4.62,7.994,2.908
-14-15-92-00-12-91-c0-e9,-4.62,8.598,2.908
-14-15-92-00-12-91-ca-0a,-4.62,9.202,2.907
-14-15-92-00-12-91-b5-83,-4.62,9.806,2.907
-14-15-92-00-12-91-b8-d6,-4.62,10.41,2.907
-14-15-92-00-12-91-c5-79,-4.62,11.014,2.907
-14-15-92-00-12-91-be-eb,-4.62,11.618,2.906
-14-15-92-00-12-91-c5-e7,-4.62,12.222,2.906
-14-15-92-00-12-91-c2-bb,-4.62,12.826,2.906
-14-15-92-00-12-91-1c-15,-4.62,13.431,2.905
-14-15-92-00-12-91-cb-97,-4.62,14.035,2.905
-14-15-92-00-12-91-b4-bc,-3.796,0.14,2.912
-14-15-92-00-12-91-b5-02,-3.796,0.744,2.912
-14-15-92-00-12-91-c8-9a,-3.796,1.348,2.911
-14-15-92-00-12-91-c3-2c,-3.796,1.952,2.911
-14-15-92-00-12-91-b7-92,-3.796,2.556,2.911
-14-15-92-00-12-91-c3-a8,-3.796,3.161,2.91
-14-15-92-00-12-91-c7-a8,-3.796,3.765,2.91
-14-15-92-00-12-91-ba-43,-3.796,4.369,2.91
-14-15-92-00-12-91-c7-cf,-3.796,5.577,2.909
-14-15-92-00-12-91-b9-20,-3.796,6.181,2.909
-14-15-92-00-12-91-bd-97,-3.796,6.785,2.909
-14-15-92-00-12-91-ba-fb,-3.796,7.389,2.908
-14-15-92-00-12-91-b8-1d,-3.796,7.994,2.908
-14-15-92-00-12-91-b5-25,-3.796,8.598,2.908
-14-15-92-00-12-91-c0-32,-3.796,9.202,2.907
-14-15-92-00-12-91-c4-75,-3.796,9.806,2.907
-14-15-92-00-12-91-b1-92,-3.796,10.41,2.907
-14-15-92-00-12-91-bc-d2,-3.796,11.014,2.907
-14-15-92-00-12-91-c6-32,-3.796,11.618,2.906
-14-15-92-00-12-91-b1-a3,-3.796,12.826,2.906
-14-15-92-00-12-91-1f-52,-2.972,0.14,2.912
-14-15-92-00-12-91-cf-06,-2.972,0.744,2.912
-14-15-92-00-12-91-b1-b6,-2.972,1.348,2.911
-14-15-92-00-12-91-c7-13,-2.972,1.952,2.911
-14-15-92-00-12-91-be-69,-2.972,2.556,2.911
-14-15-92-00-12-91-c4-1c,-2.972,3.161,2.91
-14-15-92-00-12-91-b1-ce,-2.972,3.765,2.91
-14-15-92-00-12-91-bf-0e,-2.972,4.369,2.91
-14-15-92-00-12-91-b7-a4,-2.972,4.973,2.91
-14-15-92-00-12-91-b7-12,-2.972,5.577,2.909
-14-15-92-00-12-91-cf-01,-2.972,6.181,2.909
-14-15-92-00-12-91-b4-a4,-2.972,6.785,2.909
-14-15-92-00-12-91-c1-18,-2.972,7.389,2.908
-14-15-92-00-12-91-ca-5a,-2.972,7.994,2.908
-14-15-92-00-12-91-b3-fc,-2.972,9.202,2.907
-14-15-92-00-12-91-c3-bd,-2.972,9.806,2.907
-14-15-92-00-12-91-c7-3e,-2.972,10.41,2.907
-14-15-92-00-12-91-bc-5a,-2.972,11.014,2.907
-14-15-92-00-12-91-c8-72,-2.972,11.618,2.906
-14-15-92-00-12-91-be-7c,-2.972,12.222,2.906
-14-15-92-00-12-91-c0-5f,-2.972,12.826,2.906
-14-15-92-00-12-91-b2-34,-2.972,13.431,2.905
-14-15-92-00-12-91-c3-45,-2.148,0.14,2.912
-14-15-92-00-12-91-c3-3c,-2.148,0.744,2.912
-14-15-92-00-12-91-1c-06,-2.148,1.348,2.911
-14-15-92-00-12-91-c7-60,-2.148,2.556,2.911
-14-15-92-00-12-91-b7-75,-2.148,3.161,2.91
-14-15-92-00-12-91-c5-b4,-2.148,4.369,2.91
-14-15-92-00-12-91-c9-ce,-2.148,4.973,2.91
-14-15-92-00-12-91-b9-64,-2.148,5.577,2.909
-14-15-92-00-12-91-c6-88,-2.148,6.181,2.909
-14-15-92-00-12-91-b2-28,-2.148,7.389,2.908
-14-15-92-00-12-91-c1-71,-2.148,7.994,2.908
-14-15-92-00-12-91-b5-b2,-2.148,8.598,2.908
-14-15-92-00-12-91-b9-e9,-2.148,9.202,2.907
-14-15-92-00-12-91-c7-15,-2.148,9.806,2.907
-14-15-92-00-12-91-c9-c5,-2.148,10.41,2.907
-14-15-92-00-12-91-b6-27,-2.148,11.014,2.907
-14-15-92-00-12-91-b7-8c,-2.148,11.618,2.906
-14-15-92-00-12-91-af-ee,-2.148,12.222,2.906
-14-15-92-00-12-91-c0-a5,-2.148,12.826,2.906
-14-15-92-00-12-91-c7-51,-2.148,13.431,2.905
-14-15-92-00-12-91-cb-5a,-2.148,14.035,2.905
-14-15-92-00-12-91-cd-aa,-1.324,0.14,2.912
-14-15-92-00-12-91-1f-54,-1.324,2.556,2.911
-14-15-92-00-12-91-20-33,-1.324,3.161,2.91
-14-15-92-00-12-91-bc-a8,-1.324,4.369,2.91
-14-15-92-00-12-91-c6-ab,-1.324,5.577,2.909
-14-15-92-00-12-91-c6-cb,-1.324,7.994,2.908
-14-15-92-00-12-91-c4-e2,-1.324,8.598,2.908
-14-15-92-00-12-91-b9-1d,-1.324,9.806,2.907
-14-15-92-00-12-91-cc-99,-1.324,10.41,2.907
-14-15-92-00-12-91-ca-e2,-1.324,11.618,2.906
-14-15-92-00-12-91-bc-a5,-1.324,12.826,2.906
-14-15-92-00-12-91-be-2a,-1.324,13.431,2.905
-14-15-92-00-12-91-c3-da,-1.324,14.035,2.905
-14-15-92-00-12-91-b2-d4,-0.5,0.14,2.912
-14-15-92-00-12-91-c9-29,-0.5,0.744,2.912
-14-15-92-00-12-91-c2-4a,-0.5,1.348,2.911
-14-15-92-00-12-91-b2-25,-0.5,2.556,2.911
-14-15-92-00-12-91-c0-b1,-0.5,3.161,2.91
-14-15-92-00-12-91-b2-03,-0.5,3.765,2.91
-14-15-92-00-12-91-c1-59,-0.5,4.369,2.91
-14-15-92-00-12-91-b1-6d,-0.5,4.973,2.91
-14-15-92-00-12-91-cb-1c,-0.5,7.389,2.908
-14-15-92-00-12-91-b3-70,-0.5,7.994,2.908
-14-15-92-00-12-91-b9-73,-0.5,8.598,2.908
-14-15-92-00-12-91-ca-15,-0.5,9.202,2.907
-14-15-92-00-12-91-b1-f9,-0.5,10.41,2.907
-14-15-92-00-12-91-b8-4e,-0.5,11.014,2.907
-14-15-92-00-12-91-ce-4a,-0.5,11.618,2.906
-14-15-92-00-12-91-20-36,-0.5,12.222,2.906
-14-15-92-00-12-91-be-91,-0.5,12.826,2.906
-14-15-92-00-12-91-b8-f2,-0.5,13.431,2.905
-14-15-92-00-12-91-b3-01,-0.5,14.035,2.905
-14-15-92-00-12-91-ca-c1,0.66,0.51,2.66
-14-15-92-00-12-91-cb-96,0.66,2.51,2.69
-14-15-92-00-12-91-bd-ae,0.66,3.11,2.7
-14-15-92-00-12-91-bb-1f,2.26,0.14,2.912
-14-15-92-00-12-91-c9-89,2.26,0.744,2.912
-14-15-92-00-12-91-b5-db,2.26,1.348,2.911
-14-15-92-00-12-91-b2-37,2.26,1.952,2.911
-14-15-92-00-12-91-ba-b9,2.26,2.556,2.91
-14-15-92-00-12-91-b8-3d,2.26,3.161,2.91
-14-15-92-00-12-91-b1-97,2.26,3.765,2.91
-14-15-92-00-12-91-c0-31,2.26,4.369,2.909
-14-15-92-00-12-91-b9-60,2.26,4.973,2.909
-14-15-92-00-12-91-c1-56,2.26,6.181,2.908
-14-15-92-00-12-91-b0-f8,2.26,7.389,2.907
-14-15-92-00-12-91-cc-73,2.26,7.994,2.907
-14-15-92-00-12-91-bf-21,2.26,8.598,2.906
-14-15-92-00-12-91-b6-7b,2.26,9.202,2.906
-14-15-92-00-12-91-1f-76,2.26,9.806,2.905
-14-15-92-00-12-91-c6-e9,2.26,10.41,2.905
-14-15-92-00-12-91-bc-0d,3.084,0.14,2.912
-14-15-92-00-12-91-c8-d8,3.084,0.744,2.912
-14-15-92-00-12-91-b4-a5,3.084,1.348,2.911
-14-15-92-00-12-91-c2-ba,3.084,1.952,2.911
-14-15-92-00-12-91-ce-cd,3.084,2.556,2.91
-14-15-92-00-12-91-1c-a1,3.084,3.161,2.91
-14-15-92-00-12-91-b0-56,3.084,3.765,2.91
-14-15-92-00-12-91-bb-2b,3.084,4.369,2.909
-14-15-92-00-12-91-ce-e1,3.084,4.973,2.909
-14-15-92-00-12-91-b2-04,3.084,5.577,2.908
-14-15-92-00-12-91-c4-ca,3.084,6.181,2.908
-14-15-92-00-12-91-c6-ac,3.084,6.785,2.907
-14-15-92-00-12-91-b7-fb,3.084,7.389,2.907
-14-15-92-00-12-91-b5-68,3.084,7.994,2.907
-14-15-92-00-12-91-cb-c6,3.084,8.598,2.906
-14-15-92-00-12-91-bf-52,3.084,9.202,2.906
-14-15-92-00-12-91-c0-59,3.084,9.806,2.905
-14-15-92-00-12-91-b5-29,3.084,10.41,2.905
-14-15-92-00-12-91-b9-1c,3.908,0.14,2.912
-14-15-92-00-12-91-bb-46,3.908,0.744,2.912
-14-15-92-00-12-91-b0-77,3.908,1.348,2.911
-14-15-92-00-12-91-b6-c0,3.908,1.952,2.911
-14-15-92-00-12-91-c2-8c,3.908,2.556,2.91
-14-15-92-00-12-91-c2-5a,3.908,3.161,2.91
-14-15-92-00-12-91-b9-c1,3.908,3.765,2.91
-14-15-92-00-12-91-b1-28,3.908,4.369,2.909
-14-15-92-00-12-91-1f-3e,3.908,4.973,2.909
-14-15-92-00-12-91-c1-21,3.908,5.577,2.908
-14-15-92-00-12-91-b5-5a,3.908,6.181,2.908
-14-15-92-00-12-91-cd-54,3.908,6.785,2.907
-14-15-92-00-12-91-b4-78,3.908,7.389,2.907
-14-15-92-00-12-91-c6-68,3.908,7.994,2.907
-14-15-92-00-12-91-b7-51,3.908,9.202,2.906
-14-15-92-00-12-91-1f-6b,3.908,9.806,2.905
-14-15-92-00-12-91-c2-68,3.908,10.41,2.905
-14-15-92-00-12-91-c4-87,4.732,0.14,2.912
-14-15-92-00-12-91-c4-27,4.732,0.744,2.912
-14-15-92-00-12-91-c5-cf,4.732,1.348,2.911
-14-15-92-00-12-91-c0-91,4.732,2.556,2.91
-14-15-92-00-12-91-c9-80,4.732,3.765,2.91
-14-15-92-00-12-91-b0-8e,4.732,4.369,2.909
-14-15-92-00-12-91-bf-0b,4.732,4.973,2.909
-14-15-92-00-12-91-cb-d4,4.732,5.577,2.908
-14-15-92-00-12-91-c3-2a,4.732,6.181,2.908
-14-15-92-00-12-91-ca-eb,4.732,6.785,2.907
-14-15-92-00-12-91-c3-4c,4.732,7.389,2.907
-14-15-92-00-12-91-cb-fd,4.732,7.994,2.907
-14-15-92-00-12-91-ba-c7,4.732,8.598,2.906
-14-15-92-00-12-91-be-83,4.732,9.202,2.906
-14-15-92-00-12-91-bb-bf,4.732,9.806,2.905
-14-15-92-00-12-91-c4-a9,4.732,10.41,2.905
-14-15-92-00-12-91-b5-1f,5.556,0.14,2.912
-14-15-92-00-12-91-c0-3a,5.556,0.744,2.912
-14-15-92-00-12-91-c9-95,5.556,1.348,2.911
-14-15-92-00-12-91-b5-0e,5.556,1.952,2.911
-14-15-92-00-12-91-af-bf,5.556,2.556,2.91
-14-15-92-00-12-91-b5-a6,5.556,3.161,2.91
-14-15-92-00-12-91-bb-26,5.556,3.765,2.91
-14-15-92-00-12-91-c9-30,5.556,4.369,2.909
-14-15-92-00-12-91-b5-ea,5.556,4.973,2.909
-14-15-92-00-12-91-bc-51,5.556,5.577,2.908
-14-15-92-00-12-91-c7-08,5.556,6.181,2.908
-14-15-92-00-12-91-bf-6f,5.556,6.785,2.907
-14-15-92-00-12-91-bd-10,5.556,7.389,2.907
-14-15-92-00-12-91-b1-76,5.556,7.994,2.907
-14-15-92-00-12-91-b6-d3,5.556,8.598,2.906
-14-15-92-00-12-91-c4-06,5.556,9.202,2.906
-14-15-92-00-12-91-b7-c3,5.556,9.806,2.905
-14-15-92-00-12-91-b2-fc,5.556,10.41,2.905
-14-15-92-00-12-91-cd-7d,6.38,0.14,2.912
-14-15-92-00-12-91-b2-99,6.38,0.744,2.912
-14-15-92-00-12-91-bc-e7,6.38,1.348,2.911
-14-15-92-00-12-91-cb-e0,6.38,1.952,2.911
-14-15-92-00-12-91-be-33,6.38,2.556,2.91
-14-15-92-00-12-91-cf-28,6.38,3.161,2.91
-14-15-92-00-12-91-c8-4f,6.38,3.765,2.91
-14-15-92-00-12-91-b9-5e,6.38,4.369,2.909
-14-15-92-00-12-91-b8-83,6.38,4.973,2.909
-14-15-92-00-12-91-b7-e9,6.38,5.577,2.908
-14-15-92-00-12-91-c6-0b,6.38,6.181,2.908
-14-15-92-00-12-91-c9-3b,6.38,6.785,2.907
-14-15-92-00-12-91-bc-ca,6.38,7.389,2.907
-14-15-92-00-12-91-c6-15,6.38,7.994,2.907
-14-15-92-00-12-91-b7-d1,6.38,8.598,2.906
-14-15-92-00-12-91-b4-90,6.38,9.202,2.906
-14-15-92-00-12-91-c4-79,6.38,9.806,2.905
-14-15-92-00-12-91-bc-67,6.38,10.41,2.905
diff --git a/metas/resources.json b/metas/resources.json
deleted file mode 100644
index 2ecdae5cc4..0000000000
--- a/metas/resources.json
+++ /dev/null
@@ -1 +0,0 @@
-{"items":[{"site":"grenoble","uid":"b2ce","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-1.grenoble.iot-lab.info","mobility_type":"null","z":"1.98","y":"27.67","mobile":0,"x":"4.25"},{"site":"grenoble","uid":"bdc0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-2.grenoble.iot-lab.info","mobility_type":"null","z":"2.7","y":"27.37","mobile":0,"x":"4.57"},{"site":"grenoble","uid":"cdf2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-3.grenoble.iot-lab.info","mobility_type":"null","z":"2.22","y":"27.37","mobile":0,"x":"5.67"},{"site":"grenoble","uid":"c6c0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-4.grenoble.iot-lab.info","mobility_type":"null","z":"2.8","y":"27.37","mobile":0,"x":"6.36"},{"site":"grenoble","uid":"b27c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-5.grenoble.iot-lab.info","mobility_type":"null","z":"2.42","y":"27.37","mobile":0,"x":"7.4"},{"site":"grenoble","uid":"bfc6","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-6.grenoble.iot-lab.info","mobility_type":"null","z":"2.85","y":"27.37","mobile":0,"x":"8.15"},{"site":"grenoble","uid":"b39e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-7.grenoble.iot-lab.info","mobility_type":"null","z":"2.28","y":"27.37","mobile":0,"x":"9.13"},{"site":"grenoble","uid":"b07f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-8.grenoble.iot-lab.info","mobility_type":"null","z":"2.37","y":"27.37","mobile":0,"x":"10.4"},{"site":"grenoble","uid":"c7e6","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-9.grenoble.iot-lab.info","mobility_type":"null","z":"2.8","y":"27.37","mobile":0,"x":"11.36"},{"site":"grenoble","uid":"beed","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-10.grenoble.iot-lab.info","mobility_type":"null","z":"2.3","y":"27.37","mobile":0,"x":"12.53"},{"site":"grenoble","uid":"bb40","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-11.grenoble.iot-lab.info","mobility_type":"null","z":"2.65","y":"27.37","mobile":0,"x":"13.75"},{"site":"grenoble","uid":"c1fe","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-12.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"3.03"},{"site":"grenoble","uid":"b807","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-13.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"3.83"},{"site":"grenoble","uid":"b2ca","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-14.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"4.8"},{"site":"grenoble","uid":"b020","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-15.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"5.74"},{"site":"grenoble","uid":"b6d8","archi":"wsn430:cc1101","state":"Suspected","network_address":"wsn430-16.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"6.76"},{"site":"grenoble","uid":"c631","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-17.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"7.86"},{"site":"grenoble","uid":"cc8b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-18.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"8.93"},{"site":"grenoble","uid":"b03d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-19.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"10.13"},{"site":"grenoble","uid":"c24c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-20.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"11.28"},{"site":"grenoble","uid":"cc0d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-21.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"12.18"},{"site":"grenoble","uid":"b047","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-22.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"13.18"},{"site":"grenoble","uid":"bc97","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-23.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"14.18"},{"site":"grenoble","uid":"c13d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-24.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"14.93"},{"site":"grenoble","uid":"bed2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-25.grenoble.iot-lab.info","mobility_type":"null","z":"2.54","y":"28.07","mobile":0,"x":"15.73"},{"site":"grenoble","uid":"b1cb","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-26.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"1.98"},{"site":"grenoble","uid":"b94f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-27.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"3.13"},{"site":"grenoble","uid":"c33e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-28.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"4.08"},{"site":"grenoble","uid":"1cbe","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-29.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"5.18"},{"site":"grenoble","uid":"ccc8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-30.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"6.38"},{"site":"grenoble","uid":"b1a5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-31.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"7.45"},{"site":"grenoble","uid":"b63b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-32.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"8.3"},{"site":"grenoble","uid":"c78e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-33.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"8.8"},{"site":"grenoble","uid":"b902","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-34.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"10.17"},{"site":"grenoble","uid":"c443","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-35.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"11.08"},{"site":"grenoble","uid":"b615","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-36.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"12.12"},{"site":"grenoble","uid":"cf33","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-37.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"12.89"},{"site":"grenoble","uid":"b8bd","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-38.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"14.11"},{"site":"grenoble","uid":"b32d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-39.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"29.35","mobile":0,"x":"15.13"},{"site":"grenoble","uid":"c21d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-40.grenoble.iot-lab.info","mobility_type":"null","z":"2.53","y":"29.1","mobile":0,"x":"3.95"},{"site":"grenoble","uid":"c216","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-41.grenoble.iot-lab.info","mobility_type":"null","z":"2.53","y":"29.05","mobile":0,"x":"5.51"},{"site":"grenoble","uid":"ca2d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-42.grenoble.iot-lab.info","mobility_type":"null","z":"2.53","y":"29.22","mobile":0,"x":"7.53"},{"site":"grenoble","uid":"c7ee","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-43.grenoble.iot-lab.info","mobility_type":"null","z":"2.53","y":"29.02","mobile":0,"x":"9.53"},{"site":"grenoble","uid":"bb04","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-44.grenoble.iot-lab.info","mobility_type":"null","z":"2.53","y":"29.27","mobile":0,"x":"11.73"},{"site":"grenoble","uid":"c878","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-45.grenoble.iot-lab.info","mobility_type":"null","z":"2.53","y":"29.01","mobile":0,"x":"13.78"},{"site":"grenoble","uid":"b85a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-46.grenoble.iot-lab.info","mobility_type":"null","z":"2.53","y":"28.93","mobile":0,"x":"15.58"},{"site":"grenoble","uid":"b2f9","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-47.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.13","mobile":0,"x":"2.98"},{"site":"grenoble","uid":"bd6f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-48.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.21","mobile":0,"x":"4.33"},{"site":"grenoble","uid":"c2f6","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-49.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.21","mobile":0,"x":"5.3"},{"site":"grenoble","uid":"c18d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-50.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"6.28"},{"site":"grenoble","uid":"c474","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-51.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"7.51"},{"site":"grenoble","uid":"c4bb","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-52.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"8.58"},{"site":"grenoble","uid":"b384","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-53.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"9.58"},{"site":"grenoble","uid":"b0a8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-54.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"10.45"},{"site":"grenoble","uid":"bfc4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-55.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"11.32"},{"site":"grenoble","uid":"c597","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-56.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"12.26"},{"site":"grenoble","uid":"c90d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-57.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"13.28"},{"site":"grenoble","uid":"ca91","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-58.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"14.28"},{"site":"grenoble","uid":"b35b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-59.grenoble.iot-lab.info","mobility_type":"null","z":"2.52","y":"30.17","mobile":0,"x":"15.53"},{"site":"grenoble","uid":"bba0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-60.grenoble.iot-lab.info","mobility_type":"null","z":"2.5","y":"29.72","mobile":0,"x":"16.53"},{"site":"grenoble","uid":"b328","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-61.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.37","mobile":0,"x":"3.98"},{"site":"grenoble","uid":"b7a5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-62.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.47","mobile":0,"x":"5.08"},{"site":"grenoble","uid":"c7b0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-63.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.47","mobile":0,"x":"6.18"},{"site":"grenoble","uid":"c873","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-64.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.47","mobile":0,"x":"7.2"},{"site":"grenoble","uid":"c04d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-65.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.47","mobile":0,"x":"8.68"},{"site":"grenoble","uid":"c5b5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-66.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.47","mobile":0,"x":"9.58"},{"site":"grenoble","uid":"c115","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-67.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.42","mobile":0,"x":"10.53"},{"site":"grenoble","uid":"be03","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-68.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.27","mobile":0,"x":"11.35"},{"site":"grenoble","uid":"bfa6","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-69.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.42","mobile":0,"x":"12.35"},{"site":"grenoble","uid":"be64","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-70.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.42","mobile":0,"x":"13.28"},{"site":"grenoble","uid":"c596","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-71.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.42","mobile":0,"x":"14.31"},{"site":"grenoble","uid":"c01c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-72.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"30.42","mobile":0,"x":"15.21"},{"site":"grenoble","uid":"c8dd","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-73.grenoble.iot-lab.info","mobility_type":"null","z":"3.53","y":"30.92","mobile":0,"x":"7.83"},{"site":"grenoble","uid":"b18b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-74.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"31.97","mobile":0,"x":"4.0"},{"site":"grenoble","uid":"bfc5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-75.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"31.97","mobile":0,"x":"4.97"},{"site":"grenoble","uid":"b0e9","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-76.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"31.97","mobile":0,"x":"6.0"},{"site":"grenoble","uid":"1fa0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-77.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"31.97","mobile":0,"x":"7.01"},{"site":"grenoble","uid":"b2ba","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-78.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"31.97","mobile":0,"x":"8.16"},{"site":"grenoble","uid":"b1ae","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-79.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"31.97","mobile":0,"x":"9.08"},{"site":"grenoble","uid":"b89a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-80.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"31.99","mobile":0,"x":"10.1"},{"site":"grenoble","uid":"b41e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-81.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"31.92","mobile":0,"x":"11.05"},{"site":"grenoble","uid":"unknown","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-82.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"32.03","mobile":0,"x":"12.07"},{"site":"grenoble","uid":"b666","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-83.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"32.03","mobile":0,"x":"13.07"},{"site":"grenoble","uid":"bde3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-84.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"32.05","mobile":0,"x":"14.26"},{"site":"grenoble","uid":"b029","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-85.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"32.05","mobile":0,"x":"15.41"},{"site":"grenoble","uid":"unknown","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-86.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.02","mobile":0,"x":"3.17"},{"site":"grenoble","uid":"unknown","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-87.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.02","mobile":0,"x":"4.27"},{"site":"grenoble","uid":"b65d","archi":"wsn430:cc1101","state":"Suspected","network_address":"wsn430-88.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.03","mobile":0,"x":"5.44"},{"site":"grenoble","uid":"c8e0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-89.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.03","mobile":0,"x":"6.4"},{"site":"grenoble","uid":"c1d7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-90.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.03","mobile":0,"x":"7.45"},{"site":"grenoble","uid":"c494","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-91.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.03","mobile":0,"x":"8.42"},{"site":"grenoble","uid":"b193","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-92.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.04","mobile":0,"x":"9.37"},{"site":"grenoble","uid":"c828","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-93.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.04","mobile":0,"x":"10.3"},{"site":"grenoble","uid":"cd06","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-94.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.02","mobile":0,"x":"11.3"},{"site":"grenoble","uid":"afed","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-95.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"32.02","mobile":0,"x":"12.4"},{"site":"grenoble","uid":"baea","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-96.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"31.97","mobile":0,"x":"13.36"},{"site":"grenoble","uid":"c19c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-97.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"31.97","mobile":0,"x":"14.43"},{"site":"grenoble","uid":"be7f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-98.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"31.95","mobile":0,"x":"15.41"},{"site":"grenoble","uid":"becb","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-99.grenoble.iot-lab.info","mobility_type":"null","z":"2.65","y":"27.37","mobile":0,"x":"2.3"},{"site":"grenoble","uid":"ba2d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-100.grenoble.iot-lab.info","mobility_type":"null","z":"2.62","y":"33.57","mobile":0,"x":"17.06"},{"site":"grenoble","uid":"baa9","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-101.grenoble.iot-lab.info","mobility_type":"null","z":"2.6","y":"30.85","mobile":0,"x":"3.8"},{"site":"grenoble","uid":"bad5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-102.grenoble.iot-lab.info","mobility_type":"null","z":"2.6","y":"30.97","mobile":0,"x":"15.58"},{"site":"grenoble","uid":"beb6","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-103.grenoble.iot-lab.info","mobility_type":"null","z":"0.37","y":"32.0","mobile":0,"x":"4.08"},{"site":"grenoble","uid":"b4de","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-104.grenoble.iot-lab.info","mobility_type":"null","z":"0.37","y":"32.0","mobile":0,"x":"4.82"},{"site":"grenoble","uid":"c79d","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-105.grenoble.iot-lab.info","mobility_type":"null","z":"0.37","y":"32.0","mobile":0,"x":"5.72"},{"site":"grenoble","uid":"c16a","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-106.grenoble.iot-lab.info","mobility_type":"null","z":"0.37","y":"32.0","mobile":0,"x":"6.46"},{"site":"grenoble","uid":"b323","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-107.grenoble.iot-lab.info","mobility_type":"null","z":"1.07","y":"31.72","mobile":0,"x":"3.98"},{"site":"grenoble","uid":"b396","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-108.grenoble.iot-lab.info","mobility_type":"null","z":"1.07","y":"31.72","mobile":0,"x":"4.79"},{"site":"grenoble","uid":"b4c1","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-109.grenoble.iot-lab.info","mobility_type":"null","z":"1.07","y":"31.72","mobile":0,"x":"5.66"},{"site":"grenoble","uid":"bea9","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-110.grenoble.iot-lab.info","mobility_type":"null","z":"1.07","y":"31.72","mobile":0,"x":"6.48"},{"site":"grenoble","uid":"ba73","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-111.grenoble.iot-lab.info","mobility_type":"null","z":"2.0","y":"32.14","mobile":0,"x":"4.12"},{"site":"grenoble","uid":"b092","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-112.grenoble.iot-lab.info","mobility_type":"null","z":"2.0","y":"32.14","mobile":0,"x":"4.9"},{"site":"grenoble","uid":"b2bc","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-113.grenoble.iot-lab.info","mobility_type":"null","z":"2.0","y":"32.14","mobile":0,"x":"5.78"},{"site":"grenoble","uid":"ba62","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-114.grenoble.iot-lab.info","mobility_type":"null","z":"2.0","y":"32.19","mobile":0,"x":"6.5"},{"site":"grenoble","uid":"b34b","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-115.grenoble.iot-lab.info","mobility_type":"null","z":"0.2","y":"32.85","mobile":0,"x":"3.88"},{"site":"grenoble","uid":"b974","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-116.grenoble.iot-lab.info","mobility_type":"null","z":"0.2","y":"32.89","mobile":0,"x":"4.98"},{"site":"grenoble","uid":"b230","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-117.grenoble.iot-lab.info","mobility_type":"null","z":"0.2","y":"32.89","mobile":0,"x":"5.78"},{"site":"grenoble","uid":"c319","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-118.grenoble.iot-lab.info","mobility_type":"null","z":"0.43","y":"32.77","mobile":0,"x":"6.53"},{"site":"grenoble","uid":"cbe5","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-119.grenoble.iot-lab.info","mobility_type":"null","z":"1.04","y":"32.66","mobile":0,"x":"4.1"},{"site":"grenoble","uid":"c639","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-120.grenoble.iot-lab.info","mobility_type":"null","z":"1.04","y":"32.66","mobile":0,"x":"4.86"},{"site":"grenoble","uid":"bfca","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-121.grenoble.iot-lab.info","mobility_type":"null","z":"1.04","y":"32.69","mobile":0,"x":"6.47"},{"site":"grenoble","uid":"c5fb","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-122.grenoble.iot-lab.info","mobility_type":"null","z":"1.82","y":"33.08","mobile":0,"x":"4.07"},{"site":"grenoble","uid":"c552","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-123.grenoble.iot-lab.info","mobility_type":"null","z":"1.8","y":"33.08","mobile":0,"x":"5.06"},{"site":"grenoble","uid":"b413","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-124.grenoble.iot-lab.info","mobility_type":"null","z":"1.83","y":"33.08","mobile":0,"x":"5.95"},{"site":"grenoble","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-125.grenoble.iot-lab.info","mobility_type":"null","z":"2.6","y":"37.64","mobile":0,"x":"2.12"},{"site":"grenoble","uid":"c3b4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-126.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"35.6","mobile":0,"x":"2.34"},{"site":"grenoble","uid":"c38d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-127.grenoble.iot-lab.info","mobility_type":"null","z":"3.0","y":"27.77","mobile":0,"x":"8.81"},{"site":"grenoble","uid":"b5d0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-128.grenoble.iot-lab.info","mobility_type":"null","z":"3.02","y":"27.72","mobile":0,"x":"10.91"},{"site":"grenoble","uid":"c9cd","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-129.grenoble.iot-lab.info","mobility_type":"null","z":"2.6","y":"33.64","mobile":0,"x":"1.98"},{"site":"grenoble","uid":"b491","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-130.grenoble.iot-lab.info","mobility_type":"null","z":"2.57","y":"33.57","mobile":0,"x":"2.71"},{"site":"grenoble","uid":"beab","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-131.grenoble.iot-lab.info","mobility_type":"null","z":"2.57","y":"33.57","mobile":0,"x":"3.73"},{"site":"grenoble","uid":"b053","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-132.grenoble.iot-lab.info","mobility_type":"null","z":"2.57","y":"33.57","mobile":0,"x":"4.81"},{"site":"grenoble","uid":"c349","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-133.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"33.57","mobile":0,"x":"5.72"},{"site":"grenoble","uid":"be0f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-134.grenoble.iot-lab.info","mobility_type":"null","z":"2.59","y":"33.57","mobile":0,"x":"6.7"},{"site":"grenoble","uid":"b8a3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-135.grenoble.iot-lab.info","mobility_type":"null","z":"2.59","y":"33.57","mobile":0,"x":"7.68"},{"site":"grenoble","uid":"c4d1","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-136.grenoble.iot-lab.info","mobility_type":"null","z":"2.6","y":"33.57","mobile":0,"x":"8.7"},{"site":"grenoble","uid":"c686","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-137.grenoble.iot-lab.info","mobility_type":"null","z":"2.6","y":"33.57","mobile":0,"x":"9.7"},{"site":"grenoble","uid":"bfba","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-138.grenoble.iot-lab.info","mobility_type":"null","z":"2.61","y":"33.57","mobile":0,"x":"10.69"},{"site":"grenoble","uid":"baa2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-139.grenoble.iot-lab.info","mobility_type":"null","z":"2.61","y":"33.57","mobile":0,"x":"11.71"},{"site":"grenoble","uid":"c529","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-140.grenoble.iot-lab.info","mobility_type":"null","z":"2.62","y":"33.57","mobile":0,"x":"12.71"},{"site":"grenoble","uid":"b7c6","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-141.grenoble.iot-lab.info","mobility_type":"null","z":"2.62","y":"33.57","mobile":0,"x":"13.74"},{"site":"grenoble","uid":"ccdc","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-142.grenoble.iot-lab.info","mobility_type":"null","z":"2.62","y":"33.57","mobile":0,"x":"14.75"},{"site":"grenoble","uid":"b74f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-143.grenoble.iot-lab.info","mobility_type":"null","z":"2.62","y":"33.57","mobile":0,"x":"15.73"},{"site":"grenoble","uid":"bb93","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-144.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"34.01","mobile":0,"x":"7.95"},{"site":"grenoble","uid":"204e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-145.grenoble.iot-lab.info","mobility_type":"null","z":"3.58","y":"33.99","mobile":0,"x":"11.23"},{"site":"grenoble","uid":"b797","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-146.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"2.56"},{"site":"grenoble","uid":"b71f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-147.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"3.36"},{"site":"grenoble","uid":"c98d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-148.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"4.4"},{"site":"grenoble","uid":"bfea","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-149.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"5.35"},{"site":"grenoble","uid":"bfcd","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-150.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"6.4"},{"site":"grenoble","uid":"afb3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-151.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"7.45"},{"site":"grenoble","uid":"c067","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-152.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"8.43"},{"site":"grenoble","uid":"bd0c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-153.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"9.75"},{"site":"grenoble","uid":"cc6e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-154.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"10.76"},{"site":"grenoble","uid":"1f58","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-155.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"11.66"},{"site":"grenoble","uid":"c4de","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-156.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"12.66"},{"site":"grenoble","uid":"c84d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-157.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"13.76"},{"site":"grenoble","uid":"bee7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-158.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"14.76"},{"site":"grenoble","uid":"b5aa","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-159.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"35.07","mobile":0,"x":"15.78"},{"site":"grenoble","uid":"cea4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-160.grenoble.iot-lab.info","mobility_type":"null","z":"2.6","y":"35.09","mobile":0,"x":"1.91"},{"site":"grenoble","uid":"c1d2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-161.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"2.75"},{"site":"grenoble","uid":"b961","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-162.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"3.65"},{"site":"grenoble","uid":"b013","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-163.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"4.57"},{"site":"grenoble","uid":"unknown","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-164.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"5.54"},{"site":"grenoble","uid":"c4cf","archi":"wsn430:cc1101","state":"Suspected","network_address":"wsn430-165.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"6.55"},{"site":"grenoble","uid":"bfa1","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-166.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"7.53"},{"site":"grenoble","uid":"bb56","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-167.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"8.54"},{"site":"grenoble","uid":"ba8c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-168.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"9.56"},{"site":"grenoble","uid":"b8e1","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-169.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"10.66"},{"site":"grenoble","uid":"b978","archi":"wsn430:cc1101","state":"Suspected","network_address":"wsn430-170.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"11.76"},{"site":"grenoble","uid":"cac7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-171.grenoble.iot-lab.info","mobility_type":"null","z":"2.58","y":"35.07","mobile":0,"x":"12.8"},{"site":"grenoble","uid":"b6c1","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-172.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"2.52"},{"site":"grenoble","uid":"b9c2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-173.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"3.37"},{"site":"grenoble","uid":"af8d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-174.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"4.44"},{"site":"grenoble","uid":"b105","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-175.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"5.39"},{"site":"grenoble","uid":"baa8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-176.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"6.55"},{"site":"grenoble","uid":"b650","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-177.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"7.46"},{"site":"grenoble","uid":"b097","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-178.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"8.53"},{"site":"grenoble","uid":"c1fd","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-179.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"9.56"},{"site":"grenoble","uid":"c0ce","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-180.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"10.51"},{"site":"grenoble","uid":"bf9c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-181.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"11.66"},{"site":"grenoble","uid":"c938","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-182.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"12.55"},{"site":"grenoble","uid":"b2d8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-183.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"13.55"},{"site":"grenoble","uid":"b01d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-184.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"14.61"},{"site":"grenoble","uid":"c432","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-185.grenoble.iot-lab.info","mobility_type":"null","z":"3.67","y":"36.37","mobile":0,"x":"15.65"},{"site":"grenoble","uid":"2030","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-186.grenoble.iot-lab.info","mobility_type":"null","z":"2.56","y":"36.37","mobile":0,"x":"1.93"},{"site":"grenoble","uid":"b31e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-187.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.37","mobile":0,"x":"2.91"},{"site":"grenoble","uid":"cb9b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-188.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.37","mobile":0,"x":"3.91"},{"site":"grenoble","uid":"ba2e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-189.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.37","mobile":0,"x":"4.91"},{"site":"grenoble","uid":"b1b2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-190.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.37","mobile":0,"x":"5.91"},{"site":"grenoble","uid":"b916","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-191.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.37","mobile":0,"x":"6.91"},{"site":"grenoble","uid":"c15f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-192.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.34","mobile":0,"x":"7.92"},{"site":"grenoble","uid":"1f69","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-193.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.37","mobile":0,"x":"8.92"},{"site":"grenoble","uid":"b8df","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-194.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.34","mobile":0,"x":"10.02"},{"site":"grenoble","uid":"cde9","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-195.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.37","mobile":0,"x":"11.07"},{"site":"grenoble","uid":"b355","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-196.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.37","mobile":0,"x":"12.06"},{"site":"grenoble","uid":"ced8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-197.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"36.37","mobile":0,"x":"13.18"},{"site":"grenoble","uid":"cb46","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-198.grenoble.iot-lab.info","mobility_type":"null","z":"3.37","y":"37.6","mobile":0,"x":"7.16"},{"site":"grenoble","uid":"c863","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-199.grenoble.iot-lab.info","mobility_type":"null","z":"3.37","y":"37.55","mobile":0,"x":"12.23"},{"site":"grenoble","uid":"bf1e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-200.grenoble.iot-lab.info","mobility_type":"null","z":"3.37","y":"37.55","mobile":0,"x":"13.25"},{"site":"grenoble","uid":"c311","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-201.grenoble.iot-lab.info","mobility_type":"null","z":"3.37","y":"37.55","mobile":0,"x":"14.26"},{"site":"grenoble","uid":"b4f0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-202.grenoble.iot-lab.info","mobility_type":"null","z":"3.37","y":"37.55","mobile":0,"x":"15.26"},{"site":"grenoble","uid":"cebe","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-203.grenoble.iot-lab.info","mobility_type":"null","z":"3.37","y":"37.55","mobile":0,"x":"16.26"},{"site":"grenoble","uid":"b6b3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-204.grenoble.iot-lab.info","mobility_type":"null","z":"2.8","y":"37.82","mobile":0,"x":"3.23"},{"site":"grenoble","uid":"b5d5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-205.grenoble.iot-lab.info","mobility_type":"null","z":"2.95","y":"37.82","mobile":0,"x":"4.23"},{"site":"grenoble","uid":"c8fd","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-206.grenoble.iot-lab.info","mobility_type":"null","z":"3.1","y":"37.82","mobile":0,"x":"5.03"},{"site":"grenoble","uid":"b8f3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-207.grenoble.iot-lab.info","mobility_type":"null","z":"2.3","y":"37.82","mobile":0,"x":"4.78"},{"site":"grenoble","uid":"ca86","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-208.grenoble.iot-lab.info","mobility_type":"null","z":"2.55","y":"37.82","mobile":0,"x":"6.13"},{"site":"grenoble","uid":"b9a2","archi":"wsn430:cc1101","state":"Suspected","network_address":"wsn430-209.grenoble.iot-lab.info","mobility_type":"null","z":"3.2","y":"38.07","mobile":0,"x":"6.91"},{"site":"grenoble","uid":"cf50","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-210.grenoble.iot-lab.info","mobility_type":"null","z":"2.18","y":"38.07","mobile":0,"x":"6.91"},{"site":"grenoble","uid":"bfb3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-211.grenoble.iot-lab.info","mobility_type":"null","z":"2.13","y":"38.87","mobile":0,"x":"6.91"},{"site":"grenoble","uid":"b72f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-212.grenoble.iot-lab.info","mobility_type":"null","z":"2.43","y":"37.77","mobile":0,"x":"12.23"},{"site":"grenoble","uid":"c08f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-213.grenoble.iot-lab.info","mobility_type":"null","z":"2.37","y":"37.77","mobile":0,"x":"12.98"},{"site":"grenoble","uid":"b7e4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-214.grenoble.iot-lab.info","mobility_type":"null","z":"2.48","y":"37.77","mobile":0,"x":"13.93"},{"site":"grenoble","uid":"c00a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-215.grenoble.iot-lab.info","mobility_type":"null","z":"2.6","y":"37.77","mobile":0,"x":"14.96"},{"site":"grenoble","uid":"cdfc","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-216.grenoble.iot-lab.info","mobility_type":"null","z":"2.7","y":"37.77","mobile":0,"x":"16.06"},{"site":"grenoble","uid":"b451","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-217.grenoble.iot-lab.info","mobility_type":"null","z":"2.2","y":"37.77","mobile":0,"x":"17.08"},{"site":"grenoble","uid":"b48c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-218.grenoble.iot-lab.info","mobility_type":"null","z":"3.35","y":"38.59","mobile":0,"x":"7.84"},{"site":"grenoble","uid":"c3ee","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-219.grenoble.iot-lab.info","mobility_type":"null","z":"3.35","y":"39.55","mobile":0,"x":"7.84"},{"site":"grenoble","uid":"b8c3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-220.grenoble.iot-lab.info","mobility_type":"null","z":"3.35","y":"40.55","mobile":0,"x":"7.86"},{"site":"grenoble","uid":"b7b6","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-221.grenoble.iot-lab.info","mobility_type":"null","z":"3.35","y":"41.45","mobile":0,"x":"7.86"},{"site":"grenoble","uid":"b15e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-222.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"38.54","mobile":0,"x":"9.96"},{"site":"grenoble","uid":"b434","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-223.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"39.49","mobile":0,"x":"9.98"},{"site":"grenoble","uid":"ccb0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-224.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"40.51","mobile":0,"x":"9.98"},{"site":"grenoble","uid":"cc9f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-225.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"41.41","mobile":0,"x":"9.98"},{"site":"grenoble","uid":"c836","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-226.grenoble.iot-lab.info","mobility_type":"null","z":"3.6","y":"42.41","mobile":0,"x":"9.96"},{"site":"grenoble","uid":"ca8a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-227.grenoble.iot-lab.info","mobility_type":"null","z":"3.35","y":"38.57","mobile":0,"x":"11.34"},{"site":"grenoble","uid":"cd71","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-228.grenoble.iot-lab.info","mobility_type":"null","z":"3.35","y":"39.57","mobile":0,"x":"11.36"},{"site":"grenoble","uid":"b2c4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-229.grenoble.iot-lab.info","mobility_type":"null","z":"3.35","y":"40.57","mobile":0,"x":"11.36"},{"site":"grenoble","uid":"b33f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-230.grenoble.iot-lab.info","mobility_type":"null","z":"3.35","y":"41.47","mobile":0,"x":"11.36"},{"site":"grenoble","uid":"c31a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-231.grenoble.iot-lab.info","mobility_type":"null","z":"2.57","y":"37.32","mobile":0,"x":"8.53"},{"site":"grenoble","uid":"b565","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-232.grenoble.iot-lab.info","mobility_type":"null","z":"2.57","y":"38.43","mobile":0,"x":"8.53"},{"site":"grenoble","uid":"b700","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-233.grenoble.iot-lab.info","mobility_type":"null","z":"2.57","y":"39.45","mobile":0,"x":"8.53"},{"site":"grenoble","uid":"c63c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-234.grenoble.iot-lab.info","mobility_type":"null","z":"2.57","y":"37.34","mobile":0,"x":"10.24"},{"site":"grenoble","uid":"c5cc","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-235.grenoble.iot-lab.info","mobility_type":"null","z":"2.57","y":"38.24","mobile":0,"x":"10.24"},{"site":"grenoble","uid":"cee7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-236.grenoble.iot-lab.info","mobility_type":"null","z":"2.57","y":"39.47","mobile":0,"x":"10.24"},{"site":"grenoble","uid":"c543","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-237.grenoble.iot-lab.info","mobility_type":"null","z":"3.5","y":"39.77","mobile":0,"x":"6.91"},{"site":"grenoble","uid":"ce47","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-238.grenoble.iot-lab.info","mobility_type":"null","z":"2.66","y":"40.28","mobile":0,"x":"8.83"},{"site":"grenoble","uid":"c108","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-239.grenoble.iot-lab.info","mobility_type":"null","z":"3.25","y":"41.77","mobile":0,"x":"6.91"},{"site":"grenoble","uid":"bc0f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-240.grenoble.iot-lab.info","mobility_type":"null","z":"3.34","y":"42.8","mobile":0,"x":"9.51"},{"site":"grenoble","uid":"ca22","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-241.grenoble.iot-lab.info","mobility_type":"null","z":"3.7","y":"40.05","mobile":0,"x":"8.56"},{"site":"grenoble","uid":"c6c4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-242.grenoble.iot-lab.info","mobility_type":"null","z":"3.53","y":"40.87","mobile":0,"x":"6.91"},{"site":"grenoble","uid":"b14d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-243.grenoble.iot-lab.info","mobility_type":"null","z":"3.34","y":"41.87","mobile":0,"x":"9.51"},{"site":"grenoble","uid":"b8c8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-244.grenoble.iot-lab.info","mobility_type":"null","z":"3.7","y":"40.09","mobile":0,"x":"10.36"},{"site":"grenoble","uid":"ce6c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-245.grenoble.iot-lab.info","mobility_type":"null","z":"3.37","y":"38.42","mobile":0,"x":"10.51"},{"site":"grenoble","uid":"bdf0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-246.grenoble.iot-lab.info","mobility_type":"null","z":"3.63","y":"42.95","mobile":0,"x":"11.41"},{"site":"grenoble","uid":"c819","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-247.grenoble.iot-lab.info","mobility_type":"null","z":"3.65","y":"41.31","mobile":0,"x":"12.23"},{"site":"grenoble","uid":"b4e4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-248.grenoble.iot-lab.info","mobility_type":"null","z":"2.6","y":"40.28","mobile":0,"x":"10.24"},{"site":"grenoble","uid":"c94e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-249.grenoble.iot-lab.info","mobility_type":"null","z":"3.27","y":"41.91","mobile":0,"x":"12.23"},{"site":"grenoble","uid":"c8fb","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-250.grenoble.iot-lab.info","mobility_type":"null","z":"3.53","y":"40.57","mobile":0,"x":"12.23"},{"site":"grenoble","uid":"be2e","archi":"wsn430:cc1101","state":"Suspected","network_address":"wsn430-251.grenoble.iot-lab.info","mobility_type":"null","z":"3.62","y":"42.95","mobile":0,"x":"7.31"},{"site":"grenoble","uid":"c4ed","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-252.grenoble.iot-lab.info","mobility_type":"null","z":"3.63","y":"42.95","mobile":0,"x":"8.12"},{"site":"grenoble","uid":"b669","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-253.grenoble.iot-lab.info","mobility_type":"null","z":"3.63","y":"42.95","mobile":0,"x":"8.88"},{"site":"grenoble","uid":"cd4c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-254.grenoble.iot-lab.info","mobility_type":"null","z":"3.35","y":"41.9","mobile":0,"x":"7.69"},{"site":"grenoble","uid":"unknown","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-255.grenoble.iot-lab.info","mobility_type":"null","z":"3.66","y":"42.95","mobile":0,"x":"10.13"},{"site":"grenoble","uid":"b806","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-256.grenoble.iot-lab.info","mobility_type":"null","z":"1.04","y":"32.68","mobile":0,"x":"5.7"},{"site":"rennes","uid":"caf5","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-1.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"ca73","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-2.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"c88c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-3.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-4.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"b1c3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-5.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"2.556","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-6.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"b704","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-7.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"c351","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-8.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.369","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"bc98","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-9.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.973","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"b344","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-10.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"5.577","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"c59b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-11.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.181","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-12.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.785","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"c09a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-13.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.389","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"bd6e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-14.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.994","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"c0e9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-15.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"8.598","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"ca0a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-16.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.202","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"b583","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-17.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.806","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"b8d6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-18.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"10.41","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"c579","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-19.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"11.014","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"beeb","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-20.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"11.618","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"c5e7","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-21.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.222","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"c2bb","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-22.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.826","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"1c15","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-23.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"13.431","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"cb97","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-24.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"14.035","mobile":0,"x":"-4.62"},{"site":"rennes","uid":"b4bc","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-25.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"b502","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-26.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"c89a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-27.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"c32c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-28.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"b792","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-29.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"2.556","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"c3a8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-30.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"c7a8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-31.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"ba43","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-32.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.369","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-33.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.973","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"c7cf","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-34.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"5.577","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"b920","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-35.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.181","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"bd97","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-36.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.785","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"bafb","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-37.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.389","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"b81d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-38.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.994","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"b525","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-39.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"8.598","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"c032","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-40.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.202","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"c475","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-41.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.806","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"b192","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-42.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"10.41","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"bcd2","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-43.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"11.014","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"c632","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-44.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"11.618","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-45.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.222","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"b1a3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-46.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.826","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-47.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"13.431","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-48.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"14.035","mobile":0,"x":"-3.796"},{"site":"rennes","uid":"1f52","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-49.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"cf06","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-50.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"b1b6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-51.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"c713","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-52.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"be69","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-53.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"2.556","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"c41c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-54.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"b1ce","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-55.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"bf0e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-56.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.369","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"b7a4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-57.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.973","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"b712","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-58.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"5.577","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"cf01","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-59.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.181","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"b4a4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-60.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.785","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"c118","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-61.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.389","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"ca5a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-62.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.994","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-63.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"8.598","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"b3fc","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-64.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.202","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"c3bd","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-65.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.806","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"c73e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-66.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"10.41","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"bc5a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-67.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"11.014","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"c872","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-68.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"11.618","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"be7c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-69.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.222","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"c05f","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-70.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.826","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"b234","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-71.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"13.431","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-72.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"14.035","mobile":0,"x":"-2.972"},{"site":"rennes","uid":"c345","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-73.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c33c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-74.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"1c06","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-75.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-76.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c760","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-77.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"2.556","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"b775","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-78.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-79.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c5b4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-80.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.369","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c9ce","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-81.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.973","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"b964","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-82.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"5.577","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c688","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-83.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.181","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-84.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.785","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"b228","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-85.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.389","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c171","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-86.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.994","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"b5b2","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-87.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"8.598","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"b9e9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-88.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.202","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c715","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-89.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.806","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c9c5","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-90.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"10.41","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"b627","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-91.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"11.014","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"b78c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-92.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"11.618","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"afee","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-93.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.222","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c0a5","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-94.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.826","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"c751","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-95.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"13.431","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"cb5a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-96.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"14.035","mobile":0,"x":"-2.148"},{"site":"rennes","uid":"cdaa","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-97.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-98.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-99.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-100.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"1f54","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-101.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"2.556","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"2033","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-102.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-103.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"bca8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-104.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.369","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-105.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.973","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"c6ab","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-106.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"5.577","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-107.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.181","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-108.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.785","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-109.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.389","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"c6cb","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-110.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.994","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"c4e2","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-111.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"8.598","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-112.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.202","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"b91d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-113.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.806","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"cc99","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-114.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"10.41","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-115.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"11.014","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"cae2","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-116.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"11.618","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-117.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.222","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"bca5","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-118.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.826","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"be2a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-119.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"13.431","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"c3da","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-120.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"14.035","mobile":0,"x":"-1.324"},{"site":"rennes","uid":"b2d4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-121.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"c929","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-122.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"c24a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-123.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-124.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"b225","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-125.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"2.556","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"c0b1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-126.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"b203","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-127.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"c159","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-128.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.369","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"b16d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-129.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"4.973","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-130.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"5.577","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-131.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.181","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-132.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"6.785","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"cb1c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-133.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.389","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"b370","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-134.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"7.994","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"b973","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-135.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"8.598","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"ca15","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-136.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.202","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-137.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"9.806","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"b1f9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-138.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"10.41","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"b84e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-139.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"11.014","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"ce4a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-140.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"11.618","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"2036","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-141.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.222","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"be91","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-142.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"12.826","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"b8f2","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-143.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"13.431","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"b301","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-144.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"14.035","mobile":0,"x":"-0.5"},{"site":"rennes","uid":"cac1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-145.rennes.iot-lab.info","mobility_type":"null","z":"2.66","y":"0.51","mobile":0,"x":"0.66"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-146.rennes.iot-lab.info","mobility_type":"null","z":"2.8","y":"1.46","mobile":0,"x":"0.66"},{"site":"rennes","uid":"cb96","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-147.rennes.iot-lab.info","mobility_type":"null","z":"2.69","y":"2.51","mobile":0,"x":"0.66"},{"site":"rennes","uid":"bdae","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-148.rennes.iot-lab.info","mobility_type":"null","z":"2.7","y":"3.11","mobile":0,"x":"0.66"},{"site":"rennes","uid":"bb1f","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-149.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"2.26"},{"site":"rennes","uid":"c989","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-150.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"2.26"},{"site":"rennes","uid":"b5db","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-151.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"2.26"},{"site":"rennes","uid":"b237","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-152.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"2.26"},{"site":"rennes","uid":"bab9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-153.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"2.556","mobile":0,"x":"2.26"},{"site":"rennes","uid":"b83d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-154.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"2.26"},{"site":"rennes","uid":"b197","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-155.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"2.26"},{"site":"rennes","uid":"c031","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-156.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.369","mobile":0,"x":"2.26"},{"site":"rennes","uid":"b960","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-157.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.973","mobile":0,"x":"2.26"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-158.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"5.577","mobile":0,"x":"2.26"},{"site":"rennes","uid":"c156","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-159.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"6.181","mobile":0,"x":"2.26"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-160.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"6.785","mobile":0,"x":"2.26"},{"site":"rennes","uid":"b0f8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-161.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.389","mobile":0,"x":"2.26"},{"site":"rennes","uid":"cc73","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-162.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.994","mobile":0,"x":"2.26"},{"site":"rennes","uid":"bf21","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-163.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"8.598","mobile":0,"x":"2.26"},{"site":"rennes","uid":"b67b","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-164.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"9.202","mobile":0,"x":"2.26"},{"site":"rennes","uid":"1f76","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-165.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"9.806","mobile":0,"x":"2.26"},{"site":"rennes","uid":"c6e9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-166.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"10.41","mobile":0,"x":"2.26"},{"site":"rennes","uid":"bc0d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-167.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"3.084"},{"site":"rennes","uid":"c8d8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-168.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"3.084"},{"site":"rennes","uid":"b4a5","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-169.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"3.084"},{"site":"rennes","uid":"c2ba","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-170.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"3.084"},{"site":"rennes","uid":"cecd","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-171.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"2.556","mobile":0,"x":"3.084"},{"site":"rennes","uid":"1ca1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-172.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"3.084"},{"site":"rennes","uid":"b056","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-173.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"3.084"},{"site":"rennes","uid":"bb2b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-174.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.369","mobile":0,"x":"3.084"},{"site":"rennes","uid":"cee1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-175.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.973","mobile":0,"x":"3.084"},{"site":"rennes","uid":"b204","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-176.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"5.577","mobile":0,"x":"3.084"},{"site":"rennes","uid":"c4ca","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-177.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"6.181","mobile":0,"x":"3.084"},{"site":"rennes","uid":"c6ac","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-178.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"6.785","mobile":0,"x":"3.084"},{"site":"rennes","uid":"b7fb","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-179.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.389","mobile":0,"x":"3.084"},{"site":"rennes","uid":"b568","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-180.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.994","mobile":0,"x":"3.084"},{"site":"rennes","uid":"cbc6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-181.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"8.598","mobile":0,"x":"3.084"},{"site":"rennes","uid":"bf52","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-182.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"9.202","mobile":0,"x":"3.084"},{"site":"rennes","uid":"c059","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-183.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"9.806","mobile":0,"x":"3.084"},{"site":"rennes","uid":"b529","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-184.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"10.41","mobile":0,"x":"3.084"},{"site":"rennes","uid":"b91c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-185.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"3.908"},{"site":"rennes","uid":"bb46","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-186.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"3.908"},{"site":"rennes","uid":"b077","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-187.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"3.908"},{"site":"rennes","uid":"b6c0","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-188.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"3.908"},{"site":"rennes","uid":"c28c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-189.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"2.556","mobile":0,"x":"3.908"},{"site":"rennes","uid":"c25a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-190.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"3.908"},{"site":"rennes","uid":"b9c1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-191.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"3.908"},{"site":"rennes","uid":"b128","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-192.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.369","mobile":0,"x":"3.908"},{"site":"rennes","uid":"1f3e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-193.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.973","mobile":0,"x":"3.908"},{"site":"rennes","uid":"c121","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-194.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"5.577","mobile":0,"x":"3.908"},{"site":"rennes","uid":"b55a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-195.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"6.181","mobile":0,"x":"3.908"},{"site":"rennes","uid":"cd54","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-196.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"6.785","mobile":0,"x":"3.908"},{"site":"rennes","uid":"b478","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-197.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.389","mobile":0,"x":"3.908"},{"site":"rennes","uid":"c668","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-198.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.994","mobile":0,"x":"3.908"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-199.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"8.598","mobile":0,"x":"3.908"},{"site":"rennes","uid":"b751","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-200.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"9.202","mobile":0,"x":"3.908"},{"site":"rennes","uid":"1f6b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-201.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"9.806","mobile":0,"x":"3.908"},{"site":"rennes","uid":"c268","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-202.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"10.41","mobile":0,"x":"3.908"},{"site":"rennes","uid":"c487","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-203.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"4.732"},{"site":"rennes","uid":"c427","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-204.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"4.732"},{"site":"rennes","uid":"c5cf","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-205.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"4.732"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-206.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"4.732"},{"site":"rennes","uid":"c091","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-207.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"2.556","mobile":0,"x":"4.732"},{"site":"rennes","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-208.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"4.732"},{"site":"rennes","uid":"c980","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-209.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"4.732"},{"site":"rennes","uid":"b08e","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-210.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.369","mobile":0,"x":"4.732"},{"site":"rennes","uid":"bf0b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-211.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.973","mobile":0,"x":"4.732"},{"site":"rennes","uid":"cbd4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-212.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"5.577","mobile":0,"x":"4.732"},{"site":"rennes","uid":"c32a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-213.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"6.181","mobile":0,"x":"4.732"},{"site":"rennes","uid":"caeb","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-214.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"6.785","mobile":0,"x":"4.732"},{"site":"rennes","uid":"c34c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-215.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.389","mobile":0,"x":"4.732"},{"site":"rennes","uid":"cbfd","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-216.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.994","mobile":0,"x":"4.732"},{"site":"rennes","uid":"bac7","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-217.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"8.598","mobile":0,"x":"4.732"},{"site":"rennes","uid":"be83","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-218.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"9.202","mobile":0,"x":"4.732"},{"site":"rennes","uid":"bbbf","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-219.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"9.806","mobile":0,"x":"4.732"},{"site":"rennes","uid":"c4a9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-220.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"10.41","mobile":0,"x":"4.732"},{"site":"rennes","uid":"b51f","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-221.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"5.556"},{"site":"rennes","uid":"c03a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-222.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"5.556"},{"site":"rennes","uid":"c995","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-223.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"5.556"},{"site":"rennes","uid":"b50e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-224.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"5.556"},{"site":"rennes","uid":"afbf","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-225.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"2.556","mobile":0,"x":"5.556"},{"site":"rennes","uid":"b5a6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-226.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"5.556"},{"site":"rennes","uid":"bb26","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-227.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"5.556"},{"site":"rennes","uid":"c930","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-228.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.369","mobile":0,"x":"5.556"},{"site":"rennes","uid":"b5ea","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-229.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.973","mobile":0,"x":"5.556"},{"site":"rennes","uid":"bc51","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-230.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"5.577","mobile":0,"x":"5.556"},{"site":"rennes","uid":"c708","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-231.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"6.181","mobile":0,"x":"5.556"},{"site":"rennes","uid":"bf6f","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-232.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"6.785","mobile":0,"x":"5.556"},{"site":"rennes","uid":"bd10","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-233.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.389","mobile":0,"x":"5.556"},{"site":"rennes","uid":"b176","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-234.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.994","mobile":0,"x":"5.556"},{"site":"rennes","uid":"b6d3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-235.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"8.598","mobile":0,"x":"5.556"},{"site":"rennes","uid":"c406","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-236.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"9.202","mobile":0,"x":"5.556"},{"site":"rennes","uid":"b7c3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-237.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"9.806","mobile":0,"x":"5.556"},{"site":"rennes","uid":"b2fc","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-238.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"10.41","mobile":0,"x":"5.556"},{"site":"rennes","uid":"cd7d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-239.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.14","mobile":0,"x":"6.38"},{"site":"rennes","uid":"b299","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-240.rennes.iot-lab.info","mobility_type":"null","z":"2.912","y":"0.744","mobile":0,"x":"6.38"},{"site":"rennes","uid":"bce7","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-241.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.348","mobile":0,"x":"6.38"},{"site":"rennes","uid":"cbe0","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-242.rennes.iot-lab.info","mobility_type":"null","z":"2.911","y":"1.952","mobile":0,"x":"6.38"},{"site":"rennes","uid":"be33","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-243.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"2.556","mobile":0,"x":"6.38"},{"site":"rennes","uid":"cf28","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-244.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.161","mobile":0,"x":"6.38"},{"site":"rennes","uid":"c84f","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-245.rennes.iot-lab.info","mobility_type":"null","z":"2.91","y":"3.765","mobile":0,"x":"6.38"},{"site":"rennes","uid":"b95e","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-246.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.369","mobile":0,"x":"6.38"},{"site":"rennes","uid":"b883","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-247.rennes.iot-lab.info","mobility_type":"null","z":"2.909","y":"4.973","mobile":0,"x":"6.38"},{"site":"rennes","uid":"b7e9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-248.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"5.577","mobile":0,"x":"6.38"},{"site":"rennes","uid":"c60b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-249.rennes.iot-lab.info","mobility_type":"null","z":"2.908","y":"6.181","mobile":0,"x":"6.38"},{"site":"rennes","uid":"c93b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-250.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"6.785","mobile":0,"x":"6.38"},{"site":"rennes","uid":"bcca","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-251.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.389","mobile":0,"x":"6.38"},{"site":"rennes","uid":"c615","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-252.rennes.iot-lab.info","mobility_type":"null","z":"2.907","y":"7.994","mobile":0,"x":"6.38"},{"site":"rennes","uid":"b7d1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-253.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"8.598","mobile":0,"x":"6.38"},{"site":"rennes","uid":"b490","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-254.rennes.iot-lab.info","mobility_type":"null","z":"2.906","y":"9.202","mobile":0,"x":"6.38"},{"site":"rennes","uid":"c479","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-255.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"9.806","mobile":0,"x":"6.38"},{"site":"rennes","uid":"bc67","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-256.rennes.iot-lab.info","mobility_type":"null","z":"2.905","y":"10.41","mobile":0,"x":"6.38"},{"site":"euratech","uid":"c321","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-1.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c23a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-2.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"cf17","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-3.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"bd11","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-4.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b6bc","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-5.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"ccaa","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-6.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"b154","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-7.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b27b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-8.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"bc2d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-9.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"bcb6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-10.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c3c4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-11.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c8a8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-12.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c15b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-13.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b034","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-14.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b471","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-15.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"bbf0","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-16.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"b986","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-17.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"be29","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-18.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c102","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-19.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b0b4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-20.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"afc7","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-21.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"bc13","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-22.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b2bb","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-23.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c6df","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-24.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c4c8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-25.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c26d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-26.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"b966","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-27.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"cbf3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-28.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b538","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-29.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c946","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-30.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c469","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-31.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"cafe","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-32.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c6dc","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-33.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"afad","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-34.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b54f","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-35.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c92c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-36.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"b468","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-37.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c2b6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-38.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c69d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-39.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c0e8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-40.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"cdec","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-41.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c721","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-42.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c7f0","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-43.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c8f3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-44.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"ce61","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-45.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"b2bf","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-46.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"bd2d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-47.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"be4d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-48.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b843","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-49.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"ba95","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-50.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"ba46","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-51.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"be4b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-52.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b95f","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-53.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"1ce4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-54.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c87e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-55.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-56.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c4c2","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-57.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"cbe9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-58.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c5c8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-59.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c3d6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-60.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c088","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-61.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c11c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-62.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c11e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-63.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-64.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"bc63","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-65.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c8ad","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-66.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c286","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-67.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"bc48","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-68.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"ced3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-69.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-70.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c689","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-71.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c0dc","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-72.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b01f","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-73.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"bbea","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-74.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"cb78","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-75.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"cced","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-76.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"cb08","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-77.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c973","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-78.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c241","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-79.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"babc","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-80.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"b5f1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-81.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c8c8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-82.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c640","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-83.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"ca25","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-84.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b659","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-85.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"b5cc","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-86.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"b2c1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-87.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"cd82","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-88.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b325","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-89.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"cc1b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-90.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"b42b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-91.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"2.5","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c4ea","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-92.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"2.5","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b6a3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-93.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"2.5","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b31a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-94.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"2.5","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b381","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-95.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"2.5","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c342","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-96.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c0ab","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-97.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c83b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-98.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b36b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-99.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b4db","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-100.euratech.iot-lab.info","mobility_type":"null","z":"0.0","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"b871","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-101.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"bde6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-102.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"bcc4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-103.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"bef4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-104.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"1c9e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-105.euratech.iot-lab.info","mobility_type":"null","z":"0.6","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"af78","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-106.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"cae0","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-107.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c3e5","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-108.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b83b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-109.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"bf14","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-110.euratech.iot-lab.info","mobility_type":"null","z":"1.2","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"cf2e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-111.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"bdf3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-112.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b61a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-113.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"ceb6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-114.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c735","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-115.euratech.iot-lab.info","mobility_type":"null","z":"1.8","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"bb0a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-116.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c4d2","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-117.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"bce9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-118.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"ba9d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-119.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"ce3a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-120.euratech.iot-lab.info","mobility_type":"null","z":"2.4","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"1bfa","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-121.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c834","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-122.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"1f91","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-123.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"bbb4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-124.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"1f9e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-125.euratech.iot-lab.info","mobility_type":"null","z":"3.0","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c74d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-126.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c6f5","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-127.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b8db","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-128.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"1caf","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-129.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c92a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-130.euratech.iot-lab.info","mobility_type":"null","z":"3.6","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"bba2","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-131.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c20a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-132.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"cac8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-133.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"bdef","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-134.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b798","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-135.euratech.iot-lab.info","mobility_type":"null","z":"4.2","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c198","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-136.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c2d0","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-137.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"bf4d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-138.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c3b1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-139.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b723","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-140.euratech.iot-lab.info","mobility_type":"null","z":"4.8","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"b748","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-141.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"1bfc","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-142.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b584","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-143.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b18d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-144.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b5c9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-145.euratech.iot-lab.info","mobility_type":"null","z":"5.4","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c506","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-146.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"bcd3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-147.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"cddf","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-148.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"bc46","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-149.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b984","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-150.euratech.iot-lab.info","mobility_type":"null","z":"6.0","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"ce38","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-151.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"b2b8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-152.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"bc12","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-153.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"cb0c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-154.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c5f9","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-155.euratech.iot-lab.info","mobility_type":"null","z":"6.6","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"b246","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-156.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c22f","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-157.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b0e0","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-158.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"cf07","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-159.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b8c6","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-160.euratech.iot-lab.info","mobility_type":"null","z":"7.2","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"b282","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-161.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c167","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-162.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c534","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-163.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b31c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-164.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"bc60","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-165.euratech.iot-lab.info","mobility_type":"null","z":"7.8","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"cdba","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-166.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c703","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-167.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"cd29","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-168.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c3a3","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-169.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"cc1d","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-170.euratech.iot-lab.info","mobility_type":"null","z":"8.4","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c6ba","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-171.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"b320","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-172.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"cc61","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-173.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b1f4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-174.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"b46b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-175.euratech.iot-lab.info","mobility_type":"null","z":"9.0","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c7aa","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-176.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c540","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-177.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"ba5e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-178.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"b3bd","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-179.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"bc23","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-180.euratech.iot-lab.info","mobility_type":"null","z":"9.6","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c625","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-181.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"bed4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-182.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"1f7a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-183.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c1c8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-184.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"bf29","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-185.euratech.iot-lab.info","mobility_type":"null","z":"10.2","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c304","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-186.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"3.4","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c370","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-187.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"3.4","mobile":0,"x":"3.0"},{"site":"euratech","uid":"c91c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-188.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"3.4","mobile":0,"x":"2.4"},{"site":"euratech","uid":"c035","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-189.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"3.4","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c5fe","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-190.euratech.iot-lab.info","mobility_type":"null","z":"10.8","y":"3.4","mobile":0,"x":"1.2"},{"site":"euratech","uid":"c913","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-191.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"3.28","mobile":0,"x":"0.0"},{"site":"euratech","uid":"ce49","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-192.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"3.28","mobile":0,"x":"0.6"},{"site":"euratech","uid":"bbda","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-193.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"3.28","mobile":0,"x":"1.2"},{"site":"euratech","uid":"aff2","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-194.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"3.28","mobile":0,"x":"1.8"},{"site":"euratech","uid":"cae8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-195.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"3.28","mobile":0,"x":"2.4"},{"site":"euratech","uid":"bdd1","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-196.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"3.28","mobile":0,"x":"3.0"},{"site":"euratech","uid":"b68e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-197.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"3.28","mobile":0,"x":"3.6"},{"site":"euratech","uid":"cb6a","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-198.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"3.28","mobile":0,"x":"4.2"},{"site":"euratech","uid":"cc68","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-199.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"3.28","mobile":0,"x":"4.8"},{"site":"euratech","uid":"c36b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-200.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.67","mobile":0,"x":"0.0"},{"site":"euratech","uid":"c416","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-201.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.67","mobile":0,"x":"0.6"},{"site":"euratech","uid":"b863","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-202.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.67","mobile":0,"x":"1.2"},{"site":"euratech","uid":"bd65","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-203.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.67","mobile":0,"x":"1.8"},{"site":"euratech","uid":"c23c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-204.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.67","mobile":0,"x":"2.4"},{"site":"euratech","uid":"bd5c","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-205.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.67","mobile":0,"x":"3.0"},{"site":"euratech","uid":"ce56","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-206.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.67","mobile":0,"x":"3.6"},{"site":"euratech","uid":"c447","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-207.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.67","mobile":0,"x":"4.2"},{"site":"euratech","uid":"c33a","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-208.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.67","mobile":0,"x":"4.8"},{"site":"euratech","uid":"ce00","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-209.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"0.25","mobile":0,"x":"1.1"},{"site":"euratech","uid":"c117","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-210.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"0.9","mobile":0,"x":"1.1"},{"site":"euratech","uid":"1f43","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-211.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"1.55","mobile":0,"x":"1.1"},{"site":"euratech","uid":"c2c8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-212.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.2","mobile":0,"x":"1.1"},{"site":"euratech","uid":"af75","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-213.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"0.25","mobile":0,"x":"1.55"},{"site":"euratech","uid":"b98e","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-214.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"0.9","mobile":0,"x":"1.55"},{"site":"euratech","uid":"bd00","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-215.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"1.55","mobile":0,"x":"1.55"},{"site":"euratech","uid":"bbe4","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-216.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.2","mobile":0,"x":"1.55"},{"site":"euratech","uid":"c013","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-217.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"0.25","mobile":0,"x":"3.25"},{"site":"euratech","uid":"1f71","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-218.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"0.9","mobile":0,"x":"3.25"},{"site":"euratech","uid":"c2b8","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-219.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"1.55","mobile":0,"x":"3.25"},{"site":"euratech","uid":"c839","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-220.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.2","mobile":0,"x":"3.25"},{"site":"euratech","uid":"b2ee","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-221.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"0.25","mobile":0,"x":"3.7"},{"site":"euratech","uid":"bd79","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-222.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"0.9","mobile":0,"x":"3.7"},{"site":"euratech","uid":"b73b","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-223.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"1.55","mobile":0,"x":"3.7"},{"site":"euratech","uid":"cd89","archi":"wsn430:cc2420","state":"Alive","network_address":"wsn430-224.euratech.iot-lab.info","mobility_type":"null","z":"11.32","y":"2.2","mobile":0,"x":"3.7"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-225.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-226.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-227.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-228.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-229.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-230.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-231.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-232.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-233.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-234.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-235.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-236.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-237.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-238.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-239.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Suspected","network_address":"wsn430-240.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-241.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-242.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-243.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-244.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-245.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-246.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-247.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-248.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-249.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-250.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-251.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-252.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-253.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-254.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-255.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"euratech","uid":"unknown","archi":"wsn430:cc2420","state":"Absent","network_address":"wsn430-256.euratech.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"strasbourg","uid":"c0d8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-1.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"0.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"b2a7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-2.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"c6f0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-3.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"0.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"bcab","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-4.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"0.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c66a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-5.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"b222","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-6.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"0.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"b012","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-7.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"0.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"c5ac","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-8.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"bef2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-9.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"0.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b7b2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-10.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"0.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"b9f1","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-11.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c223","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-12.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"0.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c3a0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-13.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"0.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"cb40","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-14.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"bd81","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-15.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"0.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"afa3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-16.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"0.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"be5a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-17.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"1bf9","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-18.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"0.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"bca1","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-19.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"0.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"c1c3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-20.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"c6ce","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-21.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"0.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"c5d4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-22.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"0.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"ba38","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-23.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"1f59","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-24.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"0.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"b862","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-25.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"1.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"b5e1","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-26.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"bb10","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-27.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"1.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"c68a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-28.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"1.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"b576","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-29.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"b343","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-30.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"1.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c19f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-31.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"1.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"1cef","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-32.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"c225","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-33.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"1.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"bc7a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-34.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"1.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"ba03","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-35.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c262","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-36.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"1.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"ba7f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-37.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"1.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"b614","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-38.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"be35","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-39.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"1.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"b9a0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-40.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"1.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"c9fa","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-41.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"b42e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-42.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"1.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"c935","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-43.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"1.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"bdd3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-44.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"b957","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-45.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"1.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"c87f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-46.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"1.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"cdac","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-47.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"bf84","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-48.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"1.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"cf14","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-49.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"2.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"c605","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-50.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"af8a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-51.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"2.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"c35d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-52.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"2.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"ca60","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-53.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c09b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-54.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"2.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c4aa","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-55.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"2.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"ca01","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-56.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"bb25","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-57.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"2.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b7af","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-58.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"2.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"b057","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-59.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"cf0a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-60.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"2.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"ca27","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-61.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"2.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"cb57","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-62.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"cbaf","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-63.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"2.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"c7de","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-64.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"2.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"bcf4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-65.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"bf80","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-66.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"2.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"bdb0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-67.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"2.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"be6b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-68.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"cd74","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-69.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"2.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"b7e2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-70.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"2.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"cc5e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-71.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"b467","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-72.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"2.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"cecf","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-73.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"3.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"cd64","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-74.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"c9cf","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-75.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"3.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"b23c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-76.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"3.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"cd18","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-77.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"bb3a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-78.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"3.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c987","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-79.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"3.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"c8ea","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-80.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b5c5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-81.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"3.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"1f3c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-82.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"3.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"bb11","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-83.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c7df","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-84.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"3.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c986","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-85.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"3.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"c5e2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-86.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"c755","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-87.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"3.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"ca2f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-88.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"3.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"b138","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-89.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"c92f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-90.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"3.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"c681","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-91.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"3.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"cd2e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-92.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"c1d5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-93.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"3.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"cc22","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-94.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"3.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"c4e5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-95.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"c5b3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-96.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"3.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"bfb9","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-97.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"4.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"b8fb","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-98.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"4.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"bc1c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-99.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"4.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"bae2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-100.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"4.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"bbff","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-101.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"4.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c881","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-102.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"4.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"ca54","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-103.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"4.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"c71e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-104.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"4.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"bb7d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-105.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"4.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"1f94","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-106.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"4.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"b4d8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-107.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"4.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"cccb","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-108.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"4.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"be59","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-109.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"4.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"ceb0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-110.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"4.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"b5e2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-111.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"4.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"c302","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-112.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"4.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"af64","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-113.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"4.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"ced2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-114.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"4.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"ced4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-115.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"4.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"203f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-116.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"4.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"c14d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-117.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"4.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"b0d7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-118.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"4.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"1cc4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-119.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"4.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"bc76","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-120.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"4.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"b634","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-121.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"5.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"af9d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-122.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"bc2c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-123.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"5.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"cb20","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-124.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"5.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"bbfc","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-125.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c2e8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-126.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"5.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"cd45","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-127.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"5.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b268","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-128.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"c396","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-129.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"5.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"c1d4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-130.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"5.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"ca19","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-131.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"b54e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-132.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"5.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"b6be","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-133.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"5.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"b0db","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-134.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"bbe8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-135.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"5.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"cedc","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-136.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"5.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"c677","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-137.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"c211","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-138.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"5.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"c47f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-139.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"5.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"c381","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-140.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"b2fa","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-141.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"5.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"caa0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-142.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"5.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"afd3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-143.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"b256","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-144.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"5.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"c9d8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-145.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"6.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"cefd","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-146.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"6.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"ba79","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-147.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"6.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"b71d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-148.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"6.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c7e8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-149.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"6.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c941","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-150.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"6.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"ba7d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-151.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"6.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"ba0b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-152.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"6.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b7fe","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-153.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"6.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b90e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-154.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"6.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c84e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-155.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"6.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c7ad","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-156.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"6.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"bd0f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-157.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"6.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"ce62","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-158.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"6.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"b4f8","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-159.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"6.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"b78d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-160.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"6.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"bf13","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-161.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"6.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"babf","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-162.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"6.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"bc2e","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-163.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"6.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"be2b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-164.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"6.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"b44f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-165.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"6.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"c128","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-166.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"6.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"c86d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-167.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"6.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"b1a2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-168.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"6.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"bdcc","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-169.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"7.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"b8fa","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-170.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"7.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"1c26","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-171.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"7.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"bff3","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-172.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"7.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"b7e7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-173.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"7.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"cabc","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-174.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"7.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c5d6","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-175.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"7.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"cb6c","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-176.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"7.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"cc0a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-177.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"7.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b847","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-178.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"7.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c02a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-179.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"7.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"ba20","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-180.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"7.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c9d5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-181.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"7.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"b661","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-182.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"7.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"be23","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-183.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"7.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"b7b0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-184.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"7.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"b4b9","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-185.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"7.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"bc68","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-186.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"7.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"b7c1","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-187.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"7.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"b7f7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-188.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"7.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"1cad","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-189.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"7.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"1f7b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-190.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"7.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"b5c4","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-191.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"7.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"bfb7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-192.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"7.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"b9dd","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-193.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"8.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"cd65","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-194.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"8.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"c790","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-195.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"8.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"b9cf","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-196.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"8.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"b37d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-197.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"8.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"c0c2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-198.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"8.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"bcff","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-199.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"8.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b162","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-200.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"8.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b36d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-201.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"8.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"afa5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-202.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"8.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"bce0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-203.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"8.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c610","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-204.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"8.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"b4f2","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-205.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"8.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"bc93","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-206.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"8.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"cadf","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-207.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"8.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"c324","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-208.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"8.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"bf07","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-209.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"8.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"cd83","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-210.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"8.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"ce46","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-211.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"8.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"ba40","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-212.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"8.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"b37a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-213.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"8.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"c8bf","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-214.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"8.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"bec0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-215.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"8.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"2037","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-216.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"8.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"ce48","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-217.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"9.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"b814","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-218.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"b8a6","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-219.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"9.98","mobile":0,"x":"0.93"},{"site":"strasbourg","uid":"bdb9","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-220.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"9.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"b675","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-221.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"b75f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-222.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"9.98","mobile":0,"x":"1.93"},{"site":"strasbourg","uid":"afeb","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-223.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"9.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b42a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-224.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"b63a","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-225.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"9.98","mobile":0,"x":"2.93"},{"site":"strasbourg","uid":"bf23","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-226.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"9.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"bff9","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-227.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"c1cd","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-228.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"9.98","mobile":0,"x":"3.93"},{"site":"strasbourg","uid":"b38d","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-229.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"9.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"ce99","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-230.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"b169","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-231.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"9.98","mobile":0,"x":"4.93"},{"site":"strasbourg","uid":"c6c5","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-232.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"9.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"b8e7","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-233.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"c394","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-234.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"9.98","mobile":0,"x":"5.93"},{"site":"strasbourg","uid":"b109","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-235.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"9.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"bbe0","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-236.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"cdef","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-237.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"9.98","mobile":0,"x":"6.93"},{"site":"strasbourg","uid":"cb29","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-238.strasbourg.iot-lab.info","mobility_type":"null","z":"0.5","y":"9.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"b38f","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-239.strasbourg.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"b89b","archi":"wsn430:cc1101","state":"Alive","network_address":"wsn430-240.strasbourg.iot-lab.info","mobility_type":"null","z":"2.5","y":"9.98","mobile":0,"x":"7.93"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Suspected","network_address":"wsn430-241.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Suspected","network_address":"wsn430-242.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Suspected","network_address":"wsn430-243.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-244.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":0,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-245.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":0,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-246.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":0,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-247.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":0,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-248.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":0,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-249.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":0,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-250.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":0,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-251.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":0,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-252.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":0,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-253.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-254.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-255.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"strasbourg","uid":"unknown","archi":"wsn430:cc1101","state":"Absent","network_address":"wsn430-256.strasbourg.iot-lab.info","mobility_type":"null","z":"null","y":"null","mobile":1,"x":"null"},{"site":"grenoble","uid":"9982","archi":"m3:at86rf231","state":"Alive","network_address":"m3-2.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"20.70"},{"site":"grenoble","uid":"9176","archi":"m3:at86rf231","state":"Alive","network_address":"m3-4.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"21.90"},{"site":"grenoble","uid":"a176","archi":"m3:at86rf231","state":"Alive","network_address":"m3-5.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"22.50"},{"site":"grenoble","uid":"2162","archi":"m3:at86rf231","state":"Alive","network_address":"m3-9.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"25.75"},{"site":"grenoble","uid":"9971","archi":"m3:at86rf231","state":"Alive","network_address":"m3-11.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"26.95"},{"site":"grenoble","uid":"a569","archi":"m3:at86rf231","state":"Alive","network_address":"m3-13.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"28.15"},{"site":"grenoble","uid":"9869","archi":"m3:at86rf231","state":"Alive","network_address":"m3-14.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"28.75"},{"site":"grenoble","uid":"c280","archi":"m3:at86rf231","state":"Alive","network_address":"m3-15.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"29.35"},{"site":"grenoble","uid":"a172","archi":"m3:at86rf231","state":"Alive","network_address":"m3-17.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"30.55"},{"site":"grenoble","uid":"b679","archi":"m3:at86rf231","state":"Alive","network_address":"m3-18.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"31.15"},{"site":"grenoble","uid":"b382","archi":"m3:at86rf231","state":"Alive","network_address":"m3-21.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"32.95"},{"site":"grenoble","uid":"a669","archi":"m3:at86rf231","state":"Alive","network_address":"m3-23.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"34.15"},{"site":"grenoble","uid":"9071","archi":"m3:at86rf231","state":"Alive","network_address":"m3-25.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"35.35"},{"site":"grenoble","uid":"0662","archi":"m3:at86rf231","state":"Alive","network_address":"m3-29.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"37.75"},{"site":"grenoble","uid":"c168","archi":"m3:at86rf231","state":"Alive","network_address":"m3-30.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"38.35"},{"site":"grenoble","uid":"b377","archi":"m3:at86rf231","state":"Alive","network_address":"m3-31.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"38.95"},{"site":"grenoble","uid":"a482","archi":"m3:at86rf231","state":"Alive","network_address":"m3-32.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"39.55"},{"site":"grenoble","uid":"b482","archi":"m3:at86rf231","state":"Alive","network_address":"m3-33.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"40.15"},{"site":"grenoble","uid":"a581","archi":"m3:at86rf231","state":"Alive","network_address":"m3-35.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"41.35"},{"site":"grenoble","uid":"0562","archi":"m3:at86rf231","state":"Alive","network_address":"m3-37.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"42.55"},{"site":"grenoble","uid":"a181","archi":"m3:at86rf231","state":"Alive","network_address":"m3-38.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"43.15"},{"site":"grenoble","uid":"c078","archi":"m3:at86rf231","state":"Alive","network_address":"m3-39.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"43.75"},{"site":"grenoble","uid":"a978","archi":"m3:at86rf231","state":"Alive","network_address":"m3-40.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"44.35"},{"site":"grenoble","uid":"c181","archi":"m3:at86rf231","state":"Alive","network_address":"m3-44.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"46.75"},{"site":"grenoble","uid":"a872","archi":"m3:at86rf231","state":"Alive","network_address":"m3-45.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"47.35"},{"site":"grenoble","uid":"a780","archi":"m3:at86rf231","state":"Alive","network_address":"m3-48.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"49.15"},{"site":"grenoble","uid":"b683","archi":"m3:at86rf231","state":"Alive","network_address":"m3-49.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"49.75"},{"site":"grenoble","uid":"9472","archi":"m3:at86rf231","state":"Alive","network_address":"m3-51.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"50.95"},{"site":"grenoble","uid":"9878","archi":"m3:at86rf231","state":"Alive","network_address":"m3-55.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"53.35"},{"site":"grenoble","uid":"b780","archi":"m3:at86rf231","state":"Alive","network_address":"m3-59.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"55.75"},{"site":"grenoble","uid":"b678","archi":"m3:at86rf231","state":"Alive","network_address":"m3-61.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"56.95"},{"site":"grenoble","uid":"a169","archi":"m3:at86rf231","state":"Alive","network_address":"m3-63.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"58.15"},{"site":"grenoble","uid":"8778","archi":"m3:at86rf231","state":"Suspected","network_address":"m3-65.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"59.35"},{"site":"grenoble","uid":"a983","archi":"m3:at86rf231","state":"Alive","network_address":"m3-68.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"61.15"},{"site":"grenoble","uid":"9682","archi":"m3:at86rf231","state":"Alive","network_address":"m3-69.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"61.75"},{"site":"grenoble","uid":"a779","archi":"m3:at86rf231","state":"Alive","network_address":"m3-71.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"16.42"},{"site":"grenoble","uid":"8972","archi":"m3:at86rf231","state":"Alive","network_address":"m3-72.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"15.82"},{"site":"grenoble","uid":"8771","archi":"m3:at86rf231","state":"Suspected","network_address":"m3-73.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"15.22"},{"site":"grenoble","uid":"1462","archi":"m3:at86rf231","state":"Alive","network_address":"m3-77.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"12.82"},{"site":"grenoble","uid":"9476","archi":"m3:at86rf231","state":"Alive","network_address":"m3-80.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"11.02"},{"site":"grenoble","uid":"a271","archi":"m3:at86rf231","state":"Alive","network_address":"m3-85.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"8.02"},{"site":"grenoble","uid":"a475","archi":"m3:at86rf231","state":"Alive","network_address":"m3-88.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"6.22"},{"site":"grenoble","uid":"1662","archi":"m3:at86rf231","state":"Alive","network_address":"m3-91.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"4.42"},{"site":"grenoble","uid":"2960","archi":"m3:at86rf231","state":"Alive","network_address":"m3-94.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"2.62"},{"site":"grenoble","uid":"9181","archi":"m3:at86rf231","state":"Alive","network_address":"m3-101.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"24.63","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a881","archi":"m3:at86rf231","state":"Alive","network_address":"m3-102.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"24.63","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"b576","archi":"m3:at86rf231","state":"Alive","network_address":"m3-105.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"23.43","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9382","archi":"m3:at86rf231","state":"Alive","network_address":"m3-106.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"23.43","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"1062","archi":"m3:at86rf231","state":"Alive","network_address":"m3-109.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"22.23","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a671","archi":"m3:at86rf231","state":"Alive","network_address":"m3-113.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"21.03","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a879","archi":"m3:at86rf231","state":"Alive","network_address":"m3-114.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"21.03","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"8471","archi":"m3:at86rf231","state":"Alive","network_address":"m3-115.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"20.43","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"8969","archi":"m3:at86rf231","state":"Alive","network_address":"m3-116.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"20.43","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"2262","archi":"m3:at86rf231","state":"Alive","network_address":"m3-117.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"19.83","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9376","archi":"m3:at86rf231","state":"Alive","network_address":"m3-118.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"19.83","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"a180","archi":"m3:at86rf231","state":"Alive","network_address":"m3-122.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"18.63","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"c276","archi":"m3:at86rf231","state":"Alive","network_address":"m3-123.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"18.03","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9772","archi":"m3:at86rf231","state":"Alive","network_address":"m3-124.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"18.03","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9672","archi":"m3:at86rf231","state":"Alive","network_address":"m3-125.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"17.43","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9783","archi":"m3:at86rf231","state":"Alive","network_address":"m3-129.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"16.23","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a272","archi":"m3:at86rf231","state":"Alive","network_address":"m3-130.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"16.23","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9369","archi":"m3:at86rf231","state":"Alive","network_address":"m3-131.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"15.63","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a369","archi":"m3:at86rf231","state":"Alive","network_address":"m3-132.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"15.63","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"2360","archi":"m3:at86rf231","state":"Alive","network_address":"m3-133.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"15.03","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a069","archi":"m3:at86rf231","state":"Alive","network_address":"m3-134.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"15.03","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"1761","archi":"m3:at86rf231","state":"Alive","network_address":"m3-135.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"14.43","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9669","archi":"m3:at86rf231","state":"Alive","network_address":"m3-136.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"14.43","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"b169","archi":"m3:at86rf231","state":"Suspected","network_address":"m3-138.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"13.83","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"a778","archi":"m3:at86rf231","state":"Alive","network_address":"m3-139.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"13.23","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"b483","archi":"m3:at86rf231","state":"Alive","network_address":"m3-140.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"13.23","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"8579","archi":"m3:at86rf231","state":"Alive","network_address":"m3-141.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"12.63","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a783","archi":"m3:at86rf231","state":"Alive","network_address":"m3-142.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"12.63","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"a668","archi":"m3:at86rf231","state":"Alive","network_address":"m3-146.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"11.43","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9380","archi":"m3:at86rf231","state":"Alive","network_address":"m3-147.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"10.83","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9976","archi":"m3:at86rf231","state":"Suspected","network_address":"m3-148.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"10.83","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"b676","archi":"m3:at86rf231","state":"Suspected","network_address":"m3-150.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"10.23","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9576","archi":"m3:at86rf231","state":"Alive","network_address":"m3-151.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"9.63","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"b769","archi":"m3:at86rf231","state":"Alive","network_address":"m3-152.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"9.63","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"3160","archi":"m3:at86rf231","state":"Alive","network_address":"m3-155.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"8.43","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a380","archi":"m3:at86rf231","state":"Alive","network_address":"m3-157.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"7.83","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a781","archi":"m3:at86rf231","state":"Alive","network_address":"m3-158.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"7.83","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"a081","archi":"m3:at86rf231","state":"Alive","network_address":"m3-159.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"7.23","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9880","archi":"m3:at86rf231","state":"Alive","network_address":"m3-160.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"7.23","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9582","archi":"m3:at86rf231","state":"Alive","network_address":"m3-161.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"6.63","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"8775","archi":"m3:at86rf231","state":"Alive","network_address":"m3-162.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"6.63","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"1862","archi":"m3:at86rf231","state":"Alive","network_address":"m3-167.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"4.83","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a276","archi":"m3:at86rf231","state":"Alive","network_address":"m3-169.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"4.23","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9379","archi":"m3:at86rf231","state":"Alive","network_address":"m3-171.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"3.63","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a179","archi":"m3:at86rf231","state":"Alive","network_address":"m3-174.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"3.03","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"a870","archi":"m3:at86rf231","state":"Alive","network_address":"m3-175.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"2.43","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a281","archi":"m3:at86rf231","state":"Alive","network_address":"m3-178.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"1.85","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"a776","archi":"m3:at86rf231","state":"Alive","network_address":"m3-179.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"2.75"},{"site":"grenoble","uid":"0762","archi":"m3:at86rf231","state":"Alive","network_address":"m3-180.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"3.35"},{"site":"grenoble","uid":"b583","archi":"m3:at86rf231","state":"Alive","network_address":"m3-181.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"3.95"},{"site":"grenoble","uid":"9968","archi":"m3:at86rf231","state":"Alive","network_address":"m3-182.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"4.55"},{"site":"grenoble","uid":"9978","archi":"m3:at86rf231","state":"Alive","network_address":"m3-185.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"6.35"},{"site":"grenoble","uid":"9571","archi":"m3:at86rf231","state":"Alive","network_address":"m3-187.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"7.55"},{"site":"grenoble","uid":"9072","archi":"m3:at86rf231","state":"Alive","network_address":"m3-188.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"8.15"},{"site":"grenoble","uid":"9480","archi":"m3:at86rf231","state":"Alive","network_address":"m3-189.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"8.75"},{"site":"grenoble","uid":"8872","archi":"m3:at86rf231","state":"Alive","network_address":"m3-191.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"9.95"},{"site":"grenoble","uid":"b579","archi":"m3:at86rf231","state":"Alive","network_address":"m3-192.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"10.55"},{"site":"grenoble","uid":"a375","archi":"m3:at86rf231","state":"Alive","network_address":"m3-194.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"11.75"},{"site":"grenoble","uid":"a768","archi":"m3:at86rf231","state":"Alive","network_address":"m3-196.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"12.95"},{"site":"grenoble","uid":"a972","archi":"m3:at86rf231","state":"Alive","network_address":"m3-197.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"13.55"},{"site":"grenoble","uid":"a383","archi":"m3:at86rf231","state":"Alive","network_address":"m3-198.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"14.15"},{"site":"grenoble","uid":"9584","archi":"m3:at86rf231","state":"Alive","network_address":"m3-203.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"17.15"},{"site":"grenoble","uid":"b877","archi":"m3:at86rf231","state":"Alive","network_address":"m3-204.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.75","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9979","archi":"m3:at86rf231","state":"Alive","network_address":"m3-206.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"1.83","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9076","archi":"m3:at86rf231","state":"Alive","network_address":"m3-208.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"2.43","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"c081","archi":"m3:at86rf231","state":"Alive","network_address":"m3-210.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"3.03","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b280","archi":"m3:at86rf231","state":"Alive","network_address":"m3-212.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"3.63","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"8472","archi":"m3:at86rf231","state":"Alive","network_address":"m3-213.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"3.63","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9567","archi":"m3:at86rf231","state":"Alive","network_address":"m3-214.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"4.23","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b369","archi":"m3:at86rf231","state":"Alive","network_address":"m3-216.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"4.83","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b481","archi":"m3:at86rf231","state":"Alive","network_address":"m3-219.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"5.43","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"2160","archi":"m3:at86rf231","state":"Alive","network_address":"m3-220.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"6.03","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"3860","archi":"m3:at86rf231","state":"Alive","network_address":"m3-222.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"6.63","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b268","archi":"m3:at86rf231","state":"Alive","network_address":"m3-226.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"7.83","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9377","archi":"m3:at86rf231","state":"Alive","network_address":"m3-227.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"7.83","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"8779","archi":"m3:at86rf231","state":"Alive","network_address":"m3-231.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"9.03","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a372","archi":"m3:at86rf231","state":"Alive","network_address":"m3-232.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"9.63","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9481","archi":"m3:at86rf231","state":"Alive","network_address":"m3-234.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"10.23","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"2362","archi":"m3:at86rf231","state":"Alive","network_address":"m3-235.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"10.23","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a677","archi":"m3:at86rf231","state":"Alive","network_address":"m3-236.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"10.83","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"1562","archi":"m3:at86rf231","state":"Alive","network_address":"m3-237.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"10.83","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b876","archi":"m3:at86rf231","state":"Alive","network_address":"m3-239.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"11.43","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"8371","archi":"m3:at86rf231","state":"Alive","network_address":"m3-241.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"12.03","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9077","archi":"m3:at86rf231","state":"Alive","network_address":"m3-242.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"12.63","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9579","archi":"m3:at86rf231","state":"Alive","network_address":"m3-244.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"13.23","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9269","archi":"m3:at86rf231","state":"Alive","network_address":"m3-245.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"13.23","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b881","archi":"m3:at86rf231","state":"Alive","network_address":"m3-246.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"13.83","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b383","archi":"m3:at86rf231","state":"Alive","network_address":"m3-248.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"14.43","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b580","archi":"m3:at86rf231","state":"Alive","network_address":"m3-252.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"15.63","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"c277","archi":"m3:at86rf231","state":"Alive","network_address":"m3-253.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"15.63","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"8982","archi":"m3:at86rf231","state":"Alive","network_address":"m3-254.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"16.23","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b668","archi":"m3:at86rf231","state":"Alive","network_address":"m3-257.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"16.83","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"1860","archi":"m3:at86rf231","state":"Alive","network_address":"m3-258.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"17.43","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"a478","archi":"m3:at86rf231","state":"Alive","network_address":"m3-260.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"18.03","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"a481","archi":"m3:at86rf231","state":"Alive","network_address":"m3-262.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"18.63","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"8470","archi":"m3:at86rf231","state":"Alive","network_address":"m3-263.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"18.63","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9575","archi":"m3:at86rf231","state":"Alive","network_address":"m3-264.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"19.23","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"a470","archi":"m3:at86rf231","state":"Alive","network_address":"m3-265.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"19.23","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b182","archi":"m3:at86rf231","state":"Alive","network_address":"m3-267.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"19.83","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a980","archi":"m3:at86rf231","state":"Alive","network_address":"m3-271.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"21.03","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"2861","archi":"m3:at86rf231","state":"Alive","network_address":"m3-272.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"21.63","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9279","archi":"m3:at86rf231","state":"Alive","network_address":"m3-273.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"21.63","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a968","archi":"m3:at86rf231","state":"Alive","network_address":"m3-278.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"23.43","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b381","archi":"m3:at86rf231","state":"Alive","network_address":"m3-280.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"24.03","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"a283","archi":"m3:at86rf231","state":"Alive","network_address":"m3-282.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"24.63","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"a583","archi":"m3:at86rf231","state":"Alive","network_address":"m3-285.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"25.23","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"1162","archi":"m3:at86rf231","state":"Alive","network_address":"m3-288.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.52","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"c370","archi":"m3:at86rf231","state":"Alive","network_address":"m3-289.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.52","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a078","archi":"m3:at86rf231","state":"Alive","network_address":"m3-290.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"20.05"},{"site":"grenoble","uid":"9183","archi":"m3:at86rf231","state":"Alive","network_address":"m3-292.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"21.25"},{"site":"grenoble","uid":"9475","archi":"m3:at86rf231","state":"Alive","network_address":"m3-293.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"21.85"},{"site":"grenoble","uid":"a079","archi":"m3:at86rf231","state":"Alive","network_address":"m3-297.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"25.22"},{"site":"grenoble","uid":"b569","archi":"m3:at86rf231","state":"Alive","network_address":"m3-298.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"25.85"},{"site":"grenoble","uid":"1362","archi":"m3:at86rf231","state":"Alive","network_address":"m3-299.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"26.42"},{"site":"grenoble","uid":"8876","archi":"m3:at86rf231","state":"Alive","network_address":"m3-300.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"27.02"},{"site":"grenoble","uid":"a675","archi":"m3:at86rf231","state":"Alive","network_address":"m3-301.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"28.22"},{"site":"grenoble","uid":"a370","archi":"m3:at86rf231","state":"Alive","network_address":"m3-303.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"29.36"},{"site":"grenoble","uid":"a082","archi":"m3:at86rf231","state":"Alive","network_address":"m3-307.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"31.76"},{"site":"grenoble","uid":"c368","archi":"m3:at86rf231","state":"Alive","network_address":"m3-309.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"32.96"},{"site":"grenoble","uid":"c169","archi":"m3:at86rf231","state":"Alive","network_address":"m3-310.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"33.56"},{"site":"grenoble","uid":"a570","archi":"m3:at86rf231","state":"Alive","network_address":"m3-311.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"34.16"},{"site":"grenoble","uid":"9782","archi":"m3:at86rf231","state":"Alive","network_address":"m3-312.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"34.76"},{"site":"grenoble","uid":"9082","archi":"m3:at86rf231","state":"Alive","network_address":"m3-313.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"35.36"},{"site":"grenoble","uid":"9580","archi":"m3:at86rf231","state":"Alive","network_address":"m3-314.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"35.96"},{"site":"grenoble","uid":"b276","archi":"m3:at86rf231","state":"Alive","network_address":"m3-317.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"37.76"},{"site":"grenoble","uid":"8370","archi":"m3:at86rf231","state":"Alive","network_address":"m3-318.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"38.36"},{"site":"grenoble","uid":"9879","archi":"m3:at86rf231","state":"Alive","network_address":"m3-321.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"40.16"},{"site":"grenoble","uid":"b282","archi":"m3:at86rf231","state":"Alive","network_address":"m3-322.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"40.76"},{"site":"grenoble","uid":"a782","archi":"m3:at86rf231","state":"Alive","network_address":"m3-324.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"41.96"},{"site":"grenoble","uid":"9776","archi":"m3:at86rf231","state":"Alive","network_address":"m3-325.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"42.56"},{"site":"grenoble","uid":"9282","archi":"m3:at86rf231","state":"Alive","network_address":"m3-328.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"44.36"},{"site":"grenoble","uid":"a472","archi":"m3:at86rf231","state":"Alive","network_address":"m3-335.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"48.56"},{"site":"grenoble","uid":"b279","archi":"m3:at86rf231","state":"Alive","network_address":"m3-337.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"49.76"},{"site":"grenoble","uid":"9668","archi":"m3:at86rf231","state":"Alive","network_address":"m3-338.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"50.36"},{"site":"grenoble","uid":"9477","archi":"m3:at86rf231","state":"Alive","network_address":"m3-339.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"50.96"},{"site":"grenoble","uid":"a568","archi":"m3:at86rf231","state":"Alive","network_address":"m3-343.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"53.36"},{"site":"grenoble","uid":"c082","archi":"m3:at86rf231","state":"Alive","network_address":"m3-344.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"53.96"},{"site":"grenoble","uid":"b669","archi":"m3:at86rf231","state":"Alive","network_address":"m3-346.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"55.16"},{"site":"grenoble","uid":"9868","archi":"m3:at86rf231","state":"Alive","network_address":"m3-348.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"56.36"},{"site":"grenoble","uid":"2553","archi":"m3:at86rf231","state":"Alive","network_address":"m3-349.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"56.96"},{"site":"grenoble","uid":"9367","archi":"m3:at86rf231","state":"Alive","network_address":"m3-354.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"59.96"},{"site":"grenoble","uid":"c171","archi":"m3:at86rf231","state":"Alive","network_address":"m3-359.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"34.75"},{"site":"grenoble","uid":"3360","archi":"m3:at86rf231","state":"Alive","network_address":"m3-360.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"35.35"},{"site":"grenoble","uid":"b883","archi":"m3:at86rf231","state":"Alive","network_address":"m3-363.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"24.92","mobile":0,"x":"37.75"},{"site":"grenoble","uid":"3060","archi":"m3:at86rf231","state":"Alive","network_address":"m3-366.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"39.55"},{"site":"grenoble","uid":"b469","archi":"m3:at86rf231","state":"Alive","network_address":"m3-367.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"40.15"},{"site":"grenoble","uid":"2953","archi":"m3:at86rf231","state":"Alive","network_address":"m3-368.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"40.75"},{"site":"grenoble","uid":"c077","archi":"m3:at86rf231","state":"Alive","network_address":"m3-371.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"46.75"},{"site":"grenoble","uid":"8575","archi":"m3:at86rf231","state":"Alive","network_address":"m3-374.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"48.55"},{"site":"grenoble","uid":"2254","archi":"m3:at86rf231","state":"Alive","network_address":"m3-375.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"49.15"},{"site":"grenoble","uid":"a175","archi":"m3:at86rf231","state":"Alive","network_address":"m3-376.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"52.15"},{"site":"grenoble","uid":"9484","archi":"m3:at86rf231","state":"Alive","network_address":"m3-377.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"52.75"},{"site":"grenoble","uid":"3460","archi":"m3:at86rf231","state":"Alive","network_address":"m3-379.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"53.95"},{"site":"grenoble","uid":"a979","archi":"m3:at86rf231","state":"Alive","network_address":"m3-380.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"54.55"},{"site":"lille","uid":"3055","archi":"m3:at86rf231","state":"Alive","network_address":"m3-1.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"0.82"},{"site":"lille","uid":"2250","archi":"m3:at86rf231","state":"Alive","network_address":"m3-3.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"2.02"},{"site":"lille","uid":"1255","archi":"m3:at86rf231","state":"Alive","network_address":"m3-6.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"3.22"},{"site":"lille","uid":"1055","archi":"m3:at86rf231","state":"Alive","network_address":"m3-9.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"5.62"},{"site":"lille","uid":"2156","archi":"m3:at86rf231","state":"Alive","network_address":"m3-10.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"5.62"},{"site":"lille","uid":"1457","archi":"m3:at86rf231","state":"Alive","network_address":"m3-11.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"6.82"},{"site":"lille","uid":"b588","archi":"m3:at86rf231","state":"Alive","network_address":"m3-14.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"8.02"},{"site":"lille","uid":"2150","archi":"m3:at86rf231","state":"Alive","network_address":"m3-15.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"9.22"},{"site":"lille","uid":"1854","archi":"m3:at86rf231","state":"Alive","network_address":"m3-18.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"10.42"},{"site":"lille","uid":"2455","archi":"m3:at86rf231","state":"Alive","network_address":"m3-19.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"11.62"},{"site":"lille","uid":"3454","archi":"m3:at86rf231","state":"Alive","network_address":"m3-23.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"14.02"},{"site":"lille","uid":"1058","archi":"m3:at86rf231","state":"Alive","network_address":"m3-24.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"14.02"},{"site":"lille","uid":"9170","archi":"m3:at86rf231","state":"Alive","network_address":"m3-26.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"15.22"},{"site":"lille","uid":"9973","archi":"m3:at86rf231","state":"Alive","network_address":"m3-27.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.3","mobile":0,"x":"0.1"},{"site":"lille","uid":"1155","archi":"m3:at86rf231","state":"Alive","network_address":"m3-28.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.3","mobile":0,"x":"0.1"},{"site":"lille","uid":"3658","archi":"m3:at86rf231","state":"Alive","network_address":"m3-29.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"0.82"},{"site":"lille","uid":"1759","archi":"m3:at86rf231","state":"Alive","network_address":"m3-32.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"4.42"},{"site":"lille","uid":"1758","archi":"m3:at86rf231","state":"Alive","network_address":"m3-33.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"5.62"},{"site":"lille","uid":"b373","archi":"m3:at86rf231","state":"Alive","network_address":"m3-34.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"6.82"},{"site":"lille","uid":"2151","archi":"m3:at86rf231","state":"Alive","network_address":"m3-38.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"11.62"},{"site":"lille","uid":"b271","archi":"m3:at86rf231","state":"Alive","network_address":"m3-39.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"12.82"},{"site":"lille","uid":"b370","archi":"m3:at86rf231","state":"Alive","network_address":"m3-40.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"14.02"},{"site":"lille","uid":"1757","archi":"m3:at86rf231","state":"Alive","network_address":"m3-42.lille.iot-lab.info","mobility_type":"null","z":"2.4","y":"0.3","mobile":0,"x":"16.1"},{"site":"lille","uid":"1057","archi":"m3:at86rf231","state":"Alive","network_address":"m3-44.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.3","mobile":0,"x":"16.1"},{"site":"lille","uid":"a173","archi":"m3:at86rf231","state":"Alive","network_address":"m3-47.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"0.82"},{"site":"lille","uid":"b572","archi":"m3:at86rf231","state":"Alive","network_address":"m3-49.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"3.22"},{"site":"lille","uid":"b071","archi":"m3:at86rf231","state":"Alive","network_address":"m3-51.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"5.62"},{"site":"lille","uid":"b473","archi":"m3:at86rf231","state":"Alive","network_address":"m3-52.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"6.82"},{"site":"lille","uid":"9773","archi":"m3:at86rf231","state":"Alive","network_address":"m3-54.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"9.22"},{"site":"lille","uid":"a689","archi":"m3:at86rf231","state":"Alive","network_address":"m3-56.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"11.62"},{"site":"lille","uid":"2755","archi":"m3:at86rf231","state":"Alive","network_address":"m3-57.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"12.82"},{"site":"lille","uid":"a673","archi":"m3:at86rf231","state":"Alive","network_address":"m3-63.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.7","mobile":0,"x":"0.1"},{"site":"lille","uid":"a273","archi":"m3:at86rf231","state":"Alive","network_address":"m3-64.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"2.7","mobile":0,"x":"0.1"},{"site":"lille","uid":"9777","archi":"m3:at86rf231","state":"Alive","network_address":"m3-65.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"0.82"},{"site":"lille","uid":"a390","archi":"m3:at86rf231","state":"Alive","network_address":"m3-66.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"2.02"},{"site":"lille","uid":"8574","archi":"m3:at86rf231","state":"Alive","network_address":"m3-67.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"3.22"},{"site":"lille","uid":"8774","archi":"m3:at86rf231","state":"Alive","network_address":"m3-70.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"6.82"},{"site":"lille","uid":"8674","archi":"m3:at86rf231","state":"Alive","network_address":"m3-71.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"8.02"},{"site":"lille","uid":"a077","archi":"m3:at86rf231","state":"Alive","network_address":"m3-72.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"9.22"},{"site":"lille","uid":"1756","archi":"m3:at86rf231","state":"Alive","network_address":"m3-73.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"10.42"},{"site":"lille","uid":"2852","archi":"m3:at86rf231","state":"Alive","network_address":"m3-74.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"11.62"},{"site":"lille","uid":"2550","archi":"m3:at86rf231","state":"Alive","network_address":"m3-76.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"14.02"},{"site":"lille","uid":"9577","archi":"m3:at86rf231","state":"Alive","network_address":"m3-79.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"2.7","mobile":0,"x":"16.1"},{"site":"lille","uid":"2256","archi":"m3:at86rf231","state":"Alive","network_address":"m3-80.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"2.7","mobile":0,"x":"16.1"},{"site":"lille","uid":"b089","archi":"m3:at86rf231","state":"Alive","network_address":"m3-82.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"3.9","mobile":0,"x":"0.1"},{"site":"lille","uid":"1459","archi":"m3:at86rf231","state":"Alive","network_address":"m3-83.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"0.82"},{"site":"lille","uid":"b671","archi":"m3:at86rf231","state":"Alive","network_address":"m3-85.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"3.22"},{"site":"lille","uid":"2258","archi":"m3:at86rf231","state":"Alive","network_address":"m3-87.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"5.62"},{"site":"lille","uid":"2750","archi":"m3:at86rf231","state":"Alive","network_address":"m3-88.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"6.82"},{"site":"lille","uid":"3554","archi":"m3:at86rf231","state":"Alive","network_address":"m3-89.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"8.02"},{"site":"lille","uid":"0956","archi":"m3:at86rf231","state":"Alive","network_address":"m3-90.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"9.22"},{"site":"lille","uid":"c170","archi":"m3:at86rf231","state":"Alive","network_address":"m3-91.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"10.42"},{"site":"lille","uid":"9989","archi":"m3:at86rf231","state":"Alive","network_address":"m3-92.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"11.62"},{"site":"lille","uid":"b272","archi":"m3:at86rf231","state":"Alive","network_address":"m3-94.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"14.02"},{"site":"lille","uid":"2459","archi":"m3:at86rf231","state":"Alive","network_address":"m3-95.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"15.22"},{"site":"lille","uid":"2555","archi":"m3:at86rf231","state":"Alive","network_address":"m3-97.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.9","mobile":0,"x":"16.1"},{"site":"lille","uid":"8973","archi":"m3:at86rf231","state":"Alive","network_address":"m3-100.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"5.1","mobile":0,"x":"0.1"},{"site":"lille","uid":"a473","archi":"m3:at86rf231","state":"Alive","network_address":"m3-102.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"2.02"},{"site":"lille","uid":"0660","archi":"m3:at86rf231","state":"Alive","network_address":"m3-104.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"4.42"},{"site":"lille","uid":"3559","archi":"m3:at86rf231","state":"Alive","network_address":"m3-106.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"6.82"},{"site":"lille","uid":"b172","archi":"m3:at86rf231","state":"Alive","network_address":"m3-108.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"9.22"},{"site":"lille","uid":"2853","archi":"m3:at86rf231","state":"Alive","network_address":"m3-110.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"11.62"},{"site":"lille","uid":"3858","archi":"m3:at86rf231","state":"Alive","network_address":"m3-111.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"12.82"},{"site":"lille","uid":"1957","archi":"m3:at86rf231","state":"Alive","network_address":"m3-113.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"15.22"},{"site":"lille","uid":"b872","archi":"m3:at86rf231","state":"Alive","network_address":"m3-114.lille.iot-lab.info","mobility_type":"null","z":"2.4","y":"5.1","mobile":0,"x":"16.1"},{"site":"lille","uid":"a890","archi":"m3:at86rf231","state":"Alive","network_address":"m3-115.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.1","mobile":0,"x":"16.1"},{"site":"lille","uid":"b488","archi":"m3:at86rf231","state":"Alive","network_address":"m3-116.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"5.1","mobile":0,"x":"16.1"},{"site":"lille","uid":"2556","archi":"m3:at86rf231","state":"Alive","network_address":"m3-118.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"5.45","mobile":0,"x":"5.42"},{"site":"lille","uid":"1061","archi":"m3:at86rf231","state":"Alive","network_address":"m3-121.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.1","mobile":0,"x":"14.18"},{"site":"lille","uid":"3154","archi":"m3:at86rf231","state":"Alive","network_address":"m3-122.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"5.1","mobile":0,"x":"14.18"},{"site":"lille","uid":"9570","archi":"m3:at86rf231","state":"Alive","network_address":"m3-125.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"3.22"},{"site":"lille","uid":"3558","archi":"m3:at86rf231","state":"Alive","network_address":"m3-127.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"5.62"},{"site":"lille","uid":"2452","archi":"m3:at86rf231","state":"Alive","network_address":"m3-128.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"6.82"},{"site":"lille","uid":"1954","archi":"m3:at86rf231","state":"Alive","network_address":"m3-130.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"9.22"},{"site":"lille","uid":"b388","archi":"m3:at86rf231","state":"Alive","network_address":"m3-131.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"10.42"},{"site":"lille","uid":"b973","archi":"m3:at86rf231","state":"Alive","network_address":"m3-132.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"11.62"},{"site":"lille","uid":"2451","archi":"m3:at86rf231","state":"Alive","network_address":"m3-133.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"12.82"},{"site":"lille","uid":"b670","archi":"m3:at86rf231","state":"Alive","network_address":"m3-134.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"14.02"},{"site":"lille","uid":"0957","archi":"m3:at86rf231","state":"Alive","network_address":"m3-135.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"6.3","mobile":0,"x":"14.18"},{"site":"lille","uid":"0561","archi":"m3:at86rf231","state":"Alive","network_address":"m3-136.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"6.3","mobile":0,"x":"14.18"},{"site":"lille","uid":"1856","archi":"m3:at86rf231","state":"Alive","network_address":"m3-138.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"2.02"},{"site":"lille","uid":"9073","archi":"m3:at86rf231","state":"Alive","network_address":"m3-140.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"4.42"},{"site":"lille","uid":"9270","archi":"m3:at86rf231","state":"Alive","network_address":"m3-142.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"6.82"},{"site":"lille","uid":"8773","archi":"m3:at86rf231","state":"Alive","network_address":"m3-143.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"8.02"},{"site":"lille","uid":"a189","archi":"m3:at86rf231","state":"Alive","network_address":"m3-144.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"9.22"},{"site":"lille","uid":"a170","archi":"m3:at86rf231","state":"Alive","network_address":"m3-145.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"10.42"},{"site":"lille","uid":"c273","archi":"m3:at86rf231","state":"Alive","network_address":"m3-148.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"14.02"},{"site":"lille","uid":"9074","archi":"m3:at86rf231","state":"Alive","network_address":"m3-149.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"7.5","mobile":0,"x":"14.18"},{"site":"lille","uid":"2955","archi":"m3:at86rf231","state":"Alive","network_address":"m3-156.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"6.82"},{"site":"lille","uid":"2350","archi":"m3:at86rf231","state":"Alive","network_address":"m3-157.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"8.02"},{"site":"lille","uid":"2050","archi":"m3:at86rf231","state":"Alive","network_address":"m3-159.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"10.42"},{"site":"lille","uid":"c472","archi":"m3:at86rf231","state":"Alive","network_address":"m3-160.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"11.62"},{"site":"lille","uid":"1855","archi":"m3:at86rf231","state":"Alive","network_address":"m3-161.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"12.82"},{"site":"lille","uid":"1754","archi":"m3:at86rf231","state":"Alive","network_address":"m3-163.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"8.7","mobile":0,"x":"14.18"},{"site":"lille","uid":"2951","archi":"m3:at86rf231","state":"Alive","network_address":"m3-169.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.16","mobile":0,"x":"3.22"},{"site":"lille","uid":"1751","archi":"m3:at86rf231","state":"Alive","network_address":"m3-170.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"9.16","mobile":0,"x":"3.22"},{"site":"lille","uid":"1156","archi":"m3:at86rf231","state":"Alive","network_address":"m3-173.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.16","mobile":0,"x":"6.82"},{"site":"lille","uid":"2055","archi":"m3:at86rf231","state":"Alive","network_address":"m3-174.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"9.16","mobile":0,"x":"6.82"},{"site":"lille","uid":"b389","archi":"m3:at86rf231","state":"Alive","network_address":"m3-177.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.16","mobile":0,"x":"9.22"},{"site":"lille","uid":"8374","archi":"m3:at86rf231","state":"Alive","network_address":"m3-178.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"9.16","mobile":0,"x":"9.22"},{"site":"lille","uid":"3355","archi":"m3:at86rf231","state":"Alive","network_address":"m3-179.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"0.82"},{"site":"lille","uid":"2754","archi":"m3:at86rf231","state":"Alive","network_address":"m3-181.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"3.22"},{"site":"lille","uid":"8474","archi":"m3:at86rf231","state":"Alive","network_address":"m3-182.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"4.42"},{"site":"lille","uid":"3158","archi":"m3:at86rf231","state":"Alive","network_address":"m3-184.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"8.02"},{"site":"lille","uid":"9173","archi":"m3:at86rf231","state":"Alive","network_address":"m3-187.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"11.62"},{"site":"lille","uid":"1358","archi":"m3:at86rf231","state":"Alive","network_address":"m3-188.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"12.82"},{"site":"lille","uid":"3453","archi":"m3:at86rf231","state":"Alive","network_address":"m3-190.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.9","mobile":0,"x":"14.18"},{"site":"lille","uid":"3859","archi":"m3:at86rf231","state":"Alive","network_address":"m3-193.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"2.02"},{"site":"lille","uid":"9573","archi":"m3:at86rf231","state":"Alive","network_address":"m3-194.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"3.22"},{"site":"lille","uid":"2152","archi":"m3:at86rf231","state":"Alive","network_address":"m3-195.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"4.42"},{"site":"lille","uid":"2559","archi":"m3:at86rf231","state":"Alive","network_address":"m3-196.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"5.62"},{"site":"lille","uid":"b273","archi":"m3:at86rf231","state":"Alive","network_address":"m3-197.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"6.82"},{"site":"lille","uid":"9770","archi":"m3:at86rf231","state":"Alive","network_address":"m3-200.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"10.42"},{"site":"lille","uid":"2751","archi":"m3:at86rf231","state":"Alive","network_address":"m3-202.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"12.82"},{"site":"lille","uid":"8573","archi":"m3:at86rf231","state":"Alive","network_address":"m3-203.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"14.02"},{"site":"lille","uid":"2052","archi":"m3:at86rf231","state":"Alive","network_address":"m3-204.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"15.22"},{"site":"lille","uid":"b571","archi":"m3:at86rf231","state":"Alive","network_address":"m3-209.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"5.62"},{"site":"lille","uid":"1254","archi":"m3:at86rf231","state":"Alive","network_address":"m3-210.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"6.82"},{"site":"lille","uid":"2759","archi":"m3:at86rf231","state":"Alive","network_address":"m3-211.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"8.02"},{"site":"lille","uid":"b270","archi":"m3:at86rf231","state":"Alive","network_address":"m3-212.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"9.22"},{"site":"lille","uid":"1859","archi":"m3:at86rf231","state":"Alive","network_address":"m3-213.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"10.42"},{"site":"lille","uid":"2352","archi":"m3:at86rf231","state":"Alive","network_address":"m3-214.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"11.62"},{"site":"lille","uid":"3458","archi":"m3:at86rf231","state":"Alive","network_address":"m3-215.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"12.82"},{"site":"lille","uid":"0858","archi":"m3:at86rf231","state":"Alive","network_address":"m3-216.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"14.02"},{"site":"lille","uid":"3152","archi":"m3:at86rf231","state":"Alive","network_address":"m3-217.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"15.22"},{"site":"lille","uid":"9373","archi":"m3:at86rf231","state":"Alive","network_address":"m3-218.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"0.82"},{"site":"lille","uid":"2359","archi":"m3:at86rf231","state":"Alive","network_address":"m3-219.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"2.02"},{"site":"lille","uid":"c270","archi":"m3:at86rf231","state":"Alive","network_address":"m3-220.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"3.22"},{"site":"lille","uid":"b873","archi":"m3:at86rf231","state":"Alive","network_address":"m3-221.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"4.42"},{"site":"lille","uid":"2552","archi":"m3:at86rf231","state":"Alive","network_address":"m3-223.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"6.82"},{"site":"lille","uid":"2450","archi":"m3:at86rf231","state":"Alive","network_address":"m3-226.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"10.42"},{"site":"lille","uid":"b073","archi":"m3:at86rf231","state":"Alive","network_address":"m3-228.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"12.82"},{"site":"lille","uid":"a790","archi":"m3:at86rf231","state":"Alive","network_address":"m3-229.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"14.02"},{"site":"lille","uid":"1258","archi":"m3:at86rf231","state":"Alive","network_address":"m3-230.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"15.22"},{"site":"lille","uid":"2851","archi":"m3:at86rf231","state":"Alive","network_address":"m3-232.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"2.02"},{"site":"lille","uid":"1256","archi":"m3:at86rf231","state":"Alive","network_address":"m3-233.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"3.22"},{"site":"lille","uid":"2551","archi":"m3:at86rf231","state":"Alive","network_address":"m3-236.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"6.82"},{"site":"lille","uid":"3153","archi":"m3:at86rf231","state":"Alive","network_address":"m3-238.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"9.22"},{"site":"lille","uid":"3358","archi":"m3:at86rf231","state":"Alive","network_address":"m3-239.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"10.42"},{"site":"lille","uid":"1559","archi":"m3:at86rf231","state":"Alive","network_address":"m3-240.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"11.62"},{"site":"lille","uid":"2051","archi":"m3:at86rf231","state":"Alive","network_address":"m3-241.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"12.82"},{"site":"lille","uid":"1552","archi":"m3:at86rf231","state":"Alive","network_address":"m3-243.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"15.22"},{"site":"lille","uid":"2659","archi":"m3:at86rf231","state":"Alive","network_address":"m3-244.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"0.82"},{"site":"lille","uid":"3151","archi":"m3:at86rf231","state":"Alive","network_address":"m3-245.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"2.02"},{"site":"lille","uid":"2454","archi":"m3:at86rf231","state":"Alive","network_address":"m3-246.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"3.22"},{"site":"lille","uid":"2458","archi":"m3:at86rf231","state":"Alive","network_address":"m3-248.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"5.62"},{"site":"lille","uid":"b871","archi":"m3:at86rf231","state":"Alive","network_address":"m3-250.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"8.02"},{"site":"lille","uid":"1257","archi":"m3:at86rf231","state":"Alive","network_address":"m3-253.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"11.62"},{"site":"lille","uid":"b371","archi":"m3:at86rf231","state":"Alive","network_address":"m3-254.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"12.82"},{"site":"lille","uid":"2858","archi":"m3:at86rf231","state":"Alive","network_address":"m3-255.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"14.02"},{"site":"lille","uid":"2554","archi":"m3:at86rf231","state":"Alive","network_address":"m3-256.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"15.22"},{"site":"grenoble","uid":"2354","archi":"m3:at86rf231","state":"Alive","network_address":"m3-1.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"20.10"},{"site":"grenoble","uid":"b868","archi":"m3:at86rf231","state":"Alive","network_address":"m3-3.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"21.30"},{"site":"grenoble","uid":"a682","archi":"m3:at86rf231","state":"Alive","network_address":"m3-6.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"23.10"},{"site":"grenoble","uid":"9883","archi":"m3:at86rf231","state":"Alive","network_address":"m3-7.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"24.55"},{"site":"grenoble","uid":"9983","archi":"m3:at86rf231","state":"Alive","network_address":"m3-8.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"25.15"},{"site":"grenoble","uid":"8772","archi":"m3:at86rf231","state":"Alive","network_address":"m3-10.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"26.35"},{"site":"grenoble","uid":"a869","archi":"m3:at86rf231","state":"Alive","network_address":"m3-12.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"27.55"},{"site":"grenoble","uid":"a269","archi":"m3:at86rf231","state":"Alive","network_address":"m3-16.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"29.95"},{"site":"grenoble","uid":"9969","archi":"m3:at86rf231","state":"Alive","network_address":"m3-19.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"31.75"},{"site":"grenoble","uid":"b077","archi":"m3:at86rf231","state":"Alive","network_address":"m3-20.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"32.35"},{"site":"grenoble","uid":"9171","archi":"m3:at86rf231","state":"Alive","network_address":"m3-22.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"33.55"},{"site":"grenoble","uid":"8971","archi":"m3:at86rf231","state":"Alive","network_address":"m3-24.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"34.75"},{"site":"grenoble","uid":"9469","archi":"m3:at86rf231","state":"Alive","network_address":"m3-26.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"35.95"},{"site":"grenoble","uid":"b778","archi":"m3:at86rf231","state":"Alive","network_address":"m3-27.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"36.55"},{"site":"grenoble","uid":"a882","archi":"m3:at86rf231","state":"Alive","network_address":"m3-28.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"37.15"},{"site":"grenoble","uid":"b968","archi":"m3:at86rf231","state":"Alive","network_address":"m3-34.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"40.75"},{"site":"grenoble","uid":"b568","archi":"m3:at86rf231","state":"Alive","network_address":"m3-36.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"41.95"},{"site":"grenoble","uid":"b980","archi":"m3:at86rf231","state":"Alive","network_address":"m3-41.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"44.95"},{"site":"grenoble","uid":"a476","archi":"m3:at86rf231","state":"Alive","network_address":"m3-42.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"45.55"},{"site":"grenoble","uid":"b480","archi":"m3:at86rf231","state":"Alive","network_address":"m3-43.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"46.15"},{"site":"grenoble","uid":"9278","archi":"m3:at86rf231","state":"Alive","network_address":"m3-46.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"47.95"},{"site":"grenoble","uid":"c275","archi":"m3:at86rf231","state":"Alive","network_address":"m3-47.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"48.55"},{"site":"grenoble","uid":"8576","archi":"m3:at86rf231","state":"Alive","network_address":"m3-50.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"50.35"},{"site":"grenoble","uid":"8770","archi":"m3:at86rf231","state":"Alive","network_address":"m3-52.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"51.55"},{"site":"grenoble","uid":"a068","archi":"m3:at86rf231","state":"Alive","network_address":"m3-53.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"52.15"},{"site":"grenoble","uid":"c180","archi":"m3:at86rf231","state":"Alive","network_address":"m3-54.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"52.75"},{"site":"grenoble","uid":"8677","archi":"m3:at86rf231","state":"Alive","network_address":"m3-56.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"53.95"},{"site":"grenoble","uid":"8577","archi":"m3:at86rf231","state":"Alive","network_address":"m3-57.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"54.55"},{"site":"grenoble","uid":"b378","archi":"m3:at86rf231","state":"Alive","network_address":"m3-58.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"55.15"},{"site":"grenoble","uid":"a579","archi":"m3:at86rf231","state":"Alive","network_address":"m3-60.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"56.35"},{"site":"grenoble","uid":"8372","archi":"m3:at86rf231","state":"Alive","network_address":"m3-62.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"57.55"},{"site":"grenoble","uid":"8777","archi":"m3:at86rf231","state":"Alive","network_address":"m3-64.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"58.75"},{"site":"grenoble","uid":"b680","archi":"m3:at86rf231","state":"Alive","network_address":"m3-66.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"59.95"},{"site":"grenoble","uid":"c268","archi":"m3:at86rf231","state":"Alive","network_address":"m3-67.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"60.55"},{"site":"grenoble","uid":"9067","archi":"m3:at86rf231","state":"Alive","network_address":"m3-70.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"17.02"},{"site":"grenoble","uid":"a171","archi":"m3:at86rf231","state":"Alive","network_address":"m3-74.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"14.62"},{"site":"grenoble","uid":"8981","archi":"m3:at86rf231","state":"Alive","network_address":"m3-75.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"14.02"},{"site":"grenoble","uid":"9177","archi":"m3:at86rf231","state":"Alive","network_address":"m3-76.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"13.42"},{"site":"grenoble","uid":"a382","archi":"m3:at86rf231","state":"Alive","network_address":"m3-78.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"12.22"},{"site":"grenoble","uid":"b976","archi":"m3:at86rf231","state":"Alive","network_address":"m3-79.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"11.62"},{"site":"grenoble","uid":"a676","archi":"m3:at86rf231","state":"Alive","network_address":"m3-81.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"10.42"},{"site":"grenoble","uid":"8767","archi":"m3:at86rf231","state":"Alive","network_address":"m3-82.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"9.82"},{"site":"grenoble","uid":"a575","archi":"m3:at86rf231","state":"Alive","network_address":"m3-83.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"9.22"},{"site":"grenoble","uid":"9769","archi":"m3:at86rf231","state":"Alive","network_address":"m3-84.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"8.62"},{"site":"grenoble","uid":"a471","archi":"m3:at86rf231","state":"Alive","network_address":"m3-86.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"7.42"},{"site":"grenoble","uid":"9277","archi":"m3:at86rf231","state":"Alive","network_address":"m3-87.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"6.82"},{"site":"grenoble","uid":"9882","archi":"m3:at86rf231","state":"Alive","network_address":"m3-89.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"5.62"},{"site":"grenoble","uid":"a878","archi":"m3:at86rf231","state":"Alive","network_address":"m3-90.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"5.02"},{"site":"grenoble","uid":"b078","archi":"m3:at86rf231","state":"Alive","network_address":"m3-92.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"3.82"},{"site":"grenoble","uid":"3960","archi":"m3:at86rf231","state":"Alive","network_address":"m3-93.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.76","mobile":0,"x":"3.22"},{"site":"grenoble","uid":"a770","archi":"m3:at86rf231","state":"Alive","network_address":"m3-95.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.52","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"b468","archi":"m3:at86rf231","state":"Alive","network_address":"m3-96.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.52","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"b179","archi":"m3:at86rf231","state":"Alive","network_address":"m3-97.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"25.92","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"b069","archi":"m3:at86rf231","state":"Alive","network_address":"m3-98.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"25.92","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"b277","archi":"m3:at86rf231","state":"Alive","network_address":"m3-99.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"25.23","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"b080","archi":"m3:at86rf231","state":"Alive","network_address":"m3-100.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"25.23","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9881","archi":"m3:at86rf231","state":"Alive","network_address":"m3-103.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"24.03","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a775","archi":"m3:at86rf231","state":"Alive","network_address":"m3-104.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"24.03","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"a072","archi":"m3:at86rf231","state":"Alive","network_address":"m3-107.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"22.83","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"8477","archi":"m3:at86rf231","state":"Alive","network_address":"m3-108.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"22.83","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"a071","archi":"m3:at86rf231","state":"Alive","network_address":"m3-110.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"22.23","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9172","archi":"m3:at86rf231","state":"Alive","network_address":"m3-111.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"21.63","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a578","archi":"m3:at86rf231","state":"Alive","network_address":"m3-112.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"21.63","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"a468","archi":"m3:at86rf231","state":"Alive","network_address":"m3-119.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"19.23","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a469","archi":"m3:at86rf231","state":"Alive","network_address":"m3-120.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"19.23","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"8572","archi":"m3:at86rf231","state":"Alive","network_address":"m3-121.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"18.63","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"b269","archi":"m3:at86rf231","state":"Alive","network_address":"m3-126.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"17.43","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"8671","archi":"m3:at86rf231","state":"Alive","network_address":"m3-127.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"16.83","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9980","archi":"m3:at86rf231","state":"Alive","network_address":"m3-128.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"16.83","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9371","archi":"m3:at86rf231","state":"Alive","network_address":"m3-137.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"13.83","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9779","archi":"m3:at86rf231","state":"Alive","network_address":"m3-143.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"12.03","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"c069","archi":"m3:at86rf231","state":"Alive","network_address":"m3-144.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"12.03","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9680","archi":"m3:at86rf231","state":"Alive","network_address":"m3-145.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"11.43","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9683","archi":"m3:at86rf231","state":"Alive","network_address":"m3-149.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"10.23","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"b081","archi":"m3:at86rf231","state":"Alive","network_address":"m3-153.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"9.03","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"a279","archi":"m3:at86rf231","state":"Alive","network_address":"m3-154.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"9.03","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"1861","archi":"m3:at86rf231","state":"Alive","network_address":"m3-156.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"8.43","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9276","archi":"m3:at86rf231","state":"Alive","network_address":"m3-163.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"6.03","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"b281","archi":"m3:at86rf231","state":"Alive","network_address":"m3-164.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"6.03","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9478","archi":"m3:at86rf231","state":"Alive","network_address":"m3-165.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"5.43","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9671","archi":"m3:at86rf231","state":"Alive","network_address":"m3-166.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"5.43","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"8475","archi":"m3:at86rf231","state":"Alive","network_address":"m3-168.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"4.83","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"c076","archi":"m3:at86rf231","state":"Alive","network_address":"m3-170.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"4.23","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9678","archi":"m3:at86rf231","state":"Alive","network_address":"m3-172.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"3.63","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"9381","archi":"m3:at86rf231","state":"Alive","network_address":"m3-173.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"3.03","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9572","archi":"m3:at86rf231","state":"Alive","network_address":"m3-176.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"2.43","mobile":0,"x":"1.00"},{"site":"grenoble","uid":"3061","archi":"m3:at86rf231","state":"Alive","network_address":"m3-177.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"1.85","mobile":0,"x":"0.40"},{"site":"grenoble","uid":"9169","archi":"m3:at86rf231","state":"Alive","network_address":"m3-183.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"5.15"},{"site":"grenoble","uid":"9168","archi":"m3:at86rf231","state":"Alive","network_address":"m3-184.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"5.75"},{"site":"grenoble","uid":"8979","archi":"m3:at86rf231","state":"Alive","network_address":"m3-186.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"6.95"},{"site":"grenoble","uid":"b882","archi":"m3:at86rf231","state":"Alive","network_address":"m3-190.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"9.35"},{"site":"grenoble","uid":"a376","archi":"m3:at86rf231","state":"Alive","network_address":"m3-193.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"11.15"},{"site":"grenoble","uid":"a670","archi":"m3:at86rf231","state":"Alive","network_address":"m3-195.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"12.35"},{"site":"grenoble","uid":"8569","archi":"m3:at86rf231","state":"Alive","network_address":"m3-199.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"14.75"},{"site":"grenoble","uid":"c376","archi":"m3:at86rf231","state":"Alive","network_address":"m3-200.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"15.35"},{"site":"grenoble","uid":"8476","archi":"m3:at86rf231","state":"Alive","network_address":"m3-201.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"15.95"},{"site":"grenoble","uid":"a183","archi":"m3:at86rf231","state":"Alive","network_address":"m3-202.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"16.55"},{"site":"grenoble","uid":"8967","archi":"m3:at86rf231","state":"Alive","network_address":"m3-205.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.75","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a379","archi":"m3:at86rf231","state":"Alive","network_address":"m3-207.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"1.83","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b379","archi":"m3:at86rf231","state":"Alive","network_address":"m3-209.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"2.43","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"8875","archi":"m3:at86rf231","state":"Alive","network_address":"m3-211.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"3.03","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9175","archi":"m3:at86rf231","state":"Alive","network_address":"m3-215.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"4.23","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9871","archi":"m3:at86rf231","state":"Alive","network_address":"m3-217.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"4.83","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b582","archi":"m3:at86rf231","state":"Alive","network_address":"m3-218.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"5.43","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9981","archi":"m3:at86rf231","state":"Alive","network_address":"m3-221.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"6.03","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b768","archi":"m3:at86rf231","state":"Alive","network_address":"m3-223.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"6.63","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b180","archi":"m3:at86rf231","state":"Alive","network_address":"m3-224.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"7.23","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"c068","archi":"m3:at86rf231","state":"Alive","network_address":"m3-225.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"7.23","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9283","archi":"m3:at86rf231","state":"Alive","network_address":"m3-228.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"8.43","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b068","archi":"m3:at86rf231","state":"Alive","network_address":"m3-229.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"8.43","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"3861","archi":"m3:at86rf231","state":"Alive","network_address":"m3-230.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"9.03","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"8881","archi":"m3:at86rf231","state":"Alive","network_address":"m3-233.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"9.63","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a083","archi":"m3:at86rf231","state":"Alive","network_address":"m3-238.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"11.43","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"3761","archi":"m3:at86rf231","state":"Alive","network_address":"m3-240.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"12.03","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"a678","archi":"m3:at86rf231","state":"Alive","network_address":"m3-243.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"12.63","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a982","archi":"m3:at86rf231","state":"Alive","network_address":"m3-247.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"13.83","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9583","archi":"m3:at86rf231","state":"Alive","network_address":"m3-249.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"14.43","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a483","archi":"m3:at86rf231","state":"Alive","network_address":"m3-250.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"15.03","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9876","archi":"m3:at86rf231","state":"Alive","network_address":"m3-251.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"15.03","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b168","archi":"m3:at86rf231","state":"Alive","network_address":"m3-255.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"16.23","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"1660","archi":"m3:at86rf231","state":"Alive","network_address":"m3-256.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"16.83","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"a580","archi":"m3:at86rf231","state":"Alive","network_address":"m3-259.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"17.43","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9483","archi":"m3:at86rf231","state":"Alive","network_address":"m3-261.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"18.03","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"c369","archi":"m3:at86rf231","state":"Alive","network_address":"m3-266.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"19.83","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9681","archi":"m3:at86rf231","state":"Alive","network_address":"m3-268.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"20.43","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b477","archi":"m3:at86rf231","state":"Alive","network_address":"m3-269.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"20.43","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b380","archi":"m3:at86rf231","state":"Alive","network_address":"m3-270.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"21.03","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"a880","archi":"m3:at86rf231","state":"Alive","network_address":"m3-274.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"22.23","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"9771","archi":"m3:at86rf231","state":"Alive","network_address":"m3-275.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"22.23","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9482","archi":"m3:at86rf231","state":"Alive","network_address":"m3-276.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"22.83","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"c176","archi":"m3:at86rf231","state":"Alive","network_address":"m3-277.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"22.83","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9780","archi":"m3:at86rf231","state":"Alive","network_address":"m3-279.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"23.43","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"a582","archi":"m3:at86rf231","state":"Alive","network_address":"m3-281.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"24.03","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"b781","archi":"m3:at86rf231","state":"Alive","network_address":"m3-283.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"24.63","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9875","archi":"m3:at86rf231","state":"Alive","network_address":"m3-284.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"25.23","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"a969","archi":"m3:at86rf231","state":"Alive","network_address":"m3-286.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.00","mobile":0,"x":"18.95"},{"site":"grenoble","uid":"b982","archi":"m3:at86rf231","state":"Alive","network_address":"m3-287.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"26.00","mobile":0,"x":"18.35"},{"site":"grenoble","uid":"9975","archi":"m3:at86rf231","state":"Alive","network_address":"m3-291.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"20.65"},{"site":"grenoble","uid":"8669","archi":"m3:at86rf231","state":"Alive","network_address":"m3-294.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"22.45"},{"site":"grenoble","uid":"9467","archi":"m3:at86rf231","state":"Alive","network_address":"m3-295.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"23.05"},{"site":"grenoble","uid":"9069","archi":"m3:at86rf231","state":"Alive","network_address":"m3-296.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"24.62"},{"site":"grenoble","uid":"9271","archi":"m3:at86rf231","state":"Alive","network_address":"m3-302.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"28.71"},{"site":"grenoble","uid":"8877","archi":"m3:at86rf231","state":"Alive","network_address":"m3-304.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"29.96"},{"site":"grenoble","uid":"8871","archi":"m3:at86rf231","state":"Alive","network_address":"m3-305.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"30.56"},{"site":"grenoble","uid":"9479","archi":"m3:at86rf231","state":"Alive","network_address":"m3-306.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"31.16"},{"site":"grenoble","uid":"b083","archi":"m3:at86rf231","state":"Alive","network_address":"m3-308.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"32.36"},{"site":"grenoble","uid":"8882","archi":"m3:at86rf231","state":"Alive","network_address":"m3-315.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"36.56"},{"site":"grenoble","uid":"0862","archi":"m3:at86rf231","state":"Alive","network_address":"m3-316.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"37.16"},{"site":"grenoble","uid":"a577","archi":"m3:at86rf231","state":"Alive","network_address":"m3-319.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"38.96"},{"site":"grenoble","uid":"a477","archi":"m3:at86rf231","state":"Alive","network_address":"m3-320.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"39.56"},{"site":"grenoble","uid":"a777","archi":"m3:at86rf231","state":"Alive","network_address":"m3-323.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"41.36"},{"site":"grenoble","uid":"a480","archi":"m3:at86rf231","state":"Alive","network_address":"m3-326.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"43.16"},{"site":"grenoble","uid":"0962","archi":"m3:at86rf231","state":"Alive","network_address":"m3-327.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"43.76"},{"site":"grenoble","uid":"b177","archi":"m3:at86rf231","state":"Alive","network_address":"m3-329.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"44.96"},{"site":"grenoble","uid":"b082","archi":"m3:at86rf231","state":"Alive","network_address":"m3-330.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"45.56"},{"site":"grenoble","uid":"a282","archi":"m3:at86rf231","state":"Alive","network_address":"m3-331.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"46.16"},{"site":"grenoble","uid":"8578","archi":"m3:at86rf231","state":"Alive","network_address":"m3-332.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"46.76"},{"site":"grenoble","uid":"a178","archi":"m3:at86rf231","state":"Alive","network_address":"m3-333.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"47.36"},{"site":"grenoble","uid":"b782","archi":"m3:at86rf231","state":"Alive","network_address":"m3-334.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"47.96"},{"site":"grenoble","uid":"9468","archi":"m3:at86rf231","state":"Alive","network_address":"m3-336.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"49.16"},{"site":"grenoble","uid":"a479","archi":"m3:at86rf231","state":"Alive","network_address":"m3-340.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"51.56"},{"site":"grenoble","uid":"b983","archi":"m3:at86rf231","state":"Alive","network_address":"m3-341.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"52.16"},{"site":"grenoble","uid":"b079","archi":"m3:at86rf231","state":"Alive","network_address":"m3-342.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"52.76"},{"site":"grenoble","uid":"9167","archi":"m3:at86rf231","state":"Alive","network_address":"m3-345.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"54.56"},{"site":"grenoble","uid":"b368","archi":"m3:at86rf231","state":"Alive","network_address":"m3-347.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"55.76"},{"site":"grenoble","uid":"8570","archi":"m3:at86rf231","state":"Alive","network_address":"m3-350.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"57.56"},{"site":"grenoble","uid":"9781","archi":"m3:at86rf231","state":"Suspected","network_address":"m3-351.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"58.16"},{"site":"grenoble","uid":"8870","archi":"m3:at86rf231","state":"Alive","network_address":"m3-352.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"58.76"},{"site":"grenoble","uid":"9267","archi":"m3:at86rf231","state":"Alive","network_address":"m3-353.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"59.36"},{"site":"grenoble","uid":"b479","archi":"m3:at86rf231","state":"Alive","network_address":"m3-355.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"60.56"},{"site":"grenoble","uid":"a681","archi":"m3:at86rf231","state":"Alive","network_address":"m3-356.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"61.16"},{"site":"grenoble","uid":"8672","archi":"m3:at86rf231","state":"Alive","network_address":"m3-357.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"61.76"},{"site":"grenoble","uid":"9378","archi":"m3:at86rf231","state":"Alive","network_address":"m3-358.grenoble.iot-lab.info","mobility_type":"null","z":"-0.04","y":"0.94","mobile":0,"x":"62.26"},{"site":"grenoble","uid":"8667","archi":"m3:at86rf231","state":"Alive","network_address":"m3-361.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"35.95"},{"site":"grenoble","uid":"a976","archi":"m3:at86rf231","state":"Alive","network_address":"m3-362.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"36.55"},{"site":"grenoble","uid":"1661","archi":"m3:at86rf231","state":"Alive","network_address":"m3-364.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"24.92","mobile":0,"x":"37.75"},{"site":"grenoble","uid":"3561","archi":"m3:at86rf231","state":"Alive","network_address":"m3-365.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"38.95"},{"site":"grenoble","uid":"8567","archi":"m3:at86rf231","state":"Alive","network_address":"m3-369.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"41.35"},{"site":"grenoble","uid":"a075","archi":"m3:at86rf231","state":"Alive","network_address":"m3-370.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"46.15"},{"site":"grenoble","uid":"9775","archi":"m3:at86rf231","state":"Alive","network_address":"m3-372.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"47.35"},{"site":"grenoble","uid":"1762","archi":"m3:at86rf231","state":"Alive","network_address":"m3-373.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"47.95"},{"site":"grenoble","uid":"c071","archi":"m3:at86rf231","state":"Alive","network_address":"m3-378.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"53.35"},{"site":"grenoble","uid":"b564","archi":"a8:at86rf231","state":"Alive","network_address":"a8-1.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.28","mobile":0,"x":"20.33"},{"site":"grenoble","uid":"a461","archi":"a8:at86rf231","state":"Alive","network_address":"a8-2.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.28","mobile":0,"x":"20.33"},{"site":"grenoble","uid":"b363","archi":"a8:at86rf231","state":"Alive","network_address":"a8-3.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.28","mobile":0,"x":"20.93"},{"site":"grenoble","uid":"9064","archi":"a8:at86rf231","state":"Alive","network_address":"a8-4.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.33","mobile":0,"x":"21.53"},{"site":"grenoble","uid":"a558","archi":"a8:at86rf231","state":"Alive","network_address":"a8-5.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.33","mobile":0,"x":"21.53"},{"site":"grenoble","uid":"3289","archi":"a8:at86rf231","state":"Alive","network_address":"a8-6.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.33","mobile":0,"x":"22.13"},{"site":"grenoble","uid":"b959","archi":"a8:at86rf231","state":"Alive","network_address":"a8-7.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.33","mobile":0,"x":"22.13"},{"site":"grenoble","uid":"9651","archi":"a8:at86rf231","state":"Alive","network_address":"a8-8.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.33","mobile":0,"x":"22.73"},{"site":"grenoble","uid":"b164","archi":"a8:at86rf231","state":"Alive","network_address":"a8-9.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.33","mobile":0,"x":"23.33"},{"site":"grenoble","uid":"a963","archi":"a8:at86rf231","state":"Alive","network_address":"a8-10.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.33","mobile":0,"x":"23.33"},{"site":"grenoble","uid":"b163","archi":"a8:at86rf231","state":"Alive","network_address":"a8-11.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.80","mobile":0,"x":"23.93"},{"site":"grenoble","uid":"9461","archi":"a8:at86rf231","state":"Alive","network_address":"a8-12.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.80","mobile":0,"x":"23.93"},{"site":"grenoble","uid":"a467","archi":"a8:at86rf231","state":"Alive","network_address":"a8-13.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"24.53"},{"site":"grenoble","uid":"2990","archi":"a8:at86rf231","state":"Alive","network_address":"a8-14.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"25.13"},{"site":"grenoble","uid":"b364","archi":"a8:at86rf231","state":"Alive","network_address":"a8-15.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"25.73"},{"site":"grenoble","uid":"b463","archi":"a8:at86rf231","state":"Alive","network_address":"a8-16.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"26.33"},{"site":"grenoble","uid":"8764","archi":"a8:at86rf231","state":"Alive","network_address":"a8-17.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"26.93"},{"site":"grenoble","uid":"c366","archi":"a8:at86rf231","state":"Alive","network_address":"a8-18.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"27.55"},{"site":"grenoble","uid":"a064","archi":"a8:at86rf231","state":"Alive","network_address":"a8-19.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"28.15"},{"site":"grenoble","uid":"9366","archi":"a8:at86rf231","state":"Alive","network_address":"a8-20.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"28.75"},{"site":"grenoble","uid":"8862","archi":"a8:at86rf231","state":"Alive","network_address":"a8-21.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"29.35"},{"site":"grenoble","uid":"3189","archi":"a8:at86rf231","state":"Alive","network_address":"a8-22.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"29.95"},{"site":"grenoble","uid":"9658","archi":"a8:at86rf231","state":"Alive","network_address":"a8-23.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"30.55"},{"site":"grenoble","uid":"b560","archi":"a8:at86rf231","state":"Alive","network_address":"a8-24.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"31.15"},{"site":"grenoble","uid":"9761","archi":"a8:at86rf231","state":"Alive","network_address":"a8-25.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"31.75"},{"site":"grenoble","uid":"b961","archi":"a8:at86rf231","state":"Alive","network_address":"a8-26.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"32.35"},{"site":"grenoble","uid":"05DF","archi":"a8:at86rf231","state":"Suspected","network_address":"a8-27.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"32.35"},{"site":"grenoble","uid":"2784","archi":"a8:at86rf231","state":"Alive","network_address":"a8-28.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"32.95"},{"site":"grenoble","uid":"c261","archi":"a8:at86rf231","state":"Alive","network_address":"a8-29.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"33.55"},{"site":"grenoble","uid":"8664","archi":"a8:at86rf231","state":"Alive","network_address":"a8-30.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"34.15"},{"site":"grenoble","uid":"8759","archi":"a8:at86rf231","state":"Alive","network_address":"a8-31.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"24.92","mobile":0,"x":"38.35"},{"site":"grenoble","uid":"9259","archi":"a8:at86rf231","state":"Alive","network_address":"a8-32.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"24.92","mobile":0,"x":"38.35"},{"site":"grenoble","uid":"9661","archi":"a8:at86rf231","state":"Alive","network_address":"a8-33.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"41.95"},{"site":"grenoble","uid":"c162","archi":"a8:at86rf231","state":"Alive","network_address":"a8-34.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"41.95"},{"site":"grenoble","uid":"3084","archi":"a8:at86rf231","state":"Alive","network_address":"a8-35.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"43.15"},{"site":"grenoble","uid":"3085","archi":"a8:at86rf231","state":"Alive","network_address":"a8-36.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"43.15"},{"site":"grenoble","uid":"b460","archi":"a8:at86rf231","state":"Alive","network_address":"a8-37.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"44.35"},{"site":"grenoble","uid":"a859","archi":"a8:at86rf231","state":"Alive","network_address":"a8-38.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"44.95"},{"site":"grenoble","uid":"a661","archi":"a8:at86rf231","state":"Alive","network_address":"a8-39.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"44.95"},{"site":"grenoble","uid":"9559","archi":"a8:at86rf231","state":"Alive","network_address":"a8-40.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"46.15"},{"site":"grenoble","uid":"a361","archi":"a8:at86rf231","state":"Alive","network_address":"a8-41.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"24.90","mobile":0,"x":"49.75"},{"site":"grenoble","uid":"9359","archi":"a8:at86rf231","state":"Alive","network_address":"a8-42.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"24.90","mobile":0,"x":"50.35"},{"site":"grenoble","uid":"9859","archi":"a8:at86rf231","state":"Alive","network_address":"a8-43.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"24.90","mobile":0,"x":"50.95"},{"site":"grenoble","uid":"b661","archi":"a8:at86rf231","state":"Alive","network_address":"a8-44.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"51.55"},{"site":"grenoble","uid":"8960","archi":"a8:at86rf231","state":"Alive","network_address":"a8-45.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"55.15"},{"site":"grenoble","uid":"3184","archi":"a8:at86rf231","state":"Alive","network_address":"a8-46.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"55.75"},{"site":"grenoble","uid":"a358","archi":"a8:at86rf231","state":"Alive","network_address":"a8-47.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"56.35"},{"site":"grenoble","uid":"b461","archi":"a8:at86rf231","state":"Alive","network_address":"a8-48.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"56.95"},{"site":"grenoble","uid":"a350","archi":"a8:at86rf231","state":"Alive","network_address":"a8-49.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"57.55"},{"site":"grenoble","uid":"b361","archi":"a8:at86rf231","state":"Alive","network_address":"a8-50.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"24.90","mobile":0,"x":"58.15"},{"site":"grenoble","uid":"b051","archi":"a8:at86rf231","state":"Alive","network_address":"a8-51.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"24.90","mobile":0,"x":"58.75"},{"site":"grenoble","uid":"b861","archi":"a8:at86rf231","state":"Alive","network_address":"a8-52.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"24.90","mobile":0,"x":"59.35"},{"site":"grenoble","uid":"2890","archi":"a8:at86rf231","state":"Alive","network_address":"a8-53.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"59.95"},{"site":"grenoble","uid":"a850","archi":"a8:at86rf231","state":"Alive","network_address":"a8-54.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"59.95"},{"site":"grenoble","uid":"c467","archi":"a8:at86rf231","state":"Alive","network_address":"a8-55.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"60.55"},{"site":"grenoble","uid":"1884","archi":"a8:at86rf231","state":"Alive","network_address":"a8-56.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"61.15"},{"site":"grenoble","uid":"2790","archi":"a8:at86rf231","state":"Alive","network_address":"a8-57.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.75","mobile":0,"x":"61.75"},{"site":"grenoble","uid":"c266","archi":"a8:at86rf231","state":"Alive","network_address":"a8-58.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.75","mobile":0,"x":"62.35"},{"site":"grenoble","uid":"b663","archi":"a8:at86rf231","state":"Alive","network_address":"a8-59.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"15.47"},{"site":"grenoble","uid":"1285","archi":"a8:at86rf231","state":"Alive","network_address":"a8-60.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"14.87"},{"site":"grenoble","uid":"a164","archi":"a8:at86rf231","state":"Alive","network_address":"a8-61.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"14.27"},{"site":"grenoble","uid":"3090","archi":"a8:at86rf231","state":"Alive","network_address":"a8-62.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"13.67"},{"site":"grenoble","uid":"a863","archi":"a8:at86rf231","state":"Alive","network_address":"a8-63.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"13.07"},{"site":"grenoble","uid":"2484","archi":"a8:at86rf231","state":"Alive","network_address":"a8-64.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"12.47"},{"site":"grenoble","uid":"b563","archi":"a8:at86rf231","state":"Alive","network_address":"a8-65.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"11.87"},{"site":"grenoble","uid":"a060","archi":"a8:at86rf231","state":"Alive","network_address":"a8-66.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"11.27"},{"site":"grenoble","uid":"a959","archi":"a8:at86rf231","state":"Alive","network_address":"a8-67.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"10.67"},{"site":"grenoble","uid":"c064","archi":"a8:at86rf231","state":"Alive","network_address":"a8-68.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"10.07"},{"site":"grenoble","uid":"9659","archi":"a8:at86rf231","state":"Alive","network_address":"a8-69.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"9.47"},{"site":"grenoble","uid":"8963","archi":"a8:at86rf231","state":"Alive","network_address":"a8-70.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"8.87"},{"site":"grenoble","uid":"b458","archi":"a8:at86rf231","state":"Alive","network_address":"a8-71.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"8.27"},{"site":"grenoble","uid":"2684","archi":"a8:at86rf231","state":"Alive","network_address":"a8-72.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"7.67"},{"site":"grenoble","uid":"9760","archi":"a8:at86rf231","state":"Alive","network_address":"a8-73.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"7.07"},{"site":"grenoble","uid":"a359","archi":"a8:at86rf231","state":"Alive","network_address":"a8-74.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"6.47"},{"site":"grenoble","uid":"2886","archi":"a8:at86rf231","state":"Alive","network_address":"a8-75.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"5.87"},{"site":"grenoble","uid":"b859","archi":"a8:at86rf231","state":"Alive","network_address":"a8-76.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"5.27"},{"site":"grenoble","uid":"a459","archi":"a8:at86rf231","state":"Alive","network_address":"a8-77.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"25.73","mobile":0,"x":"4.57"},{"site":"grenoble","uid":"b762","archi":"a8:at86rf231","state":"Alive","network_address":"a8-78.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"5.50"},{"site":"grenoble","uid":"8863","archi":"a8:at86rf231","state":"Alive","network_address":"a8-79.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"6.10"},{"site":"grenoble","uid":"3685","archi":"a8:at86rf231","state":"Alive","network_address":"a8-80.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"6.70"},{"site":"grenoble","uid":"3586","archi":"a8:at86rf231","state":"Alive","network_address":"a8-81.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"7.30"},{"site":"grenoble","uid":"1786","archi":"a8:at86rf231","state":"Alive","network_address":"a8-82.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"7.90"},{"site":"grenoble","uid":"2687","archi":"a8:at86rf231","state":"Alive","network_address":"a8-83.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"8.50"},{"site":"grenoble","uid":"1485","archi":"a8:at86rf231","state":"Alive","network_address":"a8-84.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"9.10"},{"site":"grenoble","uid":"b262","archi":"a8:at86rf231","state":"Alive","network_address":"a8-85.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"9.70"},{"site":"grenoble","uid":"3686","archi":"a8:at86rf231","state":"Alive","network_address":"a8-86.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"10.30"},{"site":"grenoble","uid":"9962","archi":"a8:at86rf231","state":"Alive","network_address":"a8-87.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"10.90"},{"site":"grenoble","uid":"a762","archi":"a8:at86rf231","state":"Alive","network_address":"a8-88.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"11.50"},{"site":"grenoble","uid":"2086","archi":"a8:at86rf231","state":"Alive","network_address":"a8-89.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"12.10"},{"site":"grenoble","uid":"b062","archi":"a8:at86rf231","state":"Alive","network_address":"a8-90.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"12.70"},{"site":"grenoble","uid":"2487","archi":"a8:at86rf231","state":"Alive","network_address":"a8-91.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"13.30"},{"site":"grenoble","uid":"b162","archi":"a8:at86rf231","state":"Alive","network_address":"a8-92.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"13.90"},{"site":"grenoble","uid":"a962","archi":"a8:at86rf231","state":"Alive","network_address":"a8-93.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"14.50"},{"site":"grenoble","uid":"3386","archi":"a8:at86rf231","state":"Alive","network_address":"a8-94.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"0.04","mobile":0,"x":"15.10"},{"site":"grenoble","uid":"3687","archi":"a8:at86rf231","state":"Alive","network_address":"a8-95.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.10","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"a562","archi":"a8:at86rf231","state":"Alive","network_address":"a8-96.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"2.10","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"1586","archi":"a8:at86rf231","state":"Alive","network_address":"a8-97.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.70","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b058","archi":"a8:at86rf231","state":"Alive","network_address":"a8-98.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"2.70","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"c363","archi":"a8:at86rf231","state":"Alive","network_address":"a8-99.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"3.30","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"3185","archi":"a8:at86rf231","state":"Alive","network_address":"a8-100.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"3.90","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"2587","archi":"a8:at86rf231","state":"Alive","network_address":"a8-101.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"4.50","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"9762","archi":"a8:at86rf231","state":"Alive","network_address":"a8-102.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"4.50","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"2885","archi":"a8:at86rf231","state":"Alive","network_address":"a8-103.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"5.10","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b265","archi":"a8:at86rf231","state":"Alive","network_address":"a8-104.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"5.70","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b161","archi":"a8:at86rf231","state":"Alive","network_address":"a8-105.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"5.70","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b260","archi":"a8:at86rf231","state":"Alive","network_address":"a8-106.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"6.30","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"c165","archi":"a8:at86rf231","state":"Alive","network_address":"a8-107.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"6.30","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b865","archi":"a8:at86rf231","state":"Alive","network_address":"a8-108.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"6.90","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"3684","archi":"a8:at86rf231","state":"Alive","network_address":"a8-109.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"7.50","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"05DF","archi":"a8:at86rf231","state":"Suspected","network_address":"a8-110.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"8.10","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"a858","archi":"a8:at86rf231","state":"Alive","network_address":"a8-111.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"8.70","mobile":0,"x":"20.45"},{"site":"grenoble","uid":"a059","archi":"a8:at86rf231","state":"Alive","network_address":"a8-112.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"8.70","mobile":0,"x":"20.45"},{"site":"grenoble","uid":"9759","archi":"a8:at86rf231","state":"Alive","network_address":"a8-113.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"9.30","mobile":0,"x":"20.45"},{"site":"grenoble","uid":"9362","archi":"a8:at86rf231","state":"Alive","network_address":"a8-114.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"9.90","mobile":0,"x":"20.45"},{"site":"grenoble","uid":"a751","archi":"a8:at86rf231","state":"Alive","network_address":"a8-115.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"10.50","mobile":0,"x":"20.45"},{"site":"grenoble","uid":"b359","archi":"a8:at86rf231","state":"Alive","network_address":"a8-116.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"11.10","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"9060","archi":"a8:at86rf231","state":"Alive","network_address":"a8-117.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"11.70","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"9059","archi":"a8:at86rf231","state":"Alive","network_address":"a8-118.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"11.70","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"a764","archi":"a8:at86rf231","state":"Alive","network_address":"a8-119.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"12.30","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"9959","archi":"a8:at86rf231","state":"Alive","network_address":"a8-120.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"12.90","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b360","archi":"a8:at86rf231","state":"Alive","network_address":"a8-121.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"13.50","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"9062","archi":"a8:at86rf231","state":"Alive","network_address":"a8-122.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"13.50","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b960","archi":"a8:at86rf231","state":"Alive","network_address":"a8-123.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"14.10","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"c066","archi":"a8:at86rf231","state":"Alive","network_address":"a8-124.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"14.70","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"9562","archi":"a8:at86rf231","state":"Alive","network_address":"a8-125.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"14.70","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b760","archi":"a8:at86rf231","state":"Alive","network_address":"a8-126.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"15.30","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b559","archi":"a8:at86rf231","state":"Alive","network_address":"a8-127.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"15.90","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"a659","archi":"a8:at86rf231","state":"Alive","network_address":"a8-128.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"16.50","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"9063","archi":"a8:at86rf231","state":"Alive","network_address":"a8-129.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"17.10","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b864","archi":"a8:at86rf231","state":"Alive","network_address":"a8-130.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"17.10","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"a563","archi":"a8:at86rf231","state":"Alive","network_address":"a8-131.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"17.70","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"b266","archi":"a8:at86rf231","state":"Alive","network_address":"a8-132.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"18.30","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"8563","archi":"a8:at86rf231","state":"Alive","network_address":"a8-133.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"18.90","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"9565","archi":"a8:at86rf231","state":"Alive","network_address":"a8-134.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"18.90","mobile":0,"x":"19.75"},{"site":"grenoble","uid":"9353","archi":"a8:at86rf231","state":"Alive","network_address":"a8-135.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"20.10","mobile":0,"x":"20.65"},{"site":"grenoble","uid":"9263","archi":"a8:at86rf231","state":"Alive","network_address":"a8-136.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"20.10","mobile":0,"x":"20.65"},{"site":"grenoble","uid":"b664","archi":"a8:at86rf231","state":"Alive","network_address":"a8-137.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"20.60","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"9963","archi":"a8:at86rf231","state":"Alive","network_address":"a8-138.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"21.20","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"a264","archi":"a8:at86rf231","state":"Alive","network_address":"a8-139.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"21.20","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"05DF","archi":"a8:at86rf231","state":"Alive","network_address":"a8-140.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"21.80","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"b962","archi":"a8:at86rf231","state":"Alive","network_address":"a8-141.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"22.40","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"b467","archi":"a8:at86rf231","state":"Alive","network_address":"a8-142.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"22.40","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"a052","archi":"a8:at86rf231","state":"Alive","network_address":"a8-143.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"23.00","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"b867","archi":"a8:at86rf231","state":"Alive","network_address":"a8-144.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"23.60","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"a250","archi":"a8:at86rf231","state":"Alive","network_address":"a8-145.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"24.20","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"9162","archi":"a8:at86rf231","state":"Alive","network_address":"a8-146.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"24.20","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"8864","archi":"a8:at86rf231","state":"Alive","network_address":"a8-147.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"24.80","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"9363","archi":"a8:at86rf231","state":"Alive","network_address":"a8-148.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"25.30","mobile":0,"x":"19.91"},{"site":"grenoble","uid":"8860","archi":"a8:at86rf231","state":"Alive","network_address":"a8-149.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"20.09"},{"site":"grenoble","uid":"2385","archi":"a8:at86rf231","state":"Alive","network_address":"a8-150.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"20.09"},{"site":"grenoble","uid":"c264","archi":"a8:at86rf231","state":"Alive","network_address":"a8-151.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"20.69"},{"site":"grenoble","uid":"3087","archi":"a8:at86rf231","state":"Alive","network_address":"a8-152.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"21.29"},{"site":"grenoble","uid":"2585","archi":"a8:at86rf231","state":"Alive","network_address":"a8-153.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"21.29"},{"site":"grenoble","uid":"2586","archi":"a8:at86rf231","state":"Alive","network_address":"a8-154.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"21.89"},{"site":"grenoble","uid":"3285","archi":"a8:at86rf231","state":"Alive","network_address":"a8-155.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"21.89"},{"site":"grenoble","uid":"2285","archi":"a8:at86rf231","state":"Alive","network_address":"a8-156.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"23.09"},{"site":"grenoble","uid":"9763","archi":"a8:at86rf231","state":"Alive","network_address":"a8-157.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"23.09"},{"site":"grenoble","uid":"1286","archi":"a8:at86rf231","state":"Alive","network_address":"a8-158.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"23.82"},{"site":"grenoble","uid":"a462","archi":"a8:at86rf231","state":"Alive","network_address":"a8-159.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"23.82"},{"site":"grenoble","uid":"3187","archi":"a8:at86rf231","state":"Alive","network_address":"a8-160.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.66","mobile":0,"x":"24.17"},{"site":"grenoble","uid":"2187","archi":"a8:at86rf231","state":"Alive","network_address":"a8-161.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"26.49"},{"site":"grenoble","uid":"3486","archi":"a8:at86rf231","state":"Alive","network_address":"a8-162.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"26.49"},{"site":"grenoble","uid":"2085","archi":"a8:at86rf231","state":"Alive","network_address":"a8-163.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"27.29"},{"site":"grenoble","uid":"8760","archi":"a8:at86rf231","state":"Alive","network_address":"a8-164.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"27.29"},{"site":"grenoble","uid":"3885","archi":"a8:at86rf231","state":"Alive","network_address":"a8-165.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"27.89"},{"site":"grenoble","uid":"1385","archi":"a8:at86rf231","state":"Alive","network_address":"a8-166.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"28.49"},{"site":"grenoble","uid":"2985","archi":"a8:at86rf231","state":"Alive","network_address":"a8-167.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"29.09"},{"site":"grenoble","uid":"1886","archi":"a8:at86rf231","state":"Alive","network_address":"a8-168.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.34","mobile":0,"x":"29.69"},{"site":"grenoble","uid":"2584","archi":"a8:at86rf231","state":"Alive","network_address":"a8-169.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"2.34","mobile":0,"x":"29.69"},{"site":"grenoble","uid":"b562","archi":"a8:at86rf231","state":"Alive","network_address":"a8-170.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.34","mobile":0,"x":"30.29"},{"site":"grenoble","uid":"3089","archi":"a8:at86rf231","state":"Alive","network_address":"a8-171.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"2.34","mobile":0,"x":"30.29"},{"site":"grenoble","uid":"c065","archi":"a8:at86rf231","state":"Alive","network_address":"a8-172.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"2.34","mobile":0,"x":"30.89"},{"site":"grenoble","uid":"0985","archi":"a8:at86rf231","state":"Alive","network_address":"a8-173.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"31.49"},{"site":"grenoble","uid":"b065","archi":"a8:at86rf231","state":"Alive","network_address":"a8-174.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"31.49"},{"site":"grenoble","uid":"b462","archi":"a8:at86rf231","state":"Alive","network_address":"a8-175.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"32.09"},{"site":"grenoble","uid":"c364","archi":"a8:at86rf231","state":"Alive","network_address":"a8-176.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"32.09"},{"site":"grenoble","uid":"9462","archi":"a8:at86rf231","state":"Alive","network_address":"a8-177.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"32.69"},{"site":"grenoble","uid":"1585","archi":"a8:at86rf231","state":"Alive","network_address":"a8-178.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"33.29"},{"site":"grenoble","uid":"a050","archi":"a8:at86rf231","state":"Alive","network_address":"a8-179.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"33.89"},{"site":"grenoble","uid":"c062","archi":"a8:at86rf231","state":"Alive","network_address":"a8-180.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"34.49"},{"site":"grenoble","uid":"b362","archi":"a8:at86rf231","state":"Alive","network_address":"a8-181.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"35.09"},{"site":"grenoble","uid":"a360","archi":"a8:at86rf231","state":"Alive","network_address":"a8-182.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"35.69"},{"site":"grenoble","uid":"8859","archi":"a8:at86rf231","state":"Alive","network_address":"a8-183.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"36.29"},{"site":"grenoble","uid":"a964","archi":"a8:at86rf231","state":"Alive","network_address":"a8-184.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.34","mobile":0,"x":"36.89"},{"site":"grenoble","uid":"8661","archi":"a8:at86rf231","state":"Alive","network_address":"a8-185.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"2.34","mobile":0,"x":"37.49"},{"site":"grenoble","uid":"b860","archi":"a8:at86rf231","state":"Alive","network_address":"a8-186.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.34","mobile":0,"x":"38.09"},{"site":"grenoble","uid":"b159","archi":"a8:at86rf231","state":"Alive","network_address":"a8-187.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"2.34","mobile":0,"x":"38.69"},{"site":"grenoble","uid":"3485","archi":"a8:at86rf231","state":"Alive","network_address":"a8-188.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"39.29"},{"site":"grenoble","uid":"b966","archi":"a8:at86rf231","state":"Alive","network_address":"a8-189.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"39.29"},{"site":"grenoble","uid":"8761","archi":"a8:at86rf231","state":"Alive","network_address":"a8-190.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"39.89"},{"site":"grenoble","uid":"a660","archi":"a8:at86rf231","state":"Alive","network_address":"a8-191.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"40.49"},{"site":"grenoble","uid":"9758","archi":"a8:at86rf231","state":"Alive","network_address":"a8-192.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"41.09"},{"site":"grenoble","uid":"1885","archi":"a8:at86rf231","state":"Alive","network_address":"a8-193.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"41.69"},{"site":"grenoble","uid":"9664","archi":"a8:at86rf231","state":"Alive","network_address":"a8-194.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"42.29"},{"site":"grenoble","uid":"9460","archi":"a8:at86rf231","state":"Alive","network_address":"a8-195.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"42.36"},{"site":"grenoble","uid":"a960","archi":"a8:at86rf231","state":"Alive","network_address":"a8-196.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.34","mobile":0,"x":"42.89"},{"site":"grenoble","uid":"a262","archi":"a8:at86rf231","state":"Alive","network_address":"a8-197.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.34","mobile":0,"x":"43.49"},{"site":"grenoble","uid":"b259","archi":"a8:at86rf231","state":"Alive","network_address":"a8-198.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"2.34","mobile":0,"x":"43.49"},{"site":"grenoble","uid":"8961","archi":"a8:at86rf231","state":"Alive","network_address":"a8-199.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"45.96"},{"site":"grenoble","uid":"3587","archi":"a8:at86rf231","state":"Alive","network_address":"a8-200.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"45.90"},{"site":"grenoble","uid":"2887","archi":"a8:at86rf231","state":"Alive","network_address":"a8-201.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"46.49"},{"site":"grenoble","uid":"9958","archi":"a8:at86rf231","state":"Alive","network_address":"a8-202.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"47.09"},{"site":"grenoble","uid":"a150","archi":"a8:at86rf231","state":"Alive","network_address":"a8-203.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"47.69"},{"site":"grenoble","uid":"2087","archi":"a8:at86rf231","state":"Alive","network_address":"a8-204.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"48.29"},{"site":"grenoble","uid":"8662","archi":"a8:at86rf231","state":"Alive","network_address":"a8-205.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"48.29"},{"site":"grenoble","uid":"8959","archi":"a8:at86rf231","state":"Alive","network_address":"a8-206.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"48.89"},{"site":"grenoble","uid":"a951","archi":"a8:at86rf231","state":"Alive","network_address":"a8-207.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"2.34","mobile":0,"x":"49.49"},{"site":"grenoble","uid":"1685","archi":"a8:at86rf231","state":"Alive","network_address":"a8-208.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.34","mobile":0,"x":"50.09"},{"site":"grenoble","uid":"9161","archi":"a8:at86rf231","state":"Alive","network_address":"a8-209.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"51.29"},{"site":"grenoble","uid":"b759","archi":"a8:at86rf231","state":"Alive","network_address":"a8-210.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"51.29"},{"site":"grenoble","uid":"2386","archi":"a8:at86rf231","state":"Alive","network_address":"a8-211.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"51.89"},{"site":"grenoble","uid":"9563","archi":"a8:at86rf231","state":"Alive","network_address":"a8-212.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"52.49"},{"site":"grenoble","uid":"9861","archi":"a8:at86rf231","state":"Alive","network_address":"a8-213.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"53.09"},{"site":"grenoble","uid":"3884","archi":"a8:at86rf231","state":"Alive","network_address":"a8-214.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"53.69"},{"site":"grenoble","uid":"a460","archi":"a8:at86rf231","state":"Alive","network_address":"a8-215.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"54.29"},{"site":"grenoble","uid":"b459","archi":"a8:at86rf231","state":"Alive","network_address":"a8-216.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"54.89"},{"site":"grenoble","uid":"1785","archi":"a8:at86rf231","state":"Alive","network_address":"a8-217.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"55.49"},{"site":"grenoble","uid":"a851","archi":"a8:at86rf231","state":"Alive","network_address":"a8-218.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"56.09"},{"site":"grenoble","uid":"9464","archi":"a8:at86rf231","state":"Alive","network_address":"a8-219.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"56.69"},{"site":"grenoble","uid":"a861","archi":"a8:at86rf231","state":"Alive","network_address":"a8-220.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.34","mobile":0,"x":"57.29"},{"site":"grenoble","uid":"a664","archi":"a8:at86rf231","state":"Alive","network_address":"a8-221.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"2.34","mobile":0,"x":"57.89"},{"site":"grenoble","uid":"2084","archi":"a8:at86rf231","state":"Alive","network_address":"a8-222.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"57.89"},{"site":"grenoble","uid":"05DF","archi":"a8:at86rf231","state":"Suspected","network_address":"a8-223.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"58.49"},{"site":"grenoble","uid":"8561","archi":"a8:at86rf231","state":"Alive","network_address":"a8-224.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"59.09"},{"site":"grenoble","uid":"b558","archi":"a8:at86rf231","state":"Alive","network_address":"a8-225.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"59.69"},{"site":"grenoble","uid":"b561","archi":"a8:at86rf231","state":"Alive","network_address":"a8-226.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"60.29"},{"site":"grenoble","uid":"9663","archi":"a8:at86rf231","state":"Alive","network_address":"a8-227.grenoble.iot-lab.info","mobility_type":"null","z":"3.23","y":"1.54","mobile":0,"x":"60.89"},{"site":"grenoble","uid":"9950","archi":"a8:at86rf231","state":"Alive","network_address":"a8-228.grenoble.iot-lab.info","mobility_type":"null","z":"2.63","y":"1.54","mobile":0,"x":"61.49"},{"site":"strasbourg","uid":"9355","archi":"a8:at86rf231","state":"Alive","network_address":"a8-1.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"4.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"9455","archi":"a8:at86rf231","state":"Alive","network_address":"a8-2.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"4.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"a456","archi":"a8:at86rf231","state":"Alive","network_address":"a8-3.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"4.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"b857","archi":"a8:at86rf231","state":"Alive","network_address":"a8-4.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"4.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"9255","archi":"a8:at86rf231","state":"Alive","network_address":"a8-5.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"4.00","mobile":0,"x":"11.00"},{"site":"strasbourg","uid":"a155","archi":"a8:at86rf231","state":"Alive","network_address":"a8-6.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"4.00","mobile":0,"x":"11.00"},{"site":"strasbourg","uid":"a956","archi":"a8:at86rf231","state":"Alive","network_address":"a8-7.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"4.00","mobile":0,"x":"15.00"},{"site":"strasbourg","uid":"a856","archi":"a8:at86rf231","state":"Alive","network_address":"a8-8.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"4.00","mobile":0,"x":"15.00"},{"site":"strasbourg","uid":"b556","archi":"a8:at86rf231","state":"Alive","network_address":"a8-9.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"8.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"a656","archi":"a8:at86rf231","state":"Alive","network_address":"a8-10.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"8.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"a256","archi":"a8:at86rf231","state":"Alive","network_address":"a8-11.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"8.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"9155","archi":"a8:at86rf231","state":"Alive","network_address":"a8-12.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"8.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"9555","archi":"a8:at86rf231","state":"Alive","network_address":"a8-13.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"8.00","mobile":0,"x":"11.00"},{"site":"strasbourg","uid":"9656","archi":"a8:at86rf231","state":"Alive","network_address":"a8-14.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"8.00","mobile":0,"x":"11.00"},{"site":"lille","uid":"3051","archi":"m3:at86rf231","state":"Alive","network_address":"m3-2.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"0.82"},{"site":"lille","uid":"3259","archi":"m3:at86rf231","state":"Alive","network_address":"m3-4.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"2.02"},{"site":"lille","uid":"1453","archi":"m3:at86rf231","state":"Alive","network_address":"m3-5.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"3.22"},{"site":"lille","uid":"a590","archi":"m3:at86rf231","state":"Alive","network_address":"m3-7.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"4.42"},{"site":"lille","uid":"8974","archi":"m3:at86rf231","state":"Alive","network_address":"m3-8.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"4.42"},{"site":"lille","uid":"1158","archi":"m3:at86rf231","state":"Alive","network_address":"m3-12.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"6.82"},{"site":"lille","uid":"3455","archi":"m3:at86rf231","state":"Alive","network_address":"m3-13.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"8.02"},{"site":"lille","uid":"2655","archi":"m3:at86rf231","state":"Alive","network_address":"m3-16.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"9.22"},{"site":"lille","uid":"2355","archi":"m3:at86rf231","state":"Alive","network_address":"m3-17.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"10.42"},{"site":"lille","uid":"3353","archi":"m3:at86rf231","state":"Alive","network_address":"m3-20.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"11.62"},{"site":"lille","uid":"2652","archi":"m3:at86rf231","state":"Alive","network_address":"m3-21.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"12.82"},{"site":"lille","uid":"2758","archi":"m3:at86rf231","state":"Alive","network_address":"m3-22.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"0.1","mobile":0,"x":"12.82"},{"site":"lille","uid":"1656","archi":"m3:at86rf231","state":"Alive","network_address":"m3-25.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.1","mobile":0,"x":"15.22"},{"site":"lille","uid":"3862","archi":"m3:at86rf231","state":"Alive","network_address":"m3-30.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"2.02"},{"site":"lille","uid":"0761","archi":"m3:at86rf231","state":"Alive","network_address":"m3-31.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"3.22"},{"site":"lille","uid":"b772","archi":"m3:at86rf231","state":"Alive","network_address":"m3-35.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"8.02"},{"site":"lille","uid":"b189","archi":"m3:at86rf231","state":"Alive","network_address":"m3-36.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"9.22"},{"site":"lille","uid":"a489","archi":"m3:at86rf231","state":"Alive","network_address":"m3-37.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"10.42"},{"site":"lille","uid":"b870","archi":"m3:at86rf231","state":"Alive","network_address":"m3-41.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"0.3","mobile":0,"x":"15.22"},{"site":"lille","uid":"c473","archi":"m3:at86rf231","state":"Alive","network_address":"m3-43.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"0.3","mobile":0,"x":"16.1"},{"site":"lille","uid":"1161","archi":"m3:at86rf231","state":"Alive","network_address":"m3-45.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.5","mobile":0,"x":"0.1"},{"site":"lille","uid":"a090","archi":"m3:at86rf231","state":"Alive","network_address":"m3-46.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"1.5","mobile":0,"x":"0.1"},{"site":"lille","uid":"1651","archi":"m3:at86rf231","state":"Alive","network_address":"m3-48.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"2.02"},{"site":"lille","uid":"c070","archi":"m3:at86rf231","state":"Alive","network_address":"m3-50.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"4.42"},{"site":"lille","uid":"b372","archi":"m3:at86rf231","state":"Alive","network_address":"m3-53.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"8.02"},{"site":"lille","uid":"3759","archi":"m3:at86rf231","state":"Alive","network_address":"m3-55.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"10.42"},{"site":"lille","uid":"1852","archi":"m3:at86rf231","state":"Alive","network_address":"m3-58.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"14.02"},{"site":"lille","uid":"2154","archi":"m3:at86rf231","state":"Alive","network_address":"m3-59.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"1.5","mobile":0,"x":"15.22"},{"site":"lille","uid":"0961","archi":"m3:at86rf231","state":"Alive","network_address":"m3-60.lille.iot-lab.info","mobility_type":"null","z":"2.4","y":"1.5","mobile":0,"x":"16.1"},{"site":"lille","uid":"1657","archi":"m3:at86rf231","state":"Alive","network_address":"m3-61.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"1.5","mobile":0,"x":"16.1"},{"site":"lille","uid":"3758","archi":"m3:at86rf231","state":"Alive","network_address":"m3-62.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"1.5","mobile":0,"x":"16.1"},{"site":"lille","uid":"2854","archi":"m3:at86rf231","state":"Alive","network_address":"m3-68.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"4.42"},{"site":"lille","uid":"9370","archi":"m3:at86rf231","state":"Alive","network_address":"m3-69.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"5.62"},{"site":"lille","uid":"3258","archi":"m3:at86rf231","state":"Alive","network_address":"m3-75.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"12.82"},{"site":"lille","uid":"9977","archi":"m3:at86rf231","state":"Alive","network_address":"m3-77.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"2.7","mobile":0,"x":"15.22"},{"site":"lille","uid":"3052","archi":"m3:at86rf231","state":"Alive","network_address":"m3-78.lille.iot-lab.info","mobility_type":"null","z":"2.4","y":"2.7","mobile":0,"x":"16.1"},{"site":"lille","uid":"1454","archi":"m3:at86rf231","state":"Alive","network_address":"m3-81.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"3.9","mobile":0,"x":"0.1"},{"site":"lille","uid":"1556","archi":"m3:at86rf231","state":"Alive","network_address":"m3-84.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"2.02"},{"site":"lille","uid":"b771","archi":"m3:at86rf231","state":"Alive","network_address":"m3-86.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"4.42"},{"site":"lille","uid":"9273","archi":"m3:at86rf231","state":"Alive","network_address":"m3-93.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"3.9","mobile":0,"x":"12.82"},{"site":"lille","uid":"0857","archi":"m3:at86rf231","state":"Alive","network_address":"m3-96.lille.iot-lab.info","mobility_type":"null","z":"2.4","y":"3.9","mobile":0,"x":"16.1"},{"site":"lille","uid":"9873","archi":"m3:at86rf231","state":"Alive","network_address":"m3-98.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"3.9","mobile":0,"x":"16.1"},{"site":"lille","uid":"9070","archi":"m3:at86rf231","state":"Alive","network_address":"m3-99.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.1","mobile":0,"x":"0.1"},{"site":"lille","uid":"1951","archi":"m3:at86rf231","state":"Alive","network_address":"m3-101.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"0.82"},{"site":"lille","uid":"1654","archi":"m3:at86rf231","state":"Alive","network_address":"m3-103.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"3.22"},{"site":"lille","uid":"2855","archi":"m3:at86rf231","state":"Alive","network_address":"m3-105.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"5.62"},{"site":"lille","uid":"b289","archi":"m3:at86rf231","state":"Alive","network_address":"m3-107.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"8.02"},{"site":"lille","uid":"0958","archi":"m3:at86rf231","state":"Alive","network_address":"m3-109.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"10.42"},{"site":"lille","uid":"a270","archi":"m3:at86rf231","state":"Alive","network_address":"m3-112.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"5.1","mobile":0,"x":"14.02"},{"site":"lille","uid":"1154","archi":"m3:at86rf231","state":"Alive","network_address":"m3-117.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.45","mobile":0,"x":"5.42"},{"site":"lille","uid":"1356","archi":"m3:at86rf231","state":"Alive","network_address":"m3-119.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"5.45","mobile":0,"x":"10.82"},{"site":"lille","uid":"0758","archi":"m3:at86rf231","state":"Alive","network_address":"m3-120.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"5.45","mobile":0,"x":"10.82"},{"site":"lille","uid":"8473","archi":"m3:at86rf231","state":"Alive","network_address":"m3-123.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"0.82"},{"site":"lille","uid":"b471","archi":"m3:at86rf231","state":"Alive","network_address":"m3-124.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"2.02"},{"site":"lille","uid":"1956","archi":"m3:at86rf231","state":"Alive","network_address":"m3-126.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"4.42"},{"site":"lille","uid":"1159","archi":"m3:at86rf231","state":"Alive","network_address":"m3-129.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"6.3","mobile":0,"x":"8.02"},{"site":"lille","uid":"2650","archi":"m3:at86rf231","state":"Alive","network_address":"m3-137.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"0.82"},{"site":"lille","uid":"a990","archi":"m3:at86rf231","state":"Alive","network_address":"m3-139.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"3.22"},{"site":"lille","uid":"3155","archi":"m3:at86rf231","state":"Alive","network_address":"m3-141.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"5.62"},{"site":"lille","uid":"9877","archi":"m3:at86rf231","state":"Alive","network_address":"m3-146.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"11.62"},{"site":"lille","uid":"1359","archi":"m3:at86rf231","state":"Alive","network_address":"m3-147.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"7.5","mobile":0,"x":"12.82"},{"site":"lille","uid":"b972","archi":"m3:at86rf231","state":"Alive","network_address":"m3-150.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"7.5","mobile":0,"x":"14.18"},{"site":"lille","uid":"b173","archi":"m3:at86rf231","state":"Alive","network_address":"m3-151.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"0.82"},{"site":"lille","uid":"c073","archi":"m3:at86rf231","state":"Alive","network_address":"m3-152.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"2.02"},{"site":"lille","uid":"2850","archi":"m3:at86rf231","state":"Alive","network_address":"m3-153.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"3.22"},{"site":"lille","uid":"3254","archi":"m3:at86rf231","state":"Alive","network_address":"m3-154.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"4.42"},{"site":"lille","uid":"3359","archi":"m3:at86rf231","state":"Alive","network_address":"m3-155.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"5.62"},{"site":"lille","uid":"b472","archi":"m3:at86rf231","state":"Alive","network_address":"m3-158.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"9.22"},{"site":"lille","uid":"2257","archi":"m3:at86rf231","state":"Alive","network_address":"m3-162.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"8.7","mobile":0,"x":"14.02"},{"site":"lille","uid":"8673","archi":"m3:at86rf231","state":"Alive","network_address":"m3-164.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"8.7","mobile":0,"x":"14.18"},{"site":"lille","uid":"a070","archi":"m3:at86rf231","state":"Alive","network_address":"m3-165.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.16","mobile":0,"x":"0.82"},{"site":"lille","uid":"c373","archi":"m3:at86rf231","state":"Alive","network_address":"m3-166.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"9.16","mobile":0,"x":"0.82"},{"site":"lille","uid":"1355","archi":"m3:at86rf231","state":"Alive","network_address":"m3-167.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.16","mobile":0,"x":"2.02"},{"site":"lille","uid":"3159","archi":"m3:at86rf231","state":"Alive","network_address":"m3-168.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"9.16","mobile":0,"x":"2.02"},{"site":"lille","uid":"2959","archi":"m3:at86rf231","state":"Alive","network_address":"m3-171.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.16","mobile":0,"x":"4.42"},{"site":"lille","uid":"a771","archi":"m3:at86rf231","state":"Alive","network_address":"m3-172.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"9.16","mobile":0,"x":"4.42"},{"site":"lille","uid":"3962","archi":"m3:at86rf231","state":"Alive","network_address":"m3-175.lille.iot-lab.info","mobility_type":"null","z":"1.5","y":"9.16","mobile":0,"x":"8.02"},{"site":"lille","uid":"b970","archi":"m3:at86rf231","state":"Alive","network_address":"m3-176.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"9.16","mobile":0,"x":"8.02"},{"site":"lille","uid":"2456","archi":"m3:at86rf231","state":"Alive","network_address":"m3-180.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"2.02"},{"site":"lille","uid":"a873","archi":"m3:at86rf231","state":"Alive","network_address":"m3-183.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"6.82"},{"site":"lille","uid":"3059","archi":"m3:at86rf231","state":"Alive","network_address":"m3-185.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"9.22"},{"site":"lille","uid":"a373","archi":"m3:at86rf231","state":"Alive","network_address":"m3-186.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"10.42"},{"site":"lille","uid":"a289","archi":"m3:at86rf231","state":"Alive","network_address":"m3-189.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"9.9","mobile":0,"x":"14.02"},{"site":"lille","uid":"a490","archi":"m3:at86rf231","state":"Alive","network_address":"m3-191.lille.iot-lab.info","mobility_type":"null","z":"0.6","y":"9.9","mobile":0,"x":"14.18"},{"site":"lille","uid":"a573","archi":"m3:at86rf231","state":"Alive","network_address":"m3-192.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"0.82"},{"site":"lille","uid":"1455","archi":"m3:at86rf231","state":"Alive","network_address":"m3-198.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"8.02"},{"site":"lille","uid":"1652","archi":"m3:at86rf231","state":"Alive","network_address":"m3-199.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"9.22"},{"site":"lille","uid":"a871","archi":"m3:at86rf231","state":"Alive","network_address":"m3-201.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"11.1","mobile":0,"x":"11.62"},{"site":"lille","uid":"1857","archi":"m3:at86rf231","state":"Alive","network_address":"m3-205.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"0.82"},{"site":"lille","uid":"3659","archi":"m3:at86rf231","state":"Alive","network_address":"m3-206.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"2.02"},{"site":"lille","uid":"2651","archi":"m3:at86rf231","state":"Alive","network_address":"m3-207.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"3.22"},{"site":"lille","uid":"8873","archi":"m3:at86rf231","state":"Alive","network_address":"m3-208.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"12.3","mobile":0,"x":"4.42"},{"site":"lille","uid":"b288","archi":"m3:at86rf231","state":"Alive","network_address":"m3-222.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"5.62"},{"site":"lille","uid":"b070","archi":"m3:at86rf231","state":"Alive","network_address":"m3-224.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"8.02"},{"site":"lille","uid":"1357","archi":"m3:at86rf231","state":"Alive","network_address":"m3-225.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"9.22"},{"site":"lille","uid":"0959","archi":"m3:at86rf231","state":"Alive","network_address":"m3-227.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"13.5","mobile":0,"x":"11.62"},{"site":"lille","uid":"2159","archi":"m3:at86rf231","state":"Alive","network_address":"m3-231.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"0.82"},{"site":"lille","uid":"2251","archi":"m3:at86rf231","state":"Alive","network_address":"m3-234.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"4.42"},{"site":"lille","uid":"a889","archi":"m3:at86rf231","state":"Alive","network_address":"m3-235.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"5.62"},{"site":"lille","uid":"1658","archi":"m3:at86rf231","state":"Alive","network_address":"m3-237.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"8.02"},{"site":"lille","uid":"2054","archi":"m3:at86rf231","state":"Alive","network_address":"m3-242.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"14.7","mobile":0,"x":"14.02"},{"site":"lille","uid":"1554","archi":"m3:at86rf231","state":"Alive","network_address":"m3-247.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"4.42"},{"site":"lille","uid":"b770","archi":"m3:at86rf231","state":"Alive","network_address":"m3-249.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"6.82"},{"site":"lille","uid":"0759","archi":"m3:at86rf231","state":"Alive","network_address":"m3-251.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"9.22"},{"site":"lille","uid":"2358","archi":"m3:at86rf231","state":"Alive","network_address":"m3-252.lille.iot-lab.info","mobility_type":"null","z":"2.6","y":"15.9","mobile":0,"x":"10.42"},{"site":"rocquencourt","uid":"1160","archi":"m3:at86rf231","state":"Alive","network_address":"m3-1.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"4.0","mobile":0,"x":"43.4"},{"site":"rocquencourt","uid":"4061","archi":"m3:at86rf231","state":"Alive","network_address":"m3-2.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"2.8","mobile":0,"x":"44.6"},{"site":"rocquencourt","uid":"2453","archi":"m3:at86rf231","state":"Alive","network_address":"m3-3.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"4.0","mobile":0,"x":"44.6"},{"site":"rocquencourt","uid":"2061","archi":"m3:at86rf231","state":"Alive","network_address":"m3-4.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"1.6","mobile":0,"x":"45.8"},{"site":"rocquencourt","uid":"c374","archi":"m3:at86rf231","state":"Alive","network_address":"m3-5.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"4.0","mobile":0,"x":"45.8"},{"site":"rocquencourt","uid":"2460","archi":"m3:at86rf231","state":"Alive","network_address":"m3-6.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"0.4","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"1360","archi":"m3:at86rf231","state":"Alive","network_address":"m3-7.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"2.8","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"3560","archi":"m3:at86rf231","state":"Alive","network_address":"m3-8.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"4.0","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"2760","archi":"m3:at86rf231","state":"Alive","network_address":"m3-9.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"0.4","mobile":0,"x":"48.2"},{"site":"rocquencourt","uid":"c471","archi":"m3:at86rf231","state":"Alive","network_address":"m3-10.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"1.6","mobile":0,"x":"48.2"},{"site":"rocquencourt","uid":"2353","archi":"m3:at86rf231","state":"Alive","network_address":"m3-11.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"2.8","mobile":0,"x":"48.2"},{"site":"rocquencourt","uid":"unknown","archi":"m3:at86rf231","state":"Suspected","network_address":"m3-12.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"0.4","mobile":0,"x":"49.4"},{"site":"rocquencourt","uid":"2661","archi":"m3:at86rf231","state":"Alive","network_address":"m3-13.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"1.6","mobile":0,"x":"49.4"},{"site":"rocquencourt","uid":"2053","archi":"m3:at86rf231","state":"Alive","network_address":"m3-14.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"2.8","mobile":0,"x":"49.4"},{"site":"rocquencourt","uid":"unknown","archi":"m3:at86rf231","state":"Suspected","network_address":"m3-15.rocquencourt.iot-lab.info","mobility_type":"null","z":"0.2","y":"0.4","mobile":0,"x":"50.6"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-1.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"0.4"},{"site":"rocquencourt","uid":"9065","archi":"a8:at86rf231","state":"Alive","network_address":"a8-2.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"1.6"},{"site":"rocquencourt","uid":"a051","archi":"a8:at86rf231","state":"Alive","network_address":"a8-3.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"2.8"},{"site":"rocquencourt","uid":"9764","archi":"a8:at86rf231","state":"Alive","network_address":"a8-4.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"4.0"},{"site":"rocquencourt","uid":"a151","archi":"a8:at86rf231","state":"Alive","network_address":"a8-5.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"5.2"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-6.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"6.4"},{"site":"rocquencourt","uid":"a065","archi":"a8:at86rf231","state":"Alive","network_address":"a8-7.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"7.6"},{"site":"rocquencourt","uid":"a053","archi":"a8:at86rf231","state":"Alive","network_address":"a8-8.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"8.8"},{"site":"rocquencourt","uid":"a167","archi":"a8:at86rf231","state":"Alive","network_address":"a8-9.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"10.0"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-10.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"11.2"},{"site":"rocquencourt","uid":"a166","archi":"a8:at86rf231","state":"Alive","network_address":"a8-11.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"12.4"},{"site":"rocquencourt","uid":"9463","archi":"a8:at86rf231","state":"Alive","network_address":"a8-12.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"0.4"},{"site":"rocquencourt","uid":"b967","archi":"a8:at86rf231","state":"Alive","network_address":"a8-13.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"1.6"},{"site":"rocquencourt","uid":"8857","archi":"a8:at86rf231","state":"Alive","network_address":"a8-14.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"2.8"},{"site":"rocquencourt","uid":"a753","archi":"a8:at86rf231","state":"Alive","network_address":"a8-15.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"4.0"},{"site":"rocquencourt","uid":"b766","archi":"a8:at86rf231","state":"Alive","network_address":"a8-16.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"5.2"},{"site":"rocquencourt","uid":"b056","archi":"a8:at86rf231","state":"Alive","network_address":"a8-17.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"6.4"},{"site":"rocquencourt","uid":"a451","archi":"a8:at86rf231","state":"Alive","network_address":"a8-18.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"7.6"},{"site":"rocquencourt","uid":"a663","archi":"a8:at86rf231","state":"Alive","network_address":"a8-19.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"8.8"},{"site":"rocquencourt","uid":"a665","archi":"a8:at86rf231","state":"Alive","network_address":"a8-20.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"10.0"},{"site":"rocquencourt","uid":"b052","archi":"a8:at86rf231","state":"Alive","network_address":"a8-21.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"11.2"},{"site":"rocquencourt","uid":"b063","archi":"a8:at86rf231","state":"Alive","network_address":"a8-22.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"12.4"},{"site":"rocquencourt","uid":"b154","archi":"a8:at86rf231","state":"Alive","network_address":"a8-23.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"0.4"},{"site":"rocquencourt","uid":"a666","archi":"a8:at86rf231","state":"Alive","network_address":"a8-24.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"1.6"},{"site":"rocquencourt","uid":"b153","archi":"a8:at86rf231","state":"Alive","network_address":"a8-25.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"2.8"},{"site":"rocquencourt","uid":"9753","archi":"a8:at86rf231","state":"Alive","network_address":"a8-26.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"4.0"},{"site":"rocquencourt","uid":"9954","archi":"a8:at86rf231","state":"Alive","network_address":"a8-27.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"5.2"},{"site":"rocquencourt","uid":"9163","archi":"a8:at86rf231","state":"Alive","network_address":"a8-28.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"6.4"},{"site":"rocquencourt","uid":"b658","archi":"a8:at86rf231","state":"Alive","network_address":"a8-29.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"7.6"},{"site":"rocquencourt","uid":"a367","archi":"a8:at86rf231","state":"Alive","network_address":"a8-30.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"8.8"},{"site":"rocquencourt","uid":"9165","archi":"a8:at86rf231","state":"Alive","network_address":"a8-31.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"10.0"},{"site":"rocquencourt","uid":"9166","archi":"a8:at86rf231","state":"Alive","network_address":"a8-32.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"11.2"},{"site":"rocquencourt","uid":"8966","archi":"a8:at86rf231","state":"Alive","network_address":"a8-33.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"12.4"},{"site":"rocquencourt","uid":"a267","archi":"a8:at86rf231","state":"Alive","network_address":"a8-34.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"0.4"},{"site":"rocquencourt","uid":"b567","archi":"a8:at86rf231","state":"Alive","network_address":"a8-35.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"1.6"},{"site":"rocquencourt","uid":"b066","archi":"a8:at86rf231","state":"Alive","network_address":"a8-36.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"2.8"},{"site":"rocquencourt","uid":"9964","archi":"a8:at86rf231","state":"Alive","network_address":"a8-37.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"4.0"},{"site":"rocquencourt","uid":"a366","archi":"a8:at86rf231","state":"Alive","network_address":"a8-38.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"5.2"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-39.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"6.4"},{"site":"rocquencourt","uid":"9266","archi":"a8:at86rf231","state":"Alive","network_address":"a8-40.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"7.6"},{"site":"rocquencourt","uid":"9458","archi":"a8:at86rf231","state":"Alive","network_address":"a8-41.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"8.8"},{"site":"rocquencourt","uid":"b863","archi":"a8:at86rf231","state":"Alive","network_address":"a8-42.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"10.0"},{"site":"rocquencourt","uid":"9253","archi":"a8:at86rf231","state":"Alive","network_address":"a8-43.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"11.2"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-44.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"12.4"},{"site":"rocquencourt","uid":"9653","archi":"a8:at86rf231","state":"Alive","network_address":"a8-45.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"0.4"},{"site":"rocquencourt","uid":"a566","archi":"a8:at86rf231","state":"Alive","network_address":"a8-46.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"1.6"},{"site":"rocquencourt","uid":"a254","archi":"a8:at86rf231","state":"Alive","network_address":"a8-47.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"2.8"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Suspected","network_address":"a8-48.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"4.0"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-49.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"5.2"},{"site":"rocquencourt","uid":"9966","archi":"a8:at86rf231","state":"Alive","network_address":"a8-50.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"6.4"},{"site":"rocquencourt","uid":"a452","archi":"a8:at86rf231","state":"Alive","network_address":"a8-51.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"7.6"},{"site":"rocquencourt","uid":"8866","archi":"a8:at86rf231","state":"Alive","network_address":"a8-52.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"8.8"},{"site":"rocquencourt","uid":"9452","archi":"a8:at86rf231","state":"Alive","network_address":"a8-53.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"10.0"},{"site":"rocquencourt","uid":"b367","archi":"a8:at86rf231","state":"Alive","network_address":"a8-54.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"11.2"},{"site":"rocquencourt","uid":"9466","archi":"a8:at86rf231","state":"Alive","network_address":"a8-55.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"5.2","mobile":0,"x":"12.4"},{"site":"rocquencourt","uid":"b465","archi":"a8:at86rf231","state":"Alive","network_address":"a8-56.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"6.4","mobile":0,"x":"7.6"},{"site":"rocquencourt","uid":"a765","archi":"a8:at86rf231","state":"Alive","network_address":"a8-57.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"6.4","mobile":0,"x":"8.8"},{"site":"rocquencourt","uid":"8957","archi":"a8:at86rf231","state":"Alive","network_address":"a8-58.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"6.4","mobile":0,"x":"10.0"},{"site":"rocquencourt","uid":"9754","archi":"a8:at86rf231","state":"Alive","network_address":"a8-59.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"6.4","mobile":0,"x":"11.2"},{"site":"rocquencourt","uid":"a067","archi":"a8:at86rf231","state":"Alive","network_address":"a8-60.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"6.4","mobile":0,"x":"12.4"},{"site":"rocquencourt","uid":"a351","archi":"a8:at86rf231","state":"Alive","network_address":"a8-61.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"1.4"},{"site":"rocquencourt","uid":"9755","archi":"a8:at86rf231","state":"Alive","network_address":"a8-62.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"2.6"},{"site":"rocquencourt","uid":"a252","archi":"a8:at86rf231","state":"Alive","network_address":"a8-63.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"3.8"},{"site":"rocquencourt","uid":"a054","archi":"a8:at86rf231","state":"Alive","network_address":"a8-64.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"5.0"},{"site":"rocquencourt","uid":"9867","archi":"a8:at86rf231","state":"Alive","network_address":"a8-65.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"6.2"},{"site":"rocquencourt","uid":"c163","archi":"a8:at86rf231","state":"Alive","network_address":"a8-66.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"7.4"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-67.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"8.6"},{"site":"rocquencourt","uid":"b166","archi":"a8:at86rf231","state":"Alive","network_address":"a8-68.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"9.8"},{"site":"rocquencourt","uid":"9855","archi":"a8:at86rf231","state":"Alive","network_address":"a8-69.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"11.0"},{"site":"rocquencourt","uid":"9354","archi":"a8:at86rf231","state":"Alive","network_address":"a8-70.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"12.2"},{"site":"rocquencourt","uid":"a754","archi":"a8:at86rf231","state":"Alive","network_address":"a8-71.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"13.4"},{"site":"rocquencourt","uid":"b454","archi":"a8:at86rf231","state":"Alive","network_address":"a8-72.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"14.6"},{"site":"rocquencourt","uid":"b964","archi":"a8:at86rf231","state":"Alive","network_address":"a8-73.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"15.8"},{"site":"rocquencourt","uid":"b053","archi":"a8:at86rf231","state":"Alive","network_address":"a8-74.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"17.0"},{"site":"rocquencourt","uid":"9866","archi":"a8:at86rf231","state":"Alive","network_address":"a8-75.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"18.2"},{"site":"rocquencourt","uid":"b356","archi":"a8:at86rf231","state":"Alive","network_address":"a8-76.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"19.4"},{"site":"rocquencourt","uid":"b254","archi":"a8:at86rf231","state":"Alive","network_address":"a8-77.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"20.6"},{"site":"rocquencourt","uid":"8666","archi":"a8:at86rf231","state":"Alive","network_address":"a8-78.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"21.8"},{"site":"rocquencourt","uid":"a967","archi":"a8:at86rf231","state":"Alive","network_address":"a8-79.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"23.0"},{"site":"rocquencourt","uid":"9258","archi":"a8:at86rf231","state":"Alive","network_address":"a8-80.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"24.2"},{"site":"rocquencourt","uid":"a454","archi":"a8:at86rf231","state":"Alive","network_address":"a8-81.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"25.4"},{"site":"rocquencourt","uid":"b763","archi":"a8:at86rf231","state":"Alive","network_address":"a8-82.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"26.6"},{"site":"rocquencourt","uid":"a353","archi":"a8:at86rf231","state":"Alive","network_address":"a8-83.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"27.8"},{"site":"rocquencourt","uid":"9953","archi":"a8:at86rf231","state":"Alive","network_address":"a8-84.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"29.0"},{"site":"rocquencourt","uid":"b256","archi":"a8:at86rf231","state":"Alive","network_address":"a8-85.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"30.2"},{"site":"rocquencourt","uid":"a954","archi":"a8:at86rf231","state":"Alive","network_address":"a8-86.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"31.4"},{"site":"rocquencourt","uid":"a653","archi":"a8:at86rf231","state":"Alive","network_address":"a8-87.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"32.6"},{"site":"rocquencourt","uid":"b466","archi":"a8:at86rf231","state":"Alive","network_address":"a8-88.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"33.8"},{"site":"rocquencourt","uid":"a567","archi":"a8:at86rf231","state":"Alive","network_address":"a8-89.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"35.0"},{"site":"rocquencourt","uid":"a352","archi":"a8:at86rf231","state":"Alive","network_address":"a8-90.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"36.2"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-91.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"37.4"},{"site":"rocquencourt","uid":"a063","archi":"a8:at86rf231","state":"Alive","network_address":"a8-92.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"38.6"},{"site":"rocquencourt","uid":"a854","archi":"a8:at86rf231","state":"Alive","network_address":"a8-93.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"39.8"},{"site":"rocquencourt","uid":"8466","archi":"a8:at86rf231","state":"Alive","network_address":"a8-94.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"41.0"},{"site":"rocquencourt","uid":"b758","archi":"a8:at86rf231","state":"Alive","network_address":"a8-95.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"42.2"},{"site":"rocquencourt","uid":"b263","archi":"a8:at86rf231","state":"Alive","network_address":"a8-96.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"43.4"},{"site":"rocquencourt","uid":"a466","archi":"a8:at86rf231","state":"Alive","network_address":"a8-97.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"7.9","mobile":0,"x":"45.8"},{"site":"rocquencourt","uid":"b654","archi":"a8:at86rf231","state":"Alive","network_address":"a8-98.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"9864","archi":"a8:at86rf231","state":"Alive","network_address":"a8-99.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"7.9","mobile":0,"x":"48.2"},{"site":"rocquencourt","uid":"a866","archi":"a8:at86rf231","state":"Alive","network_address":"a8-100.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"7.9","mobile":0,"x":"49.4"},{"site":"rocquencourt","uid":"9566","archi":"a8:at86rf231","state":"Alive","network_address":"a8-101.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"45.8"},{"site":"rocquencourt","uid":"a752","archi":"a8:at86rf231","state":"Alive","network_address":"a8-102.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"9853","archi":"a8:at86rf231","state":"Alive","network_address":"a8-103.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"48.2"},{"site":"rocquencourt","uid":"b767","archi":"a8:at86rf231","state":"Alive","network_address":"a8-104.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"0.4","mobile":0,"x":"49.4"},{"site":"rocquencourt","uid":"9766","archi":"a8:at86rf231","state":"Alive","network_address":"a8-105.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"43.4"},{"site":"rocquencourt","uid":"a464","archi":"a8:at86rf231","state":"Alive","network_address":"a8-106.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"44.6"},{"site":"rocquencourt","uid":"9655","archi":"a8:at86rf231","state":"Alive","network_address":"a8-107.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"45.8"},{"site":"rocquencourt","uid":"9967","archi":"a8:at86rf231","state":"Alive","network_address":"a8-108.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"b667","archi":"a8:at86rf231","state":"Alive","network_address":"a8-109.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"48.2"},{"site":"rocquencourt","uid":"a552","archi":"a8:at86rf231","state":"Alive","network_address":"a8-110.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"49.4"},{"site":"rocquencourt","uid":"9852","archi":"a8:at86rf231","state":"Alive","network_address":"a8-111.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"50.6"},{"site":"rocquencourt","uid":"a551","archi":"a8:at86rf231","state":"Alive","network_address":"a8-112.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"51.8"},{"site":"rocquencourt","uid":"b566","archi":"a8:at86rf231","state":"Alive","network_address":"a8-113.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"53.0"},{"site":"rocquencourt","uid":"a163","archi":"a8:at86rf231","state":"Alive","network_address":"a8-114.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"54.2"},{"site":"rocquencourt","uid":"8465","archi":"a8:at86rf231","state":"Alive","network_address":"a8-115.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"55.4"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-116.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"1.6","mobile":0,"x":"56.6"},{"site":"rocquencourt","uid":"a952","archi":"a8:at86rf231","state":"Alive","network_address":"a8-117.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"43.4"},{"site":"rocquencourt","uid":"9154","archi":"a8:at86rf231","state":"Alive","network_address":"a8-118.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"44.6"},{"site":"rocquencourt","uid":"b054","archi":"a8:at86rf231","state":"Alive","network_address":"a8-119.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"45.8"},{"site":"rocquencourt","uid":"8566","archi":"a8:at86rf231","state":"Alive","network_address":"a8-120.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-121.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"48.2"},{"site":"rocquencourt","uid":"9665","archi":"a8:at86rf231","state":"Alive","network_address":"a8-122.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"2.8","mobile":0,"x":"49.4"},{"site":"rocquencourt","uid":"a465","archi":"a8:at86rf231","state":"Alive","network_address":"a8-123.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"43.4"},{"site":"rocquencourt","uid":"9365","archi":"a8:at86rf231","state":"Alive","network_address":"a8-124.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"44.6"},{"site":"rocquencourt","uid":"b366","archi":"a8:at86rf231","state":"Alive","network_address":"a8-125.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"45.8"},{"site":"rocquencourt","uid":"b365","archi":"a8:at86rf231","state":"Alive","network_address":"a8-126.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"a354","archi":"a8:at86rf231","state":"Alive","network_address":"a8-127.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"48.2"},{"site":"rocquencourt","uid":"9952","archi":"a8:at86rf231","state":"Alive","network_address":"a8-128.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"4.0","mobile":0,"x":"49.4"},{"site":"rocquencourt","uid":"a654","archi":"a8:at86rf231","state":"Alive","network_address":"a8-129.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"0.4","mobile":0,"x":"0.4"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Alive","network_address":"a8-130.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"0.4","mobile":0,"x":"2.8"},{"site":"rocquencourt","uid":"a766","archi":"a8:at86rf231","state":"Alive","network_address":"a8-131.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"0.4","mobile":0,"x":"5.2"},{"site":"rocquencourt","uid":"a867","archi":"a8:at86rf231","state":"Alive","network_address":"a8-132.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"0.4","mobile":0,"x":"7.6"},{"site":"rocquencourt","uid":"9158","archi":"a8:at86rf231","state":"Alive","network_address":"a8-133.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"0.4","mobile":0,"x":"10.0"},{"site":"rocquencourt","uid":"9364","archi":"a8:at86rf231","state":"Alive","network_address":"a8-134.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"0.4","mobile":0,"x":"12.4"},{"site":"rocquencourt","uid":"8565","archi":"a8:at86rf231","state":"Alive","network_address":"a8-135.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"1.6","mobile":0,"x":"1.6"},{"site":"rocquencourt","uid":"c267","archi":"a8:at86rf231","state":"Alive","network_address":"a8-136.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"1.6","mobile":0,"x":"4.0"},{"site":"rocquencourt","uid":"9552","archi":"a8:at86rf231","state":"Alive","network_address":"a8-137.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"1.6","mobile":0,"x":"6.4"},{"site":"rocquencourt","uid":"a763","archi":"a8:at86rf231","state":"Alive","network_address":"a8-138.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"1.6","mobile":0,"x":"8.8"},{"site":"rocquencourt","uid":"a767","archi":"a8:at86rf231","state":"Alive","network_address":"a8-139.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"1.6","mobile":0,"x":"11.2"},{"site":"rocquencourt","uid":"a553","archi":"a8:at86rf231","state":"Alive","network_address":"a8-140.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"2.8","mobile":0,"x":"0.4"},{"site":"rocquencourt","uid":"9057","archi":"a8:at86rf231","state":"Alive","network_address":"a8-141.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"2.8","mobile":0,"x":"2.8"},{"site":"rocquencourt","uid":"9465","archi":"a8:at86rf231","state":"Alive","network_address":"a8-142.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"2.8","mobile":0,"x":"5.2"},{"site":"rocquencourt","uid":"9666","archi":"a8:at86rf231","state":"Alive","network_address":"a8-143.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"2.8","mobile":0,"x":"7.6"},{"site":"rocquencourt","uid":"a253","archi":"a8:at86rf231","state":"Alive","network_address":"a8-144.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"2.8","mobile":0,"x":"10.0"},{"site":"rocquencourt","uid":"a265","archi":"a8:at86rf231","state":"Alive","network_address":"a8-145.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"2.8","mobile":0,"x":"12.4"},{"site":"rocquencourt","uid":"b067","archi":"a8:at86rf231","state":"Alive","network_address":"a8-146.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"4.0","mobile":0,"x":"1.6"},{"site":"rocquencourt","uid":"9254","archi":"a8:at86rf231","state":"Alive","network_address":"a8-147.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"4.0","mobile":0,"x":"4.0"},{"site":"rocquencourt","uid":"unknown","archi":"a8:at86rf231","state":"Suspected","network_address":"a8-148.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"4.0","mobile":0,"x":"6.4"},{"site":"rocquencourt","uid":"b264","archi":"a8:at86rf231","state":"Alive","network_address":"a8-149.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"4.0","mobile":0,"x":"8.8"},{"site":"rocquencourt","uid":"b167","archi":"a8:at86rf231","state":"Alive","network_address":"a8-150.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"4.0","mobile":0,"x":"11.2"},{"site":"rocquencourt","uid":"a165","archi":"a8:at86rf231","state":"Alive","network_address":"a8-151.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"5.2","mobile":0,"x":"0.4"},{"site":"rocquencourt","uid":"a853","archi":"a8:at86rf231","state":"Alive","network_address":"a8-152.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"5.2","mobile":0,"x":"2.8"},{"site":"rocquencourt","uid":"b666","archi":"a8:at86rf231","state":"Alive","network_address":"a8-153.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"5.2","mobile":0,"x":"5.2"},{"site":"rocquencourt","uid":"a263","archi":"a8:at86rf231","state":"Alive","network_address":"a8-154.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"5.2","mobile":0,"x":"7.6"},{"site":"rocquencourt","uid":"a363","archi":"a8:at86rf231","state":"Alive","network_address":"a8-155.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"5.2","mobile":0,"x":"10.0"},{"site":"rocquencourt","uid":"a667","archi":"a8:at86rf231","state":"Alive","network_address":"a8-156.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"5.2","mobile":0,"x":"12.4"},{"site":"rocquencourt","uid":"9863","archi":"a8:at86rf231","state":"Alive","network_address":"a8-157.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"6.4","mobile":0,"x":"8.8"},{"site":"rocquencourt","uid":"b253","archi":"a8:at86rf231","state":"Alive","network_address":"a8-158.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"6.4","mobile":0,"x":"11.2"},{"site":"rocquencourt","uid":"a066","archi":"a8:at86rf231","state":"Alive","network_address":"a8-159.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"0.4","mobile":0,"x":"45.8"},{"site":"rocquencourt","uid":"b353","archi":"a8:at86rf231","state":"Alive","network_address":"a8-160.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"0.4","mobile":0,"x":"50.6"},{"site":"rocquencourt","uid":"a852","archi":"a8:at86rf231","state":"Alive","network_address":"a8-161.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"1.6","mobile":0,"x":"44.6"},{"site":"rocquencourt","uid":"b152","archi":"a8:at86rf231","state":"Alive","network_address":"a8-162.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"1.6","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"a554","archi":"a8:at86rf231","state":"Alive","network_address":"a8-163.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"2.8","mobile":0,"x":"44.6"},{"site":"rocquencourt","uid":"9765","archi":"a8:at86rf231","state":"Alive","network_address":"a8-164.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"4.0","mobile":0,"x":"44.6"},{"site":"rocquencourt","uid":"9854","archi":"a8:at86rf231","state":"Alive","network_address":"a8-165.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"4.0","mobile":0,"x":"47.0"},{"site":"rocquencourt","uid":"9358","archi":"a8:at86rf231","state":"Alive","network_address":"a8-166.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"23.2","mobile":0,"x":"-0.8"},{"site":"rocquencourt","uid":"b352","archi":"a8:at86rf231","state":"Alive","network_address":"a8-167.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"23.2","mobile":0,"x":"6.2"},{"site":"rocquencourt","uid":"8665","archi":"a8:at86rf231","state":"Alive","network_address":"a8-168.rocquencourt.iot-lab.info","mobility_type":"null","z":"2.0","y":"23.2","mobile":0,"x":"13.2"},{"site":"rocquencourt","uid":"a152","archi":"a8:at86rf231","state":"Alive","network_address":"a8-169.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"23.2","mobile":0,"x":"20.2"},{"site":"rocquencourt","uid":"b866","archi":"a8:at86rf231","state":"Alive","network_address":"a8-170.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"23.2","mobile":0,"x":"27.2"},{"site":"rocquencourt","uid":"b858","archi":"a8:at86rf231","state":"Alive","network_address":"a8-171.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"23.2","mobile":0,"x":"34.2"},{"site":"rocquencourt","uid":"b554","archi":"a8:at86rf231","state":"Alive","network_address":"a8-172.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"23.2","mobile":0,"x":"41.2"},{"site":"rocquencourt","uid":"8865","archi":"a8:at86rf231","state":"Alive","network_address":"a8-173.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"23.2","mobile":0,"x":"48.2"},{"site":"rocquencourt","uid":"9553","archi":"a8:at86rf231","state":"Alive","network_address":"a8-174.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"23.2","mobile":0,"x":"55.2"},{"site":"rocquencourt","uid":"9058","archi":"a8:at86rf231","state":"Alive","network_address":"a8-175.rocquencourt.iot-lab.info","mobility_type":"null","z":"1.1","y":"23.2","mobile":0,"x":"62.2"},{"site":"strasbourg","uid":"a484","archi":"m3:at86rf231","state":"Alive","network_address":"m3-1.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"2.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"a685","archi":"m3:at86rf231","state":"Alive","network_address":"m3-2.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"2.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"9787","archi":"m3:at86rf231","state":"Alive","network_address":"m3-3.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"2.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"9388","archi":"m3:at86rf231","state":"Alive","network_address":"m3-4.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"2.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"9889","archi":"m3:at86rf231","state":"Alive","network_address":"m3-5.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"2.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"9287","archi":"m3:at86rf231","state":"Alive","network_address":"m3-6.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"2.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"b184","archi":"m3:at86rf231","state":"Alive","network_address":"m3-7.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"2.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"a887","archi":"m3:at86rf231","state":"Alive","network_address":"m3-8.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"2.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"b885","archi":"m3:at86rf231","state":"Alive","network_address":"m3-9.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"2.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"9387","archi":"m3:at86rf231","state":"Alive","network_address":"m3-10.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"2.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"8984","archi":"m3:at86rf231","state":"Alive","network_address":"m3-11.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"2.00","mobile":0,"x":"11.00"},{"site":"strasbourg","uid":"9588","archi":"m3:at86rf231","state":"Alive","network_address":"m3-12.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"2.00","mobile":0,"x":"11.00"},{"site":"strasbourg","uid":"b384","archi":"m3:at86rf231","state":"Alive","network_address":"m3-13.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"2.00","mobile":0,"x":"13.00"},{"site":"strasbourg","uid":"b187","archi":"m3:at86rf231","state":"Alive","network_address":"m3-14.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"2.00","mobile":0,"x":"13.00"},{"site":"strasbourg","uid":"9488","archi":"m3:at86rf231","state":"Alive","network_address":"m3-15.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"2.00","mobile":0,"x":"15.00"},{"site":"strasbourg","uid":"9385","archi":"m3:at86rf231","state":"Alive","network_address":"m3-16.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"2.00","mobile":0,"x":"15.00"},{"site":"strasbourg","uid":"b585","archi":"m3:at86rf231","state":"Alive","network_address":"m3-17.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"2.00","mobile":0,"x":"17.00"},{"site":"strasbourg","uid":"a587","archi":"m3:at86rf231","state":"Alive","network_address":"m3-18.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"2.00","mobile":0,"x":"17.00"},{"site":"strasbourg","uid":"9083","archi":"m3:at86rf231","state":"Alive","network_address":"m3-19.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"4.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"b786","archi":"m3:at86rf231","state":"Alive","network_address":"m3-20.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"4.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"a385","archi":"m3:at86rf231","state":"Alive","network_address":"m3-21.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"4.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"a488","archi":"m3:at86rf231","state":"Alive","network_address":"m3-22.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"4.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"a984","archi":"m3:at86rf231","state":"Alive","network_address":"m3-23.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"4.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"9084","archi":"m3:at86rf231","state":"Alive","network_address":"m3-24.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"4.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"a187","archi":"m3:at86rf231","state":"Alive","network_address":"m3-25.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"4.00","mobile":0,"x":"13.00"},{"site":"strasbourg","uid":"b685","archi":"m3:at86rf231","state":"Alive","network_address":"m3-26.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"4.00","mobile":0,"x":"13.00"},{"site":"strasbourg","uid":"a185","archi":"m3:at86rf231","state":"Alive","network_address":"m3-27.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"4.00","mobile":0,"x":"17.00"},{"site":"strasbourg","uid":"a586","archi":"m3:at86rf231","state":"Alive","network_address":"m3-28.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"4.00","mobile":0,"x":"17.00"},{"site":"strasbourg","uid":"a284","archi":"m3:at86rf231","state":"Alive","network_address":"m3-29.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"6.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"b086","archi":"m3:at86rf231","state":"Alive","network_address":"m3-30.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"6.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"a885","archi":"m3:at86rf231","state":"Alive","network_address":"m3-31.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"6.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"b287","archi":"m3:at86rf231","state":"Alive","network_address":"m3-32.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"6.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"b286","archi":"m3:at86rf231","state":"Alive","network_address":"m3-33.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"6.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"a786","archi":"m3:at86rf231","state":"Alive","network_address":"m3-34.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"6.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"a784","archi":"m3:at86rf231","state":"Alive","network_address":"m3-35.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"6.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"9184","archi":"m3:at86rf231","state":"Alive","network_address":"m3-36.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"6.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"a386","archi":"m3:at86rf231","state":"Alive","network_address":"m3-37.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"6.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"9589","archi":"m3:at86rf231","state":"Alive","network_address":"m3-38.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"6.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"a184","archi":"m3:at86rf231","state":"Alive","network_address":"m3-39.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"6.00","mobile":0,"x":"11.00"},{"site":"strasbourg","uid":"9885","archi":"m3:at86rf231","state":"Alive","network_address":"m3-41.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"5.00","mobile":0,"x":"13.00"},{"site":"strasbourg","uid":"b186","archi":"m3:at86rf231","state":"Alive","network_address":"m3-42.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"5.00","mobile":0,"x":"13.00"},{"site":"strasbourg","uid":"9285","archi":"m3:at86rf231","state":"Alive","network_address":"m3-43.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"5.00","mobile":0,"x":"15.00"},{"site":"strasbourg","uid":"9990","archi":"m3:at86rf231","state":"Alive","network_address":"m3-44.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"5.00","mobile":0,"x":"15.00"},{"site":"strasbourg","uid":"b385","archi":"m3:at86rf231","state":"Alive","network_address":"m3-45.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"5.00","mobile":0,"x":"17.00"},{"site":"strasbourg","uid":"9985","archi":"m3:at86rf231","state":"Alive","network_address":"m3-46.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"5.00","mobile":0,"x":"17.00"},{"site":"strasbourg","uid":"a487","archi":"m3:at86rf231","state":"Alive","network_address":"m3-47.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"8.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"9789","archi":"m3:at86rf231","state":"Alive","network_address":"m3-48.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"8.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"a186","archi":"m3:at86rf231","state":"Alive","network_address":"m3-49.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"8.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"b586","archi":"m3:at86rf231","state":"Alive","network_address":"m3-50.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"8.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"a585","archi":"m3:at86rf231","state":"Alive","network_address":"m3-51.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"8.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"9689","archi":"m3:at86rf231","state":"Alive","network_address":"m3-52.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"8.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"9890","archi":"m3:at86rf231","state":"Alive","network_address":"m3-53.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"10.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"9788","archi":"m3:at86rf231","state":"Alive","network_address":"m3-54.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"10.00","mobile":0,"x":"1.00"},{"site":"strasbourg","uid":"b486","archi":"m3:at86rf231","state":"Alive","network_address":"m3-55.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"10.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"a288","archi":"m3:at86rf231","state":"Alive","network_address":"m3-56.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"10.00","mobile":0,"x":"3.00"},{"site":"strasbourg","uid":"9986","archi":"m3:at86rf231","state":"Alive","network_address":"m3-57.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"10.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"a788","archi":"m3:at86rf231","state":"Alive","network_address":"m3-58.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"10.00","mobile":0,"x":"5.00"},{"site":"strasbourg","uid":"9586","archi":"m3:at86rf231","state":"Alive","network_address":"m3-59.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"10.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"a686","archi":"m3:at86rf231","state":"Alive","network_address":"m3-60.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"10.00","mobile":0,"x":"7.00"},{"site":"strasbourg","uid":"a988","archi":"m3:at86rf231","state":"Alive","network_address":"m3-61.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"10.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"b386","archi":"m3:at86rf231","state":"Alive","network_address":"m3-62.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"10.00","mobile":0,"x":"9.00"},{"site":"strasbourg","uid":"9887","archi":"m3:at86rf231","state":"Alive","network_address":"m3-63.strasbourg.iot-lab.info","mobility_type":"null","z":"1.20","y":"10.00","mobile":0,"x":"11.00"},{"site":"strasbourg","uid":"9687","archi":"m3:at86rf231","state":"Alive","network_address":"m3-64.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"10.00","mobile":0,"x":"11.00"},{"site":"strasbourg","uid":"b587","archi":"m3:at86rf231","state":"Alive","network_address":"m3-40.strasbourg.iot-lab.info","mobility_type":"null","z":"2.10","y":"6.00","mobile":0,"x":"11.00"},{"site":"grenoble","uid":"05DF","archi":"m3:at86rf231","state":"Alive","network_address":"m3-381.grenoble.iot-lab.info","mobility_type":"turtlebot2","z":"null","y":"null","mobile":1,"x":"null"},{"site":"strasbourg","uid":"9286","archi":"m3:at86rf231","state":"Alive","network_address":"m3-96.strasbourg.iot-lab.info","mobility_type":"turtlebot2","z":"null","y":"null","mobile":1,"x":"null"}]}
\ No newline at end of file
diff --git a/metas/sites.csv b/metas/sites.csv
deleted file mode 100644
index 5e5c59aeb5..0000000000
--- a/metas/sites.csv
+++ /dev/null
@@ -1,2 +0,0 @@
-site
-grenoble
\ No newline at end of file
diff --git a/metas/states.json b/metas/states.json
deleted file mode 100644
index f5786389de..0000000000
--- a/metas/states.json
+++ /dev/null
@@ -1,2123 +0,0 @@
-{
- "lyon": [
- "a8-1.lyon.iot-lab.info",
- "a8-2.lyon.iot-lab.info",
- "a8-3.lyon.iot-lab.info",
- "a8-4.lyon.iot-lab.info",
- "a8-5.lyon.iot-lab.info",
- "a8-6.lyon.iot-lab.info",
- "a8-7.lyon.iot-lab.info",
- "a8-8.lyon.iot-lab.info",
- "a8-9.lyon.iot-lab.info",
- "a8-10.lyon.iot-lab.info",
- "a8-11.lyon.iot-lab.info",
- "m3-1.lyon.iot-lab.info",
- "m3-2.lyon.iot-lab.info",
- "m3-3.lyon.iot-lab.info",
- "m3-4.lyon.iot-lab.info",
- "m3-5.lyon.iot-lab.info",
- "m3-6.lyon.iot-lab.info",
- "m3-7.lyon.iot-lab.info",
- "m3-8.lyon.iot-lab.info",
- "m3-9.lyon.iot-lab.info",
- "m3-10.lyon.iot-lab.info",
- "m3-11.lyon.iot-lab.info",
- "m3-12.lyon.iot-lab.info",
- "m3-13.lyon.iot-lab.info",
- "m3-14.lyon.iot-lab.info",
- "m3-15.lyon.iot-lab.info",
- "m3-16.lyon.iot-lab.info",
- "m3-17.lyon.iot-lab.info",
- "m3-18.lyon.iot-lab.info"
- ],
- "strasbourg": [
- "wsn430-1.strasbourg.iot-lab.info",
- "wsn430-2.strasbourg.iot-lab.info",
- "wsn430-3.strasbourg.iot-lab.info",
- "wsn430-4.strasbourg.iot-lab.info",
- "wsn430-5.strasbourg.iot-lab.info",
- "wsn430-6.strasbourg.iot-lab.info",
- "wsn430-7.strasbourg.iot-lab.info",
- "wsn430-8.strasbourg.iot-lab.info",
- "wsn430-9.strasbourg.iot-lab.info",
- "wsn430-10.strasbourg.iot-lab.info",
- "wsn430-11.strasbourg.iot-lab.info",
- "wsn430-12.strasbourg.iot-lab.info",
- "wsn430-13.strasbourg.iot-lab.info",
- "wsn430-14.strasbourg.iot-lab.info",
- "wsn430-15.strasbourg.iot-lab.info",
- "wsn430-16.strasbourg.iot-lab.info",
- "wsn430-17.strasbourg.iot-lab.info",
- "wsn430-18.strasbourg.iot-lab.info",
- "wsn430-19.strasbourg.iot-lab.info",
- "wsn430-20.strasbourg.iot-lab.info",
- "wsn430-21.strasbourg.iot-lab.info",
- "wsn430-22.strasbourg.iot-lab.info",
- "wsn430-23.strasbourg.iot-lab.info",
- "wsn430-25.strasbourg.iot-lab.info",
- "wsn430-26.strasbourg.iot-lab.info",
- "wsn430-27.strasbourg.iot-lab.info",
- "wsn430-28.strasbourg.iot-lab.info",
- "wsn430-29.strasbourg.iot-lab.info",
- "wsn430-30.strasbourg.iot-lab.info",
- "wsn430-31.strasbourg.iot-lab.info",
- "wsn430-32.strasbourg.iot-lab.info",
- "wsn430-33.strasbourg.iot-lab.info",
- "wsn430-34.strasbourg.iot-lab.info",
- "wsn430-35.strasbourg.iot-lab.info",
- "wsn430-36.strasbourg.iot-lab.info",
- "wsn430-37.strasbourg.iot-lab.info",
- "wsn430-38.strasbourg.iot-lab.info",
- "wsn430-39.strasbourg.iot-lab.info",
- "wsn430-40.strasbourg.iot-lab.info",
- "wsn430-41.strasbourg.iot-lab.info",
- "wsn430-42.strasbourg.iot-lab.info",
- "wsn430-43.strasbourg.iot-lab.info",
- "wsn430-44.strasbourg.iot-lab.info",
- "wsn430-45.strasbourg.iot-lab.info",
- "wsn430-46.strasbourg.iot-lab.info",
- "wsn430-47.strasbourg.iot-lab.info",
- "wsn430-48.strasbourg.iot-lab.info",
- "wsn430-49.strasbourg.iot-lab.info",
- "wsn430-50.strasbourg.iot-lab.info",
- "wsn430-51.strasbourg.iot-lab.info",
- "wsn430-52.strasbourg.iot-lab.info",
- "wsn430-53.strasbourg.iot-lab.info",
- "wsn430-54.strasbourg.iot-lab.info",
- "wsn430-55.strasbourg.iot-lab.info",
- "wsn430-56.strasbourg.iot-lab.info",
- "wsn430-57.strasbourg.iot-lab.info",
- "wsn430-58.strasbourg.iot-lab.info",
- "wsn430-60.strasbourg.iot-lab.info",
- "wsn430-61.strasbourg.iot-lab.info",
- "wsn430-62.strasbourg.iot-lab.info",
- "wsn430-63.strasbourg.iot-lab.info",
- "wsn430-64.strasbourg.iot-lab.info",
- "wsn430-65.strasbourg.iot-lab.info",
- "wsn430-66.strasbourg.iot-lab.info",
- "wsn430-67.strasbourg.iot-lab.info",
- "wsn430-68.strasbourg.iot-lab.info",
- "wsn430-69.strasbourg.iot-lab.info",
- "wsn430-70.strasbourg.iot-lab.info",
- "wsn430-71.strasbourg.iot-lab.info",
- "wsn430-72.strasbourg.iot-lab.info",
- "wsn430-73.strasbourg.iot-lab.info",
- "wsn430-74.strasbourg.iot-lab.info",
- "wsn430-75.strasbourg.iot-lab.info",
- "wsn430-76.strasbourg.iot-lab.info",
- "wsn430-77.strasbourg.iot-lab.info",
- "wsn430-78.strasbourg.iot-lab.info",
- "wsn430-79.strasbourg.iot-lab.info",
- "wsn430-80.strasbourg.iot-lab.info",
- "wsn430-81.strasbourg.iot-lab.info",
- "wsn430-82.strasbourg.iot-lab.info",
- "wsn430-83.strasbourg.iot-lab.info",
- "wsn430-84.strasbourg.iot-lab.info",
- "wsn430-85.strasbourg.iot-lab.info",
- "wsn430-86.strasbourg.iot-lab.info",
- "wsn430-87.strasbourg.iot-lab.info",
- "wsn430-88.strasbourg.iot-lab.info",
- "wsn430-89.strasbourg.iot-lab.info",
- "wsn430-90.strasbourg.iot-lab.info",
- "wsn430-91.strasbourg.iot-lab.info",
- "wsn430-92.strasbourg.iot-lab.info",
- "wsn430-93.strasbourg.iot-lab.info",
- "wsn430-94.strasbourg.iot-lab.info",
- "wsn430-95.strasbourg.iot-lab.info",
- "wsn430-96.strasbourg.iot-lab.info",
- "wsn430-97.strasbourg.iot-lab.info",
- "wsn430-98.strasbourg.iot-lab.info",
- "wsn430-99.strasbourg.iot-lab.info",
- "wsn430-100.strasbourg.iot-lab.info",
- "wsn430-101.strasbourg.iot-lab.info",
- "wsn430-102.strasbourg.iot-lab.info",
- "wsn430-103.strasbourg.iot-lab.info",
- "wsn430-104.strasbourg.iot-lab.info",
- "wsn430-105.strasbourg.iot-lab.info",
- "wsn430-106.strasbourg.iot-lab.info",
- "wsn430-107.strasbourg.iot-lab.info",
- "wsn430-108.strasbourg.iot-lab.info",
- "wsn430-109.strasbourg.iot-lab.info",
- "wsn430-110.strasbourg.iot-lab.info",
- "wsn430-111.strasbourg.iot-lab.info",
- "wsn430-112.strasbourg.iot-lab.info",
- "wsn430-113.strasbourg.iot-lab.info",
- "wsn430-114.strasbourg.iot-lab.info",
- "wsn430-115.strasbourg.iot-lab.info",
- "wsn430-116.strasbourg.iot-lab.info",
- "wsn430-117.strasbourg.iot-lab.info",
- "wsn430-118.strasbourg.iot-lab.info",
- "wsn430-119.strasbourg.iot-lab.info",
- "wsn430-120.strasbourg.iot-lab.info",
- "wsn430-121.strasbourg.iot-lab.info",
- "wsn430-122.strasbourg.iot-lab.info",
- "wsn430-123.strasbourg.iot-lab.info",
- "wsn430-124.strasbourg.iot-lab.info",
- "wsn430-125.strasbourg.iot-lab.info",
- "wsn430-126.strasbourg.iot-lab.info",
- "wsn430-127.strasbourg.iot-lab.info",
- "wsn430-128.strasbourg.iot-lab.info",
- "wsn430-129.strasbourg.iot-lab.info",
- "wsn430-130.strasbourg.iot-lab.info",
- "wsn430-131.strasbourg.iot-lab.info",
- "wsn430-132.strasbourg.iot-lab.info",
- "wsn430-133.strasbourg.iot-lab.info",
- "wsn430-134.strasbourg.iot-lab.info",
- "wsn430-135.strasbourg.iot-lab.info",
- "wsn430-136.strasbourg.iot-lab.info",
- "wsn430-138.strasbourg.iot-lab.info",
- "wsn430-139.strasbourg.iot-lab.info",
- "wsn430-140.strasbourg.iot-lab.info",
- "wsn430-141.strasbourg.iot-lab.info",
- "wsn430-142.strasbourg.iot-lab.info",
- "wsn430-143.strasbourg.iot-lab.info",
- "wsn430-145.strasbourg.iot-lab.info",
- "wsn430-146.strasbourg.iot-lab.info",
- "wsn430-147.strasbourg.iot-lab.info",
- "wsn430-148.strasbourg.iot-lab.info",
- "wsn430-149.strasbourg.iot-lab.info",
- "wsn430-150.strasbourg.iot-lab.info",
- "wsn430-151.strasbourg.iot-lab.info",
- "wsn430-152.strasbourg.iot-lab.info",
- "wsn430-153.strasbourg.iot-lab.info",
- "wsn430-154.strasbourg.iot-lab.info",
- "wsn430-155.strasbourg.iot-lab.info",
- "wsn430-156.strasbourg.iot-lab.info",
- "wsn430-157.strasbourg.iot-lab.info",
- "wsn430-158.strasbourg.iot-lab.info",
- "wsn430-159.strasbourg.iot-lab.info",
- "wsn430-160.strasbourg.iot-lab.info",
- "wsn430-161.strasbourg.iot-lab.info",
- "wsn430-162.strasbourg.iot-lab.info",
- "wsn430-163.strasbourg.iot-lab.info",
- "wsn430-164.strasbourg.iot-lab.info",
- "wsn430-165.strasbourg.iot-lab.info",
- "wsn430-166.strasbourg.iot-lab.info",
- "wsn430-167.strasbourg.iot-lab.info",
- "wsn430-168.strasbourg.iot-lab.info",
- "wsn430-169.strasbourg.iot-lab.info",
- "wsn430-170.strasbourg.iot-lab.info",
- "wsn430-171.strasbourg.iot-lab.info",
- "wsn430-172.strasbourg.iot-lab.info",
- "wsn430-173.strasbourg.iot-lab.info",
- "wsn430-174.strasbourg.iot-lab.info",
- "wsn430-175.strasbourg.iot-lab.info",
- "wsn430-176.strasbourg.iot-lab.info",
- "wsn430-177.strasbourg.iot-lab.info",
- "wsn430-178.strasbourg.iot-lab.info",
- "wsn430-179.strasbourg.iot-lab.info",
- "wsn430-180.strasbourg.iot-lab.info",
- "wsn430-181.strasbourg.iot-lab.info",
- "wsn430-182.strasbourg.iot-lab.info",
- "wsn430-183.strasbourg.iot-lab.info",
- "wsn430-184.strasbourg.iot-lab.info",
- "wsn430-185.strasbourg.iot-lab.info",
- "wsn430-186.strasbourg.iot-lab.info",
- "wsn430-187.strasbourg.iot-lab.info",
- "wsn430-188.strasbourg.iot-lab.info",
- "wsn430-189.strasbourg.iot-lab.info",
- "wsn430-190.strasbourg.iot-lab.info",
- "wsn430-191.strasbourg.iot-lab.info",
- "wsn430-192.strasbourg.iot-lab.info",
- "wsn430-193.strasbourg.iot-lab.info",
- "wsn430-194.strasbourg.iot-lab.info",
- "wsn430-195.strasbourg.iot-lab.info",
- "wsn430-196.strasbourg.iot-lab.info",
- "wsn430-197.strasbourg.iot-lab.info",
- "wsn430-198.strasbourg.iot-lab.info",
- "wsn430-199.strasbourg.iot-lab.info",
- "wsn430-200.strasbourg.iot-lab.info",
- "wsn430-201.strasbourg.iot-lab.info",
- "wsn430-202.strasbourg.iot-lab.info",
- "wsn430-203.strasbourg.iot-lab.info",
- "wsn430-204.strasbourg.iot-lab.info",
- "wsn430-205.strasbourg.iot-lab.info",
- "wsn430-206.strasbourg.iot-lab.info",
- "wsn430-207.strasbourg.iot-lab.info",
- "wsn430-208.strasbourg.iot-lab.info",
- "wsn430-209.strasbourg.iot-lab.info",
- "wsn430-210.strasbourg.iot-lab.info",
- "wsn430-211.strasbourg.iot-lab.info",
- "wsn430-212.strasbourg.iot-lab.info",
- "wsn430-213.strasbourg.iot-lab.info",
- "wsn430-214.strasbourg.iot-lab.info",
- "wsn430-215.strasbourg.iot-lab.info",
- "wsn430-216.strasbourg.iot-lab.info",
- "wsn430-217.strasbourg.iot-lab.info",
- "wsn430-218.strasbourg.iot-lab.info",
- "wsn430-219.strasbourg.iot-lab.info",
- "wsn430-220.strasbourg.iot-lab.info",
- "wsn430-221.strasbourg.iot-lab.info",
- "wsn430-222.strasbourg.iot-lab.info",
- "wsn430-223.strasbourg.iot-lab.info",
- "wsn430-224.strasbourg.iot-lab.info",
- "wsn430-225.strasbourg.iot-lab.info",
- "wsn430-226.strasbourg.iot-lab.info",
- "wsn430-227.strasbourg.iot-lab.info",
- "wsn430-228.strasbourg.iot-lab.info",
- "wsn430-229.strasbourg.iot-lab.info",
- "wsn430-230.strasbourg.iot-lab.info",
- "wsn430-231.strasbourg.iot-lab.info",
- "wsn430-232.strasbourg.iot-lab.info",
- "wsn430-233.strasbourg.iot-lab.info",
- "wsn430-234.strasbourg.iot-lab.info",
- "wsn430-235.strasbourg.iot-lab.info",
- "wsn430-236.strasbourg.iot-lab.info",
- "wsn430-237.strasbourg.iot-lab.info",
- "wsn430-238.strasbourg.iot-lab.info",
- "wsn430-239.strasbourg.iot-lab.info",
- "wsn430-240.strasbourg.iot-lab.info",
- "a8-1.strasbourg.iot-lab.info",
- "a8-2.strasbourg.iot-lab.info",
- "a8-3.strasbourg.iot-lab.info",
- "a8-4.strasbourg.iot-lab.info",
- "a8-5.strasbourg.iot-lab.info",
- "a8-6.strasbourg.iot-lab.info",
- "a8-7.strasbourg.iot-lab.info",
- "a8-8.strasbourg.iot-lab.info",
- "a8-10.strasbourg.iot-lab.info",
- "a8-11.strasbourg.iot-lab.info",
- "a8-12.strasbourg.iot-lab.info",
- "a8-13.strasbourg.iot-lab.info",
- "a8-14.strasbourg.iot-lab.info",
- "m3-1.strasbourg.iot-lab.info",
- "m3-2.strasbourg.iot-lab.info",
- "m3-3.strasbourg.iot-lab.info",
- "m3-5.strasbourg.iot-lab.info",
- "m3-6.strasbourg.iot-lab.info",
- "m3-7.strasbourg.iot-lab.info",
- "m3-8.strasbourg.iot-lab.info",
- "m3-9.strasbourg.iot-lab.info",
- "m3-10.strasbourg.iot-lab.info",
- "m3-11.strasbourg.iot-lab.info",
- "m3-12.strasbourg.iot-lab.info",
- "m3-13.strasbourg.iot-lab.info",
- "m3-14.strasbourg.iot-lab.info",
- "m3-15.strasbourg.iot-lab.info",
- "m3-16.strasbourg.iot-lab.info",
- "m3-17.strasbourg.iot-lab.info",
- "m3-18.strasbourg.iot-lab.info",
- "m3-19.strasbourg.iot-lab.info",
- "m3-20.strasbourg.iot-lab.info",
- "m3-21.strasbourg.iot-lab.info",
- "m3-22.strasbourg.iot-lab.info",
- "m3-23.strasbourg.iot-lab.info",
- "m3-24.strasbourg.iot-lab.info",
- "m3-25.strasbourg.iot-lab.info",
- "m3-27.strasbourg.iot-lab.info",
- "m3-28.strasbourg.iot-lab.info",
- "m3-29.strasbourg.iot-lab.info",
- "m3-30.strasbourg.iot-lab.info",
- "m3-31.strasbourg.iot-lab.info",
- "m3-32.strasbourg.iot-lab.info",
- "m3-33.strasbourg.iot-lab.info",
- "m3-34.strasbourg.iot-lab.info",
- "m3-35.strasbourg.iot-lab.info",
- "m3-36.strasbourg.iot-lab.info",
- "m3-37.strasbourg.iot-lab.info",
- "m3-38.strasbourg.iot-lab.info",
- "m3-39.strasbourg.iot-lab.info",
- "m3-41.strasbourg.iot-lab.info",
- "m3-42.strasbourg.iot-lab.info",
- "m3-43.strasbourg.iot-lab.info",
- "m3-44.strasbourg.iot-lab.info",
- "m3-45.strasbourg.iot-lab.info",
- "m3-46.strasbourg.iot-lab.info",
- "m3-47.strasbourg.iot-lab.info",
- "m3-48.strasbourg.iot-lab.info",
- "m3-49.strasbourg.iot-lab.info",
- "m3-50.strasbourg.iot-lab.info",
- "m3-51.strasbourg.iot-lab.info",
- "m3-52.strasbourg.iot-lab.info",
- "m3-53.strasbourg.iot-lab.info",
- "m3-54.strasbourg.iot-lab.info",
- "m3-55.strasbourg.iot-lab.info",
- "m3-56.strasbourg.iot-lab.info",
- "m3-57.strasbourg.iot-lab.info",
- "m3-58.strasbourg.iot-lab.info",
- "m3-59.strasbourg.iot-lab.info",
- "m3-60.strasbourg.iot-lab.info",
- "m3-61.strasbourg.iot-lab.info",
- "m3-62.strasbourg.iot-lab.info",
- "m3-63.strasbourg.iot-lab.info",
- "m3-64.strasbourg.iot-lab.info",
- "m3-40.strasbourg.iot-lab.info",
- "m3-96.strasbourg.iot-lab.info",
- "m3-97.strasbourg.iot-lab.info",
- "m3-100.strasbourg.iot-lab.info"
- ],
- "lille": [
- "m3-6.lille.iot-lab.info",
- "m3-9.lille.iot-lab.info",
- "m3-10.lille.iot-lab.info",
- "m3-11.lille.iot-lab.info",
- "m3-14.lille.iot-lab.info",
- "m3-15.lille.iot-lab.info",
- "m3-18.lille.iot-lab.info",
- "m3-19.lille.iot-lab.info",
- "m3-23.lille.iot-lab.info",
- "m3-24.lille.iot-lab.info",
- "m3-26.lille.iot-lab.info",
- "m3-27.lille.iot-lab.info",
- "m3-28.lille.iot-lab.info",
- "m3-32.lille.iot-lab.info",
- "m3-33.lille.iot-lab.info",
- "m3-38.lille.iot-lab.info",
- "m3-39.lille.iot-lab.info",
- "m3-40.lille.iot-lab.info",
- "m3-42.lille.iot-lab.info",
- "m3-47.lille.iot-lab.info",
- "m3-49.lille.iot-lab.info",
- "m3-51.lille.iot-lab.info",
- "m3-52.lille.iot-lab.info",
- "m3-54.lille.iot-lab.info",
- "m3-56.lille.iot-lab.info",
- "m3-57.lille.iot-lab.info",
- "m3-63.lille.iot-lab.info",
- "m3-64.lille.iot-lab.info",
- "m3-65.lille.iot-lab.info",
- "m3-66.lille.iot-lab.info",
- "m3-67.lille.iot-lab.info",
- "m3-70.lille.iot-lab.info",
- "m3-71.lille.iot-lab.info",
- "m3-72.lille.iot-lab.info",
- "m3-73.lille.iot-lab.info",
- "m3-74.lille.iot-lab.info",
- "m3-76.lille.iot-lab.info",
- "m3-82.lille.iot-lab.info",
- "m3-83.lille.iot-lab.info",
- "m3-85.lille.iot-lab.info",
- "m3-87.lille.iot-lab.info",
- "m3-88.lille.iot-lab.info",
- "m3-89.lille.iot-lab.info",
- "m3-90.lille.iot-lab.info",
- "m3-91.lille.iot-lab.info",
- "m3-92.lille.iot-lab.info",
- "m3-94.lille.iot-lab.info",
- "m3-95.lille.iot-lab.info",
- "m3-97.lille.iot-lab.info",
- "m3-100.lille.iot-lab.info",
- "m3-102.lille.iot-lab.info",
- "m3-104.lille.iot-lab.info",
- "m3-106.lille.iot-lab.info",
- "m3-108.lille.iot-lab.info",
- "m3-110.lille.iot-lab.info",
- "m3-111.lille.iot-lab.info",
- "m3-113.lille.iot-lab.info",
- "m3-114.lille.iot-lab.info",
- "m3-115.lille.iot-lab.info",
- "m3-116.lille.iot-lab.info",
- "m3-118.lille.iot-lab.info",
- "m3-121.lille.iot-lab.info",
- "m3-122.lille.iot-lab.info",
- "m3-125.lille.iot-lab.info",
- "m3-127.lille.iot-lab.info",
- "m3-130.lille.iot-lab.info",
- "m3-131.lille.iot-lab.info",
- "m3-132.lille.iot-lab.info",
- "m3-133.lille.iot-lab.info",
- "m3-134.lille.iot-lab.info",
- "m3-135.lille.iot-lab.info",
- "m3-136.lille.iot-lab.info",
- "m3-138.lille.iot-lab.info",
- "m3-140.lille.iot-lab.info",
- "m3-142.lille.iot-lab.info",
- "m3-143.lille.iot-lab.info",
- "m3-144.lille.iot-lab.info",
- "m3-145.lille.iot-lab.info",
- "m3-148.lille.iot-lab.info",
- "m3-156.lille.iot-lab.info",
- "m3-157.lille.iot-lab.info",
- "m3-159.lille.iot-lab.info",
- "m3-161.lille.iot-lab.info",
- "m3-163.lille.iot-lab.info",
- "m3-169.lille.iot-lab.info",
- "m3-170.lille.iot-lab.info",
- "m3-173.lille.iot-lab.info",
- "m3-174.lille.iot-lab.info",
- "m3-177.lille.iot-lab.info",
- "m3-179.lille.iot-lab.info",
- "m3-181.lille.iot-lab.info",
- "m3-182.lille.iot-lab.info",
- "m3-184.lille.iot-lab.info",
- "m3-187.lille.iot-lab.info",
- "m3-188.lille.iot-lab.info",
- "m3-190.lille.iot-lab.info",
- "m3-193.lille.iot-lab.info",
- "m3-194.lille.iot-lab.info",
- "m3-195.lille.iot-lab.info",
- "m3-196.lille.iot-lab.info",
- "m3-197.lille.iot-lab.info",
- "m3-200.lille.iot-lab.info",
- "m3-202.lille.iot-lab.info",
- "m3-203.lille.iot-lab.info",
- "m3-204.lille.iot-lab.info",
- "m3-209.lille.iot-lab.info",
- "m3-211.lille.iot-lab.info",
- "m3-212.lille.iot-lab.info",
- "m3-213.lille.iot-lab.info",
- "m3-214.lille.iot-lab.info",
- "m3-215.lille.iot-lab.info",
- "m3-217.lille.iot-lab.info",
- "m3-218.lille.iot-lab.info",
- "m3-219.lille.iot-lab.info",
- "m3-220.lille.iot-lab.info",
- "m3-221.lille.iot-lab.info",
- "m3-223.lille.iot-lab.info",
- "m3-226.lille.iot-lab.info",
- "m3-228.lille.iot-lab.info",
- "m3-229.lille.iot-lab.info",
- "m3-230.lille.iot-lab.info",
- "m3-232.lille.iot-lab.info",
- "m3-233.lille.iot-lab.info",
- "m3-238.lille.iot-lab.info",
- "m3-239.lille.iot-lab.info",
- "m3-240.lille.iot-lab.info",
- "m3-241.lille.iot-lab.info",
- "m3-243.lille.iot-lab.info",
- "m3-244.lille.iot-lab.info",
- "m3-245.lille.iot-lab.info",
- "m3-246.lille.iot-lab.info",
- "m3-248.lille.iot-lab.info",
- "m3-250.lille.iot-lab.info",
- "m3-253.lille.iot-lab.info",
- "m3-254.lille.iot-lab.info",
- "m3-255.lille.iot-lab.info",
- "m3-256.lille.iot-lab.info",
- "m3-2.lille.iot-lab.info",
- "m3-4.lille.iot-lab.info",
- "m3-5.lille.iot-lab.info",
- "m3-7.lille.iot-lab.info",
- "m3-12.lille.iot-lab.info",
- "m3-13.lille.iot-lab.info",
- "m3-16.lille.iot-lab.info",
- "m3-17.lille.iot-lab.info",
- "m3-20.lille.iot-lab.info",
- "m3-21.lille.iot-lab.info",
- "m3-22.lille.iot-lab.info",
- "m3-30.lille.iot-lab.info",
- "m3-31.lille.iot-lab.info",
- "m3-35.lille.iot-lab.info",
- "m3-36.lille.iot-lab.info",
- "m3-37.lille.iot-lab.info",
- "m3-43.lille.iot-lab.info",
- "m3-45.lille.iot-lab.info",
- "m3-46.lille.iot-lab.info",
- "m3-48.lille.iot-lab.info",
- "m3-50.lille.iot-lab.info",
- "m3-53.lille.iot-lab.info",
- "m3-58.lille.iot-lab.info",
- "m3-59.lille.iot-lab.info",
- "m3-60.lille.iot-lab.info",
- "m3-61.lille.iot-lab.info",
- "m3-62.lille.iot-lab.info",
- "m3-69.lille.iot-lab.info",
- "m3-75.lille.iot-lab.info",
- "m3-77.lille.iot-lab.info",
- "m3-78.lille.iot-lab.info",
- "m3-81.lille.iot-lab.info",
- "m3-84.lille.iot-lab.info",
- "m3-86.lille.iot-lab.info",
- "m3-93.lille.iot-lab.info",
- "m3-96.lille.iot-lab.info",
- "m3-98.lille.iot-lab.info",
- "m3-99.lille.iot-lab.info",
- "m3-103.lille.iot-lab.info",
- "m3-105.lille.iot-lab.info",
- "m3-107.lille.iot-lab.info",
- "m3-109.lille.iot-lab.info",
- "m3-112.lille.iot-lab.info",
- "m3-117.lille.iot-lab.info",
- "m3-120.lille.iot-lab.info",
- "m3-123.lille.iot-lab.info",
- "m3-124.lille.iot-lab.info",
- "m3-126.lille.iot-lab.info",
- "m3-137.lille.iot-lab.info",
- "m3-139.lille.iot-lab.info",
- "m3-141.lille.iot-lab.info",
- "m3-146.lille.iot-lab.info",
- "m3-147.lille.iot-lab.info",
- "m3-151.lille.iot-lab.info",
- "m3-152.lille.iot-lab.info",
- "m3-153.lille.iot-lab.info",
- "m3-154.lille.iot-lab.info",
- "m3-155.lille.iot-lab.info",
- "m3-158.lille.iot-lab.info",
- "m3-162.lille.iot-lab.info",
- "m3-164.lille.iot-lab.info",
- "m3-165.lille.iot-lab.info",
- "m3-166.lille.iot-lab.info",
- "m3-167.lille.iot-lab.info",
- "m3-168.lille.iot-lab.info",
- "m3-171.lille.iot-lab.info",
- "m3-172.lille.iot-lab.info",
- "m3-175.lille.iot-lab.info",
- "m3-176.lille.iot-lab.info",
- "m3-180.lille.iot-lab.info",
- "m3-183.lille.iot-lab.info",
- "m3-185.lille.iot-lab.info",
- "m3-191.lille.iot-lab.info",
- "m3-192.lille.iot-lab.info",
- "m3-198.lille.iot-lab.info",
- "m3-199.lille.iot-lab.info",
- "m3-201.lille.iot-lab.info",
- "m3-205.lille.iot-lab.info",
- "m3-207.lille.iot-lab.info",
- "m3-208.lille.iot-lab.info",
- "m3-222.lille.iot-lab.info",
- "m3-224.lille.iot-lab.info",
- "m3-227.lille.iot-lab.info",
- "m3-231.lille.iot-lab.info",
- "m3-234.lille.iot-lab.info",
- "m3-242.lille.iot-lab.info",
- "m3-247.lille.iot-lab.info",
- "m3-249.lille.iot-lab.info",
- "m3-252.lille.iot-lab.info"
- ],
- "paris": [
- "m3-1.paris.iot-lab.info",
- "m3-2.paris.iot-lab.info",
- "m3-3.paris.iot-lab.info",
- "m3-4.paris.iot-lab.info",
- "m3-5.paris.iot-lab.info",
- "m3-7.paris.iot-lab.info",
- "m3-8.paris.iot-lab.info",
- "m3-9.paris.iot-lab.info",
- "m3-10.paris.iot-lab.info",
- "m3-11.paris.iot-lab.info",
- "m3-12.paris.iot-lab.info",
- "m3-13.paris.iot-lab.info",
- "m3-14.paris.iot-lab.info",
- "m3-15.paris.iot-lab.info",
- "m3-16.paris.iot-lab.info",
- "m3-17.paris.iot-lab.info",
- "m3-18.paris.iot-lab.info",
- "m3-19.paris.iot-lab.info",
- "m3-20.paris.iot-lab.info",
- "m3-21.paris.iot-lab.info",
- "m3-22.paris.iot-lab.info",
- "m3-23.paris.iot-lab.info",
- "m3-24.paris.iot-lab.info",
- "m3-25.paris.iot-lab.info",
- "m3-26.paris.iot-lab.info",
- "m3-27.paris.iot-lab.info",
- "m3-28.paris.iot-lab.info",
- "m3-29.paris.iot-lab.info",
- "m3-30.paris.iot-lab.info",
- "m3-31.paris.iot-lab.info",
- "m3-32.paris.iot-lab.info",
- "m3-33.paris.iot-lab.info",
- "m3-35.paris.iot-lab.info",
- "m3-36.paris.iot-lab.info",
- "m3-37.paris.iot-lab.info",
- "m3-38.paris.iot-lab.info",
- "m3-39.paris.iot-lab.info",
- "m3-40.paris.iot-lab.info",
- "m3-41.paris.iot-lab.info",
- "m3-42.paris.iot-lab.info",
- "m3-43.paris.iot-lab.info",
- "m3-45.paris.iot-lab.info",
- "m3-46.paris.iot-lab.info",
- "m3-47.paris.iot-lab.info",
- "m3-49.paris.iot-lab.info",
- "m3-50.paris.iot-lab.info",
- "m3-51.paris.iot-lab.info",
- "m3-52.paris.iot-lab.info",
- "m3-53.paris.iot-lab.info",
- "m3-54.paris.iot-lab.info",
- "m3-55.paris.iot-lab.info",
- "m3-56.paris.iot-lab.info",
- "m3-57.paris.iot-lab.info",
- "m3-58.paris.iot-lab.info",
- "m3-59.paris.iot-lab.info",
- "m3-60.paris.iot-lab.info",
- "m3-61.paris.iot-lab.info",
- "m3-62.paris.iot-lab.info",
- "m3-63.paris.iot-lab.info",
- "m3-64.paris.iot-lab.info",
- "m3-65.paris.iot-lab.info",
- "m3-66.paris.iot-lab.info",
- "m3-67.paris.iot-lab.info",
- "m3-68.paris.iot-lab.info",
- "m3-69.paris.iot-lab.info",
- "a8-1.paris.iot-lab.info",
- "a8-2.paris.iot-lab.info",
- "a8-3.paris.iot-lab.info",
- "a8-4.paris.iot-lab.info",
- "a8-5.paris.iot-lab.info",
- "a8-6.paris.iot-lab.info",
- "a8-7.paris.iot-lab.info",
- "a8-8.paris.iot-lab.info",
- "a8-9.paris.iot-lab.info",
- "a8-10.paris.iot-lab.info",
- "a8-11.paris.iot-lab.info",
- "a8-12.paris.iot-lab.info",
- "a8-13.paris.iot-lab.info",
- "a8-14.paris.iot-lab.info",
- "a8-15.paris.iot-lab.info",
- "a8-16.paris.iot-lab.info",
- "a8-17.paris.iot-lab.info",
- "a8-18.paris.iot-lab.info",
- "a8-19.paris.iot-lab.info",
- "a8-20.paris.iot-lab.info",
- "a8-21.paris.iot-lab.info",
- "a8-22.paris.iot-lab.info",
- "a8-23.paris.iot-lab.info",
- "a8-24.paris.iot-lab.info",
- "a8-25.paris.iot-lab.info",
- "a8-26.paris.iot-lab.info",
- "a8-27.paris.iot-lab.info",
- "a8-28.paris.iot-lab.info",
- "a8-29.paris.iot-lab.info",
- "a8-30.paris.iot-lab.info",
- "a8-31.paris.iot-lab.info",
- "a8-32.paris.iot-lab.info",
- "a8-33.paris.iot-lab.info",
- "a8-34.paris.iot-lab.info",
- "a8-35.paris.iot-lab.info",
- "a8-36.paris.iot-lab.info",
- "a8-37.paris.iot-lab.info",
- "a8-38.paris.iot-lab.info",
- "a8-39.paris.iot-lab.info",
- "a8-40.paris.iot-lab.info",
- "a8-41.paris.iot-lab.info",
- "a8-42.paris.iot-lab.info",
- "a8-43.paris.iot-lab.info",
- "a8-44.paris.iot-lab.info",
- "a8-45.paris.iot-lab.info",
- "a8-46.paris.iot-lab.info",
- "a8-47.paris.iot-lab.info",
- "a8-48.paris.iot-lab.info",
- "a8-49.paris.iot-lab.info",
- "a8-50.paris.iot-lab.info",
- "a8-51.paris.iot-lab.info",
- "a8-52.paris.iot-lab.info",
- "a8-53.paris.iot-lab.info",
- "a8-54.paris.iot-lab.info",
- "a8-55.paris.iot-lab.info",
- "a8-56.paris.iot-lab.info",
- "a8-57.paris.iot-lab.info",
- "a8-58.paris.iot-lab.info",
- "a8-59.paris.iot-lab.info",
- "a8-60.paris.iot-lab.info",
- "a8-61.paris.iot-lab.info",
- "a8-62.paris.iot-lab.info"
- ],
- "euratech": [
- "wsn430-1.euratech.iot-lab.info",
- "wsn430-2.euratech.iot-lab.info",
- "wsn430-3.euratech.iot-lab.info",
- "wsn430-4.euratech.iot-lab.info",
- "wsn430-6.euratech.iot-lab.info",
- "wsn430-7.euratech.iot-lab.info",
- "wsn430-8.euratech.iot-lab.info",
- "wsn430-9.euratech.iot-lab.info",
- "wsn430-10.euratech.iot-lab.info",
- "wsn430-11.euratech.iot-lab.info",
- "wsn430-12.euratech.iot-lab.info",
- "wsn430-14.euratech.iot-lab.info",
- "wsn430-15.euratech.iot-lab.info",
- "wsn430-17.euratech.iot-lab.info",
- "wsn430-18.euratech.iot-lab.info",
- "wsn430-19.euratech.iot-lab.info",
- "wsn430-20.euratech.iot-lab.info",
- "wsn430-21.euratech.iot-lab.info",
- "wsn430-22.euratech.iot-lab.info",
- "wsn430-23.euratech.iot-lab.info",
- "wsn430-24.euratech.iot-lab.info",
- "wsn430-25.euratech.iot-lab.info",
- "wsn430-26.euratech.iot-lab.info",
- "wsn430-27.euratech.iot-lab.info",
- "wsn430-28.euratech.iot-lab.info",
- "wsn430-29.euratech.iot-lab.info",
- "wsn430-30.euratech.iot-lab.info",
- "wsn430-31.euratech.iot-lab.info",
- "wsn430-32.euratech.iot-lab.info",
- "wsn430-33.euratech.iot-lab.info",
- "wsn430-34.euratech.iot-lab.info",
- "wsn430-35.euratech.iot-lab.info",
- "wsn430-36.euratech.iot-lab.info",
- "wsn430-37.euratech.iot-lab.info",
- "wsn430-38.euratech.iot-lab.info",
- "wsn430-39.euratech.iot-lab.info",
- "wsn430-40.euratech.iot-lab.info",
- "wsn430-41.euratech.iot-lab.info",
- "wsn430-42.euratech.iot-lab.info",
- "wsn430-43.euratech.iot-lab.info",
- "wsn430-44.euratech.iot-lab.info",
- "wsn430-46.euratech.iot-lab.info",
- "wsn430-47.euratech.iot-lab.info",
- "wsn430-48.euratech.iot-lab.info",
- "wsn430-49.euratech.iot-lab.info",
- "wsn430-50.euratech.iot-lab.info",
- "wsn430-51.euratech.iot-lab.info",
- "wsn430-52.euratech.iot-lab.info",
- "wsn430-53.euratech.iot-lab.info",
- "wsn430-54.euratech.iot-lab.info",
- "wsn430-55.euratech.iot-lab.info",
- "wsn430-56.euratech.iot-lab.info",
- "wsn430-57.euratech.iot-lab.info",
- "wsn430-58.euratech.iot-lab.info",
- "wsn430-59.euratech.iot-lab.info",
- "wsn430-60.euratech.iot-lab.info",
- "wsn430-61.euratech.iot-lab.info",
- "wsn430-62.euratech.iot-lab.info",
- "wsn430-63.euratech.iot-lab.info",
- "wsn430-64.euratech.iot-lab.info",
- "wsn430-65.euratech.iot-lab.info",
- "wsn430-66.euratech.iot-lab.info",
- "wsn430-67.euratech.iot-lab.info",
- "wsn430-68.euratech.iot-lab.info",
- "wsn430-69.euratech.iot-lab.info",
- "wsn430-70.euratech.iot-lab.info",
- "wsn430-71.euratech.iot-lab.info",
- "wsn430-72.euratech.iot-lab.info",
- "wsn430-73.euratech.iot-lab.info",
- "wsn430-74.euratech.iot-lab.info",
- "wsn430-75.euratech.iot-lab.info",
- "wsn430-76.euratech.iot-lab.info",
- "wsn430-77.euratech.iot-lab.info",
- "wsn430-78.euratech.iot-lab.info",
- "wsn430-79.euratech.iot-lab.info",
- "wsn430-80.euratech.iot-lab.info",
- "wsn430-81.euratech.iot-lab.info",
- "wsn430-82.euratech.iot-lab.info",
- "wsn430-83.euratech.iot-lab.info",
- "wsn430-84.euratech.iot-lab.info",
- "wsn430-85.euratech.iot-lab.info",
- "wsn430-86.euratech.iot-lab.info",
- "wsn430-87.euratech.iot-lab.info",
- "wsn430-88.euratech.iot-lab.info",
- "wsn430-89.euratech.iot-lab.info",
- "wsn430-90.euratech.iot-lab.info",
- "wsn430-91.euratech.iot-lab.info",
- "wsn430-92.euratech.iot-lab.info",
- "wsn430-93.euratech.iot-lab.info",
- "wsn430-94.euratech.iot-lab.info",
- "wsn430-95.euratech.iot-lab.info",
- "wsn430-96.euratech.iot-lab.info",
- "wsn430-97.euratech.iot-lab.info",
- "wsn430-98.euratech.iot-lab.info",
- "wsn430-99.euratech.iot-lab.info",
- "wsn430-100.euratech.iot-lab.info",
- "wsn430-101.euratech.iot-lab.info",
- "wsn430-102.euratech.iot-lab.info",
- "wsn430-103.euratech.iot-lab.info",
- "wsn430-104.euratech.iot-lab.info",
- "wsn430-105.euratech.iot-lab.info",
- "wsn430-106.euratech.iot-lab.info",
- "wsn430-107.euratech.iot-lab.info",
- "wsn430-108.euratech.iot-lab.info",
- "wsn430-109.euratech.iot-lab.info",
- "wsn430-110.euratech.iot-lab.info",
- "wsn430-111.euratech.iot-lab.info",
- "wsn430-112.euratech.iot-lab.info",
- "wsn430-113.euratech.iot-lab.info",
- "wsn430-114.euratech.iot-lab.info",
- "wsn430-115.euratech.iot-lab.info",
- "wsn430-116.euratech.iot-lab.info",
- "wsn430-117.euratech.iot-lab.info",
- "wsn430-118.euratech.iot-lab.info",
- "wsn430-120.euratech.iot-lab.info",
- "wsn430-121.euratech.iot-lab.info",
- "wsn430-122.euratech.iot-lab.info",
- "wsn430-123.euratech.iot-lab.info",
- "wsn430-124.euratech.iot-lab.info",
- "wsn430-125.euratech.iot-lab.info",
- "wsn430-127.euratech.iot-lab.info",
- "wsn430-128.euratech.iot-lab.info",
- "wsn430-129.euratech.iot-lab.info",
- "wsn430-130.euratech.iot-lab.info",
- "wsn430-131.euratech.iot-lab.info",
- "wsn430-132.euratech.iot-lab.info",
- "wsn430-133.euratech.iot-lab.info",
- "wsn430-134.euratech.iot-lab.info",
- "wsn430-135.euratech.iot-lab.info",
- "wsn430-136.euratech.iot-lab.info",
- "wsn430-137.euratech.iot-lab.info",
- "wsn430-138.euratech.iot-lab.info",
- "wsn430-139.euratech.iot-lab.info",
- "wsn430-140.euratech.iot-lab.info",
- "wsn430-141.euratech.iot-lab.info",
- "wsn430-142.euratech.iot-lab.info",
- "wsn430-143.euratech.iot-lab.info",
- "wsn430-144.euratech.iot-lab.info",
- "wsn430-145.euratech.iot-lab.info",
- "wsn430-146.euratech.iot-lab.info",
- "wsn430-147.euratech.iot-lab.info",
- "wsn430-148.euratech.iot-lab.info",
- "wsn430-149.euratech.iot-lab.info",
- "wsn430-150.euratech.iot-lab.info",
- "wsn430-151.euratech.iot-lab.info",
- "wsn430-152.euratech.iot-lab.info",
- "wsn430-153.euratech.iot-lab.info",
- "wsn430-154.euratech.iot-lab.info",
- "wsn430-155.euratech.iot-lab.info",
- "wsn430-156.euratech.iot-lab.info",
- "wsn430-157.euratech.iot-lab.info",
- "wsn430-158.euratech.iot-lab.info",
- "wsn430-159.euratech.iot-lab.info",
- "wsn430-160.euratech.iot-lab.info",
- "wsn430-161.euratech.iot-lab.info",
- "wsn430-162.euratech.iot-lab.info",
- "wsn430-163.euratech.iot-lab.info",
- "wsn430-164.euratech.iot-lab.info",
- "wsn430-165.euratech.iot-lab.info",
- "wsn430-166.euratech.iot-lab.info",
- "wsn430-167.euratech.iot-lab.info",
- "wsn430-169.euratech.iot-lab.info",
- "wsn430-170.euratech.iot-lab.info",
- "wsn430-171.euratech.iot-lab.info",
- "wsn430-172.euratech.iot-lab.info",
- "wsn430-173.euratech.iot-lab.info",
- "wsn430-174.euratech.iot-lab.info",
- "wsn430-175.euratech.iot-lab.info",
- "wsn430-176.euratech.iot-lab.info",
- "wsn430-177.euratech.iot-lab.info",
- "wsn430-178.euratech.iot-lab.info",
- "wsn430-179.euratech.iot-lab.info",
- "wsn430-180.euratech.iot-lab.info",
- "wsn430-181.euratech.iot-lab.info",
- "wsn430-182.euratech.iot-lab.info",
- "wsn430-183.euratech.iot-lab.info",
- "wsn430-184.euratech.iot-lab.info",
- "wsn430-185.euratech.iot-lab.info",
- "wsn430-186.euratech.iot-lab.info",
- "wsn430-187.euratech.iot-lab.info",
- "wsn430-188.euratech.iot-lab.info",
- "wsn430-189.euratech.iot-lab.info",
- "wsn430-191.euratech.iot-lab.info",
- "wsn430-192.euratech.iot-lab.info",
- "wsn430-193.euratech.iot-lab.info",
- "wsn430-194.euratech.iot-lab.info",
- "wsn430-195.euratech.iot-lab.info",
- "wsn430-196.euratech.iot-lab.info",
- "wsn430-197.euratech.iot-lab.info",
- "wsn430-198.euratech.iot-lab.info",
- "wsn430-199.euratech.iot-lab.info",
- "wsn430-200.euratech.iot-lab.info",
- "wsn430-202.euratech.iot-lab.info",
- "wsn430-203.euratech.iot-lab.info",
- "wsn430-204.euratech.iot-lab.info",
- "wsn430-205.euratech.iot-lab.info",
- "wsn430-206.euratech.iot-lab.info",
- "wsn430-207.euratech.iot-lab.info",
- "wsn430-208.euratech.iot-lab.info",
- "wsn430-209.euratech.iot-lab.info",
- "wsn430-210.euratech.iot-lab.info",
- "wsn430-211.euratech.iot-lab.info",
- "wsn430-212.euratech.iot-lab.info",
- "wsn430-213.euratech.iot-lab.info",
- "wsn430-214.euratech.iot-lab.info",
- "wsn430-215.euratech.iot-lab.info",
- "wsn430-216.euratech.iot-lab.info",
- "wsn430-217.euratech.iot-lab.info",
- "wsn430-218.euratech.iot-lab.info",
- "wsn430-219.euratech.iot-lab.info",
- "wsn430-220.euratech.iot-lab.info",
- "wsn430-221.euratech.iot-lab.info",
- "wsn430-222.euratech.iot-lab.info",
- "wsn430-223.euratech.iot-lab.info",
- "wsn430-224.euratech.iot-lab.info"
- ],
- "saclay": [
- "m3-1.saclay.iot-lab.info",
- "m3-2.saclay.iot-lab.info",
- "m3-3.saclay.iot-lab.info",
- "m3-4.saclay.iot-lab.info",
- "m3-5.saclay.iot-lab.info",
- "m3-6.saclay.iot-lab.info",
- "m3-7.saclay.iot-lab.info",
- "m3-8.saclay.iot-lab.info",
- "m3-9.saclay.iot-lab.info",
- "m3-10.saclay.iot-lab.info",
- "m3-11.saclay.iot-lab.info",
- "m3-12.saclay.iot-lab.info",
- "a8-1.saclay.iot-lab.info",
- "a8-2.saclay.iot-lab.info",
- "a8-3.saclay.iot-lab.info",
- "a8-4.saclay.iot-lab.info",
- "a8-5.saclay.iot-lab.info",
- "a8-6.saclay.iot-lab.info",
- "a8-7.saclay.iot-lab.info",
- "a8-8.saclay.iot-lab.info",
- "a8-9.saclay.iot-lab.info",
- "a8-10.saclay.iot-lab.info",
- "a8-11.saclay.iot-lab.info",
- "a8-12.saclay.iot-lab.info",
- "a8-13.saclay.iot-lab.info",
- "a8-14.saclay.iot-lab.info",
- "a8-16.saclay.iot-lab.info",
- "a8-17.saclay.iot-lab.info",
- "a8-18.saclay.iot-lab.info",
- "a8-19.saclay.iot-lab.info",
- "a8-20.saclay.iot-lab.info",
- "a8-21.saclay.iot-lab.info",
- "a8-22.saclay.iot-lab.info",
- "a8-23.saclay.iot-lab.info",
- "a8-24.saclay.iot-lab.info",
- "a8-25.saclay.iot-lab.info",
- "a8-26.saclay.iot-lab.info",
- "a8-27.saclay.iot-lab.info",
- "a8-28.saclay.iot-lab.info",
- "a8-29.saclay.iot-lab.info",
- "a8-30.saclay.iot-lab.info",
- "a8-31.saclay.iot-lab.info",
- "a8-32.saclay.iot-lab.info",
- "a8-33.saclay.iot-lab.info",
- "a8-34.saclay.iot-lab.info",
- "a8-35.saclay.iot-lab.info",
- "a8-36.saclay.iot-lab.info",
- "a8-37.saclay.iot-lab.info",
- "a8-38.saclay.iot-lab.info",
- "a8-39.saclay.iot-lab.info",
- "a8-40.saclay.iot-lab.info",
- "a8-41.saclay.iot-lab.info",
- "a8-42.saclay.iot-lab.info",
- "a8-43.saclay.iot-lab.info",
- "a8-44.saclay.iot-lab.info",
- "a8-45.saclay.iot-lab.info",
- "a8-46.saclay.iot-lab.info",
- "a8-47.saclay.iot-lab.info",
- "a8-49.saclay.iot-lab.info",
- "a8-50.saclay.iot-lab.info",
- "a8-51.saclay.iot-lab.info",
- "a8-52.saclay.iot-lab.info",
- "a8-53.saclay.iot-lab.info",
- "a8-54.saclay.iot-lab.info",
- "a8-55.saclay.iot-lab.info",
- "a8-56.saclay.iot-lab.info",
- "a8-57.saclay.iot-lab.info",
- "a8-58.saclay.iot-lab.info",
- "a8-59.saclay.iot-lab.info",
- "a8-60.saclay.iot-lab.info",
- "a8-61.saclay.iot-lab.info",
- "a8-62.saclay.iot-lab.info",
- "a8-63.saclay.iot-lab.info",
- "a8-64.saclay.iot-lab.info",
- "a8-65.saclay.iot-lab.info",
- "a8-66.saclay.iot-lab.info",
- "a8-67.saclay.iot-lab.info",
- "a8-68.saclay.iot-lab.info",
- "a8-69.saclay.iot-lab.info",
- "a8-70.saclay.iot-lab.info",
- "a8-71.saclay.iot-lab.info",
- "a8-72.saclay.iot-lab.info",
- "a8-73.saclay.iot-lab.info",
- "a8-74.saclay.iot-lab.info",
- "a8-75.saclay.iot-lab.info",
- "a8-76.saclay.iot-lab.info",
- "a8-77.saclay.iot-lab.info",
- "a8-78.saclay.iot-lab.info",
- "a8-79.saclay.iot-lab.info",
- "a8-80.saclay.iot-lab.info",
- "a8-81.saclay.iot-lab.info",
- "a8-82.saclay.iot-lab.info",
- "a8-83.saclay.iot-lab.info",
- "a8-84.saclay.iot-lab.info",
- "a8-85.saclay.iot-lab.info",
- "a8-86.saclay.iot-lab.info",
- "a8-87.saclay.iot-lab.info",
- "a8-88.saclay.iot-lab.info",
- "a8-89.saclay.iot-lab.info",
- "a8-90.saclay.iot-lab.info",
- "a8-91.saclay.iot-lab.info",
- "a8-92.saclay.iot-lab.info",
- "a8-93.saclay.iot-lab.info",
- "a8-94.saclay.iot-lab.info",
- "a8-95.saclay.iot-lab.info",
- "a8-96.saclay.iot-lab.info",
- "a8-97.saclay.iot-lab.info",
- "a8-98.saclay.iot-lab.info",
- "a8-99.saclay.iot-lab.info",
- "a8-100.saclay.iot-lab.info",
- "a8-101.saclay.iot-lab.info",
- "a8-102.saclay.iot-lab.info",
- "a8-103.saclay.iot-lab.info",
- "a8-104.saclay.iot-lab.info",
- "a8-105.saclay.iot-lab.info",
- "a8-106.saclay.iot-lab.info",
- "a8-107.saclay.iot-lab.info",
- "a8-108.saclay.iot-lab.info",
- "a8-109.saclay.iot-lab.info",
- "a8-110.saclay.iot-lab.info",
- "a8-111.saclay.iot-lab.info",
- "a8-112.saclay.iot-lab.info",
- "a8-113.saclay.iot-lab.info",
- "a8-114.saclay.iot-lab.info",
- "a8-115.saclay.iot-lab.info",
- "a8-116.saclay.iot-lab.info",
- "a8-117.saclay.iot-lab.info",
- "a8-118.saclay.iot-lab.info",
- "a8-119.saclay.iot-lab.info",
- "a8-120.saclay.iot-lab.info",
- "a8-121.saclay.iot-lab.info",
- "a8-122.saclay.iot-lab.info",
- "a8-124.saclay.iot-lab.info",
- "a8-125.saclay.iot-lab.info",
- "a8-126.saclay.iot-lab.info",
- "a8-127.saclay.iot-lab.info",
- "a8-128.saclay.iot-lab.info",
- "a8-130.saclay.iot-lab.info",
- "a8-131.saclay.iot-lab.info",
- "a8-132.saclay.iot-lab.info",
- "a8-133.saclay.iot-lab.info",
- "a8-134.saclay.iot-lab.info",
- "a8-135.saclay.iot-lab.info",
- "a8-136.saclay.iot-lab.info",
- "a8-137.saclay.iot-lab.info",
- "a8-138.saclay.iot-lab.info",
- "a8-139.saclay.iot-lab.info",
- "a8-140.saclay.iot-lab.info",
- "a8-141.saclay.iot-lab.info",
- "a8-142.saclay.iot-lab.info",
- "a8-143.saclay.iot-lab.info",
- "a8-144.saclay.iot-lab.info",
- "a8-145.saclay.iot-lab.info",
- "a8-146.saclay.iot-lab.info",
- "a8-147.saclay.iot-lab.info",
- "a8-148.saclay.iot-lab.info",
- "a8-149.saclay.iot-lab.info",
- "a8-150.saclay.iot-lab.info",
- "a8-151.saclay.iot-lab.info",
- "a8-152.saclay.iot-lab.info",
- "a8-153.saclay.iot-lab.info",
- "a8-154.saclay.iot-lab.info",
- "a8-155.saclay.iot-lab.info",
- "a8-156.saclay.iot-lab.info",
- "a8-157.saclay.iot-lab.info",
- "a8-158.saclay.iot-lab.info",
- "a8-159.saclay.iot-lab.info",
- "a8-160.saclay.iot-lab.info",
- "a8-162.saclay.iot-lab.info",
- "a8-163.saclay.iot-lab.info",
- "a8-164.saclay.iot-lab.info",
- "a8-165.saclay.iot-lab.info",
- "a8-166.saclay.iot-lab.info",
- "a8-167.saclay.iot-lab.info",
- "a8-168.saclay.iot-lab.info",
- "a8-169.saclay.iot-lab.info",
- "a8-170.saclay.iot-lab.info",
- "a8-171.saclay.iot-lab.info",
- "a8-172.saclay.iot-lab.info",
- "a8-173.saclay.iot-lab.info",
- "a8-174.saclay.iot-lab.info",
- "a8-175.saclay.iot-lab.info",
- "custom-1.saclay.iot-lab.info",
- "custom-2.saclay.iot-lab.info",
- "custom-3.saclay.iot-lab.info",
- "custom-4.saclay.iot-lab.info",
- "custom-5.saclay.iot-lab.info",
- "custom-6.saclay.iot-lab.info",
- "custom-7.saclay.iot-lab.info",
- "custom-8.saclay.iot-lab.info"
- ],
- "rennes": [
- "wsn430-2.rennes.iot-lab.info",
- "wsn430-3.rennes.iot-lab.info",
- "wsn430-5.rennes.iot-lab.info",
- "wsn430-6.rennes.iot-lab.info",
- "wsn430-7.rennes.iot-lab.info",
- "wsn430-8.rennes.iot-lab.info",
- "wsn430-9.rennes.iot-lab.info",
- "wsn430-10.rennes.iot-lab.info",
- "wsn430-11.rennes.iot-lab.info",
- "wsn430-12.rennes.iot-lab.info",
- "wsn430-13.rennes.iot-lab.info",
- "wsn430-14.rennes.iot-lab.info",
- "wsn430-15.rennes.iot-lab.info",
- "wsn430-16.rennes.iot-lab.info",
- "wsn430-17.rennes.iot-lab.info",
- "wsn430-18.rennes.iot-lab.info",
- "wsn430-19.rennes.iot-lab.info",
- "wsn430-20.rennes.iot-lab.info",
- "wsn430-21.rennes.iot-lab.info",
- "wsn430-22.rennes.iot-lab.info",
- "wsn430-23.rennes.iot-lab.info",
- "wsn430-24.rennes.iot-lab.info",
- "wsn430-25.rennes.iot-lab.info",
- "wsn430-26.rennes.iot-lab.info",
- "wsn430-27.rennes.iot-lab.info",
- "wsn430-28.rennes.iot-lab.info",
- "wsn430-29.rennes.iot-lab.info",
- "wsn430-30.rennes.iot-lab.info",
- "wsn430-31.rennes.iot-lab.info",
- "wsn430-32.rennes.iot-lab.info",
- "wsn430-34.rennes.iot-lab.info",
- "wsn430-35.rennes.iot-lab.info",
- "wsn430-36.rennes.iot-lab.info",
- "wsn430-37.rennes.iot-lab.info",
- "wsn430-38.rennes.iot-lab.info",
- "wsn430-39.rennes.iot-lab.info",
- "wsn430-40.rennes.iot-lab.info",
- "wsn430-41.rennes.iot-lab.info",
- "wsn430-42.rennes.iot-lab.info",
- "wsn430-43.rennes.iot-lab.info",
- "wsn430-44.rennes.iot-lab.info",
- "wsn430-45.rennes.iot-lab.info",
- "wsn430-46.rennes.iot-lab.info",
- "wsn430-49.rennes.iot-lab.info",
- "wsn430-50.rennes.iot-lab.info",
- "wsn430-51.rennes.iot-lab.info",
- "wsn430-52.rennes.iot-lab.info",
- "wsn430-53.rennes.iot-lab.info",
- "wsn430-54.rennes.iot-lab.info",
- "wsn430-55.rennes.iot-lab.info",
- "wsn430-56.rennes.iot-lab.info",
- "wsn430-57.rennes.iot-lab.info",
- "wsn430-58.rennes.iot-lab.info",
- "wsn430-59.rennes.iot-lab.info",
- "wsn430-60.rennes.iot-lab.info",
- "wsn430-61.rennes.iot-lab.info",
- "wsn430-62.rennes.iot-lab.info",
- "wsn430-63.rennes.iot-lab.info",
- "wsn430-64.rennes.iot-lab.info",
- "wsn430-65.rennes.iot-lab.info",
- "wsn430-66.rennes.iot-lab.info",
- "wsn430-67.rennes.iot-lab.info",
- "wsn430-68.rennes.iot-lab.info",
- "wsn430-69.rennes.iot-lab.info",
- "wsn430-70.rennes.iot-lab.info",
- "wsn430-71.rennes.iot-lab.info",
- "wsn430-73.rennes.iot-lab.info",
- "wsn430-74.rennes.iot-lab.info",
- "wsn430-75.rennes.iot-lab.info",
- "wsn430-76.rennes.iot-lab.info",
- "wsn430-77.rennes.iot-lab.info",
- "wsn430-78.rennes.iot-lab.info",
- "wsn430-80.rennes.iot-lab.info",
- "wsn430-81.rennes.iot-lab.info",
- "wsn430-82.rennes.iot-lab.info",
- "wsn430-83.rennes.iot-lab.info",
- "wsn430-84.rennes.iot-lab.info",
- "wsn430-85.rennes.iot-lab.info",
- "wsn430-86.rennes.iot-lab.info",
- "wsn430-87.rennes.iot-lab.info",
- "wsn430-88.rennes.iot-lab.info",
- "wsn430-89.rennes.iot-lab.info",
- "wsn430-90.rennes.iot-lab.info",
- "wsn430-91.rennes.iot-lab.info",
- "wsn430-92.rennes.iot-lab.info",
- "wsn430-93.rennes.iot-lab.info",
- "wsn430-94.rennes.iot-lab.info",
- "wsn430-95.rennes.iot-lab.info",
- "wsn430-96.rennes.iot-lab.info",
- "wsn430-97.rennes.iot-lab.info",
- "wsn430-101.rennes.iot-lab.info",
- "wsn430-102.rennes.iot-lab.info",
- "wsn430-104.rennes.iot-lab.info",
- "wsn430-106.rennes.iot-lab.info",
- "wsn430-109.rennes.iot-lab.info",
- "wsn430-110.rennes.iot-lab.info",
- "wsn430-111.rennes.iot-lab.info",
- "wsn430-112.rennes.iot-lab.info",
- "wsn430-113.rennes.iot-lab.info",
- "wsn430-114.rennes.iot-lab.info",
- "wsn430-116.rennes.iot-lab.info",
- "wsn430-118.rennes.iot-lab.info",
- "wsn430-119.rennes.iot-lab.info",
- "wsn430-120.rennes.iot-lab.info",
- "wsn430-121.rennes.iot-lab.info",
- "wsn430-122.rennes.iot-lab.info",
- "wsn430-123.rennes.iot-lab.info",
- "wsn430-125.rennes.iot-lab.info",
- "wsn430-126.rennes.iot-lab.info",
- "wsn430-127.rennes.iot-lab.info",
- "wsn430-128.rennes.iot-lab.info",
- "wsn430-129.rennes.iot-lab.info",
- "wsn430-133.rennes.iot-lab.info",
- "wsn430-134.rennes.iot-lab.info",
- "wsn430-135.rennes.iot-lab.info",
- "wsn430-136.rennes.iot-lab.info",
- "wsn430-138.rennes.iot-lab.info",
- "wsn430-139.rennes.iot-lab.info",
- "wsn430-140.rennes.iot-lab.info",
- "wsn430-141.rennes.iot-lab.info",
- "wsn430-142.rennes.iot-lab.info",
- "wsn430-143.rennes.iot-lab.info",
- "wsn430-144.rennes.iot-lab.info",
- "wsn430-145.rennes.iot-lab.info",
- "wsn430-146.rennes.iot-lab.info",
- "wsn430-147.rennes.iot-lab.info",
- "wsn430-148.rennes.iot-lab.info",
- "wsn430-150.rennes.iot-lab.info",
- "wsn430-152.rennes.iot-lab.info",
- "wsn430-153.rennes.iot-lab.info",
- "wsn430-154.rennes.iot-lab.info",
- "wsn430-155.rennes.iot-lab.info",
- "wsn430-156.rennes.iot-lab.info",
- "wsn430-157.rennes.iot-lab.info",
- "wsn430-158.rennes.iot-lab.info",
- "wsn430-159.rennes.iot-lab.info",
- "wsn430-160.rennes.iot-lab.info",
- "wsn430-161.rennes.iot-lab.info",
- "wsn430-162.rennes.iot-lab.info",
- "wsn430-163.rennes.iot-lab.info",
- "wsn430-164.rennes.iot-lab.info",
- "wsn430-165.rennes.iot-lab.info",
- "wsn430-166.rennes.iot-lab.info",
- "wsn430-167.rennes.iot-lab.info",
- "wsn430-168.rennes.iot-lab.info",
- "wsn430-169.rennes.iot-lab.info",
- "wsn430-170.rennes.iot-lab.info",
- "wsn430-171.rennes.iot-lab.info",
- "wsn430-172.rennes.iot-lab.info",
- "wsn430-173.rennes.iot-lab.info",
- "wsn430-174.rennes.iot-lab.info",
- "wsn430-175.rennes.iot-lab.info",
- "wsn430-176.rennes.iot-lab.info",
- "wsn430-177.rennes.iot-lab.info",
- "wsn430-178.rennes.iot-lab.info",
- "wsn430-179.rennes.iot-lab.info",
- "wsn430-180.rennes.iot-lab.info",
- "wsn430-181.rennes.iot-lab.info",
- "wsn430-182.rennes.iot-lab.info",
- "wsn430-183.rennes.iot-lab.info",
- "wsn430-184.rennes.iot-lab.info",
- "wsn430-185.rennes.iot-lab.info",
- "wsn430-186.rennes.iot-lab.info",
- "wsn430-187.rennes.iot-lab.info",
- "wsn430-188.rennes.iot-lab.info",
- "wsn430-189.rennes.iot-lab.info",
- "wsn430-190.rennes.iot-lab.info",
- "wsn430-191.rennes.iot-lab.info",
- "wsn430-193.rennes.iot-lab.info",
- "wsn430-194.rennes.iot-lab.info",
- "wsn430-195.rennes.iot-lab.info",
- "wsn430-196.rennes.iot-lab.info",
- "wsn430-197.rennes.iot-lab.info",
- "wsn430-198.rennes.iot-lab.info",
- "wsn430-199.rennes.iot-lab.info",
- "wsn430-200.rennes.iot-lab.info",
- "wsn430-201.rennes.iot-lab.info",
- "wsn430-202.rennes.iot-lab.info",
- "wsn430-203.rennes.iot-lab.info",
- "wsn430-204.rennes.iot-lab.info",
- "wsn430-205.rennes.iot-lab.info",
- "wsn430-206.rennes.iot-lab.info",
- "wsn430-207.rennes.iot-lab.info",
- "wsn430-208.rennes.iot-lab.info",
- "wsn430-209.rennes.iot-lab.info",
- "wsn430-210.rennes.iot-lab.info",
- "wsn430-211.rennes.iot-lab.info",
- "wsn430-212.rennes.iot-lab.info",
- "wsn430-213.rennes.iot-lab.info",
- "wsn430-214.rennes.iot-lab.info",
- "wsn430-215.rennes.iot-lab.info",
- "wsn430-216.rennes.iot-lab.info",
- "wsn430-217.rennes.iot-lab.info",
- "wsn430-218.rennes.iot-lab.info",
- "wsn430-219.rennes.iot-lab.info",
- "wsn430-220.rennes.iot-lab.info",
- "wsn430-221.rennes.iot-lab.info",
- "wsn430-222.rennes.iot-lab.info",
- "wsn430-223.rennes.iot-lab.info",
- "wsn430-225.rennes.iot-lab.info",
- "wsn430-226.rennes.iot-lab.info",
- "wsn430-227.rennes.iot-lab.info",
- "wsn430-228.rennes.iot-lab.info",
- "wsn430-229.rennes.iot-lab.info",
- "wsn430-230.rennes.iot-lab.info",
- "wsn430-231.rennes.iot-lab.info",
- "wsn430-232.rennes.iot-lab.info",
- "wsn430-233.rennes.iot-lab.info",
- "wsn430-234.rennes.iot-lab.info",
- "wsn430-235.rennes.iot-lab.info",
- "wsn430-236.rennes.iot-lab.info",
- "wsn430-237.rennes.iot-lab.info",
- "wsn430-238.rennes.iot-lab.info",
- "wsn430-240.rennes.iot-lab.info",
- "wsn430-241.rennes.iot-lab.info",
- "wsn430-242.rennes.iot-lab.info",
- "wsn430-243.rennes.iot-lab.info",
- "wsn430-244.rennes.iot-lab.info",
- "wsn430-245.rennes.iot-lab.info",
- "wsn430-247.rennes.iot-lab.info",
- "wsn430-248.rennes.iot-lab.info",
- "wsn430-249.rennes.iot-lab.info",
- "wsn430-250.rennes.iot-lab.info",
- "wsn430-251.rennes.iot-lab.info",
- "wsn430-252.rennes.iot-lab.info",
- "wsn430-253.rennes.iot-lab.info",
- "wsn430-254.rennes.iot-lab.info",
- "wsn430-255.rennes.iot-lab.info",
- "wsn430-256.rennes.iot-lab.info"
- ],
- "grenoble": [
- "wsn430-1.grenoble.iot-lab.info",
- "wsn430-2.grenoble.iot-lab.info",
- "wsn430-3.grenoble.iot-lab.info",
- "wsn430-4.grenoble.iot-lab.info",
- "wsn430-5.grenoble.iot-lab.info",
- "wsn430-6.grenoble.iot-lab.info",
- "wsn430-7.grenoble.iot-lab.info",
- "wsn430-8.grenoble.iot-lab.info",
- "wsn430-10.grenoble.iot-lab.info",
- "wsn430-11.grenoble.iot-lab.info",
- "wsn430-12.grenoble.iot-lab.info",
- "wsn430-13.grenoble.iot-lab.info",
- "wsn430-14.grenoble.iot-lab.info",
- "wsn430-15.grenoble.iot-lab.info",
- "wsn430-16.grenoble.iot-lab.info",
- "wsn430-17.grenoble.iot-lab.info",
- "wsn430-18.grenoble.iot-lab.info",
- "wsn430-19.grenoble.iot-lab.info",
- "wsn430-20.grenoble.iot-lab.info",
- "wsn430-21.grenoble.iot-lab.info",
- "wsn430-22.grenoble.iot-lab.info",
- "wsn430-23.grenoble.iot-lab.info",
- "wsn430-24.grenoble.iot-lab.info",
- "wsn430-25.grenoble.iot-lab.info",
- "wsn430-26.grenoble.iot-lab.info",
- "wsn430-27.grenoble.iot-lab.info",
- "wsn430-28.grenoble.iot-lab.info",
- "wsn430-29.grenoble.iot-lab.info",
- "wsn430-30.grenoble.iot-lab.info",
- "wsn430-31.grenoble.iot-lab.info",
- "wsn430-32.grenoble.iot-lab.info",
- "wsn430-33.grenoble.iot-lab.info",
- "wsn430-34.grenoble.iot-lab.info",
- "wsn430-35.grenoble.iot-lab.info",
- "wsn430-36.grenoble.iot-lab.info",
- "wsn430-37.grenoble.iot-lab.info",
- "wsn430-38.grenoble.iot-lab.info",
- "wsn430-39.grenoble.iot-lab.info",
- "wsn430-40.grenoble.iot-lab.info",
- "wsn430-41.grenoble.iot-lab.info",
- "wsn430-42.grenoble.iot-lab.info",
- "wsn430-43.grenoble.iot-lab.info",
- "wsn430-44.grenoble.iot-lab.info",
- "wsn430-45.grenoble.iot-lab.info",
- "wsn430-46.grenoble.iot-lab.info",
- "wsn430-47.grenoble.iot-lab.info",
- "wsn430-48.grenoble.iot-lab.info",
- "wsn430-49.grenoble.iot-lab.info",
- "wsn430-50.grenoble.iot-lab.info",
- "wsn430-51.grenoble.iot-lab.info",
- "wsn430-52.grenoble.iot-lab.info",
- "wsn430-53.grenoble.iot-lab.info",
- "wsn430-54.grenoble.iot-lab.info",
- "wsn430-55.grenoble.iot-lab.info",
- "wsn430-56.grenoble.iot-lab.info",
- "wsn430-57.grenoble.iot-lab.info",
- "wsn430-58.grenoble.iot-lab.info",
- "wsn430-59.grenoble.iot-lab.info",
- "wsn430-60.grenoble.iot-lab.info",
- "wsn430-61.grenoble.iot-lab.info",
- "wsn430-62.grenoble.iot-lab.info",
- "wsn430-63.grenoble.iot-lab.info",
- "wsn430-64.grenoble.iot-lab.info",
- "wsn430-65.grenoble.iot-lab.info",
- "wsn430-66.grenoble.iot-lab.info",
- "wsn430-69.grenoble.iot-lab.info",
- "wsn430-70.grenoble.iot-lab.info",
- "wsn430-71.grenoble.iot-lab.info",
- "wsn430-72.grenoble.iot-lab.info",
- "wsn430-73.grenoble.iot-lab.info",
- "wsn430-74.grenoble.iot-lab.info",
- "wsn430-75.grenoble.iot-lab.info",
- "wsn430-76.grenoble.iot-lab.info",
- "wsn430-77.grenoble.iot-lab.info",
- "wsn430-78.grenoble.iot-lab.info",
- "wsn430-79.grenoble.iot-lab.info",
- "wsn430-80.grenoble.iot-lab.info",
- "wsn430-81.grenoble.iot-lab.info",
- "wsn430-82.grenoble.iot-lab.info",
- "wsn430-83.grenoble.iot-lab.info",
- "wsn430-84.grenoble.iot-lab.info",
- "wsn430-85.grenoble.iot-lab.info",
- "wsn430-86.grenoble.iot-lab.info",
- "wsn430-87.grenoble.iot-lab.info",
- "wsn430-88.grenoble.iot-lab.info",
- "wsn430-89.grenoble.iot-lab.info",
- "wsn430-90.grenoble.iot-lab.info",
- "wsn430-91.grenoble.iot-lab.info",
- "wsn430-92.grenoble.iot-lab.info",
- "wsn430-93.grenoble.iot-lab.info",
- "wsn430-94.grenoble.iot-lab.info",
- "wsn430-95.grenoble.iot-lab.info",
- "wsn430-96.grenoble.iot-lab.info",
- "wsn430-97.grenoble.iot-lab.info",
- "wsn430-98.grenoble.iot-lab.info",
- "wsn430-99.grenoble.iot-lab.info",
- "wsn430-100.grenoble.iot-lab.info",
- "wsn430-101.grenoble.iot-lab.info",
- "wsn430-102.grenoble.iot-lab.info",
- "wsn430-126.grenoble.iot-lab.info",
- "wsn430-127.grenoble.iot-lab.info",
- "wsn430-128.grenoble.iot-lab.info",
- "wsn430-129.grenoble.iot-lab.info",
- "wsn430-130.grenoble.iot-lab.info",
- "wsn430-131.grenoble.iot-lab.info",
- "wsn430-132.grenoble.iot-lab.info",
- "wsn430-133.grenoble.iot-lab.info",
- "wsn430-134.grenoble.iot-lab.info",
- "wsn430-135.grenoble.iot-lab.info",
- "wsn430-136.grenoble.iot-lab.info",
- "wsn430-137.grenoble.iot-lab.info",
- "wsn430-138.grenoble.iot-lab.info",
- "wsn430-139.grenoble.iot-lab.info",
- "wsn430-140.grenoble.iot-lab.info",
- "wsn430-141.grenoble.iot-lab.info",
- "wsn430-142.grenoble.iot-lab.info",
- "wsn430-143.grenoble.iot-lab.info",
- "wsn430-144.grenoble.iot-lab.info",
- "wsn430-145.grenoble.iot-lab.info",
- "wsn430-146.grenoble.iot-lab.info",
- "wsn430-147.grenoble.iot-lab.info",
- "wsn430-148.grenoble.iot-lab.info",
- "wsn430-149.grenoble.iot-lab.info",
- "wsn430-150.grenoble.iot-lab.info",
- "wsn430-151.grenoble.iot-lab.info",
- "wsn430-152.grenoble.iot-lab.info",
- "wsn430-153.grenoble.iot-lab.info",
- "wsn430-154.grenoble.iot-lab.info",
- "wsn430-155.grenoble.iot-lab.info",
- "wsn430-156.grenoble.iot-lab.info",
- "wsn430-157.grenoble.iot-lab.info",
- "wsn430-158.grenoble.iot-lab.info",
- "wsn430-159.grenoble.iot-lab.info",
- "wsn430-160.grenoble.iot-lab.info",
- "wsn430-161.grenoble.iot-lab.info",
- "wsn430-162.grenoble.iot-lab.info",
- "wsn430-163.grenoble.iot-lab.info",
- "wsn430-164.grenoble.iot-lab.info",
- "wsn430-165.grenoble.iot-lab.info",
- "wsn430-166.grenoble.iot-lab.info",
- "wsn430-167.grenoble.iot-lab.info",
- "wsn430-168.grenoble.iot-lab.info",
- "wsn430-169.grenoble.iot-lab.info",
- "wsn430-171.grenoble.iot-lab.info",
- "wsn430-172.grenoble.iot-lab.info",
- "wsn430-173.grenoble.iot-lab.info",
- "wsn430-174.grenoble.iot-lab.info",
- "wsn430-175.grenoble.iot-lab.info",
- "wsn430-176.grenoble.iot-lab.info",
- "wsn430-177.grenoble.iot-lab.info",
- "wsn430-178.grenoble.iot-lab.info",
- "wsn430-179.grenoble.iot-lab.info",
- "wsn430-180.grenoble.iot-lab.info",
- "wsn430-181.grenoble.iot-lab.info",
- "wsn430-182.grenoble.iot-lab.info",
- "wsn430-183.grenoble.iot-lab.info",
- "wsn430-184.grenoble.iot-lab.info",
- "wsn430-185.grenoble.iot-lab.info",
- "wsn430-186.grenoble.iot-lab.info",
- "wsn430-187.grenoble.iot-lab.info",
- "wsn430-188.grenoble.iot-lab.info",
- "wsn430-189.grenoble.iot-lab.info",
- "wsn430-190.grenoble.iot-lab.info",
- "wsn430-191.grenoble.iot-lab.info",
- "wsn430-192.grenoble.iot-lab.info",
- "wsn430-193.grenoble.iot-lab.info",
- "wsn430-194.grenoble.iot-lab.info",
- "wsn430-195.grenoble.iot-lab.info",
- "wsn430-196.grenoble.iot-lab.info",
- "wsn430-197.grenoble.iot-lab.info",
- "wsn430-198.grenoble.iot-lab.info",
- "wsn430-199.grenoble.iot-lab.info",
- "wsn430-200.grenoble.iot-lab.info",
- "wsn430-201.grenoble.iot-lab.info",
- "wsn430-202.grenoble.iot-lab.info",
- "wsn430-203.grenoble.iot-lab.info",
- "wsn430-204.grenoble.iot-lab.info",
- "wsn430-205.grenoble.iot-lab.info",
- "wsn430-206.grenoble.iot-lab.info",
- "wsn430-207.grenoble.iot-lab.info",
- "wsn430-208.grenoble.iot-lab.info",
- "wsn430-209.grenoble.iot-lab.info",
- "wsn430-210.grenoble.iot-lab.info",
- "wsn430-211.grenoble.iot-lab.info",
- "wsn430-212.grenoble.iot-lab.info",
- "wsn430-213.grenoble.iot-lab.info",
- "wsn430-214.grenoble.iot-lab.info",
- "wsn430-215.grenoble.iot-lab.info",
- "wsn430-216.grenoble.iot-lab.info",
- "wsn430-217.grenoble.iot-lab.info",
- "wsn430-218.grenoble.iot-lab.info",
- "wsn430-219.grenoble.iot-lab.info",
- "wsn430-220.grenoble.iot-lab.info",
- "wsn430-221.grenoble.iot-lab.info",
- "wsn430-222.grenoble.iot-lab.info",
- "wsn430-223.grenoble.iot-lab.info",
- "wsn430-224.grenoble.iot-lab.info",
- "wsn430-225.grenoble.iot-lab.info",
- "wsn430-226.grenoble.iot-lab.info",
- "wsn430-227.grenoble.iot-lab.info",
- "wsn430-228.grenoble.iot-lab.info",
- "wsn430-229.grenoble.iot-lab.info",
- "wsn430-230.grenoble.iot-lab.info",
- "wsn430-231.grenoble.iot-lab.info",
- "wsn430-232.grenoble.iot-lab.info",
- "wsn430-233.grenoble.iot-lab.info",
- "wsn430-234.grenoble.iot-lab.info",
- "wsn430-235.grenoble.iot-lab.info",
- "wsn430-236.grenoble.iot-lab.info",
- "wsn430-237.grenoble.iot-lab.info",
- "wsn430-238.grenoble.iot-lab.info",
- "wsn430-239.grenoble.iot-lab.info",
- "wsn430-241.grenoble.iot-lab.info",
- "wsn430-242.grenoble.iot-lab.info",
- "wsn430-243.grenoble.iot-lab.info",
- "wsn430-244.grenoble.iot-lab.info",
- "wsn430-245.grenoble.iot-lab.info",
- "wsn430-246.grenoble.iot-lab.info",
- "wsn430-247.grenoble.iot-lab.info",
- "wsn430-248.grenoble.iot-lab.info",
- "wsn430-249.grenoble.iot-lab.info",
- "wsn430-250.grenoble.iot-lab.info",
- "wsn430-251.grenoble.iot-lab.info",
- "wsn430-252.grenoble.iot-lab.info",
- "wsn430-253.grenoble.iot-lab.info",
- "wsn430-254.grenoble.iot-lab.info",
- "wsn430-255.grenoble.iot-lab.info",
- "m3-2.grenoble.iot-lab.info",
- "m3-4.grenoble.iot-lab.info",
- "m3-5.grenoble.iot-lab.info",
- "m3-11.grenoble.iot-lab.info",
- "m3-13.grenoble.iot-lab.info",
- "m3-14.grenoble.iot-lab.info",
- "m3-15.grenoble.iot-lab.info",
- "m3-21.grenoble.iot-lab.info",
- "m3-23.grenoble.iot-lab.info",
- "m3-25.grenoble.iot-lab.info",
- "m3-29.grenoble.iot-lab.info",
- "m3-30.grenoble.iot-lab.info",
- "m3-31.grenoble.iot-lab.info",
- "m3-32.grenoble.iot-lab.info",
- "m3-33.grenoble.iot-lab.info",
- "m3-35.grenoble.iot-lab.info",
- "m3-37.grenoble.iot-lab.info",
- "m3-38.grenoble.iot-lab.info",
- "m3-39.grenoble.iot-lab.info",
- "m3-40.grenoble.iot-lab.info",
- "m3-45.grenoble.iot-lab.info",
- "m3-48.grenoble.iot-lab.info",
- "m3-49.grenoble.iot-lab.info",
- "m3-51.grenoble.iot-lab.info",
- "m3-55.grenoble.iot-lab.info",
- "m3-59.grenoble.iot-lab.info",
- "m3-61.grenoble.iot-lab.info",
- "m3-63.grenoble.iot-lab.info",
- "m3-65.grenoble.iot-lab.info",
- "m3-68.grenoble.iot-lab.info",
- "m3-69.grenoble.iot-lab.info",
- "m3-71.grenoble.iot-lab.info",
- "m3-72.grenoble.iot-lab.info",
- "m3-73.grenoble.iot-lab.info",
- "m3-77.grenoble.iot-lab.info",
- "m3-80.grenoble.iot-lab.info",
- "m3-85.grenoble.iot-lab.info",
- "m3-88.grenoble.iot-lab.info",
- "m3-91.grenoble.iot-lab.info",
- "m3-94.grenoble.iot-lab.info",
- "m3-101.grenoble.iot-lab.info",
- "m3-102.grenoble.iot-lab.info",
- "m3-105.grenoble.iot-lab.info",
- "m3-106.grenoble.iot-lab.info",
- "m3-109.grenoble.iot-lab.info",
- "m3-113.grenoble.iot-lab.info",
- "m3-114.grenoble.iot-lab.info",
- "m3-115.grenoble.iot-lab.info",
- "m3-116.grenoble.iot-lab.info",
- "m3-117.grenoble.iot-lab.info",
- "m3-118.grenoble.iot-lab.info",
- "m3-122.grenoble.iot-lab.info",
- "m3-123.grenoble.iot-lab.info",
- "m3-125.grenoble.iot-lab.info",
- "m3-129.grenoble.iot-lab.info",
- "m3-130.grenoble.iot-lab.info",
- "m3-131.grenoble.iot-lab.info",
- "m3-132.grenoble.iot-lab.info",
- "m3-133.grenoble.iot-lab.info",
- "m3-135.grenoble.iot-lab.info",
- "m3-136.grenoble.iot-lab.info",
- "m3-139.grenoble.iot-lab.info",
- "m3-140.grenoble.iot-lab.info",
- "m3-141.grenoble.iot-lab.info",
- "m3-142.grenoble.iot-lab.info",
- "m3-146.grenoble.iot-lab.info",
- "m3-147.grenoble.iot-lab.info",
- "m3-148.grenoble.iot-lab.info",
- "m3-150.grenoble.iot-lab.info",
- "m3-151.grenoble.iot-lab.info",
- "m3-152.grenoble.iot-lab.info",
- "m3-155.grenoble.iot-lab.info",
- "m3-157.grenoble.iot-lab.info",
- "m3-158.grenoble.iot-lab.info",
- "m3-159.grenoble.iot-lab.info",
- "m3-160.grenoble.iot-lab.info",
- "m3-161.grenoble.iot-lab.info",
- "m3-162.grenoble.iot-lab.info",
- "m3-167.grenoble.iot-lab.info",
- "m3-169.grenoble.iot-lab.info",
- "m3-171.grenoble.iot-lab.info",
- "m3-174.grenoble.iot-lab.info",
- "m3-175.grenoble.iot-lab.info",
- "m3-179.grenoble.iot-lab.info",
- "m3-180.grenoble.iot-lab.info",
- "m3-181.grenoble.iot-lab.info",
- "m3-182.grenoble.iot-lab.info",
- "m3-188.grenoble.iot-lab.info",
- "m3-189.grenoble.iot-lab.info",
- "m3-191.grenoble.iot-lab.info",
- "m3-192.grenoble.iot-lab.info",
- "m3-194.grenoble.iot-lab.info",
- "m3-196.grenoble.iot-lab.info",
- "m3-197.grenoble.iot-lab.info",
- "m3-198.grenoble.iot-lab.info",
- "m3-204.grenoble.iot-lab.info",
- "m3-206.grenoble.iot-lab.info",
- "m3-208.grenoble.iot-lab.info",
- "m3-210.grenoble.iot-lab.info",
- "m3-212.grenoble.iot-lab.info",
- "m3-213.grenoble.iot-lab.info",
- "m3-214.grenoble.iot-lab.info",
- "m3-216.grenoble.iot-lab.info",
- "m3-219.grenoble.iot-lab.info",
- "m3-220.grenoble.iot-lab.info",
- "m3-222.grenoble.iot-lab.info",
- "m3-226.grenoble.iot-lab.info",
- "m3-227.grenoble.iot-lab.info",
- "m3-231.grenoble.iot-lab.info",
- "m3-232.grenoble.iot-lab.info",
- "m3-234.grenoble.iot-lab.info",
- "m3-235.grenoble.iot-lab.info",
- "m3-236.grenoble.iot-lab.info",
- "m3-237.grenoble.iot-lab.info",
- "m3-239.grenoble.iot-lab.info",
- "m3-241.grenoble.iot-lab.info",
- "m3-242.grenoble.iot-lab.info",
- "m3-244.grenoble.iot-lab.info",
- "m3-245.grenoble.iot-lab.info",
- "m3-246.grenoble.iot-lab.info",
- "m3-248.grenoble.iot-lab.info",
- "m3-252.grenoble.iot-lab.info",
- "m3-253.grenoble.iot-lab.info",
- "m3-254.grenoble.iot-lab.info",
- "m3-257.grenoble.iot-lab.info",
- "m3-258.grenoble.iot-lab.info",
- "m3-260.grenoble.iot-lab.info",
- "m3-262.grenoble.iot-lab.info",
- "m3-263.grenoble.iot-lab.info",
- "m3-264.grenoble.iot-lab.info",
- "m3-265.grenoble.iot-lab.info",
- "m3-267.grenoble.iot-lab.info",
- "m3-271.grenoble.iot-lab.info",
- "m3-272.grenoble.iot-lab.info",
- "m3-273.grenoble.iot-lab.info",
- "m3-278.grenoble.iot-lab.info",
- "m3-280.grenoble.iot-lab.info",
- "m3-282.grenoble.iot-lab.info",
- "m3-285.grenoble.iot-lab.info",
- "m3-288.grenoble.iot-lab.info",
- "m3-289.grenoble.iot-lab.info",
- "m3-290.grenoble.iot-lab.info",
- "m3-292.grenoble.iot-lab.info",
- "m3-293.grenoble.iot-lab.info",
- "m3-297.grenoble.iot-lab.info",
- "m3-298.grenoble.iot-lab.info",
- "m3-299.grenoble.iot-lab.info",
- "m3-301.grenoble.iot-lab.info",
- "m3-303.grenoble.iot-lab.info",
- "m3-307.grenoble.iot-lab.info",
- "m3-309.grenoble.iot-lab.info",
- "m3-310.grenoble.iot-lab.info",
- "m3-311.grenoble.iot-lab.info",
- "m3-312.grenoble.iot-lab.info",
- "m3-313.grenoble.iot-lab.info",
- "m3-314.grenoble.iot-lab.info",
- "m3-317.grenoble.iot-lab.info",
- "m3-318.grenoble.iot-lab.info",
- "m3-321.grenoble.iot-lab.info",
- "m3-322.grenoble.iot-lab.info",
- "m3-324.grenoble.iot-lab.info",
- "m3-325.grenoble.iot-lab.info",
- "m3-328.grenoble.iot-lab.info",
- "m3-335.grenoble.iot-lab.info",
- "m3-337.grenoble.iot-lab.info",
- "m3-338.grenoble.iot-lab.info",
- "m3-339.grenoble.iot-lab.info",
- "m3-343.grenoble.iot-lab.info",
- "m3-344.grenoble.iot-lab.info",
- "m3-346.grenoble.iot-lab.info",
- "m3-348.grenoble.iot-lab.info",
- "m3-349.grenoble.iot-lab.info",
- "m3-354.grenoble.iot-lab.info",
- "m3-359.grenoble.iot-lab.info",
- "m3-360.grenoble.iot-lab.info",
- "m3-363.grenoble.iot-lab.info",
- "m3-366.grenoble.iot-lab.info",
- "m3-367.grenoble.iot-lab.info",
- "m3-368.grenoble.iot-lab.info",
- "m3-371.grenoble.iot-lab.info",
- "m3-374.grenoble.iot-lab.info",
- "m3-375.grenoble.iot-lab.info",
- "m3-376.grenoble.iot-lab.info",
- "m3-377.grenoble.iot-lab.info",
- "m3-1.grenoble.iot-lab.info",
- "m3-3.grenoble.iot-lab.info",
- "m3-6.grenoble.iot-lab.info",
- "m3-7.grenoble.iot-lab.info",
- "m3-8.grenoble.iot-lab.info",
- "m3-10.grenoble.iot-lab.info",
- "m3-12.grenoble.iot-lab.info",
- "m3-16.grenoble.iot-lab.info",
- "m3-19.grenoble.iot-lab.info",
- "m3-20.grenoble.iot-lab.info",
- "m3-22.grenoble.iot-lab.info",
- "m3-24.grenoble.iot-lab.info",
- "m3-26.grenoble.iot-lab.info",
- "m3-27.grenoble.iot-lab.info",
- "m3-28.grenoble.iot-lab.info",
- "m3-34.grenoble.iot-lab.info",
- "m3-36.grenoble.iot-lab.info",
- "m3-41.grenoble.iot-lab.info",
- "m3-42.grenoble.iot-lab.info",
- "m3-43.grenoble.iot-lab.info",
- "m3-46.grenoble.iot-lab.info",
- "m3-47.grenoble.iot-lab.info",
- "m3-50.grenoble.iot-lab.info",
- "m3-52.grenoble.iot-lab.info",
- "m3-53.grenoble.iot-lab.info",
- "m3-56.grenoble.iot-lab.info",
- "m3-57.grenoble.iot-lab.info",
- "m3-58.grenoble.iot-lab.info",
- "m3-60.grenoble.iot-lab.info",
- "m3-62.grenoble.iot-lab.info",
- "m3-64.grenoble.iot-lab.info",
- "m3-66.grenoble.iot-lab.info",
- "m3-67.grenoble.iot-lab.info",
- "m3-70.grenoble.iot-lab.info",
- "m3-74.grenoble.iot-lab.info",
- "m3-75.grenoble.iot-lab.info",
- "m3-76.grenoble.iot-lab.info",
- "m3-78.grenoble.iot-lab.info",
- "m3-79.grenoble.iot-lab.info",
- "m3-83.grenoble.iot-lab.info",
- "m3-86.grenoble.iot-lab.info",
- "m3-87.grenoble.iot-lab.info",
- "m3-89.grenoble.iot-lab.info",
- "m3-90.grenoble.iot-lab.info",
- "m3-92.grenoble.iot-lab.info",
- "m3-93.grenoble.iot-lab.info",
- "m3-95.grenoble.iot-lab.info",
- "m3-96.grenoble.iot-lab.info",
- "m3-97.grenoble.iot-lab.info",
- "m3-98.grenoble.iot-lab.info",
- "m3-99.grenoble.iot-lab.info",
- "m3-100.grenoble.iot-lab.info",
- "m3-103.grenoble.iot-lab.info",
- "m3-104.grenoble.iot-lab.info",
- "m3-107.grenoble.iot-lab.info",
- "m3-108.grenoble.iot-lab.info",
- "m3-110.grenoble.iot-lab.info",
- "m3-112.grenoble.iot-lab.info",
- "m3-119.grenoble.iot-lab.info",
- "m3-120.grenoble.iot-lab.info",
- "m3-121.grenoble.iot-lab.info",
- "m3-126.grenoble.iot-lab.info",
- "m3-127.grenoble.iot-lab.info",
- "m3-128.grenoble.iot-lab.info",
- "m3-137.grenoble.iot-lab.info",
- "m3-144.grenoble.iot-lab.info",
- "m3-145.grenoble.iot-lab.info",
- "m3-149.grenoble.iot-lab.info",
- "m3-153.grenoble.iot-lab.info",
- "m3-154.grenoble.iot-lab.info",
- "m3-156.grenoble.iot-lab.info",
- "m3-163.grenoble.iot-lab.info",
- "m3-164.grenoble.iot-lab.info",
- "m3-166.grenoble.iot-lab.info",
- "m3-168.grenoble.iot-lab.info",
- "m3-170.grenoble.iot-lab.info",
- "m3-172.grenoble.iot-lab.info",
- "m3-173.grenoble.iot-lab.info",
- "m3-176.grenoble.iot-lab.info",
- "m3-177.grenoble.iot-lab.info",
- "m3-184.grenoble.iot-lab.info",
- "m3-186.grenoble.iot-lab.info",
- "m3-190.grenoble.iot-lab.info",
- "m3-193.grenoble.iot-lab.info",
- "m3-195.grenoble.iot-lab.info",
- "m3-199.grenoble.iot-lab.info",
- "m3-200.grenoble.iot-lab.info",
- "m3-201.grenoble.iot-lab.info",
- "m3-202.grenoble.iot-lab.info",
- "m3-207.grenoble.iot-lab.info",
- "m3-209.grenoble.iot-lab.info",
- "m3-211.grenoble.iot-lab.info",
- "m3-215.grenoble.iot-lab.info",
- "m3-217.grenoble.iot-lab.info",
- "m3-218.grenoble.iot-lab.info",
- "m3-221.grenoble.iot-lab.info",
- "m3-223.grenoble.iot-lab.info",
- "m3-224.grenoble.iot-lab.info",
- "m3-225.grenoble.iot-lab.info",
- "m3-228.grenoble.iot-lab.info",
- "m3-229.grenoble.iot-lab.info",
- "m3-230.grenoble.iot-lab.info",
- "m3-233.grenoble.iot-lab.info",
- "m3-238.grenoble.iot-lab.info",
- "m3-240.grenoble.iot-lab.info",
- "m3-247.grenoble.iot-lab.info",
- "m3-249.grenoble.iot-lab.info",
- "m3-250.grenoble.iot-lab.info",
- "m3-251.grenoble.iot-lab.info",
- "m3-256.grenoble.iot-lab.info",
- "m3-259.grenoble.iot-lab.info",
- "m3-261.grenoble.iot-lab.info",
- "m3-266.grenoble.iot-lab.info",
- "m3-268.grenoble.iot-lab.info",
- "m3-269.grenoble.iot-lab.info",
- "m3-274.grenoble.iot-lab.info",
- "m3-275.grenoble.iot-lab.info",
- "m3-276.grenoble.iot-lab.info",
- "m3-277.grenoble.iot-lab.info",
- "m3-279.grenoble.iot-lab.info",
- "m3-281.grenoble.iot-lab.info",
- "m3-283.grenoble.iot-lab.info",
- "m3-286.grenoble.iot-lab.info",
- "m3-287.grenoble.iot-lab.info",
- "m3-291.grenoble.iot-lab.info",
- "m3-294.grenoble.iot-lab.info",
- "m3-295.grenoble.iot-lab.info",
- "m3-296.grenoble.iot-lab.info",
- "m3-302.grenoble.iot-lab.info",
- "m3-304.grenoble.iot-lab.info",
- "m3-305.grenoble.iot-lab.info",
- "m3-306.grenoble.iot-lab.info",
- "m3-308.grenoble.iot-lab.info",
- "m3-315.grenoble.iot-lab.info",
- "m3-316.grenoble.iot-lab.info",
- "m3-320.grenoble.iot-lab.info",
- "m3-323.grenoble.iot-lab.info",
- "m3-326.grenoble.iot-lab.info",
- "m3-327.grenoble.iot-lab.info",
- "m3-329.grenoble.iot-lab.info",
- "m3-330.grenoble.iot-lab.info",
- "m3-332.grenoble.iot-lab.info",
- "m3-333.grenoble.iot-lab.info",
- "m3-334.grenoble.iot-lab.info",
- "m3-336.grenoble.iot-lab.info",
- "m3-340.grenoble.iot-lab.info",
- "m3-341.grenoble.iot-lab.info",
- "m3-342.grenoble.iot-lab.info",
- "m3-345.grenoble.iot-lab.info",
- "m3-347.grenoble.iot-lab.info",
- "m3-350.grenoble.iot-lab.info",
- "m3-352.grenoble.iot-lab.info",
- "m3-353.grenoble.iot-lab.info",
- "m3-355.grenoble.iot-lab.info",
- "m3-356.grenoble.iot-lab.info",
- "m3-357.grenoble.iot-lab.info",
- "m3-358.grenoble.iot-lab.info",
- "m3-361.grenoble.iot-lab.info",
- "m3-362.grenoble.iot-lab.info",
- "m3-364.grenoble.iot-lab.info",
- "m3-365.grenoble.iot-lab.info",
- "m3-369.grenoble.iot-lab.info",
- "m3-370.grenoble.iot-lab.info",
- "m3-372.grenoble.iot-lab.info",
- "m3-373.grenoble.iot-lab.info",
- "a8-1.grenoble.iot-lab.info",
- "a8-2.grenoble.iot-lab.info",
- "a8-3.grenoble.iot-lab.info",
- "a8-4.grenoble.iot-lab.info",
- "a8-5.grenoble.iot-lab.info",
- "a8-6.grenoble.iot-lab.info",
- "a8-7.grenoble.iot-lab.info",
- "a8-8.grenoble.iot-lab.info",
- "a8-9.grenoble.iot-lab.info",
- "a8-10.grenoble.iot-lab.info",
- "a8-12.grenoble.iot-lab.info",
- "a8-13.grenoble.iot-lab.info",
- "a8-14.grenoble.iot-lab.info",
- "a8-15.grenoble.iot-lab.info",
- "a8-16.grenoble.iot-lab.info",
- "a8-17.grenoble.iot-lab.info",
- "a8-18.grenoble.iot-lab.info",
- "a8-19.grenoble.iot-lab.info",
- "a8-20.grenoble.iot-lab.info",
- "a8-21.grenoble.iot-lab.info",
- "a8-22.grenoble.iot-lab.info",
- "a8-23.grenoble.iot-lab.info",
- "a8-24.grenoble.iot-lab.info",
- "a8-25.grenoble.iot-lab.info",
- "a8-26.grenoble.iot-lab.info",
- "a8-28.grenoble.iot-lab.info",
- "a8-29.grenoble.iot-lab.info",
- "a8-30.grenoble.iot-lab.info",
- "a8-31.grenoble.iot-lab.info",
- "a8-32.grenoble.iot-lab.info",
- "a8-33.grenoble.iot-lab.info",
- "a8-34.grenoble.iot-lab.info",
- "a8-35.grenoble.iot-lab.info",
- "a8-36.grenoble.iot-lab.info",
- "a8-37.grenoble.iot-lab.info",
- "a8-38.grenoble.iot-lab.info",
- "a8-39.grenoble.iot-lab.info",
- "a8-40.grenoble.iot-lab.info",
- "a8-41.grenoble.iot-lab.info",
- "a8-42.grenoble.iot-lab.info",
- "a8-43.grenoble.iot-lab.info",
- "a8-44.grenoble.iot-lab.info",
- "a8-45.grenoble.iot-lab.info",
- "a8-46.grenoble.iot-lab.info",
- "a8-47.grenoble.iot-lab.info",
- "a8-48.grenoble.iot-lab.info",
- "a8-49.grenoble.iot-lab.info",
- "a8-50.grenoble.iot-lab.info",
- "a8-51.grenoble.iot-lab.info",
- "a8-52.grenoble.iot-lab.info",
- "a8-53.grenoble.iot-lab.info",
- "a8-54.grenoble.iot-lab.info",
- "a8-55.grenoble.iot-lab.info",
- "a8-57.grenoble.iot-lab.info",
- "a8-58.grenoble.iot-lab.info",
- "a8-59.grenoble.iot-lab.info",
- "a8-60.grenoble.iot-lab.info",
- "a8-61.grenoble.iot-lab.info",
- "a8-63.grenoble.iot-lab.info",
- "a8-64.grenoble.iot-lab.info",
- "a8-65.grenoble.iot-lab.info",
- "a8-66.grenoble.iot-lab.info",
- "a8-67.grenoble.iot-lab.info",
- "a8-68.grenoble.iot-lab.info",
- "a8-69.grenoble.iot-lab.info",
- "a8-70.grenoble.iot-lab.info",
- "a8-71.grenoble.iot-lab.info",
- "a8-72.grenoble.iot-lab.info",
- "a8-73.grenoble.iot-lab.info",
- "a8-74.grenoble.iot-lab.info",
- "a8-75.grenoble.iot-lab.info",
- "a8-76.grenoble.iot-lab.info",
- "a8-77.grenoble.iot-lab.info",
- "a8-78.grenoble.iot-lab.info",
- "a8-79.grenoble.iot-lab.info",
- "a8-80.grenoble.iot-lab.info",
- "a8-81.grenoble.iot-lab.info",
- "a8-82.grenoble.iot-lab.info",
- "a8-83.grenoble.iot-lab.info",
- "a8-84.grenoble.iot-lab.info",
- "a8-85.grenoble.iot-lab.info",
- "a8-86.grenoble.iot-lab.info",
- "a8-87.grenoble.iot-lab.info",
- "a8-88.grenoble.iot-lab.info",
- "a8-89.grenoble.iot-lab.info",
- "a8-90.grenoble.iot-lab.info",
- "a8-91.grenoble.iot-lab.info",
- "a8-92.grenoble.iot-lab.info",
- "a8-93.grenoble.iot-lab.info",
- "a8-94.grenoble.iot-lab.info",
- "a8-95.grenoble.iot-lab.info",
- "a8-96.grenoble.iot-lab.info",
- "a8-97.grenoble.iot-lab.info",
- "a8-98.grenoble.iot-lab.info",
- "a8-99.grenoble.iot-lab.info",
- "a8-100.grenoble.iot-lab.info",
- "a8-101.grenoble.iot-lab.info",
- "a8-102.grenoble.iot-lab.info",
- "a8-103.grenoble.iot-lab.info",
- "a8-105.grenoble.iot-lab.info",
- "a8-106.grenoble.iot-lab.info",
- "a8-107.grenoble.iot-lab.info",
- "a8-108.grenoble.iot-lab.info",
- "a8-109.grenoble.iot-lab.info",
- "a8-111.grenoble.iot-lab.info",
- "a8-112.grenoble.iot-lab.info",
- "a8-113.grenoble.iot-lab.info",
- "a8-114.grenoble.iot-lab.info",
- "a8-115.grenoble.iot-lab.info",
- "a8-116.grenoble.iot-lab.info",
- "a8-117.grenoble.iot-lab.info",
- "a8-118.grenoble.iot-lab.info",
- "a8-119.grenoble.iot-lab.info",
- "a8-120.grenoble.iot-lab.info",
- "a8-121.grenoble.iot-lab.info",
- "a8-122.grenoble.iot-lab.info",
- "a8-123.grenoble.iot-lab.info",
- "a8-124.grenoble.iot-lab.info",
- "a8-127.grenoble.iot-lab.info",
- "a8-128.grenoble.iot-lab.info",
- "a8-133.grenoble.iot-lab.info",
- "a8-140.grenoble.iot-lab.info",
- "a8-141.grenoble.iot-lab.info",
- "a8-145.grenoble.iot-lab.info",
- "a8-146.grenoble.iot-lab.info",
- "a8-149.grenoble.iot-lab.info",
- "a8-150.grenoble.iot-lab.info",
- "a8-151.grenoble.iot-lab.info",
- "a8-152.grenoble.iot-lab.info",
- "a8-153.grenoble.iot-lab.info",
- "a8-154.grenoble.iot-lab.info",
- "a8-156.grenoble.iot-lab.info",
- "a8-157.grenoble.iot-lab.info",
- "a8-158.grenoble.iot-lab.info",
- "a8-160.grenoble.iot-lab.info",
- "a8-161.grenoble.iot-lab.info",
- "a8-162.grenoble.iot-lab.info",
- "a8-164.grenoble.iot-lab.info",
- "a8-165.grenoble.iot-lab.info",
- "a8-166.grenoble.iot-lab.info",
- "a8-167.grenoble.iot-lab.info",
- "a8-168.grenoble.iot-lab.info",
- "a8-169.grenoble.iot-lab.info",
- "a8-170.grenoble.iot-lab.info",
- "a8-172.grenoble.iot-lab.info",
- "a8-173.grenoble.iot-lab.info",
- "a8-174.grenoble.iot-lab.info",
- "a8-175.grenoble.iot-lab.info",
- "a8-176.grenoble.iot-lab.info",
- "a8-178.grenoble.iot-lab.info",
- "a8-179.grenoble.iot-lab.info",
- "a8-180.grenoble.iot-lab.info",
- "a8-181.grenoble.iot-lab.info",
- "a8-182.grenoble.iot-lab.info",
- "a8-183.grenoble.iot-lab.info",
- "a8-184.grenoble.iot-lab.info",
- "a8-185.grenoble.iot-lab.info",
- "a8-186.grenoble.iot-lab.info",
- "a8-187.grenoble.iot-lab.info",
- "a8-189.grenoble.iot-lab.info",
- "a8-190.grenoble.iot-lab.info",
- "a8-191.grenoble.iot-lab.info",
- "a8-192.grenoble.iot-lab.info",
- "a8-193.grenoble.iot-lab.info",
- "a8-194.grenoble.iot-lab.info",
- "a8-195.grenoble.iot-lab.info",
- "a8-196.grenoble.iot-lab.info",
- "a8-197.grenoble.iot-lab.info",
- "a8-198.grenoble.iot-lab.info",
- "a8-199.grenoble.iot-lab.info",
- "a8-200.grenoble.iot-lab.info",
- "a8-201.grenoble.iot-lab.info",
- "a8-202.grenoble.iot-lab.info",
- "a8-203.grenoble.iot-lab.info",
- "a8-204.grenoble.iot-lab.info",
- "a8-205.grenoble.iot-lab.info",
- "a8-206.grenoble.iot-lab.info",
- "a8-207.grenoble.iot-lab.info",
- "a8-208.grenoble.iot-lab.info",
- "a8-209.grenoble.iot-lab.info",
- "a8-210.grenoble.iot-lab.info",
- "a8-211.grenoble.iot-lab.info",
- "a8-212.grenoble.iot-lab.info",
- "a8-213.grenoble.iot-lab.info",
- "a8-214.grenoble.iot-lab.info",
- "a8-215.grenoble.iot-lab.info",
- "a8-216.grenoble.iot-lab.info",
- "a8-217.grenoble.iot-lab.info",
- "a8-218.grenoble.iot-lab.info",
- "a8-219.grenoble.iot-lab.info",
- "a8-220.grenoble.iot-lab.info",
- "a8-221.grenoble.iot-lab.info",
- "a8-222.grenoble.iot-lab.info",
- "a8-223.grenoble.iot-lab.info",
- "a8-224.grenoble.iot-lab.info",
- "a8-225.grenoble.iot-lab.info",
- "a8-226.grenoble.iot-lab.info",
- "a8-227.grenoble.iot-lab.info",
- "a8-228.grenoble.iot-lab.info"
- ]
-}
\ No newline at end of file
diff --git a/metas/strasbourg.csv b/metas/strasbourg.csv
deleted file mode 100644
index a96ddb9eed..0000000000
--- a/metas/strasbourg.csv
+++ /dev/null
@@ -1,241 +0,0 @@
-mac,x,y,z
-14-15-92-00-12-91-c0-d8,0.93,0.98,0.5
-14-15-92-00-12-91-b2-a7,0.93,0.98,1.5
-14-15-92-00-12-91-c6-f0,0.93,0.98,2.5
-14-15-92-00-12-91-bc-ab,1.93,0.98,0.5
-14-15-92-00-12-91-c6-6a,1.93,0.98,1.5
-14-15-92-00-12-91-b2-22,1.93,0.98,2.5
-14-15-92-00-12-91-b0-12,2.93,0.98,0.5
-14-15-92-00-12-91-c5-ac,2.93,0.98,1.5
-14-15-92-00-12-91-be-f2,2.93,0.98,2.5
-14-15-92-00-12-91-b7-b2,3.93,0.98,0.5
-14-15-92-00-12-91-b9-f1,3.93,0.98,1.5
-14-15-92-00-12-91-c2-23,3.93,0.98,2.5
-14-15-92-00-12-91-c3-a0,4.93,0.98,0.5
-14-15-92-00-12-91-cb-40,4.93,0.98,1.5
-14-15-92-00-12-91-bd-81,4.93,0.98,2.5
-14-15-92-00-12-91-af-a3,5.93,0.98,0.5
-14-15-92-00-12-91-be-5a,5.93,0.98,1.5
-14-15-92-00-12-91-1b-f9,5.93,0.98,2.5
-14-15-92-00-12-91-bc-a1,6.93,0.98,0.5
-14-15-92-00-12-91-c1-c3,6.93,0.98,1.5
-14-15-92-00-12-91-c6-ce,6.93,0.98,2.5
-14-15-92-00-12-91-c5-d4,7.93,0.98,0.5
-14-15-92-00-12-91-ba-38,7.93,0.98,1.5
-14-15-92-00-12-91-1f-59,7.93,0.98,2.5
-14-15-92-00-12-91-b8-62,0.93,1.98,0.5
-14-15-92-00-12-91-b5-e1,0.93,1.98,1.5
-14-15-92-00-12-91-bb-10,0.93,1.98,2.5
-14-15-92-00-12-91-c6-8a,1.93,1.98,0.5
-14-15-92-00-12-91-b5-76,1.93,1.98,1.5
-14-15-92-00-12-91-b3-43,1.93,1.98,2.5
-14-15-92-00-12-91-c1-9f,2.93,1.98,0.5
-14-15-92-00-12-91-1c-ef,2.93,1.98,1.5
-14-15-92-00-12-91-c2-25,2.93,1.98,2.5
-14-15-92-00-12-91-bc-7a,3.93,1.98,0.5
-14-15-92-00-12-91-ba-03,3.93,1.98,1.5
-14-15-92-00-12-91-c2-62,3.93,1.98,2.5
-14-15-92-00-12-91-ba-7f,4.93,1.98,0.5
-14-15-92-00-12-91-b6-14,4.93,1.98,1.5
-14-15-92-00-12-91-be-35,4.93,1.98,2.5
-14-15-92-00-12-91-b9-a0,5.93,1.98,0.5
-14-15-92-00-12-91-c9-fa,5.93,1.98,1.5
-14-15-92-00-12-91-b4-2e,5.93,1.98,2.5
-14-15-92-00-12-91-c9-35,6.93,1.98,0.5
-14-15-92-00-12-91-bd-d3,6.93,1.98,1.5
-14-15-92-00-12-91-b9-57,6.93,1.98,2.5
-14-15-92-00-12-91-c8-7f,7.93,1.98,0.5
-14-15-92-00-12-91-cd-ac,7.93,1.98,1.5
-14-15-92-00-12-91-bf-84,7.93,1.98,2.5
-14-15-92-00-12-91-cf-14,0.93,2.98,0.5
-14-15-92-00-12-91-c6-05,0.93,2.98,1.5
-14-15-92-00-12-91-af-8a,0.93,2.98,2.5
-14-15-92-00-12-91-c3-5d,1.93,2.98,0.5
-14-15-92-00-12-91-ca-60,1.93,2.98,1.5
-14-15-92-00-12-91-c0-9b,1.93,2.98,2.5
-14-15-92-00-12-91-c4-aa,2.93,2.98,0.5
-14-15-92-00-12-91-ca-01,2.93,2.98,1.5
-14-15-92-00-12-91-bb-25,2.93,2.98,2.5
-14-15-92-00-12-91-b7-af,3.93,2.98,0.5
-14-15-92-00-12-91-b0-57,3.93,2.98,1.5
-14-15-92-00-12-91-cf-0a,3.93,2.98,2.5
-14-15-92-00-12-91-ca-27,4.93,2.98,0.5
-14-15-92-00-12-91-cb-57,4.93,2.98,1.5
-14-15-92-00-12-91-cb-af,4.93,2.98,2.5
-14-15-92-00-12-91-c7-de,5.93,2.98,0.5
-14-15-92-00-12-91-bc-f4,5.93,2.98,1.5
-14-15-92-00-12-91-bf-80,5.93,2.98,2.5
-14-15-92-00-12-91-bd-b0,6.93,2.98,0.5
-14-15-92-00-12-91-be-6b,6.93,2.98,1.5
-14-15-92-00-12-91-cd-74,6.93,2.98,2.5
-14-15-92-00-12-91-b7-e2,7.93,2.98,0.5
-14-15-92-00-12-91-cc-5e,7.93,2.98,1.5
-14-15-92-00-12-91-b4-67,7.93,2.98,2.5
-14-15-92-00-12-91-ce-cf,0.93,3.98,0.5
-14-15-92-00-12-91-cd-64,0.93,3.98,1.5
-14-15-92-00-12-91-c9-cf,0.93,3.98,2.5
-14-15-92-00-12-91-b2-3c,1.93,3.98,0.5
-14-15-92-00-12-91-cd-18,1.93,3.98,1.5
-14-15-92-00-12-91-bb-3a,1.93,3.98,2.5
-14-15-92-00-12-91-c9-87,2.93,3.98,0.5
-14-15-92-00-12-91-c8-ea,2.93,3.98,1.5
-14-15-92-00-12-91-b5-c5,2.93,3.98,2.5
-14-15-92-00-12-91-1f-3c,3.93,3.98,0.5
-14-15-92-00-12-91-bb-11,3.93,3.98,1.5
-14-15-92-00-12-91-c7-df,3.93,3.98,2.5
-14-15-92-00-12-91-c9-86,4.93,3.98,0.5
-14-15-92-00-12-91-c5-e2,4.93,3.98,1.5
-14-15-92-00-12-91-c7-55,4.93,3.98,2.5
-14-15-92-00-12-91-ca-2f,5.93,3.98,0.5
-14-15-92-00-12-91-b1-38,5.93,3.98,1.5
-14-15-92-00-12-91-c9-2f,5.93,3.98,2.5
-14-15-92-00-12-91-c6-81,6.93,3.98,0.5
-14-15-92-00-12-91-cd-2e,6.93,3.98,1.5
-14-15-92-00-12-91-c1-d5,6.93,3.98,2.5
-14-15-92-00-12-91-cc-22,7.93,3.98,0.5
-14-15-92-00-12-91-c4-e5,7.93,3.98,1.5
-14-15-92-00-12-91-c5-b3,7.93,3.98,2.5
-14-15-92-00-12-91-bf-b9,0.93,4.98,0.5
-14-15-92-00-12-91-b8-fb,0.93,4.98,1.5
-14-15-92-00-12-91-bc-1c,0.93,4.98,2.5
-14-15-92-00-12-91-ba-e2,1.93,4.98,0.5
-14-15-92-00-12-91-bb-ff,1.93,4.98,1.5
-14-15-92-00-12-91-c8-81,1.93,4.98,2.5
-14-15-92-00-12-91-ca-54,2.93,4.98,0.5
-14-15-92-00-12-91-c7-1e,2.93,4.98,1.5
-14-15-92-00-12-91-bb-7d,2.93,4.98,2.5
-14-15-92-00-12-91-1f-94,3.93,4.98,0.5
-14-15-92-00-12-91-b4-d8,3.93,4.98,1.5
-14-15-92-00-12-91-cc-cb,3.93,4.98,2.5
-14-15-92-00-12-91-be-59,4.93,4.98,0.5
-14-15-92-00-12-91-ce-b0,4.93,4.98,1.5
-14-15-92-00-12-91-b5-e2,4.93,4.98,2.5
-14-15-92-00-12-91-c3-02,5.93,4.98,0.5
-14-15-92-00-12-91-af-64,5.93,4.98,1.5
-14-15-92-00-12-91-ce-d2,5.93,4.98,2.5
-14-15-92-00-12-91-ce-d4,6.93,4.98,0.5
-14-15-92-00-12-91-20-3f,6.93,4.98,1.5
-14-15-92-00-12-91-c1-4d,6.93,4.98,2.5
-14-15-92-00-12-91-b0-d7,7.93,4.98,0.5
-14-15-92-00-12-91-1c-c4,7.93,4.98,1.5
-14-15-92-00-12-91-bc-76,7.93,4.98,2.5
-14-15-92-00-12-91-b6-34,0.93,5.98,0.5
-14-15-92-00-12-91-af-9d,0.93,5.98,1.5
-14-15-92-00-12-91-bc-2c,0.93,5.98,2.5
-14-15-92-00-12-91-cb-20,1.93,5.98,0.5
-14-15-92-00-12-91-bb-fc,1.93,5.98,1.5
-14-15-92-00-12-91-c2-e8,1.93,5.98,2.5
-14-15-92-00-12-91-cd-45,2.93,5.98,0.5
-14-15-92-00-12-91-b2-68,2.93,5.98,1.5
-14-15-92-00-12-91-c3-96,2.93,5.98,2.5
-14-15-92-00-12-91-c1-d4,3.93,5.98,0.5
-14-15-92-00-12-91-ca-19,3.93,5.98,1.5
-14-15-92-00-12-91-b5-4e,3.93,5.98,2.5
-14-15-92-00-12-91-b6-be,4.93,5.98,0.5
-14-15-92-00-12-91-b0-db,4.93,5.98,1.5
-14-15-92-00-12-91-bb-e8,4.93,5.98,2.5
-14-15-92-00-12-91-ce-dc,5.93,5.98,0.5
-14-15-92-00-12-91-c6-77,5.93,5.98,1.5
-14-15-92-00-12-91-c2-11,5.93,5.98,2.5
-14-15-92-00-12-91-c4-7f,6.93,5.98,0.5
-14-15-92-00-12-91-c3-81,6.93,5.98,1.5
-14-15-92-00-12-91-b2-fa,6.93,5.98,2.5
-14-15-92-00-12-91-ca-a0,7.93,5.98,0.5
-14-15-92-00-12-91-af-d3,7.93,5.98,1.5
-14-15-92-00-12-91-b2-56,7.93,5.98,2.5
-14-15-92-00-12-91-c9-d8,0.93,6.98,0.5
-14-15-92-00-12-91-ce-fd,0.93,6.98,1.5
-14-15-92-00-12-91-ba-79,0.93,6.98,2.5
-14-15-92-00-12-91-b7-1d,1.93,6.98,0.5
-14-15-92-00-12-91-c7-e8,1.93,6.98,1.5
-14-15-92-00-12-91-c9-41,1.93,6.98,2.5
-14-15-92-00-12-91-ba-7d,2.93,6.98,0.5
-14-15-92-00-12-91-ba-0b,2.93,6.98,1.5
-14-15-92-00-12-91-b7-fe,2.93,6.98,2.5
-14-15-92-00-12-91-b9-0e,3.93,6.98,0.5
-14-15-92-00-12-91-c8-4e,3.93,6.98,1.5
-14-15-92-00-12-91-c7-ad,3.93,6.98,2.5
-14-15-92-00-12-91-bd-0f,4.93,6.98,0.5
-14-15-92-00-12-91-ce-62,4.93,6.98,1.5
-14-15-92-00-12-91-b4-f8,4.93,6.98,2.5
-14-15-92-00-12-91-b7-8d,5.93,6.98,0.5
-14-15-92-00-12-91-bf-13,5.93,6.98,1.5
-14-15-92-00-12-91-ba-bf,5.93,6.98,2.5
-14-15-92-00-12-91-bc-2e,6.93,6.98,0.5
-14-15-92-00-12-91-be-2b,6.93,6.98,1.5
-14-15-92-00-12-91-b4-4f,6.93,6.98,2.5
-14-15-92-00-12-91-c1-28,7.93,6.98,0.5
-14-15-92-00-12-91-c8-6d,7.93,6.98,1.5
-14-15-92-00-12-91-b1-a2,7.93,6.98,2.5
-14-15-92-00-12-91-bd-cc,0.93,7.98,0.5
-14-15-92-00-12-91-b8-fa,0.93,7.98,1.5
-14-15-92-00-12-91-1c-26,0.93,7.98,2.5
-14-15-92-00-12-91-bf-f3,1.93,7.98,0.5
-14-15-92-00-12-91-b7-e7,1.93,7.98,1.5
-14-15-92-00-12-91-ca-bc,1.93,7.98,2.5
-14-15-92-00-12-91-c5-d6,2.93,7.98,0.5
-14-15-92-00-12-91-cb-6c,2.93,7.98,1.5
-14-15-92-00-12-91-cc-0a,2.93,7.98,2.5
-14-15-92-00-12-91-b8-47,3.93,7.98,0.5
-14-15-92-00-12-91-c0-2a,3.93,7.98,1.5
-14-15-92-00-12-91-ba-20,3.93,7.98,2.5
-14-15-92-00-12-91-c9-d5,4.93,7.98,0.5
-14-15-92-00-12-91-b6-61,4.93,7.98,1.5
-14-15-92-00-12-91-be-23,4.93,7.98,2.5
-14-15-92-00-12-91-b7-b0,5.93,7.98,0.5
-14-15-92-00-12-91-b4-b9,5.93,7.98,1.5
-14-15-92-00-12-91-bc-68,5.93,7.98,2.5
-14-15-92-00-12-91-b7-c1,6.93,7.98,0.5
-14-15-92-00-12-91-b7-f7,6.93,7.98,1.5
-14-15-92-00-12-91-1c-ad,6.93,7.98,2.5
-14-15-92-00-12-91-1f-7b,7.93,7.98,0.5
-14-15-92-00-12-91-b5-c4,7.93,7.98,1.5
-14-15-92-00-12-91-bf-b7,7.93,7.98,2.5
-14-15-92-00-12-91-b9-dd,0.93,8.98,0.5
-14-15-92-00-12-91-cd-65,0.93,8.98,1.5
-14-15-92-00-12-91-c7-90,0.93,8.98,2.5
-14-15-92-00-12-91-b9-cf,1.93,8.98,0.5
-14-15-92-00-12-91-b3-7d,1.93,8.98,1.5
-14-15-92-00-12-91-c0-c2,1.93,8.98,2.5
-14-15-92-00-12-91-bc-ff,2.93,8.98,0.5
-14-15-92-00-12-91-b1-62,2.93,8.98,1.5
-14-15-92-00-12-91-b3-6d,2.93,8.98,2.5
-14-15-92-00-12-91-af-a5,3.93,8.98,0.5
-14-15-92-00-12-91-bc-e0,3.93,8.98,1.5
-14-15-92-00-12-91-c6-10,3.93,8.98,2.5
-14-15-92-00-12-91-b4-f2,4.93,8.98,0.5
-14-15-92-00-12-91-bc-93,4.93,8.98,1.5
-14-15-92-00-12-91-ca-df,4.93,8.98,2.5
-14-15-92-00-12-91-c3-24,5.93,8.98,0.5
-14-15-92-00-12-91-bf-07,5.93,8.98,1.5
-14-15-92-00-12-91-cd-83,5.93,8.98,2.5
-14-15-92-00-12-91-ce-46,6.93,8.98,0.5
-14-15-92-00-12-91-ba-40,6.93,8.98,1.5
-14-15-92-00-12-91-b3-7a,6.93,8.98,2.5
-14-15-92-00-12-91-c8-bf,7.93,8.98,0.5
-14-15-92-00-12-91-be-c0,7.93,8.98,1.5
-14-15-92-00-12-91-20-37,7.93,8.98,2.5
-14-15-92-00-12-91-ce-48,0.93,9.98,0.5
-14-15-92-00-12-91-b8-14,0.93,9.98,1.5
-14-15-92-00-12-91-b8-a6,0.93,9.98,2.5
-14-15-92-00-12-91-bd-b9,1.93,9.98,0.5
-14-15-92-00-12-91-b6-75,1.93,9.98,1.5
-14-15-92-00-12-91-b7-5f,1.93,9.98,2.5
-14-15-92-00-12-91-af-eb,2.93,9.98,0.5
-14-15-92-00-12-91-b4-2a,2.93,9.98,1.5
-14-15-92-00-12-91-b6-3a,2.93,9.98,2.5
-14-15-92-00-12-91-bf-23,3.93,9.98,0.5
-14-15-92-00-12-91-bf-f9,3.93,9.98,1.5
-14-15-92-00-12-91-c1-cd,3.93,9.98,2.5
-14-15-92-00-12-91-b3-8d,4.93,9.98,0.5
-14-15-92-00-12-91-ce-99,4.93,9.98,1.5
-14-15-92-00-12-91-b1-69,4.93,9.98,2.5
-14-15-92-00-12-91-c6-c5,5.93,9.98,0.5
-14-15-92-00-12-91-b8-e7,5.93,9.98,1.5
-14-15-92-00-12-91-c3-94,5.93,9.98,2.5
-14-15-92-00-12-91-b1-09,6.93,9.98,0.5
-14-15-92-00-12-91-bb-e0,6.93,9.98,1.5
-14-15-92-00-12-91-cd-ef,6.93,9.98,2.5
-14-15-92-00-12-91-cb-29,7.93,9.98,0.5
-14-15-92-00-12-91-b3-8f,7.93,9.98,1.5
-14-15-92-00-12-91-b8-9b,7.93,9.98,2.5
diff --git a/metas/strasbourg.json b/metas/strasbourg.json
deleted file mode 100644
index af50fac69c..0000000000
--- a/metas/strasbourg.json
+++ /dev/null
@@ -1,2552 +0,0 @@
-[
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-1.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-2.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-3.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-4.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-5.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-6.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-7.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-8.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-9.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-10.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-11.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "3.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-12.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-13.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-14.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-15.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-16.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-17.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "5.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-18.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-19.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-20.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-21.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-22.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-23.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "9.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-25.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-26.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-27.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-28.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-29.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-30.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-31.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-32.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-33.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-34.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-35.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "3.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-36.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-37.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-38.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-39.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-40.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-41.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "5.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-42.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-43.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-44.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-45.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-46.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-47.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-48.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "8.00",
- "x": "7.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-49.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-50.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-51.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-52.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-53.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-54.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-55.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-56.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-57.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-58.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-60.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-61.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-62.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-63.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-64.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-65.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "5.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-66.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-67.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-68.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-69.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-70.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-71.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-72.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "7.00",
- "x": "7.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-73.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-74.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-75.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-76.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-77.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-78.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-79.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-80.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-81.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-82.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-83.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "3.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-84.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-85.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-86.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-87.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-88.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-89.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "5.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-90.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-91.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-92.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-93.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-94.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-95.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-96.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "7.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-97.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-98.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-99.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-100.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-101.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-102.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-103.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-104.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-105.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-106.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-107.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "3.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-108.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-109.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-110.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-111.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-112.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-113.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "5.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-114.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-115.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-116.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-117.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-118.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-119.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-120.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "5.00",
- "x": "7.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-121.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-122.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-123.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-124.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-125.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-126.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-127.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-128.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-129.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-130.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-131.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "3.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-132.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-133.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-134.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-135.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-136.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-138.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-139.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-140.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-141.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-142.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-143.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "4.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-145.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-146.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-147.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-148.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-149.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-150.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-151.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-152.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-153.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-154.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-155.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "3.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-156.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-157.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-158.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-159.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-160.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-161.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "5.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-162.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-163.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-164.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-165.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-166.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-167.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-168.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "3.00",
- "x": "7.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-169.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-170.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-171.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-172.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-173.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-174.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-175.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-176.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-177.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-178.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-179.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "3.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-180.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-181.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-182.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-183.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-184.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-185.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "5.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-186.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-187.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-188.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-189.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-190.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-191.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-192.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "7.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-193.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-194.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-195.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-196.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-197.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-198.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-199.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-200.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-201.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-202.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-203.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "3.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-204.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-205.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-206.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-207.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-208.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-209.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "5.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-210.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-211.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-212.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-213.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-214.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-215.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-216.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "1.00",
- "x": "7.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-217.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "0.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-218.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "0.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-219.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "0.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-220.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "1.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-221.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "1.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-222.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "1.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-223.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "2.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-224.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "2.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-225.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "2.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-226.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "3.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-227.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "3.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-228.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "3.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-229.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "4.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-230.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "4.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-231.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "4.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-232.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "5.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-233.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "5.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-234.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "5.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-235.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "6.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-236.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "6.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-237.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "6.00",
- "z": "2.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-238.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "7.00",
- "z": "0.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-239.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "7.00",
- "z": "1.50"
- },
- {
- "archi": "wsn430:cc1101",
- "network_address": "wsn430-240.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "0.00",
- "x": "7.00",
- "z": "2.50"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-1.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "2.00",
- "z": "1.20"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-2.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "2.00",
- "z": "2.10"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-3.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "6.00",
- "z": "1.20"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-4.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "6.00",
- "z": "2.10"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-5.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "10.00",
- "z": "1.20"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-6.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "10.00",
- "z": "2.10"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-7.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "14.00",
- "z": "1.20"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-8.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "6.00",
- "x": "14.00",
- "z": "2.10"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-10.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "2.00",
- "z": "2.10"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-11.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "6.00",
- "z": "1.20"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-12.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "6.00",
- "z": "2.10"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-13.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "10.00",
- "z": "1.20"
- },
- {
- "archi": "a8:at86rf231",
- "network_address": "a8-14.strasbourg.iot-lab.info",
- "state": "Alive",
- "y": "2.00",
- "x": "10.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-1.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-a4-84",
- "state": "Alive",
- "y": "8.00",
- "x": "0.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-2.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-a6-85",
- "state": "Alive",
- "y": "8.00",
- "x": "0.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-3.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-97-87",
- "state": "Alive",
- "y": "8.00",
- "x": "2.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-5.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-98-89",
- "state": "Alive",
- "y": "8.00",
- "x": "4.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-6.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-92-87",
- "state": "Alive",
- "y": "8.00",
- "x": "4.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-7.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-b1-84",
- "state": "Alive",
- "y": "8.00",
- "x": "6.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-8.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-a8-87",
- "state": "Alive",
- "y": "8.00",
- "x": "6.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-9.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-b8-85",
- "state": "Alive",
- "y": "8.00",
- "x": "8.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-10.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-93-87",
- "state": "Alive",
- "y": "8.00",
- "x": "8.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-11.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-89-84",
- "state": "Alive",
- "y": "8.00",
- "x": "10.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-12.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-95-88",
- "state": "Alive",
- "y": "8.00",
- "x": "10.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-13.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-b3-84",
- "state": "Alive",
- "y": "8.00",
- "x": "12.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-14.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-b1-87",
- "state": "Alive",
- "y": "8.00",
- "x": "12.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-15.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-db-94-88",
- "state": "Alive",
- "y": "8.00",
- "x": "14.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-16.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-93-85",
- "state": "Alive",
- "y": "8.00",
- "x": "14.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-17.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-b5-85",
- "state": "Alive",
- "y": "8.00",
- "x": "16.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-18.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a5-87",
- "state": "Alive",
- "y": "8.00",
- "x": "16.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-19.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d6-90-83",
- "state": "Alive",
- "y": "6.00",
- "x": "0.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-20.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-b7-86",
- "state": "Alive",
- "y": "6.00",
- "x": "0.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-21.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-a3-85",
- "state": "Alive",
- "y": "6.00",
- "x": "4.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-22.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-a4-88",
- "state": "Alive",
- "y": "6.00",
- "x": "4.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-23.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a9-84",
- "state": "Alive",
- "y": "6.00",
- "x": "8.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-24.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d5-90-84",
- "state": "Alive",
- "y": "6.00",
- "x": "8.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-25.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d5-a1-87",
- "state": "Alive",
- "y": "6.00",
- "x": "12.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-27.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-a1-85",
- "state": "Alive",
- "y": "6.00",
- "x": "16.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-28.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-a5-86",
- "state": "Alive",
- "y": "6.00",
- "x": "16.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-29.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-a2-84",
- "state": "Alive",
- "y": "4.00",
- "x": "0.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-30.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-b0-86",
- "state": "Alive",
- "y": "4.00",
- "x": "0.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-31.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-a8-85",
- "state": "Alive",
- "y": "4.00",
- "x": "2.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-32.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-b2-87",
- "state": "Alive",
- "y": "4.00",
- "x": "2.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-33.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-b2-86",
- "state": "Alive",
- "y": "4.00",
- "x": "4.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-34.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-a7-86",
- "state": "Alive",
- "y": "4.00",
- "x": "4.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-35.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-a7-84",
- "state": "Alive",
- "y": "4.00",
- "x": "6.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-36.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-91-84",
- "state": "Alive",
- "y": "4.00",
- "x": "6.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-37.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a3-86",
- "state": "Alive",
- "y": "4.00",
- "x": "8.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-38.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d8-95-89",
- "state": "Alive",
- "y": "4.00",
- "x": "8.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-39.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-a1-84",
- "state": "Alive",
- "y": "4.00",
- "x": "10.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-41.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dc-98-85",
- "state": "Alive",
- "y": "5.00",
- "x": "12.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-42.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d6-b1-86",
- "state": "Alive",
- "y": "5.00",
- "x": "12.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-43.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-dd-92-85",
- "state": "Alive",
- "y": "5.00",
- "x": "14.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-44.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a6-84",
- "state": "Alive",
- "y": "5.00",
- "x": "14.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-45.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-b3-85",
- "state": "Alive",
- "y": "5.00",
- "x": "16.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-46.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-99-85",
- "state": "Alive",
- "y": "5.00",
- "x": "16.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-47.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d6-a4-87",
- "state": "Alive",
- "y": "2.00",
- "x": "0.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-48.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d4-97-89",
- "state": "Alive",
- "y": "2.00",
- "x": "0.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-49.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-a1-86",
- "state": "Alive",
- "y": "2.00",
- "x": "4.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-50.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-b5-86",
- "state": "Alive",
- "y": "2.00",
- "x": "4.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-51.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-de-a5-85",
- "state": "Alive",
- "y": "2.00",
- "x": "8.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-52.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-96-89",
- "state": "Alive",
- "y": "2.00",
- "x": "8.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-53.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d6-98-90",
- "state": "Alive",
- "y": "0.00",
- "x": "0.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-54.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d6-97-88",
- "state": "Alive",
- "y": "0.00",
- "x": "0.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-55.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b4-86",
- "state": "Alive",
- "y": "0.00",
- "x": "2.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-56.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a2-88",
- "state": "Alive",
- "y": "0.00",
- "x": "2.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-57.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d7-99-86",
- "state": "Alive",
- "y": "0.00",
- "x": "4.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-58.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a7-88",
- "state": "Alive",
- "y": "0.00",
- "x": "4.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-59.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-95-86",
- "state": "Alive",
- "y": "0.00",
- "x": "6.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-60.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-db-a6-86",
- "state": "Alive",
- "y": "0.00",
- "x": "6.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-61.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-a9-88",
- "state": "Alive",
- "y": "0.00",
- "x": "8.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-62.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d9-b3-86",
- "state": "Alive",
- "y": "0.00",
- "x": "8.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-63.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-da-98-87",
- "state": "Alive",
- "y": "0.00",
- "x": "10.00",
- "z": "1.20"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-64.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-d2-96-87",
- "state": "Alive",
- "y": "0.00",
- "x": "10.00",
- "z": "2.10"
- },
- {
- "archi": "m3:at86rf231",
- "network_address": "m3-40.strasbourg.iot-lab.info",
- "mac": "05-43-32-ff-03-db-b5-87",
- "state": "Alive",
- "y": "4.00",
- "x": "10.00",
- "z": "2.10"
- }
-]
\ No newline at end of file
diff --git a/metas/strasbourg_eui64.csv b/metas/strasbourg_eui64.csv
deleted file mode 100644
index 9f86e9abf3..0000000000
--- a/metas/strasbourg_eui64.csv
+++ /dev/null
@@ -1,65 +0,0 @@
-05-43-32-ff-03-dd-a4-84,m3-1
-05-43-32-ff-03-d9-93-87,m3-10
-05-43-32-ff-03-d8-a0-86,m3-100
-05-43-32-ff-03-d9-89-84,m3-11
-05-43-32-ff-03-d8-95-88,m3-12
-05-43-32-ff-03-da-b3-84,m3-13
-05-43-32-ff-03-da-b1-87,m3-14
-05-43-32-ff-03-db-94-88,m3-15
-05-43-32-ff-03-dd-93-85,m3-16
-05-43-32-ff-03-da-b5-85,m3-17
-05-43-32-ff-03-da-a5-87,m3-18
-05-43-32-ff-03-d6-90-83,m3-19
-05-43-32-ff-03-dd-a6-85,m3-2
-05-43-32-ff-03-da-b7-86,m3-20
-05-43-32-ff-03-dc-a3-85,m3-21
-05-43-32-ff-03-dd-a4-88,m3-22
-05-43-32-ff-03-da-a9-84,m3-23
-05-43-32-ff-03-d5-90-84,m3-24
-05-43-32-ff-03-d5-a1-87,m3-25
-05-43-32-ff-03-dc-a1-85,m3-27
-05-43-32-ff-03-d9-a5-86,m3-28
-05-43-32-ff-03-dc-a2-84,m3-29
-05-43-32-ff-03-d8-97-87,m3-3
-05-43-32-ff-03-d8-b0-86,m3-30
-05-43-32-ff-03-dd-a8-85,m3-31
-05-43-32-ff-03-d7-b2-87,m3-32
-05-43-32-ff-03-d8-b2-86,m3-33
-05-43-32-ff-03-d8-a7-86,m3-34
-05-43-32-ff-03-d9-a7-84,m3-35
-05-43-32-ff-03-d7-91-84,m3-36
-05-43-32-ff-03-da-a3-86,m3-37
-05-43-32-ff-03-d8-95-89,m3-38
-05-43-32-ff-03-d9-a1-84,m3-39
-05-43-32-ff-03-db-b5-87,m3-40
-05-43-32-ff-03-dc-98-85,m3-41
-05-43-32-ff-03-d6-b1-86,m3-42
-05-43-32-ff-03-dd-92-85,m3-43
-05-43-32-ff-03-da-a6-84,m3-44
-05-43-32-ff-03-da-b3-85,m3-45
-05-43-32-ff-03-da-99-85,m3-46
-05-43-32-ff-03-d6-a4-87,m3-47
-05-43-32-ff-03-d4-97-89,m3-48
-05-43-32-ff-03-d7-a1-86,m3-49
-05-43-32-ff-03-da-98-89,m3-5
-05-43-32-ff-03-d9-b5-86,m3-50
-05-43-32-ff-03-de-a5-85,m3-51
-05-43-32-ff-03-d7-96-89,m3-52
-05-43-32-ff-03-d6-98-90,m3-53
-05-43-32-ff-03-d6-97-88,m3-54
-05-43-32-ff-03-db-b4-86,m3-55
-05-43-32-ff-03-da-a2-88,m3-56
-05-43-32-ff-03-d7-99-86,m3-57
-05-43-32-ff-03-da-a7-88,m3-58
-05-43-32-ff-03-d9-95-86,m3-59
-05-43-32-ff-03-d9-92-87,m3-6
-05-43-32-ff-03-db-a6-86,m3-60
-05-43-32-ff-03-da-a9-88,m3-61
-05-43-32-ff-03-d9-b3-86,m3-62
-05-43-32-ff-03-da-98-87,m3-63
-05-43-32-ff-03-d2-96-87,m3-64
-05-43-32-ff-03-d7-b1-84,m3-7
-05-43-32-ff-03-d8-a8-87,m3-8
-05-43-32-ff-03-d8-b8-85,m3-9
-05-43-32-ff-03-db-92-86,m3-96
-05-43-32-ff-03-dc-b7-85,m3-97
diff --git a/metas/update_locations.py b/metas/update_locations.py
deleted file mode 100644
index 7512cfbf6b..0000000000
--- a/metas/update_locations.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# This file uses the experiment-cli tool to genrate the IoTLab motes locations.
-# Refere to the Mercator wiki to use it.
-# https://github.com/openwsn-berkeley/mercator/wiki
-
-#-----------------------------------------------------------------------------#
-
-import os
-import json
-import csv
-
-#-----------------------------------------------------------------------------#
-
-site_list = ["strasbourg", "lille"]
-
-for site in site_list:
- os.system("experiment-cli info -l --site {0} > tmp.json".format(site))
- jout = ""
- with open('tmp.json') as data_file:
- jout = json.load(data_file)
- os.remove("tmp.json")
-
- # get motes eui64
-
- mac_list = []
- path = "{0}_eui64.csv".format(site)
- if os.path.isfile(path):
- with open(path, 'r') as f:
- reader = csv.reader(f)
- mac_list = list(reader)
-
- # parse results
-
- results = []
- for mote in jout["items"]:
- if mote["state"] == "Alive" and mote["mobile"] == 0:
- # remove useless fields
- del mote["mobile"]
- del mote["mobility_type"]
- del mote["site"]
- del mote["uid"]
-
- # get mote eui64
- hostname = mote["network_address"].split(".")[0]
- for mac in mac_list:
- if hostname == mac[1]:
- mote["mac"] = mac[0]
- break
-
- # add mote to site
- res_mote = mote
- results.append(res_mote)
-
- # write out
-
- with open('{0}.json'.format(site), 'w') as fp:
- json.dump(results, fp, indent=4)
-
-#-----------------------------------------------------------------------------#
diff --git a/metas/update_states.py b/metas/update_states.py
deleted file mode 100644
index 4e92547636..0000000000
--- a/metas/update_states.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file uses the experiment-cli tool to genrate the IoTLab motes locations.
-# Refere to the Mercator wiki to use it.
-# https://github.com/openwsn-berkeley/mercator/wiki
-
-#-----------------------------------------------------------------------------#
-
-import os
-import json
-
-#-----------------------------------------------------------------------------#
-
-STATES = ["Busy","Alive"]
-
-# get IoTlab infos
-
-os.system("experiment-cli info -l > tmp.json")
-jout = ""
-with open('tmp.json') as data_file:
- jout = json.load(data_file)
-os.remove("tmp.json")
-
-# parse results
-
-results = {}
-for mote in jout["items"]:
- if mote["state"] in STATES:
- # create site if it does not exists
- if mote["site"] not in results.keys():
- results[mote["site"]] = []
-
- # add mote to site
- results[mote["site"]].append(mote["network_address"])
-
-# write out
-
-with open('states.json', 'w') as fp:
- json.dump(results, fp, indent=4)
-
-#-----------------------------------------------------------------------------#
diff --git a/requirements.txt b/requirements.txt
index b02347dfcb..a5e1c2ab13 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,20 @@
-pyserial
-importlib
-iotlabcli==2.5.2
+colored
+cryptography==2.4.2
+halo
+iotlabcli
+## iotlabclient is not available via pip right now; needs to be installed manually
+#iotlabclient
+matplotlib
+netaddr
+networkx
+numpy
+pandas
+paho-mqtt
+pytest
+python-dateutil
+PyYAML
+scipy
+seaborn
+statsmodels
+tqdm
+websocket-client
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000000..e52d48a6f4
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,14 @@
+from setuptools import setup, find_packages
+
+setup(
+ name='mercator',
+ version='3.0',
+ packages=find_packages(),
+ entry_points={
+ 'console_scripts': [
+ 'mercator = mercator.__main__:main',
+ 'mercator-k7conv = mercator.k7conv:main',
+ 'mercator-k7analyze = mercator.k7analyze:main'
+ ]
+ }
+)
diff --git a/tests/test_hdlc.py b/tests/test_hdlc.py
new file mode 100644
index 0000000000..cb70ec3c49
--- /dev/null
+++ b/tests/test_hdlc.py
@@ -0,0 +1,56 @@
+import pytest
+
+import mercator
+from mercator.hdlc import (hdlc_calc_crc, hdlc_verify_crc,
+ hdlc_escape, hdlc_unescape,
+ HDLC_FLAG, HdlcException)
+
+# test CRC values are calulated manually with
+# https://github.com/meetanthony/crcphp using CRC-16/X-25
+
+HDLC_FLAG = b'\x7e'
+
+@pytest.fixture(params=[
+ {'data': b'\x01',
+ 'escaped_data': b'\x01',
+ 'crc': b'\xf1\xe1'},
+ {'data': b'\xde\xad\xbe\xef\xc0\xfe\xc0\x1a\xc0\xff\xee',
+ 'escaped_data': b'\xde\xad\xbe\xef\xc0\xfe\xc0\x1a\xc0\xff\xee',
+ 'crc': b'\x35\x3a'},
+ {'data': b'\x7e\x7d',
+ 'escaped_data': b'\x7d\x5e\x7d\x5d',
+ 'crc': b'\xf1\xcd'}])
+def vector(request):
+ return request.param
+
+def test_calc_crc(vector):
+ assert hdlc_calc_crc(vector['data']) == vector['crc']
+
+def test_verify_crc(vector):
+ assert hdlc_verify_crc(vector['data']+vector['crc'])
+
+def test_escape(vector):
+ assert hdlc_escape(vector['data']) == vector['escaped_data']
+
+def test_unescape(vector):
+ assert hdlc_unescape(vector['escaped_data']) == vector['data']
+
+@pytest.fixture(params=[hdlc_calc_crc, hdlc_verify_crc,
+ hdlc_escape, hdlc_unescape])
+def hdlc_api(request):
+ return request.param
+
+def test_empty_input(hdlc_api):
+ with pytest.raises(HdlcException):
+ hdlc_api(b'')
+
+def test_dehdlcify_short_frame():
+ pass
+ in_buf = HDLC_FLAG
+ in_buf += b'\x01\x02' # garbage byte
+ in_buf += HDLC_FLAG
+
+def test_dehdlcify_wrong_crc():
+ pass
+ data = b'\x01'
+ wrong_crc = b'\xf1\xe2'
diff --git a/tests/test_node.py b/tests/test_node.py
new file mode 100644
index 0000000000..5c79251ed6
--- /dev/null
+++ b/tests/test_node.py
@@ -0,0 +1,687 @@
+import logging
+import struct
+import time
+import types
+
+import netaddr
+import pytest
+
+from mercator.hdlc import (hdlc_calc_crc, hdlc_verify_crc,
+ hdlc_escape, hdlc_unescape, HDLC_FLAG)
+import mercator.node
+from mercator.node import MsgType, NodeStatus, RxFlag
+import mercator.platforms
+from mercator.utils import OSName
+
+TEST_MAC_ADDR = netaddr.EUI('02-01-03-04-05-06-07-08')
+TEST_NODE_ID = 1
+TEST_CHANNEL = 11
+TEST_TX_LEN = 100
+TEST_TRANS_CTR = 100
+TEST_RSSI = -50
+
+def _hdlcify(in_buf):
+ crc = hdlc_calc_crc(in_buf)
+ body = hdlc_escape(in_buf + crc)
+ return HDLC_FLAG + body + HDLC_FLAG
+
+def _dehdlcify(in_buf):
+ body = in_buf[1:-1]
+ assert hdlc_verify_crc(body)
+ return hdlc_unescape(body[:-2])
+
+class Platform(mercator.platforms.Platform):
+ def __init__(self, config):
+ self.firmware_os_name = OSName.OpenWSN
+
+ def setup_measurement(self, config):
+ pass
+
+class Node(mercator.node.Node):
+ def __init__(self, platform):
+ super(Node, self).__init__(platform)
+ self.id = TEST_NODE_ID
+ self.sent_bytes = None
+ self.test_recv_bytes = b''
+ self.sent_count = 0
+ self.retry_count = -1
+ self.mac_addr = TEST_MAC_ADDR
+
+ def get_sent_bytes(self):
+ ret = self.sent_bytes
+ self.sent_bytes = None
+ return ret
+
+ def put_test_recv_bytes(self, byte_str):
+ self.test_recv_bytes += byte_str
+
+ def set_retry_count(self, count):
+ # return self.test_recv_bytes after _platform_send() is called
+ # "retry_count+1" times
+ self.retry_count = count
+
+ def _platform_send(self, msg):
+ self.sent_bytes = msg
+ self.sent_count += 1
+
+ def _platform_recv(self):
+ if self.sent_count > self.retry_count:
+ ret = self.test_recv_bytes
+ self.test_recv_bytes = b''
+ else:
+ ret = b''
+ return ret
+
+@pytest.fixture
+def node(caplog):
+ caplog.set_level(logging.INFO)
+ platform = Platform({})
+ _node = Node(platform)
+
+ # do some initialization which is done by setup()
+ _node.tx_power_dbm = _node.DUMMY_TX_POWER_VALUE
+ _node.tx_len = TEST_TX_LEN
+ _node.tx_num_pk = 100
+ _node.tx_ifdur_ms = 10
+ _node.tx_fill_byte = 0x5a
+ _node.rssi_records = [None] * _node.tx_num_pk
+ _node._status = NodeStatus.IDLE
+
+ return _node
+
+@pytest.fixture
+def resp_st():
+ TEST_NUMNOTIFICATIONS = 0xabcd
+ def _resp_st(status):
+ numnotifications = TEST_NUMNOTIFICATIONS
+ mac_addr = TEST_MAC_ADDR
+ return struct.pack('>BBHQ',
+ MsgType.RESP_ST, status, numnotifications,
+ mac_addr.value)
+ return _resp_st
+
+@pytest.fixture
+def resp_idle():
+ return struct.pack('>B', MsgType.RESP_IDLE)
+
+@pytest.fixture
+def resp_tx():
+ return struct.pack('>B', MsgType.RESP_TX)
+
+@pytest.fixture
+def resp_rx():
+ return struct.pack('>B', MsgType.RESP_RX)
+
+@pytest.fixture
+def ind_up():
+ return struct.pack('>B', MsgType.IND_UP)
+
+@pytest.fixture
+def ind_txdone():
+ return struct.pack('>B', MsgType.IND_TXDONE)
+
+@pytest.fixture
+def ind_rx():
+ def _ind_rx(pkctr):
+ return struct.pack('>BBbBH',
+ MsgType.IND_RX,
+ TEST_TX_LEN,
+ TEST_RSSI,
+ RxFlag.EXPECTED_FLAGS,
+ pkctr)
+ return _ind_rx
+
+def test_request_status(caplog, node, resp_st):
+ test_status = NodeStatus.IDLE
+ node.put_test_recv_bytes(_hdlcify(resp_st(test_status)))
+
+ status, mac_addr = node.request_status()
+ sent_bytes = _dehdlcify(node.get_sent_bytes())
+ assert status == test_status
+ assert mac_addr == TEST_MAC_ADDR
+ assert len(sent_bytes) == 1
+ assert sent_bytes[0] == MsgType.REQ_ST
+
+ assert len(caplog.record_tuples) == 2
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_ST to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_ST from {0}'.format(TEST_NODE_ID)))
+
+def test_request_status_having_ind_up(caplog, node, ind_up, resp_st):
+ # put IND_UP before RESP_ST so that they are received at once
+ test_status = NodeStatus.IDLE
+ node.put_test_recv_bytes(_hdlcify(ind_up)
+ + _hdlcify(resp_st(test_status)))
+
+ # even in this case, node should identify RESP_ST and process it
+ # properly. IND_UP should be ignored
+ status, mac_addr = node.request_status()
+ assert status == test_status
+ assert mac_addr == TEST_MAC_ADDR
+
+ assert len(caplog.record_tuples) == 4
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv IND_UP from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[2]
+ == ('root',
+ logging.INFO,
+ 'Ignore IND_UP from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[3]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_ST from {0}'.format(TEST_NODE_ID)))
+
+def test_request_status_duplicate_response(caplog, node, resp_st):
+ # put two RESP_ST
+ test_status_1 = NodeStatus.RX
+ test_status_2 = NodeStatus.IDLE
+ node.put_test_recv_bytes(_hdlcify(resp_st(test_status_1))
+ + _hdlcify(resp_st(test_status_2)))
+
+ status, mac_addr = node.request_status()
+ assert status == test_status_1
+ assert mac_addr == TEST_MAC_ADDR
+
+ # in this case, the second RESP_ST should not be processed. the
+ # second RESP_ST should be kept in serial_leftover
+ assert len(caplog.record_tuples) == 2
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_ST to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_ST from {0}'.format(TEST_NODE_ID)))
+ assert node.serial_leftover == _hdlcify(resp_st(test_status_2))
+
+def test_request_status_with_retries(caplog, node, resp_st):
+ retry_count = 1
+ test_status = NodeStatus.IDLE
+ node.put_test_recv_bytes(_hdlcify(resp_st(test_status)))
+ node.set_retry_count(retry_count)
+
+ status, mac_addr = node.request_status()
+ assert status == test_status
+ assert mac_addr == TEST_MAC_ADDR
+
+ # we should have one retry
+ assert len(caplog.record_tuples) == 4
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_ST to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Retry REQ_ST to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[2]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_ST to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[3]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_ST from {0}'.format(TEST_NODE_ID)))
+
+def test_request_status_timeout(caplog, node):
+ with pytest.raises(RuntimeError):
+ status, mac_addr = node.request_status()
+
+ # we should have one more 'Send' log than 'Retry'; and at the end,
+ # we should have CRITICAL log
+ assert len(caplog.record_tuples) == node.MAX_REQUEST_RETRIES * 2 + 1 + 1
+ assert (caplog.record_tuples[-1] ==
+ ('root',
+ logging.CRITICAL,
+ 'Node {0} doesn\'t respond to REQ_ST'.format(TEST_NODE_ID)))
+
+def test_request_idle(caplog, node, resp_idle):
+ node.status = NodeStatus.RX
+ node.put_test_recv_bytes(_hdlcify(resp_idle))
+ node.request_idle()
+
+ assert node.status == NodeStatus.IDLE
+ assert len(caplog.record_tuples) == 2
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_IDLE to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_IDLE from {0}'.format(TEST_NODE_ID)))
+
+def test_request_idle_timeout(caplog, node, resp_idle):
+ with pytest.raises(RuntimeError):
+ node.request_idle()
+ assert len(caplog.record_tuples) == node.MAX_REQUEST_RETRIES * 2 + 1 + 1
+ assert (caplog.record_tuples[-1] ==
+ ('root',
+ logging.CRITICAL,
+ 'Node {0} doesn\'t respond to REQ_IDLE'.format(TEST_NODE_ID)))
+
+def test_wait_ind_up(caplog, node, ind_up):
+ node.put_test_recv_bytes(_hdlcify(ind_up))
+ node.wait_ind_up()
+
+ assert len(caplog.record_tuples) == 2
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Wait for IND_UP from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv IND_UP from {0}'.format(TEST_NODE_ID)))
+
+def test_wait_ind_up_timeout(caplog, node, ind_up):
+ node.wait_ind_up()
+
+ assert len(caplog.record_tuples) == 2
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Wait for IND_UP from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'No IND_UP from {0}'.format(TEST_NODE_ID)))
+
+def test_start_tx(caplog, node, resp_tx):
+ node.put_test_recv_bytes(_hdlcify(resp_tx))
+ node.start_tx(TEST_CHANNEL, TEST_TRANS_CTR)
+
+ assert node.status == NodeStatus.TX
+ assert len(caplog.record_tuples) == 2
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_TX to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_TX from {0}'.format(TEST_NODE_ID)))
+
+def test_start_tx_having_ind_txdone(caplog, node, resp_tx, ind_txdone):
+ # IND_TXDONE may follow RESP_TX especially when using opentestbed
+ node.put_test_recv_bytes(_hdlcify(resp_tx)
+ +_hdlcify(ind_txdone))
+ node.start_tx(TEST_CHANNEL, TEST_TRANS_CTR)
+
+ assert len(caplog.record_tuples) == 2
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_TX to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_TX from {0}'.format(TEST_NODE_ID)))
+
+ # IND_TXDONE should be ignored and saved in serial_leftover
+ assert node.serial_leftover == _hdlcify(ind_txdone)
+
+def test_start_tx_timeout(caplog, node, resp_st):
+ def _platform_recv(self):
+ if not hasattr(self, 'req_count'):
+ self.req_count = 1
+ else:
+ self.req_count += 1
+ if self.req_count % 2: # odd, RESP_TX is expected
+ return b'' # return nothing
+ else:
+ return _hdlcify(resp_st(NodeStatus.IDLE))
+
+ node._platform_recv = types.MethodType(_platform_recv, node)
+ with pytest.raises(RuntimeError):
+ node.start_tx(TEST_CHANNEL, TEST_TRANS_CTR)
+ assert len(caplog.record_tuples) == (
+ (node.MAX_REQUEST_RETRIES + 1) # REQ_TX
+ + (node.MAX_REQUEST_RETRIES + 1) * 2 # REQ_ST + RESP_ST
+ + node.MAX_REQUEST_RETRIES # Retry log
+ + 1 # error log
+ )
+ assert (caplog.record_tuples[-1] ==
+ ('root',
+ logging.CRITICAL,
+ 'Node {0} doesn\'t respond to REQ_TX'.format(TEST_NODE_ID)))
+
+def test_start_tx_delayed_resp_tx(caplog, node, resp_tx, resp_st):
+ def _platform_recv(self):
+ if not hasattr(self, 'req_count'):
+ self.req_count = 1
+ else:
+ self.req_count += 1
+ if self.req_count == 1:
+ # return nothing for the first REQ_TX
+ return b''
+ elif self.req_count == 2:
+ return _hdlcify(resp_tx)
+ else:
+ assert False # shouldn't come
+
+ node._platform_recv = types.MethodType(_platform_recv, node)
+ node.start_tx(TEST_CHANNEL, TEST_TRANS_CTR)
+ assert len(caplog.record_tuples) == 3
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_TX to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_ST to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[2]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_TX from {0}'.format(TEST_NODE_ID)))
+
+def test_start_tx_recv_ind_txdone(caplog, node, ind_txdone):
+ def _platform_recv(self):
+ if not hasattr(self, 'req_count'):
+ self.req_count = 1
+ else:
+ self.req_count += 1
+ if self.req_count == 1:
+ # return nothing for the first REQ_TX
+ return b''
+ elif self.req_count == 2:
+ return _hdlcify(ind_txdone)
+ else:
+ assert False # shouldn't come
+
+ node._platform_recv = types.MethodType(_platform_recv, node)
+ node.start_tx(TEST_CHANNEL, TEST_TRANS_CTR)
+ assert len(caplog.record_tuples) == 3
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_TX to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_ST to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[2]
+ == ('root',
+ logging.INFO,
+ 'Recv IND_TXDONE from {0}'.format(TEST_NODE_ID)))
+
+def test_wait_tx_done(caplog, node, ind_txdone, resp_idle):
+ node.status = NodeStatus.TX
+ node.put_test_recv_bytes(_hdlcify(ind_txdone) + _hdlcify(resp_idle))
+ node.wait_tx_done()
+ assert node.status == NodeStatus.IDLE
+
+ assert len(caplog.record_tuples) == 4
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Wait for IND_TXDONE from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv IND_TXDONE from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[2]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_IDLE to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[3]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_IDLE from {0}'.format(TEST_NODE_ID)))
+
+def test_wait_tx_done_resp_st(caplog, node, resp_st, ind_txdone, resp_idle):
+ # RESP_TX may be followed by IND_TXDONE when REQ_TX is re-sent
+ node.put_test_recv_bytes(_hdlcify(resp_st(NodeStatus.TX))
+ + _hdlcify(ind_txdone)
+ + _hdlcify(resp_idle))
+ node.wait_tx_done()
+
+ # RESP_TX should be ignored
+ assert len(caplog.record_tuples) == 6
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Wait for IND_TXDONE from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_ST from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[2]
+ == ('root',
+ logging.INFO,
+ 'Ignore RESP_ST from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[3]
+ == ('root',
+ logging.INFO,
+ 'Recv IND_TXDONE from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[4]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_IDLE to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[5]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_IDLE from {0}'.format(TEST_NODE_ID)))
+
+def test_wait_tx_done_timeout(caplog, node, resp_idle):
+ with pytest.raises(RuntimeError):
+ node.wait_tx_done()
+ assert len(caplog.record_tuples) == 10
+ assert (caplog.record_tuples[0] ==
+ ('root',
+ logging.INFO,
+ 'Wait for IND_TXDONE from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1] ==
+ ('root',
+ logging.ERROR,
+ 'IND_TXDONE from {0} may be dropped'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[-1] ==
+ ('root',
+ logging.CRITICAL,
+ 'Node {0} doesn\'t respond to REQ_IDLE'.format(TEST_NODE_ID)))
+ assert node.current_channel is None
+ assert node.current_trans_ctr is None
+ assert node.current_tx_mac_addr is None
+
+def test_start_rx(caplog, node, resp_rx):
+ node.put_test_recv_bytes(_hdlcify(resp_rx))
+ node.start_rx(TEST_CHANNEL, TEST_MAC_ADDR, TEST_TRANS_CTR)
+ assert node.status == NodeStatus.RX
+
+ assert len(caplog.record_tuples) == 2
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_RX to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_RX from {0}'.format(TEST_NODE_ID)))
+
+ # stop the thread directly
+ node.status = NodeStatus.IDLE
+ node.keep_receiving_thread.join()
+
+def test_start_rx_done_duplicate_response(caplog, node, resp_rx):
+ # two RESP_RX are received at once
+ node.put_test_recv_bytes(_hdlcify(resp_rx)
+ + _hdlcify(resp_rx))
+ node.start_rx(TEST_CHANNEL, TEST_MAC_ADDR, TEST_TRANS_CTR)
+ # stop the thread directly
+ node.status = NodeStatus.IDLE
+ node.keep_receiving_thread.join()
+
+ assert len(caplog.record_tuples) == 4
+ assert (caplog.record_tuples[0]
+ == ('root',
+ logging.INFO,
+ 'Send REQ_RX to {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[1]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_RX from {0}'.format(TEST_NODE_ID)))
+ # the second RESP_RX should be handled in _store_rx_records() and
+ # ignored
+ assert node.serial_leftover == HDLC_FLAG
+ assert (caplog.record_tuples[2]
+ == ('root',
+ logging.INFO,
+ 'Recv RESP_RX from {0}'.format(TEST_NODE_ID)))
+ assert (caplog.record_tuples[3]
+ == ('root',
+ logging.INFO,
+ 'Ignore RESP_RX from {0}'.format(TEST_NODE_ID)))
+
+def test_start_rx_timeout(caplog, node):
+ with pytest.raises(RuntimeError):
+ node.start_rx(TEST_CHANNEL, TEST_MAC_ADDR, TEST_TRANS_CTR)
+ assert len(caplog.record_tuples) == node.MAX_REQUEST_RETRIES * 2 + 1 + 1
+ assert (caplog.record_tuples[-1] ==
+ ('root',
+ logging.CRITICAL,
+ 'Node {0} doesn\'t respond to REQ_RX'.format(TEST_NODE_ID)))
+
+def test_recv_corrupt_resp_rx_1(caplog, node):
+ # there are two HDLC frames of RESP_RX, but the first one has two
+ # missing bytes: 0x3a and 0x7e
+ test_bytes = b'\x7e\x0c\x14\x7e\x0c\x14\x3a\x7e'
+ node.current_channel = TEST_CHANNEL
+ node.current_trans_ctr = TEST_TRANS_CTR
+ node.current_tx_mac_addr = TEST_MAC_ADDR
+
+ caplog.set_level(logging.DEBUG)
+ node.put_test_recv_bytes(test_bytes)
+ result = node._issue_command(node._send_req_rx, node._recv_resp_rx,
+ retry=False)
+ # the first one is corrupted
+ assert not result
+ result = node._issue_command(node._send_req_rx, node._recv_resp_rx,
+ retry=False)
+ # the second one is fine
+ assert result and result[0]
+
+def test_recv_corrupt_resp_rx_2(caplog, node):
+ # there are two HDLC frames of RESP_RX, but the first one doesn't
+ # have the leading 0x7e (HDLC_FLAG)
+ test_bytes = b'\x0c\x14\x3a\x7e\x7e\x0c\x14\x3a\x7e'
+ node.current_channel = TEST_CHANNEL
+ node.current_trans_ctr = TEST_TRANS_CTR
+ node.current_tx_mac_addr = TEST_MAC_ADDR
+
+ caplog.set_level(logging.DEBUG)
+ node.put_test_recv_bytes(test_bytes)
+ result = node._issue_command(node._send_req_rx, node._recv_resp_rx,
+ retry=False)
+ # the first part of the recv bytes is dropped in node._recv_msg()
+ assert result and result[0]
+
+def test_recv_corrupt_resp_rx_3(caplog, node):
+ # there are two HDLC frames of RESP_RX, but the first one lost its
+ # content, which is msg_type 0xc0
+ test_bytes = b'\x7e\x14\x3a\x7e\x0c\x14\x3a\x7e'
+ node.current_channel = TEST_CHANNEL
+ node.current_trans_ctr = TEST_TRANS_CTR
+ node.current_tx_mac_addr = TEST_MAC_ADDR
+
+ caplog.set_level(logging.DEBUG)
+ node.put_test_recv_bytes(test_bytes)
+ result = node._issue_command(node._send_req_rx, node._recv_resp_rx,
+ retry=False)
+ # the first one is corrupted
+ assert not result
+ result = node._issue_command(node._send_req_rx, node._recv_resp_rx,
+ retry=False)
+ # the second one is fine
+ assert result and result[0]
+
+def test_keep_receiving(caplog, node, resp_rx, ind_rx, resp_idle):
+ def _platform_recv_ind_rx(self):
+ if self.get_sent_bytes(): # expect this is REQ_RX
+ ret = _hdlcify(resp_rx)
+ else:
+ time.sleep(0.10)
+ if hasattr(self, 'pkctr'):
+ self.pkctr += 1
+ else:
+ self.pkctr = 0
+
+ # this test should be done before pkctr goes beyond the
+ # boundary
+ assert self.pkctr < 2**16
+
+ # incomplete rx_record which doesn't have msg_type
+ rx_record = _hdlcify(ind_rx(self.pkctr))
+
+ if self.pkctr == 0:
+ ret = rx_record + HDLC_FLAG
+ else:
+ self.serial_leftover == HDLC_FLAG[0]
+ ret = rx_record[1:] + HDLC_FLAG
+
+ return ret
+
+ def _platform_recv_empty(self):
+ return b''
+
+ caplog.set_level(logging.WARNING)
+ node._platform_recv = types.MethodType(_platform_recv_ind_rx, node)
+ node.start_rx(TEST_CHANNEL, TEST_MAC_ADDR, TEST_TRANS_CTR)
+ assert node.status == NodeStatus.RX
+
+ assert len(caplog.record_tuples) == 0
+ caplog.set_level(logging.DEBUG)
+ time.sleep(1)
+
+ # stop the thread by changing the node's status to STOPPING_RX
+ node.status = NodeStatus.STOPPING_RX
+ time.sleep(1)
+ # the thread should be still alive since it keeps receiving something
+ assert node.keep_receiving_thread.is_alive()
+ # make _platform_recv() return nothing
+ node._platform_recv = types.MethodType(_platform_recv_empty, node)
+ node.keep_receiving_thread.join()
+ assert not node.keep_receiving_thread.is_alive()
+
+def test_duplicate_ind_rx(caplog, node, ind_rx):
+ test_pkctr = 2
+ prev_pkctr = 1
+
+ prev_pkctr = node._store_rx_record(TEST_RSSI, 2, prev_pkctr)
+ assert prev_pkctr == 2
+ assert len(caplog.record_tuples) == 0
+
+ # duplicate
+ assert node._store_rx_record(TEST_RSSI, 2, prev_pkctr) == 2
+ assert len(caplog.record_tuples) == 1
+ assert (caplog.record_tuples[0] ==
+ ('root',
+ logging.ERROR,
+ 'Node {0} received a duplicate packet '.format(TEST_NODE_ID)
+ + '(pkctr:{0})'.format(test_pkctr)))
+
+def test_stop_rx(caplog, node, resp_rx, resp_idle):
+ node.put_test_recv_bytes(_hdlcify(resp_rx))
+ node.start_rx(TEST_CHANNEL, TEST_MAC_ADDR, TEST_TRANS_CTR)
+
+ def _platform_recv(self):
+ if self.sent_bytes and (self.sent_bytes[1] == MsgType.REQ_IDLE):
+ self.sent_bytes = b''
+ return _hdlcify(resp_idle)
+ else:
+ self.sent_bytes = b''
+ return b''
+ node._platform_recv = types.MethodType(_platform_recv, node)
+ node.stop_rx()
+ assert node.status == NodeStatus.IDLE
+ assert node.current_channel is None
+ assert node.current_trans_ctr is None
+ assert node.current_tx_mac_addr is None