Wen Wu's notes

technical record


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

如何增加蓝牙传输距离

发表于 2020-11-01 分类于 Bluetooth 阅读次数: 评论数:

蓝牙一直以来的卖点都是低功耗,不过低功耗的代价是传输距离短,大概也就是30米的样子。为了增加蓝牙通信距离,SIG一直在努力:

  • 推出 Coded PHY,在编码中加入更多的冗余数据,接收方可以尽可能的恢复数据,TI测试出来的距离有大概1.5KM。
  • 推出BLE Mesh,原理是让各个蓝牙节点可以通过广播来接力传输数据,达到长距离传输的目的。而要想接力传输,各个节点就不得不既要扫描又要发送数据包,这又丧失了BLE的立身之本,所以在Mesh的规范里又对mesh网络的拓扑结构做了很多规定以节约功耗,如下图,感兴趣的同学可以翻翻Spec。
  • 还有6LOWPAN,让蓝牙数据从L2CAP层接到IP,借助以太网或是wifi来增加传输距离。

厂家的思路就有点开阔了:

  • Tile这个公司是做防丢追踪器的。比如买个防丢设备挂到钥匙圈上,你就可以通过手机app去找倒钥匙圈。还有一家智能耳机厂商Skullcandy原生就支持这个app,可以直接通过手机找耳机,不需要再在耳机上挂个防丢器。不过Tile做的比较有创意的地方是该公司运营了一个社区。假如你的设备丢了,你可以在手机app上启动“社区寻找”的功能,让所有支持社区搜寻的手机帮你找设备,借助社区的力量结局了距离的问题。比如你出差的时候,耳机丢在了美国的酒店,你回国后在家里触发这个社区搜寻的功能,而酒店有服务员的手机支持社区搜寻的功能而且搜到了你的耳机,那你就能看到自己的耳机在这家酒店,就可以通知酒店帮你找找看。

  • Apptricity这家公司则号称可以让蓝牙传输距离增加到20迈(36公里),可是实在查不到到底是怎么做到的,在IEEE的一篇文章Apptricity Beams Bluetooth Signals Over 30 Kilometers很吝啬的提了一句说它们借助了激光的思想,怎么个借助法就再没提提了,最牛的是说他们在与军方的合作的非商业版里已经做到了80~120公里,天啊,这还是蓝牙吗,还有必要用蓝牙吗。

    The key new wrinkle, according to Apptricity’s CEO Tim Garcia, is precise tuning within the Bluetooth spectrum. Garcia says it’s the same principle as a tightly-focused laser beam. A laser beam will travel farther without its signal weakening beyond recovery if the photons making up the beam are all as close to a specific frequency as possible. Apptricity’s Bluetooth beacons use firmware developed by the company to achieve such precise tuning, but with Bluetooth signals instead of photons. Thus, data can be sent and received by the beacons without interfering and without requiring unwieldy amounts of power.

我们的时间都花在哪里了

发表于 2020-09-27 分类于 经济学 阅读次数: 评论数:

看完下面这张图,你会发现你真正投入到工作上的时间在一辈子看来很少,所以你努力不了多少年,努力跟选择相比较,是选择更重要。

瑞·达利欧(Ray Dalio)对中国经济的评价

发表于 2020-09-26 分类于 经济学 阅读次数: 评论数:

《中国大周期及其货币》(The Big Cycle of China and Its Currency)
中国重回巅峰时期,是新一轮的牛市。

在过去的1400多年的大部分时间里,大多数朝代都非常强大,文明且繁荣。
  唐朝以后,中国扩大了疆界,并经历了文化的繁荣。在南北朝时期(从900年代到1200年代),中国是世界上最具创新和活力的经济体。在明朝(1300到1600年代),中国是一个强大的大国,享有一段既富裕又和平的美好时期。在清朝初期(1600到1700年代),中国拥有最大的领土扩张范围,统治着世界三分之一的人口,同时拥有极其强大的经济实力。
  然后在1800年代初期到1900年代上半年,中国实力衰落,而欧洲国家(尤其是大英帝国)实力增强。从1800年左右到最近,亚洲的财富和权力逐步转移到了欧洲,这是世界历史上最大一次的财富和权力转移,主要是由于中国的衰弱,这种权力和财富的转移应该认为这是一种反常现象,而不是常态。

命运这东西

发表于 2020-08-31 更新于 2021-01-02 分类于 阅读 阅读次数: 评论数:

现在开始粉村上春树了,《海边的卡夫卡》中的一段关于命运的说辞:

