5.13 综合案例2.0-火焰检测系统(2.2版本接口有更新)

本文介绍了一种火焰检测系统,利用远红外火焰传感器监测火源,通过物联网平台实现数据上传与实时监控。系统包括硬件连接、代码流程、功能实现和物联网应用开发。开发涉及设备端数据上传、Web应用界面设计、报警逻辑和地图显示设备位置。此外,还提供了云端业务逻辑的创建和调试方法。

最新案例教程点击下方链接跳转,优快云已停止更新

点击跳转HaaS506官方最新案例







简介

火力发电系统会持续对炉膛中煤的燃烧情况进行监控,防止出现煤熄灭的情况,本案例针对火力发电中防止煤熄灭的场景进行实时监控,如果煤熄灭就报警。
当然也可以反向操作,作为对失火场景的监控。

火焰传感器

1、原理
火焰传感器通过检测火焰中产生的红外线来监测是否着火。远红外火焰传感器能够探测到波长在700纳米~1000纳米范围内的红外光,探测角度为60,其中红外光波长在880纳米附近时,其灵敏度达到最大。远红外火焰探头将外界红外光的强弱变化转化为电流的变化,通过A/D转换器后可以监测。
2、器件说明
市面上买到的有3根引脚的也有4根引脚的。案例适用4个引脚的。以下有几点需要说明:

  • 电源指示LED–显示是否通电
  • 模拟信号输出–输出模拟电压值
  • 红外线越强模拟信号输出越小,反之越大。
  • 灵敏度调节电位器–用来调节判断阈值。
    模拟信号输出大于该阈值(红外线弱,没火),开关信号输出为1(高电平),开关指示LED灯灭;
    模拟信号输出小于该阈值(红外线强,着火),开关信号输出为0(低电平),开关指示LED灯亮。

在这里插入图片描述

准备

本案例需要的硬件

器材 数量
HaaS506开发板 1
火焰传感器 1
SIM卡 1
杜邦线 若干

硬件连接图

在这里插入图片描述

代码流程

1、连接阿里云平台。
2、重复读取火焰传感器电压,将数据上传阿里云。
3、使用Web应用功能,显示设备位置、火焰传感器电压变化、设备报警。
4、将报警信号发送至开发板,控制报警开关。

功能实现

1、物联网平台开发

第一次使用物联网平台的读者,需要开通实例后使用物联网平台功能。也可以使用免费的公共实例进行开发,在阿里云物联网平台中,左上角选择‘华东2-上海’,点击‘公共实例’,即可开通。

1、平台产品创建可参考haas506 2.0开发教程-aliyunIoT
2、创建产品属性(添加物模型)

  • 选择产品功能定义编辑草稿
    在这里插入图片描述
  • 添加自定义功能
  • 添加标识符数据类型(标识符要与代码一致)
  • 点击发布上线
    在这里插入图片描述
  • 点击确定
    在这里插入图片描述

2、设备端开发

  • 第一次使用开发板的读者可以按照haas5062.0开发教程-导学篇搭建开发环境。

  • 搭建完后复制以下代码到Visual Studio Code,复制产品证书到代码相应位置。
    在这里插入图片描述

  • 2.2版本获取IMEI号接口有更新,需要更改以下内容(Ctrl+F 查找modem)

# 获取设备的IMEI 作为deviceName 进行动态注册
deviceName = modem.info.getDevImei()
...

  • main.py
# coding=utf-8
from driver import ADC
from driver import GPIO
import network
import ujson
import utime as time
import modem
from  aliyunIoT import Device
import kv

 
#当iot设备连接到物联网平台的时候触发'connect' 事件
def on_connect(data):
    global module_name,default_ver,productKey,deviceName,deviceSecret,on_trigger,on_download,on_verify,on_upgrade
    print('***** connect lp succeed****')
    data_handle = {
   
   }
    data_handle['device_handle'] = device.getDeviceHandle()


#当连接断开时,触发'disconnect'事件
def on_disconnect():
    print('linkkit is disconnected')

#当iot云端下发属性设置时,触发'props'事件
def on_props(request):
    params=request['params']
    params=eval(params)
    warn = params["warning"]
    onoff_data["warning"]= warn
    onoff_data_str=ujson.dumps(onoff_data)
    data1={
   
   
        'params':onoff_data_str
        }      
    device.postProps(data1)



#当iot云端调用设备service时,触发'service'事件
def on_service(id,request)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值