- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
蓝牙BLE微信IO控制模块应用开发
2016年第三届中国IoT大会围绕物联网如何落地展开探讨,在这个物联网爆发前夕为此不懈努力付出的企业都是有情怀的公司,他们饿着肚子也在朝着这个方向前进。当人类不再是万物之灵、而是万物皆有灵性之时,此刻的物联网就在我们身边。
作为物联网重要传输介质的:蓝牙BLE、WiFi、LoRa等技术充当着重要角色,我计划分成三个帖子进行讲述蓝牙BLE、WiFi、LoRa的应用开发。
本帖从蓝牙BLE的微信IO控制模块应用开发开始。
第一节 微信控制模块之IO控制输出
第二节 微信控制模块之PWM输出
第一节 微信控制模块之IO控制输出
我们这一节要做的是使用微信控制模块实现IO控制的功能,为了让我们能够客观直白地观察到现象,我们采用IO控制光圈的亮灭来实现。
本来这个PCBA的功能是一个开关控制左边灯圈的亮灭,现在我加入中间的蓝牙微信控制模块,使用手机来实现灯圈的亮灭。
完成了这节,大家可以改造下自己家里的台灯。
使用的蓝牙微信控制模块是我们深圳市馒头科技有限公司的MTWeChat,MTWeChat是深圳市馒头科技基于 TI CC2541 芯片设计的兼容蓝牙4.0 低功耗(BLE)单模蓝牙模块。支持微信AirSync 协议,主要应用于智能穿戴式设备、便携式医疗设备、 运动健身设备、智慧家庭、消费电子、工业控制等,可满足低功耗、低时延、近距离无线数据通信的要求。开发者无须了解低功耗蓝牙协议,开发支持低功耗蓝牙通信和微信平台的智能产品。
先给MTWeChat模块上电,我们可以看到这个光圈点亮了。我改进的地方在R2电阻左边切断之前的电路,连接MTWeChat模块的IO引脚。这是一个NPN管(可以使用三极管或者MOS管,根据电流大小和应用自己可以选型),当R2电阻左边输入高电平,NPN管导通,光圈被点亮;当R2电阻左边输入低电平,NPN管导通,光圈被熄灭。根据这个原理,我们看下MTWaChat模块的资料。
详细资料可以在网盘下载:http://pan.baidu.com/s/1i4ZiZg5
我们只看IO控制部分:
我们看到具有输入输出IO功能的引脚有:P1.7~P1.2(对应IO名称为:PIO0~PIO5)一共6个IO口。再往下看看IO控制的指令:
我们按照《MTWeChat-IO控制V1.2》的第三章连接好设备,进入到馒头科技微信公众号的界面:
我们点击进入微信透传模块界面,输入:AT+PWD[888888],这个是密码验证;然后输入:AT+FPIO?,我们可以看到如下界面:
说明PIO0~PIO5这6个IO口都是输出功能。
我现在将控制光圈的信号线连接在PIO0上,我设置输出高电平:AT+SPIO[1,2,2,2,2,2],我们可以看到如下界面:
可以看到回复了OK+SSPIO:1#2#2#2#2#2
说明PIO0输出高电平,其他引脚维持原来不变。
以此类推其他引脚。
我们回到微信公众号的界面,进入微信开关模块这个界面。
我们可以使用这个界面控制PIO0~PIO5的输出状态,从而控制光圈的亮灭。
我们应用PIO0~PIO5这6个IO口的输出高电平和低电平就能实现很多我们日常生活中的应用:比如 灯光控制、继电器阀门控制等等。
本来这个PCBA的功能是一个开关控制左边灯圈的亮灭,现在我加入中间的蓝牙微信控制模块,使用手机来实现灯圈的亮灭。
使用的蓝牙微信控制模块是我们深圳市馒头科技有限公司的MTWeChat,MTWeChat是深圳市馒头科技基于 TI CC2541 芯片设计的兼容蓝牙4.0 低功耗(BLE)单模蓝牙模块。支持微信AirSync 协议,主要应用于智能穿戴式设备、便携式医疗设备、 运动健身设备、智慧家庭、消费电子、工业控制等,可满足低功耗、低时延、近距离无线数据通信的要求。开发者无须了解低功耗蓝牙协议,开发支持低功耗蓝牙通信和微信平台的智能产品。
先给MTWeChat模块上电,我们可以看到这个光圈点亮了。我改进的地方在R2电阻左边切断之前的电路,连接MTWeChat模块的IO引脚。
详细资料可以在网盘下载:http://pan.baidu.com/s/1i4ZiZg5
我们只看PWM输出部分:
我们看到具有PWM输出功能的引脚有:P1.1、P1.0、P0.7、P0.6(对应IO名称为:PWM0、PWM1、PWM2、PWM3)一共4个PWM口,其中PWM0和PWM1最大的驱动电流为20mA,PWM2和PWM3的最大驱动电流为4mA。再往下看看PWM控制的指令:
我们在上一节微信公众号已经绑定了设备,这次只要上电就会自动连接:
我们点击进入微信透传模块界面,输入:AT+PWD[888888],这个是密码验证;然后输入:AT+PWM[0]?,我们可以看到如下界面:
注意我们上面PWM输出指令中备注的一句话:上电初始全部输出低电平。
我现在将控制光圈的信号线连接在PWM0上,我设置PWM0输出1000Hz频率20%占空比:AT+PWM[0,1000,20],我们可以看到如下界面:
以此类推其他引脚。
我们回到微信公众号的界面,进入微信开关模块这个界面。
我们可以使用这个界面控制PWM0-PWM3的输出状态,从而控制光圈的亮度。
好贴,顶一下
上一篇:TI CC2640最低功耗BLE解决方案
下一篇:教你如何玩转蓝牙!