某种情况下,命运这东西类似不断改变前进方向的局部沙尘暴。你变换脚步力图避开它,不料沙尘暴就像配合你似的同样变换脚步。你再次变换脚步,沙尘暴也变换脚步——如此无数次周而复始,恰如黎明前同死神一起跳的不吉利的舞。这是因为,沙尘暴不是来自远处什么地方的两不相关的什么。这是说,那家伙是你本身,是你本身中的什么。所以你能做的,不外乎乖乖地径直跨入那篇沙尘暴之中,紧紧捂住眼睛耳朵以免沙尘进入,一步一步从中穿过。那里面没有太阳,没有月亮,没有方向,有时甚至没有时间,唯有碎骨一样细细白白的沙尘在高空盘旋。
而沙尘暴偃旗息鼓之时,你恐怕还不能完全明白自己是如何从中穿过而得以逃生的,甚至它是否已经远去你大概都无从判断。不过有一点是清楚的:从沙尘暴中逃出来的你已经不再是跨入沙尘暴时的你。这就是所谓沙尘暴的含义。

斯文牙(SweynTooth)是什么牙?

发表于 2020-06-21 更新于 2020-06-26 分类于 蓝牙 阅读次数: 评论数:


SweynTooth是新加坡科技设计大学(SUTD)的一个嵌入式设备安全研究机构在今年2月释放出的10个针对BLE的攻击方法,这些攻击方法很常见,就是通过传输不符合规范的数据包,看被测设备会不会出现死锁或死机,相关的攻击程序也有开放。第二波的攻击方法将在7月13号发布。

关于为什么叫SweynTooth,很好玩,请参考下面一段。

5 Why SweynTooth ?

The insight behind the name SweynTooth arrives from Sweyn Forkbeard, the son of King Harald Bluetooth (after whom the Bluetooth Technology was originally named). Sweyn revolted against Harald Bluetooth and this forced King Harald to his exile. The exile lead to the death of King Harald shortly. We envision that if SweynTooth style vulnerabilities are not appropriately handled by BLE vendors, then the technology can become a breeding ground for attackers. This may, in turn, lead the Bluetooth technology to be obsolete.

斯文牙是蓝牙的儿子,斯文牙一点不斯文,他反叛父亲,并将父亲流放。鉴于此,SUTD发布这些无聊攻击也算是师出有名:为了不让蓝牙技术落到蓝牙的境地。原本的目的也许就是导师为了让学生有课题做作,好写毕业论文,你懂得。正常情况下谁有闲空去搞这些损人不利己的事儿呢?

比如其中的第二个攻击方法,就是将链路层数据包的LLID给写成0,而0在spec中规定是个没有意义的数字,在收到这样的数据包时应该直接丢弃。

