概况
智能门磁传感器在智能安全领域发挥着重要作用,应用场合越来越多。离家后不确定门窗是否关闭?打开手机确认。本文介绍了如何使用涂鸦三明治开发板快速完成智能门磁传感器产品原型。
步骤
MCU 方案与 SoC 传感器和网络模块的驱动代码写在不同的方案中 MCU 开发者可以自己开发 MCU 具有更多可玩性的代码。因此,在开发之前,我们需要对方案有一个全面的了解,以便于后续开发。
涂鸦三明治开发板门磁传感套件中,传感器板干簧管根据开合状态输出高低电平MCU 控制板,MCU 通过串口 与 Wi-Fi 通信板连接,涂鸦智能 App 配网可以在手机端显示门磁状态,并与其他智能设备联动。MCU 型号为 STM32G071RB,Demo 教程采用 Arduino IDE 编程方便移植 Arduino 系列开发板。
涂鸦三明治开发板门磁传感套件主要包括:
门磁传感器功能板,板载两路干簧管触发输出低,触发输出高,开发者可根据实际情况选择。 Wi-Fi MCU 板载涂鸦的通信板 TYWE3S 负责智能连接的模块。通用固件已通用固件,MCU 模块可用于连接涂鸦串口协议 App 云涂鸦一站式智能服务。
MCU采用控制板ST官方 NUCLEO-G071RB 负责传感数据接收和模块通信控制的开发板。NUCLEO-G071RB 开发板支持 Arduino 接口,本片教程demo我们也将基于它 Arduino 开发演示。
拼接组装三明治开发板套件控制板、通信板、功能板,实物效果如下图所示。
软件开发过程主要基于软件开发过程 Arduino 实现 MCU 连接传感器和模块协议。首先调通 MCU 与模块的通信可以实现App配网,MCU 数据传输到App。
步骤 3.1:环境搭建
环境建设教程:搜索三明治开发板环境建设
环境建设教程主要讲如何 Arduino IDE 中添加ST集成开发板 STM32CubeProgrammer 初学者需要仔细阅读编译下载功能。
步骤 3.二、下载开发数据包
创建项目,下载移植涂鸦 MCU SDK 开发包详细教程:MCU快速上手
教程的具体步骤已经比较详细了,这里就不赘述了,但是在创建产品的过程中要注意的是门磁传感器,MCU 只有在对接时选择自定义方案,才能下载到 MCU 开发数据包。
根据自己的需要选择功能,这里的基本功能DP建议选择门磁、报警、电量。
选择固件时要注意,Wi-Fi 默认模块固件为通用固件,非低功耗固件。我们需要将功耗类型改为标准功耗。只有选择标准的通用固件,才能下载到相关固件 MCU 开发包。
步骤 3.3:移植调试
详细的移植调试教程:MCU SDK开发包移植调试
移植成功的网络将看到所选产品面板,然后我们需要编写逻辑代码来获得干簧管状态。
干簧管受磁力影响,输出状态为高或低电平,因此 MCU 只需读取 IO 状态,判断门磁状态,代码相对简单。官方网站读取 IO 状态代码示例:
int ledPin = 13; // LED connected to digital pin 13 int inPin = 7; // pushbutton connected to digital pin 7 int val = 0; // variable to store the read value void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output pinMode(inPin, INPUT); // sets the digital pin 7 as input } void loop() { val = digitalRead(inPin); // read the input pin digitalWrite(ledPin, val); // sets the LED to the button's value }
MCU 需要传输数据App报告函数显示如下:
mcu_dp_bool_update(DPID_DOORCONTACT_STATE,当前门磁); //BOOL型数据上报;
所有功能调试通过后,App 门磁感器的数据已经可以接收到。智能传感器最大的应用场景是收集传感数据并与其他产品联系。如果开发人员手中有涂鸦生态设备或开发板,可以使用App端实现场景联动功能的配置。
场景联动设置教程:场景联动设置
小结
涂鸦三明治开发板基于涂鸦平台,Arduino IDE编程,快速实现智能门磁传感器产品的原型建设