phyphox通过蓝牙反控ESP32的技术细节

phyphox通过蓝牙反控ESP32的技术细节

Phyphox能够通过它的官方的Arduino支持库来扩展我们自己创作实验的事情发生之后,可由ESP32/Arduino Nano 33外接手机不配备的传感器来采集电信号、压强甚至紫外线等传感器的各种各样的信号,换句话说,从此我们有两点本领提升了:

  1. 从此手里拿个手机、搭配一个ESP32/Arduino Nano 33的开发板,再也不去想什么山东朗威/美国Vernier了——我一直顽固的不相信成品传感器实验室的产品,一个根本原因,它不给我们看电路图,为了实现完美的实验效果,我一直在怀疑这些商业公司在各种补偿、各种修饰等方面,已经远离了真正的实验探索应该有的杂乱和干扰。一个探索性的实验,就应该存在众多干扰和不确定因素,甚至想得很美,实操却根本无法成功。离开这些不确定和无法预料的失败,都不应该是物理实验特有的底色。有一些物理实验,在滴水不漏的原理和设计之后操作竟然彻彻底底失败了,我们看到这样的实验,我们应该异常兴奋!做一下就成功了,就象做题一样,一做就对了,还有什么意思呢?

  2. 从此想着的物理,是给人真情境的教学。没有情境,只有题,只有知识点,缺少了实验的感受。

打住。前面一直在研究如何把ESP32等开发板采集的数据传到Phyphox里,于是Phyphox成为数据处理之后的表现层,让实验者在手机上看到实验的结果;而另一方面,手机本身也是携带众多的传感器的,例如Android自动支持十几种传感器,为什么不能反过来把手机作为一个巨大的多功能传感器呢?

答案是可能的。Phyphox BLE库也支持从手机传感器把数据传给ESP32,再送给电脑来处理,若是在电脑上做个程序界面,几乎没有什么是实现不了的了。

ESP32从Phyphox手机传感器获取数据和普通的由ESP32向手机Phyphox传送数据的实验创作步骤与思路不太相同,比较麻烦,但好过直接用蓝牙创作实验。仍然方便一些。ESP32端从手机Phyphox获取传感器数据的原理,是先在Arduino IDE里面编写ino,然后烧录到ESP32,运行起来,等待Phyphox来连接。

在phyphoxBle.cpp里,能见到PhyphoxBLE::read()函数,它读传感器数据然后把地址给蓝牙,然后蓝牙把这块指定长度的内存数据接收过来处理。

而在Phyphox里面,我们需要自己去编写.phyphox文件,指定蓝牙为output,指定为output的蓝牙有input口,这样在phyphox editor里编写了phyphox实验后,手机就成为十几种传感器的聚合体了。

这是一个用Phyphox检测手机所在的环境里光线强弱的实验:如果光照比较弱,ESP32会自动把连接在IO26脚上的高亮二极管点亮,而当环境光照比较强时,ESP32自动熄灭LED。

这个应用场景是显然的——打点计时器有个“先接通电源,后松开纸带”的事儿,Phyphox轻松可实现了,甚至可以使用phyphox来开发智能家居,把手机放在床头,晚上要去洗手间的时候,睁开眼睛四周黑魆魆一片不知暗得多深,于是拿起手机、打开phyphox,测不含g的加速度,摇一摇,原来暗处关闭的LED亮起来了。

.ino文件:

#include <phyphoxBle.h>
void receivedData();
const int ledPin = 26;

void setup()
{
  PhyphoxBLE::start();
  PhyphoxBLE::configHandler = &receivedData;
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  PhyphoxBLE::poll(); 
}

void receivedData() {
  float light;
  PhyphoxBLE::read(light);
  bool led;

if (light < 4000.20) {
    led = true;
  } else {
    led = false;
  }
  digitalWrite(ledPin, led);
}

(0)

相关推荐

  • 利用Phyphox和ESP32蓝牙做关于楞次定律的实验探究

    近日,一直困扰于ESP32开发板不能测量反向电流的问题,如果ESP32开发板不能测量方向变化的电流,那么设计电流方向变化的探究实验就无法利用智能手机开开展. 2020年10月15日,微主在微信群交流中 ...

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

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

  • 利用Phyphox和ESP32蓝牙描绘小灯泡的伏安特性曲线

    近日,微主做了题为利用Phyphox和ESP32蓝牙描绘小灯泡的伏安特性曲线的实验,利用变阻箱与小灯泡串联,利用ESP32测定小灯泡两端的电压和变阻箱内部的电流,将数据通过蓝牙发送给Phyphox,由 ...

  • Phyphox介绍和相关BLE库下载

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

  • 利用Phyphox和ESP32蓝牙再次描绘小灯泡的伏安特性曲线

    最近一段时间,微主一直在利用Phyphox和ESP32蓝牙描绘小灯泡的伏安特性曲线,不断地改变实验参数,希望在尝试中得到最佳的实验参数. 在一次实验中,微主将ESP32的采样频率设置为100Hz,将小 ...

  • 利用Phyphox和ESP32蓝牙再做线圈断电自感实验

    2020年11月15日,周日,微主利用Phyphox和ESP32蓝牙再次做了线圈的断电自感实验,取得了较为满意的效果. 早期实验 在前几次的实验中,由于线圈的自感系数比较小,取样电阻比较大,得到的线圈 ...

  • 利用Phyphox和ESP32蓝牙测定自闪烁发光二极管的闪烁频率

    2020年11月22日,周日.为今后利用自闪烁发光二极管研究物体运动规律做好准备,微主利用Phyphox和ESP32蓝牙测定自闪烁发光二极管的闪烁频率,取得了令人满意的效果. 近日,微主从焦作市创客教 ...

  • 利用Phyphox和ESP32蓝牙探究光敏电阻电流与光强的关系

    近日,微主做了一个探究光敏电阻电流与光强关系实验.将光敏电阻和分压电阻构成串联电路,利用ESP32的5V电压供电,利用IO33脚采集分压电阻两端的电压,并换算出光敏电阻中的电流:利用蓝牙将电流信息传输 ...

  • 利用Phyphox和ESP32蓝牙做线圈通电自感实验

    近日,微主得到到一个线圈,利用ESP32和Phyphox做了线圈通电自感实验,由于线圈的电感比较小,通电自感现象不太明显,但是技术方案得到了验证,如果能得到匝数多且带铁芯的电感,实验效果应该会比较理想 ...

  • 利用Phyphox反向控制ESP32的实验尝试

    电路搭建 半年以来,微主一直在研究如何利用开发板ESP32外接各种传感器拓展Phyphox在高中物理实验中的应用范围,在北京梅晓璇.安徽詹善生.重庆苏翔等老师的远程指导下,技术难关不断攻克,攻城掠寨, ...

  • 利用ESP32和Phyphox探究光敏电阻阻值与光照强度的关系

    实验场景暨电路连接 近日在网上检索,发现最近有老师在期刊上发表论文,利用伏安法测电阻的方式测定光敏电阻的阻值,同时利用光传感器测量光照强度,然后在电子表格汇中描点绘图,最后得到光敏电阻的阻值与光照强度 ...

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

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

  • 利用Phyphox和ESP32蓝牙描绘导体的伏安特性曲线

    近日,微主做了一个描绘导体伏安特性曲线的实验,用于学习蓝牙双通道传递数据的用法. 在本实验中,将蓝牙1信道传输的电压数据给x轴,将蓝牙2信道传输的电压数据给y轴,进而绘制出导体的伏安特性曲线. 细心的 ...