Bluetooth Hacking?
BruCON 2011

From OpenBeacon

Jump to: navigation, search


JSON API

BruCON 2011, day 2 - Social interaction between participants in the lounge area (in PDF and PNG format) was measured using OpenBeacon active RFID tags. In the the picture you can see the top 50 visitor tag IDs versus interaction duration. You can also find a live demo of this graph (including source code).
BruCON 2011 Active 2.4GHz OpenBeacon Proximity Tag was used to measure social interaction between BruCON participants and to track positions
PHP visualization with proximity connections visible (see PHP source code) and live demo
OpenBeacon Ethernet PoE II as used for BruCON 2011 in combination with Netgear WNCE2001 WLAN bridge
Brucon 2011, day 2 - Tag sightings per minute

We did set up a live re-player on http://api.openbeacon.net/get/brucon.json which loops day 2 of BruCON 2011. Log files including visitor position and tag-to-tag sightings in JSON format are available in bzip2 and ZIP file format.

See OpenBeacon Tracker API Installation for setting up this server API and the example code on your own server.

Latest Source Code Snapshot

The active 2.45GHz RFID Proximity Tag source code can be found at /firmware/pic16/tag-proximity. You can find the BruCON 2011 Tag Encryption Key here. You can find further instructions on using our GIT source code repository here. Alternatively the latest snapshots can be downloaded here:

Active 2.45Ghz Proximity RFID Tag Hardware Design

BruCON Live Demo Applications

