智能判断图片中是否存在某物体_基于WT901传感器及NB-IOT无线技术开发的一款物体倾倒监测设备...

ad217cab12d4db46aa683d0e27a667cc.png

基于维特智能WT901传感器

及NB-IOT无线技术

开发的一款物体倾倒监测设备

一、 设备功能描述
该设备主要用于物体倾倒时的状态检测,通过维特智能【WT901】定时检测角度状态来判断物体是否倾倒;采用【NB-IOT】技术,可在服务端远程监控【WT901】当前的角度情况,在尽可能快的时间内了解物体的倾倒状态。
二、 设备主要特点
1. 物体当前状态监测
2. 远程监控
3. 低功耗,可长时间测量,长达5年的工作寿命
4. 根据使用情况,可设置定时检测物体当前角度情况
5. 根据使用情况,可设置定时上传数据
三、 设备主要部分介绍
该设备主要分为3大部分:
NB-IOT(某宝上搜索,可找到相关产品)
WT901姿态传感器(该产品采购于维特智能公司)
底板:处理器STM32L0(低功耗)、电源、其他外设
四、 【WT901】数据采集
【WT901】采用串口主动输出,所以STM32L0预留一个串口作为数据采集接口,以下为STM32L0采集【WT901】数据的示例代码:

8e29fa64bddedafed0732f8c6946edb7.png


基于WT901传感器
及NB-IOT无线技术
开发的一款物体倾倒监测设备
一、 设备功能描述
该设备主要用于物体倾倒时的状态检测,通过【WT901】定时检测角度状态来判断物体是否倾倒;采用【NB-IOT】技术,可在服务端远程监控【WT901】当前的角度情况,在尽可能快的时间内了解物体的倾倒状态。
二、 设备主要特点
1. 物体当前状态监测
2. 远程监控
3. 低功耗,可长时间测量,长达5年的工作寿命
4. 根据使用情况,可设置定时检测物体当前角度情况
5. 根据使用情况,可设置定时上传数据
三、 设备主要部分介绍
该设备主要分为3大部分:
NB-IOT(某宝上搜索,可找到相关产品)
WT901姿态传感器(该产品采购于维特智能公司)
底板:处理器STM32L0(低功耗)、电源、其他外设
四、 【WT901】数据采集
【WT901】采用串口主动输出,所以STM32L0预留一个串口作为数据采集接口,以下为STM32L0采集【WT901】数据的示例代码:

8e29fa64bddedafed0732f8c6946edb7.png

图片1.png (32.97 KB, 下载次数: 2)
下载附件
接收WT901数据代码
7 天前 上传
file:///C:UsersADMINI~1AppDataLocalTempksohtml7792wps1.jpg
void CopeSerial1Data(unsigned char ucData)函数在串口中断调用,串口每接收一次数据,进一次接收中断,接收中断中,调用一次这个函数,函数里面有个全局Buff(ucRxBuffer),用来缓存每次进来的数据,知道满足【WT901】的协议条件,即可清空计数变量ucRxCnt,重新计数。
五、 【NB-IOT】连接服务器及数据传输
【NB-IOT】连接服务器流程(具体可参考使用说明书,以下所有指令后面携带换行符):
1.【NB-IOT】模组重启:拉高【NB-IOT】的RESET脚,500ms后,拉低RESET脚,实现重启模组;
2.等待【NB-IOT】模组初始化,等接收到模组的最后一行初始化指令后,表示初始化完成;
3.初始化完成后,查询【NB-IOT】的网络附着状态,发送指令“AT+CEREG?”,这一步是用来检测网络状态的,最好不要省略,当返回“+CEREG:0,1”表示网络附着成功,否则继续查询;
4.网络附着成功后,发送指令“AT+NSOCR="STREAM",6,0,1”, 创建本地TCP监听端口,开启数据到达自动上报;
5.接着发送指令“AT+NSOCO=0,183.230.40.158,5021”,连接服务器,当返回“CONNECT OK”,表示连接服务器成功;
6.发送指令“AT+NSOCFG=0,0,0”,进行数据类型设置,这是需要注意的地方,默认的数据类型有点复杂,最好发送本条指令;
7.接着可往服务器发送数据,具体参考说明书。
六、 角度比较
角度比较,采用的方式是STM32L0具有的RTC定时唤醒,上次唤醒与这次唤醒的角度进行比较,超过设置的度数, 则把报警状态开起来,可选择标志位置1,然后打包数据,上传至服务器。
如何记住上次的角度:这里采用BKP的方式,BKP具有休眠后,数据保存的功能,上一次休眠时,保存角度,下次唤醒时,读取BKP,然后进行比较判断。以下为BKP相关代码:

6af2aa9f441888dbb989fb726ed26db0.png


以上为BKP的代码
七、 低功耗讲解
1.对STM32L0设置低功耗模式:

a108929ea081c0bd080649bc7da7e979.png


file:///C:UsersADMINI~1AppDataLocalTempksohtml7792wps3.jpg
注意点: STM32L0芯片官方手册介绍,芯片在低功耗情况下,功耗是可以降到1uA以下的,但真正开发后,会发现功耗会达到很高,甚至几个mA的等级,因为你设计的PCB板子上,有其它的外部设备,比如【WT901】、【NB-IOT】等等,所以必须配置单片机的IO管脚,可用万用表测试一下,当某个接外部设备的IO管脚浮空时,该管脚的电压是多少,如果处于高电平,则配置为上拉,如果低电平则配置为下拉。这样可以大幅度降低功耗。
2.对STM32L0以外的外围电路设置低功耗
对于除STM32L0以外的其他外部设备设置低功耗,可采用IO口驱动Mos管管理电源的方式,比如【WT901】,这样可以把【WT901】的电源彻底关闭,不用去操作各种配置。这是一种很简单的方式,也可以使用多个LDO去控制。如果不打算使用这两种方法,也可以对【WT901】发送低功耗指令,但这样并不能完全把功耗降到最低。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值