Beacon Mile

The first living lab is implemented from the Amsterdam CS to the Marineterrein which is approximately 2km in length and has a variety of potential use cases including, among several potential applications:

  • Public way finding
  • Tourist information routes
  • Hyper local points of interest
  • Beacon signage in your own language
  • Augmenting existing apps with additional proximity data
  • crowd control, and more

Contents

The Living Lab contains iBeacons and Eddystone beacons and IoT enabled smart beacons which communicate over LoRa. One of the goals of the lab (you can read the complete overview in the sponsor prospectus) is to incorporate new IoT technologies so that the IoT small business and start up community can stay ahead of new technology and be able to test and deploy IoT solutions in real urban environments.

We are currently building a wiki in parallel which has all of the technical details of the equipment.

Parties involved

The Lab is funded as a private / public partnership under the CTO office of the City of Amsterdam. The following parties have contributed significantly to the current infrastructure :

  • Glimworm are in the leadership role and have designed the architecture, selected the initial hardware and software and also have the assignment to keep it technology and company neutral
  • KPN have contributed the LoRa WAN hardware, expertise and technical support
  • Yenlo have contributed the WSO2 API server which is used
  • SODAQ have provided the boards used for prototyping along the mile
  • Intel have contributed phyicial sensors to be deployes
  • IBM have provided free use of BLUEMIX
  • Appsterdam provide access to the worlds largest international developer community

Accessing the mile

Glimworm is running the “HQ” together with Katalin Gallyas, head of innovation from the City’s CTO office. As of the 23rd July the installation will be live and we can take specific requests for projects to use the mile, for challenges to be placed on the mile and for sponsors to donate new equipment to be placed on the mile.

If you want to join us, please fill in the sponsor request form on the front page http://ibeaconlivinglab.com/#sponsorapplication and we will get back to you a.s.a.p.

Current Map of the installation

The Data is all available via an open API which can be used in your app.

See full screen

N8 Hackathon MQTT endpoints for queue length

Use dev.ibeaconlivinglab.com, port 1883, topic /n8/queue/rijks

The results will look like this

{
  "m": "rijks",   (museum - rijks, annef, hermitage, vang)
  "queuelength": 0, (curent queue length)
  "prognosis": { (prognosis until the end of the day)
    "h6": {
      "percent": "-", (percentage)
      "number": 0 (actual predicted)
    },
    "h7": {
      "percent": "-",
      "number": 0
    },
    "h8": {
      "percent": "-",
      "number": 0
    },
    "h9": {
      "percent": 9,
      "number": 4
    },
    "h10": {
      "percent": 24,
      "number": 12
    },
    "h11": {
      "percent": 44,
      "number": 22
    },
    "h12": {
      "percent": 62,
      "number": 31
    },
    "h13": {
      "percent": 71,
      "number": 35
    },
    "h14": {
      "percent": 75,
      "number": 37
    },
    "h15": {
      "percent": 72,
      "number": 36
    },
    "h16": {
      "percent": 53,
      "number": 26
    },
    "h17": {
      "percent": "-",
      "number": 0
    },
    "h18": {
      "percent": "-",
      "number": 0
    },
    "h19": {
      "percent": "-",
      "number": 0
    },
    "h20": {
      "percent": "-",
      "number": 0
    },
    "h21": {
      "percent": "-",
      "number": 0
    },
    "h22": {
      "percent": "-",
      "number": 0
    },
    "h23": {
      "percent": "-",
      "number": 0
    }
  }
} 

API calls

The entire Lab is OPEN and all the data used on the lab is OPEN also. The following API calls already exist


/beacons/ – All beacons
This is a list of the deployed beacons

  • id : id number
  • name : simple name
  • remarks : any notes
  • longitude : longitude
  • latitude : latitude
  • status : planned / installed
  • uuid : UUID
  • major : major
  • minor : minor
  • type : GB2 = standard glimworm beacon , lora-v0 : Lora enabled Beacon with IOT capability and 2 way communication , gb2-jcp-mup : Glimworm beacon in a JC Deceaux advertisement palce, gb2-jcd-tram : Glimwom beacon in a JC Deceaux tram stop
  • capabilities : ib : ibeacon , sensor : sensor attached, lora : lora communication
  • LORA_address : lora network address
  • publuc_url : public endpoint
  • groups : groups this is a member of (for filtering)
  • additional_json : additional data in a json array
{
    "id": 4,
    "name": "oost-light-1",
    "remarks": "",
    "longitude": 4.904265,
    "latitude": 52.376772,
    "status": "planned",
    "uuid": "74278bda-b644-4520-8f0c-720eaf059939",
    "major": 100,
    "minor": 1,
    "type": "gb2",
    "capabilities": "ib",
    "LORA_address": "",
    "public_url": "",
    "groups": "ibm-fixed",
    "additonal_json": ""
  },

/beacons/geojson – Beacons in a GEOJSON format


/layers/ – All uploaded Layers
an array of available content layers

{
    "id": 1,
    "layer_code": "base", /* code for this layer */
    "owner": "ibll", /* owner of the layer */
    "remarks": "base layer for lab",
    "status": "",
    "image_link_url": "",
    "logo_link_url": "",
    "movie_link_url": "",
    "additonal_json": ""
  },

/content/ – All uploaded content
Available uploaded content

filters : 
&b=4 : get content attached to beacon 4
&b=4,5,6 : get content attached to beacon 4,5 or 6
&l=vistory : get content for layer vistory
&l=vistory,base : get content for layer vistory or base

Results

{
    "id": 2,
    "layer_code": "",
    "title": "snapshot",
    "short_text": "",
    "body_text": "",
    "status": "",
    "latitude": 52.372895,
    "longitude": 4.91132833,
    "json_link_url": "",
    "image_link_url": "http://jon651.glimworm.com/ibeaconlivinglab/layers/base/IMG_7872.JPG",
    "logo_link_url": "",
    "movie_link_url": "",
    "triggers": "",
    "beacons": "9",
    "groups": "",
    "additonal_json": ""
  },

/content/geojson – All uploaded content in a GEOJSON format


/log/ – Logged data

Uploaded data

Data coming from the LoRa beacons is uploaded to multiple systems, all in the spirit of openness.

LoRa provisionging and demos

We can remotely provision all of the LoRa beacons if you want us to set up a scenario please make contact , that is what we are here for!! We will also run LoRa demos on demand. Data flowing from the LoRa beacons does end up in ThingSpeak and then on to ThingFull.

LORA 1

LORA 2

LORA 3

Accessing the equipment

If you contact us with a proposal we can open up the LoRa IOT boxes each month and place your own donated equipment inside. Please make contact and discuss this if you want to take advantage of the opportunity

Connected Apps

Some Apps have already connected to the beacon mile.

Leave a Reply

Your email address will not be published. Required fields are marked *