Example JSON Object

  • loc[x,y]: coordinates of tags or readers
  • edge[n].tag[tag1,tag2]: tag1 is near tag2 with a connection strength of power
{
  "id":10036,
  "api":{"name":"openbeacon-tracker","ver":"1.0.7"},
  "time":1316522117,
  "packets":{
    "per_key":[0,6029635,0,0,0,0,0,0,0,0],
    "rate":511,
    "crc_error":5776,
    "crc_ok":6029635
    },
  "tag":[
    {"id":271,"loc":[314,522],"key":1,"reader":197},
    {"id":388,"loc":[314,522],"key":1,"reader":197},
    {"id":131,"loc":[418,502],"key":1,"reader":197},
    {"id":301,"loc":[321,523],"key":1,"reader":111},
    {"id":125,"loc":[313,521],"key":1,"reader":197},
    {"id":387,"loc":[314,522],"key":1,"reader":197},
    {"id":375,"loc":[314,522],"key":1,"reader":197},
    {"id":122,"loc":[497,480],"key":1,"reader":197},
    {"id":211,"loc":[716,537],"key":1,"reader":111},
    {"id":314,"loc":[353,509],"key":1,"reader":197},
    {"id":297,"loc":[401,499],"key":1,"reader":197},
    {"id":366,"loc":[429,474],"key":1,"reader":197},
    {"id":230,"loc":[381,508],"key":1,"reader":197},
    {"id":113,"loc":[767,578],"key":1,"reader":111},
    {"id":200,"loc":[839,506],"key":1,"reader":102},
    {"id":227,"loc":[768,508],"key":1,"reader":197},
    {"id":321,"loc":[316,472],"key":1,"reader":197},
    {"id":289,"loc":[832,515],"key":1,"reader":111},
    {"id":396,"loc":[734,537],"key":1,"reader":111},
    {"id":401,"loc":[547,522],"key":1,"reader":102},
    {"id":195,"loc":[640,582],"key":1,"reader":197},
    {"id":259,"loc":[839,506],"key":1,"reader":102},
    {"id":242,"loc":[314,522],"key":1,"reader":197},
    {"id":378,"loc":[723,502],"key":1,"reader":111},
    {"id":130,"loc":[642,489],"key":1,"reader":111},
    {"id":177,"loc":[314,522],"key":1,"reader":197},
    {"id":205,"loc":[833,506],"key":1,"reader":197},
    {"id":260,"loc":[775,607],"key":1,"reader":111},
    {"id":268,"loc":[681,232],"key":1,"reader":196},
    {"id":304,"loc":[314,522],"key":1,"reader":197},
    {"id":255,"loc":[780,595],"key":1,"reader":111},
    {"id":204,"loc":[775,608],"key":1,"reader":111},
    {"id":171,"loc":[786,581],"key":1,"reader":111},
    {"id":213,"loc":[707,595],"key":1,"reader":197},
    {"id":309,"loc":[839,506],"key":1,"reader":102},
    {"id":332,"loc":[697,583],"key":1,"reader":111},
    {"id":393,"loc":[344,481],"key":1,"reader":197},
    {"id":123,"loc":[839,506],"key":1,"reader":102},
    {"id":272,"loc":[839,506],"key":1,"reader":102},
    {"id":117,"loc":[374,484],"key":1,"reader":197},
    {"id":179,"loc":[775,608],"key":1,"reader":102},
    {"id":234,"loc":[481,452],"key":1,"reader":197},
    {"id":406,"loc":[708,509],"key":1,"reader":102},
    {"id":118,"loc":[381,463],"key":1,"reader":197},
    {"id":199,"loc":[770,607],"key":1,"reader":197},
    {"id":133,"loc":[313,522],"key":1,"reader":197},
    {"id":258,"loc":[820,535],"key":1,"reader":102},
    {"id":300,"loc":[430,472],"key":1,"reader":197},
    {"id":403,"loc":[839,506],"key":1,"reader":102},
    {"id":190,"loc":[758,508],"key":1,"reader":102},
    {"id":170,"loc":[820,536],"key":1,"reader":111},
    {"id":244,"loc":[775,608],"key":1,"reader":197},
    {"id":276,"loc":[839,505],"key":1,"reader":102},
    {"id":372,"loc":[636,554],"key":1,"reader":111},
    {"id":330,"loc":[774,608],"key":1,"reader":111},
    {"id":176,"loc":[767,564],"key":1,"reader":111},
    {"id":159,"loc":[337,521],"key":1,"reader":197},
    {"id":287,"loc":[314,522],"key":1,"reader":197},
    {"id":164,"loc":[839,506],"key":1,"reader":197},
    {"id":290,"loc":[769,521],"key":1,"reader":102,"button":true},
    {"id":302,"loc":[796,520],"key":1,"reader":102},
    {"id":217,"loc":[348,511],"key":1,"reader":197},
    {"id":201,"loc":[673,552],"key":1,"reader":115},
    {"id":228,"loc":[734,543],"key":1,"reader":111,"button":true},
    {"id":407,"loc":[839,506],"key":1,"reader":102},
    {"id":296,"loc":[323,522],"key":1,"reader":111},
    {"id":203,"loc":[814,506],"key":1,"reader":197},
    {"id":192,"loc":[306,505],"key":1,"reader":197},
    {"id":143,"loc":[350,526],"key":1,"reader":197},
    {"id":155,"loc":[317,521],"key":1,"reader":197},
    {"id":399,"loc":[754,531],"key":1,"reader":102},
    {"id":261,"loc":[709,487],"key":1,"reader":102},
    {"id":147,"loc":[332,424],"key":1,"reader":197},
    {"id":207,"loc":[314,522],"key":1,"reader":197},
    {"id":198,"loc":[635,513],"key":1,"reader":102},
    {"id":361,"loc":[716,543],"key":1,"reader":102},
    {"id":222,"loc":[394,480],"key":1,"reader":197},
    {"id":298,"loc":[737,528],"key":1,"reader":111},
    {"id":186,"loc":[317,521],"key":1,"reader":197},
    {"id":402,"loc":[790,583],"key":1,"reader":111},
    {"id":183,"loc":[839,506],"key":1,"reader":111},
    {"id":231,"loc":[361,494],"key":1,"reader":197},
    {"id":238,"loc":[314,522],"key":1,"reader":197},
    {"id":408,"loc":[591,513],"key":1,"reader":102},
    {"id":345,"loc":[448,483],"key":1,"reader":197},
    {"id":324,"loc":[314,522],"key":1,"reader":197}
    ],
  "reader":[
    {"id":101,"loc":[151,452],"room":1,"floor":1,"group":4},
    {"id":102,"loc":[839,506],"room":1,"floor":1,"group":4},
    {"id":111,"loc":[775,608],"room":1,"floor":1,"group":4},
    {"id":115,"loc":[461,236],"room":1,"floor":1,"group":4},
    {"id":196,"loc":[681,232],"room":1,"floor":1,"group":4},
    {"id":197,"loc":[314,522],"room":1,"floor":1,"group":4}
    ],
  "edge":[
    {"tag":[176,378],"power":3},
    {"tag":[290,302],"power":2},
    {"tag":[378,396],"power":5},
    {"tag":[147,300],"power":8},
    {"tag":[113,211],"power":1}
    ]
}
This installation and vital parts of the server infrastructure were supported by the European Union - Europäischer Fonds für regionale Entwicklung - EFRE