Nimble Controller在处理RX Data PDU的时候已经考虑到这个了,code如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void
ble_ll_conn_rx_data_pdu(struct os_mbuf *rxpdu, struct ble_mbuf_hdr *hdr)
{
/* Validate rx data pdu */
rxbuf = rxpdu->om_data;
hdr_byte = rxbuf[0];
acl_len = rxbuf[1];
llid = hdr_byte & BLE_LL_DATA_HDR_LLID_MASK;

/*
* Check that the LLID and payload length are reasonable.
* Empty payload is only allowed for LLID == 01b.
* */
if ((llid == 0) || ((acl_len == 0) && (llid != BLE_LL_LLID_DATA_FRAG))) {
STATS_INC(ble_ll_conn_stats, rx_bad_llid);
goto conn_rx_data_pdu_end;
}

QBQ, 问题背后的问题

发表于 2020-06-19 分类于 阅读 阅读次数: 评论数:

QBQ,一本小书,不到150页,一个小时读完。
一句话:这是一本老板喜欢的书,教员工要当责。
看书名,我被她深深的吸引了,这本书难道是关于逻辑学的?教你识别一个问题是不是一个问题,避免自己做无用功?然而我错了。
翻译下书名:提出带有负面情绪的问题,是有问题的。
全书的重点是在讲作为一个员工应该有的心态:做事当责,不抱怨,以正面心态拥抱当前的问题。当你改变到了这个心态,自己工作成效也大,进步也快。

关于BLE的好文

发表于 2020-05-28 分类于 蓝牙 阅读次数: 评论数:

一系列介绍BLE 规范的好文,对于了解BLE的整体概念非常有帮助。当然要想深入理解,还是要读原汁原味的Spec,让你苦思冥想,在谜团中寻找自己需要的东西,才更有收获。

我跑,故我在

发表于 2020-05-04 分类于 阅读 阅读次数: 评论数:

村上春树是一个多产的作家,我只看过一本《当我谈跑步时,我谈些什么》。
村上也是个跑步专家,每年夏天参加铁人三项,冬天参加马拉松。
谈到为啥选择跑步时,他认为就是自己喜欢,自己没有兄弟姐妹,对于对抗性的以及与人合作的运动项目不喜欢,所以他选择了跑步,跑步是与自己对话的过程,小说的很多写作方法也是跑步的时候想出来的。

他写的跑一百公里超级马拉松时候的感觉,特别的细腻。

  • 就这样,我坚持又坚持,总算跑了下来。当我跑到七十五公里处,感觉似乎又什么东西攸地出窍了。除了“出窍”一词,我想不出还有什么好的表达。简直就像穿透了石壁一般,身体一下子钻了过去,来到了另外一面。
  • 如此长时间地不停奔跑,不可能感觉不到肉体上的苦楚。但到了这个时候,疲劳已不是什么重大问题。这也许意味着疲劳作为一种常态,被身体自然而然地接纳了。一度沸沸扬扬的肌肉革命议会似乎也灰心丧气,不再逐一倾诉不满。已经无人敲桌子,无人扔杯子了。它们将这疲劳作为历史的必然,作为革命的成果,默默无言地接受下来。我便自动地、只管有规律地前后甩动手臂,将双腿一步一步向前递出去。什么都不思,什么都不想。待回过神来,连肉体的苦楚都似乎销声匿迹,或像因故无法处理的难看家具,被扔到了毫不起眼的角落。
  • 我陷入了类似自动驾驶的状态。这么继续跑下去,只怕过了一百公里我还能跑。听上去颇有些怪异:跑到最后,不仅是肉体的苦痛,甚至连自己到底是谁、此刻在干什么之类,都已经从脑海中消失殆尽。这理当是十分可笑的心情,可是我连这份可笑都无法感受到了。这这里,跑步几乎达到了形而上学的领域。仿佛先有了行为,然后附带性地才有了我的存在。我跑,故我在。
  • 在我的周遭,许多人只是默默向着终点奔去。身处其中,我拥抱着异常静谧的幸福感。吸气,再吐气,听不出呼吸中攸丝毫紊乱。空气非常平静地进入身体,再走出体外。我那寡言的心脏按照一定的速度重复着舒张与收缩,我的肺好像好似勤劳的风箱,规规矩矩将新鲜氧气摄入体内。我能够目睹它们工作的身影,听见它们发出的声响。一切都顺畅无误地运站着。沿途的人们对这我们大声呼唤“加油啊,马上就到终点站了“声音像透明的风,穿透我的身体逝去。我感觉人们的声音就这般穿透而过,直达身体的另一面。
  • 我是我,又不是我。这是一种异常沉稳而寂静的心情

如何聪明的睡觉

发表于 2020-04-12 更新于 2020-04-25 分类于 阅读 阅读次数: 评论数:

如何提高睡觉的效率:

  • 卧室要黑,做到伸手不见五指。
  • 睡觉前1个半小时不要接触电子产品

    蓝光会影响褪黑激素的分泌

  • 10点到11点是身体分泌褪黑激素的时间,这个时候必须尽快睡觉。
  • 晚上大概有4~6个睡眠周期,每个周期是1个半小时,最好不要打断这些周期。
  • 平时多晒太阳
  • 用脚踩土地,吸收负电子。

给新任软件工程师的建议

发表于 2020-04-06 分类于 阅读 阅读次数: 评论数:

给自己,一个新手软件工程师的建议

  • Run a marathon, not a sprint.

    工作是一场马拉松,不是短跑。

  • Be humble, not stupid.

    保持谦逊,但别笨(并不是所有其他人都比你好)。

  • Compare with yourself, not others.

    跟自己比,不是别人。

  • Respect people, not titles.

    尊重人,而不是尊重头衔。

  • Choose the challenge, not comfort.

    迎接挑战,而不是固守舒坦。

  • Jump on the whiteboard, not on the keyboard.

    工作从白板开始,不是键盘。

  • Deliver value, not code.

    产出价值,不是代码。

1234…9

Wen Wu

I'm a bluetooth Host and Controller developer
86 日志
21 分类
41 标签
© 2023 Wen Wu
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Gemini v7.2.0