了解如何使用 Microchip 模块对数字输入和数字控制外设进行原型设计

出处:维库电子市场网 发布于:2023-11-14 17:26:57

 我们的设计模式需要提供三个组件: 
 硬件:用于生成数字信号的特定于任务的硬件
 配置: RN487x 模块命令在数据库中分配变量,并将信号映射到变量
 应用程序:工作站上的脚本,用于接受数据库值 
 接下来是组件分解。
 数字输入硬件 
 “数字输入”的作用只是由一个开关提供;SW1。 
 RN487x 模块的引脚上有内部上拉电阻,因此闭合时连接到地的常开开关将为我们提供必要的二态控制。
 RN487x 数字输入设计原理图

 

 由于我们只管理一个信号并且不使用 PWM,因此我们选择了 RN4871。该电路可由一对 AAA 电池甚至纽扣电池供电。
 其余的电路元件是; 
 C1: 旁路电容,稳定电源
 R1、C2:上电时处理器复位的延迟
 J1:配置串口
 数字输入配置
 在为此示例创建配置之前,请确保模块处于已知状态。这在关于常见初始化的附录部分中进行了描述。不要跳过此步骤!
 我们只需要数据库中的一个特征来表示我们的传感器状态。因此,我们创建了一项服务,以及该服务的一项特征。对应的两个命令是:
 PS,59c88760536411e7b114b2f933d5fe66 
 PC,59c889e0536411e7b114b2f933d5fe66,10,01
 个命令 PS 创建服务。第二个命令 PC 创建特征。在这两个命令中,个参数是标识符,它允许我们的外设存在于其他蓝牙外设的宇宙中,并且仍然可以地访问。该参数必须符合UUID标准。您可以使用显示的示例值。创建任意数量的标准 UUID也很容易。 
 在 PC 命令中,第二个参数告诉蓝牙层值的更改应如何到达客户端。在本例中,参数 (10) 表示值的更改会立即通知客户端。这是我们本例意图的重要组成部分。,在PC命令中,第三个参数定义了值的大小(以字节为单位);在本例中只有一个 (01)。 
 我们配置的脚本部分如下所示:
 @PW_ON 
 SW,0A,09 
 @PIO1H 
 SHW,0072,01 
 @PIO1L 
 SHW,0072,00
 该脚本中有三个方法,每个方法都以“@”为前缀。每个方法都在特定的系统事件上运行。 
 PW_ON:上电时运行。该方法将我们感兴趣的引脚 (P1_2) 配置为“触发”数字输入信号。 
 PIO1H:每当触发信号转变为高电平时运行。该方法将“1”写入数据库。 
 PIO1L:每当触发信号转变为低电平时运行。该方法将“0”写入数据库。
 数字输入应用 
 Python 脚本是 switch.py,可以在此处找到。编辑脚本并将示例 MAC 地址替换为您设备的 MAC 地址。然后,为了练习该示例,只需为外围设备通电,然后在具有适当蓝牙功能的系统上运行脚本即可。有关 Linux 中此设置的帮助,请参阅附录。该脚本将发出消息以指示连接到外围设备时的进度。连接外设后,按下并释放开关几次。开关的每个打开/关闭事件都将通过运行脚本中的消息进行记录。 
 该脚本很短,包含所有功能块和 GATT API 调用的注释。
 我们使用的 BLE 功能是本示例独有的,即通知。
 我们使用回调方法来处理来自外设的信号变化发生时的情况。我们不需要轮询外设来了解信号的状态。 
 我们必须通过写入系统特征来告诉外设我们想要这些通知。

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!