前言: 为什么我首先想到要做厨房安全系统呢?厨房不仅是一个经常活动的场所,而且是家中危险系数最高的地方,您是否也有这样的担心,担心家人忘记关掉煤气、煲汤时忘记时间……一些小细节的疏忽大意,就可能危害到家庭的健康。
- 家庭卫士通过多传感器对厨房温湿度、燃气、明火、烟雾进行监控;
- 通过算法对厨房各项环境数据进行综合评估分析,判断险情;
- 手机APP远程控制消防设备,处理危险
软件开发过程分析: 软件开发由三部分组成:下位机单片机程序、云端建立、以及手机端APP开发。用 机智云物联网平台做平台开发起来特别快,原因是有 gokit这样的开发板,并且有丰富底层代码范例的Dome程序。另外机智云建立云端数据的界面也特别友好,很适合入门者快速上手。还有最关键的是机智云有多个开源的手机APP的Dome源码提供参考,大大降低了开发门槛。 下位机程序中单片机和WiFi模块的通讯,以及WiFi模块接入以太网的规则,官方代码已经给的很完善了,初学者完全可以绕开这一段直接进行单片机开发,就和大家通常在普通 STM32平台做功能一样的。
这里需要提出比较关键的一点是代码中的一个参数:product key。这是我们的设备连接到机智云物联网平台哪一个云数据库的唯一判断依据。我们的开发板就是靠这个识别,来连接到你自己在机智云物联网平台简历的数据接口的。这个product key是你建立属于自己的云端空间时机智云物联网平台的系统分配给你的,这个接下来要说的。我们做下位机单片机程序时,要把这个串码写进去。
官方代码把这个串码做在一个宏里,位于Procotol.h文件里: 为了大家直接在开发板上调试方便,我从官方Dome程序简单修改了一个程序,大家可以下载下来测试。
下位机单片程序参考代码详见附件内容。
注意:由于Gokit2开发板改版了,但是官方历程还未更新,RGB灯那里的代码需要做一些修改,具体位置是在hal_rgb_led.c文件里初始化RGB时需要把GPIOA0拉高:
这需要在机智云官网上注册一个账号,然后就可以建立一个属于自己的云端数据空间了,简单四五个步骤就搞定,并且每一步都有指导说明,特别人性化,新手无痛入门! 1、首先要取一个云端设备名称,这个名称就是以后你手机APP上搜到的设备名称,比如我们这里叫做:智能厨房3。当搜到多个设备时,我们可以以设备的MAC地址区分不同设备。
2、然后我们要选择你所使用的开发板,并且选择一个云端范例模板。这里机智云简直就做的是傻瓜模式,我们完全可以利用模板轻松改一个自己的云端数据空间。当然也可以从新建议一个,不过新手建议从模板来改。
3、接下来我们要在模板中修改适合自己的数据,数据名称需要和前边下位机中给出的数据列表对应起来,名称需要完全一致,否则会导致对应不上。
我们开发板用到的设备数据包括如下,云端建立数据时,名称和类型要和下面结构体里定义的一样: 4,最后设置完成之后提交,机智云物联网平台就会分配给你一个属于你自己的product key。我们需要把它更新到你的下位机单片机程序里。
这个因为有官方开源的Dome源码,所以我们只要有一些安卓或者ios开发基础,就可以轻松的从官方Dome中改一个出来。如果仅仅是学习测试使用,甚至可以直接用官方给的IOE Dome测试,因为这个Dome里没有都设备的product key进行筛选,所以凡是接入到机智云的Gokit开发板在局域网里都能被这个Dome APP找到并连接。
这里给一个智能厨房的APP,大家可以连接到Gokit开发板测试一下。因为是具体应用的APP,所以对product key做了筛选,只识别连入智能厨房云端的在线设备。所以测试时Gokit开发板需要使用前面代码里给的这个这个product key才可以。 APP测试中按如下对应关系参考:
- 1温湿度对应Gokit开发板上的温湿度传感器,显示温湿度;
- 2火焰传感器对应开发板上的红外对管传感器,用手遮挡时红外对管时,明火报警;
- 3换气扇操作对应开发板上的马达,打开换气扇按钮,马达开始正转;
- 4插座开关对应开发板的RGB LED中的红灯,打开插座开关按钮,红灯亮。
安卓手机客户端详见附件内容。
本文转载自:https://www.cirmall.com/circuit/2908/%E5%8E%A8%E6%88%BF%E6%99%BA%E8%83%BD%E7%9B%91%E6%8E%A7%E7%B3%BB%E7%BB%9F%EF%BC%88%E4%B8%8B%E4%BD%8D%E6%9C%BA%E6%BA%90%E7%A0%81%2BAPP%2B%E8%AE%BE%E8%AE%A1%E5%88%86%E6%9E%90%EF%BC%89#/details
|