这个例子展示了如何使用Arduino®硬件的Simulink®支持包金宝app来配置Ar金宝appduino外设和中心设备之间的蓝牙®低能量(BLE)通信。它还展示了如何从中央设备控制外围设备上的板载LED的状态,反之亦然,使用BLE通信。
有关如何在Arduino硬件上运行Simulink模型的更多信息,请参见金宝app入门Arduino硬件.
两个Arduino电路板。您可以使用Arduino Nano 33 IoT、Arduino MKR Wifi 1010或Arduino Nano 33 BLE Sense。为了说明目的,本示例使用一个Arduino Nano 33 IoT和一个Arduino Nano 33 BLE Sense。
两个案板。
两个按钮开关。
跳线。
实现这个例子需要你成功地在每个支持的Arduino板上部署这些Simulink模型:金宝app金宝app
金宝app仿真软件模型名称| |部署硬件的目的 ------------------------------------------------------------------------------------------- 1。arduino_BLE_peripheral | Arduino Nano 33 IoT |作为外围设备2arduino_BLE_central | Arduino Nano 33 BLE Sense |作为中心设备
连接任意GPIO引脚和Arduino板的地面之间的按钮开关。
为了便于说明,在本例中,一个按钮开关连接引脚2和Arduino Nano 33物联网板的接地,而另一个按钮连接引脚2和Arduino Nano 33 BLE Sense板的接地。
这个例子使用了来自Simulink Support Package 金宝appfor Arduino Hardware的预先配置的Si金宝appmulink模型。
要打开Simulink模金宝app型,请在MATLAB®命令窗口中运行此命令。
open_system (“arduino_BLE_peripheral”)
这个Sim金宝appulink模型充当服务器,接收来自客户端模型的数据请求并发送响应。
在外围模式下,Arduino Nano 33物联网板提供的服务可用于中央模式下运行的Arduino Nano 33 BLE Sense板。成功连接Arduino外围设备和中央板后,服务内的特性就可用了。您可以使用自己的uuid为服务和特征指定自己的自定义服务和特征。
连接Arduino外围设备引脚2的按钮状态控制Arduino中心设备上的LED。
在建模选项卡,选择金宝app模型设置.
在“配置参数”对话框中,选择目标硬件资源>BLE属性.
配置这些BLE属性。
集外围设备名称来ArduinoBLEPeripheral
.
集外围本地名称来ArduinoBLEPeripheral
.
有关如何配置Arduino BLE属性的更多信息,请参见BLE属性.
外围中央
的BLE Send块外围中央区域将按钮状态从外围模式配置的Arduino板传递到中心模式配置的Arduino板。这个按钮状态决定了中央板上的LED是亮的还是灭的。
在“块参数”对话框中配置这些参数数字输入块。
集密码来2
.
集销模式来输入引体向上
.
集样品时间来0.1
.
在“块参数”对话框中配置这些参数祝福送块。
集模式来外围(服务器)
.
选择指定使用UUID.
选择服务由BLE设备广播。在本例中,参数设置为df801ed6 - a405 11 - eb - bcbc - 000000000000
.
从可用的特征中设置的服务服务参数。在本例中,参数设置为df801ed6 - a405 11 - eb - bcbc - 000000000001
.
外围的中心
中的BLE Receive块外围的中心区域接收从中央模式配置的Arduino板到外设模式配置的Arduino板的按钮状态。这个按钮状态决定了外围板上的LED是亮的还是灭的。
在“块参数”对话框中配置这些参数祝福收到块。
集模式来外围(服务器)
.
选择指定使用UUID.
选择服务由BLE设备广播。在本例中,参数设置为df801ed6 - a405 11 - eb - bcbc - 000000000000
.
从可用的特征中设置的服务服务参数。在本例中,参数设置为df801ed6 - a405 11 - eb - bcbc - 000000000002
.
集数据大小来1
.
集样品时间来0.1
.
在“块参数”对话框中配置数字输出块。
集密码来13
.
将Arduino Nano 33物联网板连接到上位机。
打开arduino_BLE_peripheral
金宝app仿真软件模型。
在硬件选项卡的Simulin金宝appk模型,设置硬件板来Arduino Nano 33物联网
.
在硬件选项卡中的金宝app模式部分中,选择机上运行然后点击构建、部署和启动.
这个例子使用了来自Simulink Support Package 金宝appfor Arduino Hardware的预先配置的Si金宝appmulink模型。
要打开Simulink模金宝app型,请在MATLAB命令窗口中运行此命令。
open_system (“arduino_BLE_central”)
这个Sim金宝appulink模型充当客户端,发送服务器Simulink模型所请求的数据。在中央模式下,使用硬件安装向导扫描可用的外围设备。从中心板选择外围设备后,服务内的特性就可用了。
连接到Arduino中心设备引脚2的按钮状态控制着Arduino外围设备上的LED。
外围中央
中的BLE Receive块外围中央区域接收从外围模式配置的Arduino板到中心模式配置的Arduino板的按钮状态。这个按钮状态决定了中央板上的LED是亮的还是灭的。
在“块参数”对话框中配置这些参数祝福收到块。
集模式来中心(客户端)
.
点击扫描.按照上面的说明去做硬件设置向导。
向导完成扫描外围设备后,选择外围设备和特征在Arduino外设Simulink模型中配置的参数。金宝app在本例中,set外围设备来ArduinoBLEPeripheral
和特征来df801ed6 a405 - 11 - eb bcbc - 000000000000 \ df801ed6 a405 - 11 - eb - bcbc - 000000000001
.
集数据大小来1
.
集样品时间来0.1
.
在“块参数”对话框中配置数字输出块。
集密码来13
.
外围的中心
的BLE Send块外围的中心区域将按钮状态从中央模式配置的Arduino板传递到外设模式配置的Arduino板。这个按钮状态决定了外围板上的LED是亮的还是灭的。
在“块参数”对话框中配置这些参数数字输入块。
集密码来2
.
集销模式来输入引体向上
.
集样品时间来0.1
.
在“块参数”对话框中配置这些参数祝福送块。
集模式来中心(客户端)
.
集外围设备来ArduinoBLEPeripheral
.
集特征来df801ed6 a405 - 11 - eb bcbc - 000000000000 \ df801ed6 a405 - 11 - eb - bcbc - 000000000002
.
将Arduino Nano 33 BLE Sense板连接到上位机。
打开arduino_BLE_central
金宝app仿真软件模型。
在硬件选项卡的Simulin金宝appk模型,设置硬件板来Arduino Nano 33 BLE Sense
.
在硬件选项卡中的金宝app模式部分中,选择机上运行然后点击构建、部署和启动.
对于配置为外围设备的Arduino板,按下按钮,观察配置为中心设备的Arduino板上的LED的变化。
对于配置为中心设备的Arduino板,按下按钮,观察配置为外围设备的Arduino板上的LED的变化。