Phyphox Ble库的经验点滴

Phyphox Ble库的经验点滴

Phyphox是自动支持蓝牙BLE传输协议的,直接使用BLE 5.0可以给Phyphox传输数据。但是当Phyphox Ble的Arduino库发布以来,直接使用有Ble功能的ESP32、Arduino Nano 33等蓝牙/WIFI双模开发板创作Phyphox实验,则显得远超过另用蓝牙芯片要方便。Phyphox Ble库把Phyphox实验创作转变成了富于创作激情的远高于实验本身的乐趣。

下面的经验点滴,有些会在ESP32上出现,有些会在Nano 33上,有些则同时会出现在两种板子上。第1、3条比较容易,而第2条太难了。

1、导出到Phyphox editor的编辑文件报Buffer “” not defined错误

这种情况一般发生在,蓝牙是把time作为CH0自动传输的,而有时我们并不使用time这个量,于是就删掉了它与graph的链接。

之后我们在向手机phyphox里面导入这个实验的时候,phyphox向我们汇报错误:Buffer “” not defined.

这个原因是,当我们在phyphox editor里删除了链接时,事实上把蓝牙送过来的缓冲区数据一并删除了,如果到phyphox editor 的xml栏里去看,会发现<data-containers>……</data-containers>段落里没有了<container size="0" static="false" init="">CH0</container>,它就是用于传输time的缓存变量,而<bluetooth>……</bluetooth>会缺少<output char="@#¥%#¥%" extra="time">CH0</output>,它是蓝牙输入时input页面的offset为16时的缓存变量,和container里面的是一个,只是用在不同有效数据段里。

解决的办法,是在output的灰色小+字位置,创建一个空的缓存变量就行了,名称可以不再是CH0,任意名称都可以;如果不想再跑到phyphox里面去折腾,直接用记事本打开.phyphox文件,修改代码,也很方便。

2、Nano 33 Ble Sensor向Phyphox传递多个数值时报错

例如向Phyphox只传输1个数据,我们就在Arduino IDE里server.write(a),但是如果传输两个数据,我们仍然server.write(a,b)有时会报错。

这个原因是什么,目前尚不清楚,但从提示来看,就是phyphox Ble库与其他Arduino库有冲突,提示是不让phyphox Ble重载write函数,也就是,在phyphoxBle.h里面,有几个write函数,不同的参数个数,会自动选择匹配参数个数的write函数。但现在冲突了,phyphox Ble分不清要调用谁。因此,我们到phyphoxBle.h里面注释掉对应的write()函数只留下包含一个参数的和两个参数的就行了。比如只留下void write(float&)、void write(float&, float&)这两个,传输1个蓝牙数据和两个蓝牙数据就不会报错了。如果需要传输3个数据呢?就只留下void write(float&)、void write(float&, float&, float&)这两个write,避免phyphox Ble糊涂。

3、用Phyphox editor调整蓝牙采集数据的顺序

这个不用过多文字,蓝牙phyphox被约定只能一次传输20个byte的缓冲变量地址,每个偏移量offset约定为4,因此一次可以传输5个变量(实际time是自动被传输的,咋过去的,不清楚),这样,这5个变量依次偏移0、4、8、12、16就分别把它们取出来送给phyphox了。我们在取数据时,只要指定偏移里,就能取到指定的变量;显然,这个偏移自然能够被用于输出,比如我们思考一个这样的实验,把手机当成小车,手机phyphox把数据通过蓝牙送给ESP32或Nano 33 Ble会怎样呢?象马斯克的小猪那样,手机phyphox把数据通过蓝牙送给脑机芯片而直接把物理实验(或者科学探索)操作在脑海里,又会怎样呢?

(0)

相关推荐

  • Phyphox介绍和相关BLE库下载

    phyphox是个啥?众所周知,这个智能手机里面有很多的传感器,那能不能直接用这些传感器测量现实世界呢?然后把采集到的数据做一些后处理. 当然可以,上面这个应用就是做了这个事情. 你的智能手机就是一个 ...

  • 文献综述:Phyphox在中学物理实验探究活动中的应用进展

    经过40多天的酝酿,20多天的文献检索.翻译.研读与梳理,连续14昼夜马不停蹄的撰写,经过南京师范大学.河南师范大学数位教授的悉心指点,长达52页.2万4千字的文献综述<Phyphox在中学物理 ...

  • KT6368A蓝牙BLE芯片的完整使用手册

    KT6368A蓝牙BLE芯片的完整使用手册

  • 利用Phyphox和ESP32蓝牙描绘电源输出功率与外电阻的关系曲线

    利用Phyphox和ESP32蓝牙描绘电源输出功率与外电阻的关系曲线

  • 临床 | 针灸名家张善忱针灸经验点滴

    本文选自中医杂志,作者:刘乾和等 分享自中医集结号 [导读]学针灸的应该都读过张善忱老师的<内经针灸类方>,书中按照疾病系统地将<灵枢经>原文翻译并解释一番,给小编的启发很大. ...

  • 李士懋用药经验点滴

    李士懋教授为河北省十二大名医之一,全国第二.三.四.五批老中医药专家学术经验继承工作指导老师.临证50余年,医术精湛.余有幸侍诊于左右,现简析其临床用药经验点滴如下. 桂枝的巧用滨州市中心医院中医科赵 ...

  • 小动作有大巧思:李士懋用药经验点滴

    李士懋用药经验点滴 李士懋教授为河北省十二大名医之一,全国第二.三.四.五批老中医药专家学术经验继承工作指导老师.临证50余年,医术精湛.余有幸侍诊于左右,现简析其临床用药经验点滴如下. 滨州市中心医 ...

  • 『名医经验』范新发治疗胸痹心痛经验点滴

    范新发主任医师是河北省首届名中医,第一.三.四批河北省老中医药专家学术经验继承工作指导老师,从事中医临床.科研.教学工作近40年.在治疗胸痹心痛过程中积累了大量临床经验,笔者有幸跟随范老师学习,现总结 ...

  • 葶苈子治疗胆肾积水经验点滴

    葶苈子味辛苦,性寒.诸方书谓其有下气行水,逐痰饮,除胀满之功.<本草经疏>葶苈子条云:"(窍闭不通)则水湿泛溢为喘满,为肿胀,为积聚,种种之病生矣."葶苈子则" ...

  • 魏子孝:徐长卿应用经验点滴

    建设生存营地! 徐长卿为萝藦科多年生草本植物徐长卿的根及根茎.一名寮刁竹.石下长卿.鬼督邮(一说另是别物,功用相同,可代用).现仅寮刁竹处方名常用. 徐长卿辛,温,无毒.功能祛风,解毒,镇静,止痛. ...

  • 治疗顽固性口腔溃疡经验点滴

    ▶中医书友会第641期 每天一期,陪伴中医人成长 作者/邢炳荣 ⊙ 编辑/张亚娟 ⊙ 校对/炳程 导读:作者以"行军散"外用治疗顽固性口腔溃疡20余例,均收到满意的疗效,并附有一案 ...

  • 教学经验点滴

    教学是一门艺术,要想教好学就要总结经验,以增强教学本领. 1.要下苦功沉下去,习练耐性 ,才能收获效果. 2.采取激励措施,尽量让学生听明白,想清楚,之后让学生答之. 3.要锻炼自己的音量,讲课要让每 ...