本来今天是想写Google Alerts的API的。结果发现之前的API的repo不能用了。悻悻然,就再找一个吧~

因为一直在关注iBeacon,所以前段时间看到Google的Chrome团队出了个Physical-Web项目,一下就亮了。(最干的干货在后面入珠部分=.=)。

让你的鞋子有个URL

example.png
听起来很酷,让每个东西都有自己的URL,很典型的Google式思维。具体做法也跟iBeacon很像,只不过把广播帧里传输UUID/Major/Minor变成了直接传URL。我暂时把这种Beacon技术叫做webBeacon。做过iBeacon开发的人都看得出这里一个很大的好处,就是省去了一步翻译过程,可以更容易的做cache了。下面就是它的广播帧。

uint8_t advdata[] =
{
  0x03,  // length
  0x03,  // Param: Service List
  0xD8, 0xFE,  // URI Beacon ID
  0x0A,  // length
  0x16,  // Service Data
  0xD8, 0xFE, // URI Beacon ID
  0x00,  // flags
  0x20,  // power
  0x00,  // http://www.
  0x41,  // 'A'
  0x42,  // 'B'
  0x43,  // 'C'
  0x07,  // .".com"
};

实话说前面的部分没太理解,多了解下BLE再看。后面的部分自然就是发射功率和URL了。发射功率是用来做RSSI定位的。URL部分看来是不打算支持unicode的哈,还给.com专门搞了个数字7(你让Bell情何以堪...再Terminal里按control+G就能碰到它)。

话说突然想到入珠这个话题...然后就突然想到支持Physical-Web的入珠。然后就脑补出一个颠颠的走在路上的家伙,丁丁不断Broadcast一个广播,是一个网址。然后旁边的人掏出手,机(总觉的这句话在这个情景下好奇怪),看到一个丁丁的网站...

Coder的BLE - RFduino

借由文章的介绍,我了解到了还有可以让小破Coder也能轻松开发BLE底层的工具RFduino。因为那帮Googler觉得市场上现有的beacon不方便改广播帧,所以推荐了RFduino,还在Repo里专门放了个用于RFduino的firmware和一个用于发现这种广播的Android程序。进去以后发现不光是RFduino可以做成一个webBeacon,Android,Arduino,甚至nodejs都可以...模拟成一个webBeacon了!因为Android的要求系统最低时Android L,所以我只能试试nodejs版本的了。好吧,最后它告诉我Mac不支持,只支持linux。那..看来最可能的就是我把Nexus5升级到Android L。

Android端接收程序

所以呢...这么短的博客不好吧...

OpenBeacon

我只能硬着头皮往后看。发现了个OpenBeacon这样一个发射端实现。进去网页发现这是个2006年开始的开源项目。当初是做开源的2.4G RFID,后来加入了BLE。

里面的一个视频是他们的愿景:线下人们之间的接触行为+线上结构化语义数据+线上SNS的数据=实时的整合社交图谱。视频里它给出了一个实验室案例。真的很酷!但...它勾起了我当年做网络仿真时不好的回忆...也罢也罢...

看了那实时的效果是不是瞬间觉得Person of Interests里的世界似乎已经发生了呢~

图片描述

好啦好啦,终于感觉不那么愧疚了!睡觉!


fxp
462 声望59 粉丝

coder in action