基于机智云的厨房智能监控系统-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2421|回复: 0

基于机智云的厨房智能监控系统

[复制链接]
发表于 2019-6-5 16:23 | 显示全部楼层 |阅读模式
[ 本文概述]
本案例展示通过机智云IoT开发平台,采用单片机搭载ESP8266Wi-Fi模块方案连接机智云,实现厨房智能监控系统。本人作者在开发中使用了 ProductKey设备识别码,即在机智云上创建新产品后,系统自动生成一个32位字符串,将ProductKey写入设备主控MCU后,机智云通过此标识码对设备进行识别并自动完成注册,将ProductKey和机智云Demo App源码结合,可快速实现产品开发。
[ 进入正文]
为什么我首先想到要做厨房安全系统呢?厨房不仅是一个经常活动的场所,而且是家中危险系数最高的地方,您是否也有这样的担心,担心家人忘记关掉煤气、煲汤时忘记时间……一些小细节的疏忽大意,就可能危害到家庭的健康。
厨房智能厨房安全监控三部分:
  • 家庭卫士通过多传感器对厨房温湿度、燃气、明火、烟雾进行监控;
  • 通过算法对厨房各项环境数据进行综合评估分析,判断险情;
  • 手机APP远程控制消防设备,处理危险
[ 软件开发过程分析]
软件开发由三部分组成:下位机单片机程序、云端建立、以及手机端APP开发。用机智云做平台开发起来特别快,原因是有Gokit这样的开发板,并且有丰富底层代码范例的Dome程序。另外机智云建立云端数据的界面也特别友好,很适合入门者快速上手。还有最关键的是机智云有多个开源的手机APP的Dome源码提供参考,大大降低了开发门槛。
[ 下位机程序]
下位机程序中单片机和WiFi模块的通讯,以及WiFi模块接入以太网的规则,官方代码已经给的很完善了,初学者完全可以绕开这一段直接进行单片机开发,就和大家通常在普通STM32平台做功能一样的。
这里需要提出比较关键的一点是代码中的一个参数:product key。这是我们的设备连接到机智云平台哪一个云数据库的唯一判断依据。我们的开发板就是靠这个识别,来连接到你自己在机智云平台数据接口的。设备接入机智云的前提是,需要机智云认同这个设备。这个product key是你建立属于自己的云端空间时机智云系统分配给你的,这个接下来要说的。我们做下位机单片机程序时,要把这个串码写进去。
官方代码把这个串码做在一个宏里,位于Procotol.h文件里:
为了大家直接在开发板上调试方便,我从官方Dome程序简单修改了一个程序,大家可以下载下来测试。
下位机单片程序参考代码详情可阅读原文获取。
[ 云端建立]
这需要在机智云官网上注册一个账号,然后就可以建立一个属于自己的云端数据空间了,简单四五个步骤就搞定,并且每一步都有指导说明,特别人性化,新手无痛入门!
1、首先要取一个云端设备名称,这个名称就是以后你手机APP上搜到的设备名称,比如我们这里叫做:智能厨房3。当搜到多个设备时,我们可以以设备的MAC地址区分不同设备。
2、然后我们要选择你所使用的开发板,并且选择一个云端范例模板。这里机智云简直就做的是傻瓜模式,我们完全可以利用模板轻松改一个自己的云端数据空间。当然也可以从新建议一个,不过新手建议从模板来改。
3、接下来我们要在模板中修改适合自己的数据,数据名称需要和前边下位机中给出的数据列表对应起来,名称需要完全一致,否则会导致对应不上。
我们开发板用到的设备数据包括如下,云端建立数据时,名称和类型要和下面结构体里定义的一样:
4、最后设置完成之后提交,机智云就会分配给你一个属于你自己的product key。我们需要把它更新到你的下位机单片机程序里。
[ 手机APP开发]
这个因为有官方开源的Dome源码,所以我们只要有一些安卓或者ios开发基础,就可以轻松的从官方Dome中改一个出来。如果仅仅是学习测试使用,甚至可以直接用官方给的IOE Dome测试,因为这个Dome里没有都设备的product key进行筛选,所以凡是接入到机智云的Gokit开发板在局域网里都能被这个Dome APP找到并连接。
这里给一个智能厨房的APP,大家可以连接到Gokit开发板测试一下。因为是具体应用的APP,所以对product key做了筛选,只识别连入智能厨房云端的在线设备。所以测试时Gokit开发板需要使用前面代码里给的这个这个product key才可以。
APP测试中按如下对应关系参考:
  • 温湿度对应Gokit开发板上的温湿度传感器,显示温湿度;
  • 火焰传感器对应开发板上的红外对管传感器,用手遮挡时红外对管时,明火报警;
  • 换气扇操作对应开发板上的马达,打开换气扇按钮,马达开始正转;
  • 插座开关对应开发板的RGB LED中的红灯,打开插座开关按钮,红灯亮。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 04:29 , Processed in 0.105517 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表