前言:
為什么我首先想到要做廚房安全系統(tǒng)呢?廚房不僅是一個經(jīng)?;顒拥膱鏊?,而且是家中危險系數(shù)最高的地方,您是否也有這樣的擔(dān)心,擔(dān)心家人忘記關(guān)掉煤氣、煲湯時忘記時間……一些小細(xì)節(jié)的疏忽大意,就可能危害到家庭的健康。
廚房智能監(jiān)控系統(tǒng)介紹:
該系統(tǒng)可以監(jiān)測廚房這樣需要特別關(guān)注安全的地方。設(shè)備具備多種傳感器接入,并且根據(jù)用途自由配置傳感器的種類。設(shè)備接入云平臺,可以通過智能手機(jī)實時了解當(dāng)前狀態(tài),通過智能算法評估出安全系數(shù),來做出針對性的防護(hù)措施。并且還可以手動作出修正處理。
智能廚房安全監(jiān)控三部分:
- 家庭衛(wèi)士通過多傳感器對廚房溫濕度、燃?xì)?、明火、煙霧進(jìn)行監(jiān)控;
- 通過算法對廚房各項環(huán)境數(shù)據(jù)進(jìn)行綜合評估分析,判斷險情;
- 手機(jī)APP遠(yuǎn)程控制消防設(shè)備,處理危險
軟件開發(fā)過程分析:
軟件開發(fā)由三部分組成:下位機(jī)單片機(jī)程序、云端建立、以及手機(jī)端APP開發(fā)。用機(jī)智云做平臺開發(fā)起來特別快,原因是有Gokit這樣的開發(fā)板,并且有豐富底層代碼范例的Dome程序。另外機(jī)智云建立云端數(shù)據(jù)的界面也特別友好,很適合入門者快速上手。還有最關(guān)鍵的是機(jī)智云有多個開源的手機(jī)APP的Dome源碼提供參考,大大降低了開發(fā)門檻。
- 下位機(jī)程序
下位機(jī)程序中單片機(jī)和WiFi模塊的通訊,以及WiFi模塊接入以太網(wǎng)的規(guī)則,官方代碼已經(jīng)給的很完善了,初學(xué)者完全可以繞開這一段直接進(jìn)行單片機(jī)開發(fā),就和大家通常在普通STM32平臺做功能一樣的。
這里需要提出比較關(guān)鍵的一點是代碼中的一個參數(shù):product key。這是我們的設(shè)備連接到機(jī)智云平臺哪一個云數(shù)據(jù)庫的唯一判斷依據(jù)。我們的開發(fā)板就是靠這個識別,來連接到你自己在機(jī)智云平臺簡歷的數(shù)據(jù)接口的。這個product key是你建立屬于自己的云端空間時機(jī)智云系統(tǒng)分配給你的,這個接下來要說的。我們做下位機(jī)單片機(jī)程序時,要把這個串碼寫進(jìn)去。
官方代碼把這個串碼做在一個宏里,位于Procotol.h文件里:
為了大家直接在開發(fā)板上調(diào)試方便,我從官方Dome程序簡單修改了一個程序,大家可以下載下來測試。
下位機(jī)單片程序參考代碼詳見附件內(nèi)容。
注意:由于Gokit2開發(fā)板改版了,但是官方歷程還未更新,RGB燈那里的代碼需要做一些修改,具體位置是在hal_rgb_led.c文件里初始化RGB時需要把GPIOA0拉高:
- 云端建立
這需要在機(jī)智云官網(wǎng)上注冊一個賬號,然后就可以建立一個屬于自己的云端數(shù)據(jù)空間了,簡單四五個步驟就搞定,并且每一步都有指導(dǎo)說明,特別人性化,新手無痛入門!
1、首先要取一個云端設(shè)備名稱,這個名稱就是以后你手機(jī)APP上搜到的設(shè)備名稱,比如我們這里叫做:智能廚房3。當(dāng)搜到多個設(shè)備時,我們可以以設(shè)備的MAC地址區(qū)分不同設(shè)備。
2、然后我們要選擇你所使用的開發(fā)板,并且選擇一個云端范例模板。這里機(jī)智云簡直就做的是傻瓜模式,我們完全可以利用模板輕松改一個自己的云端數(shù)據(jù)空間。當(dāng)然也可以從新建議一個,不過新手建議從模板來改。
3、接下來我們要在模板中修改適合自己的數(shù)據(jù),數(shù)據(jù)名稱需要和前邊下位機(jī)中給出的數(shù)據(jù)列表對應(yīng)起來,名稱需要完全一致,否則會導(dǎo)致對應(yīng)不上。
我們開發(fā)板用到的設(shè)備數(shù)據(jù)包括如下,云端建立數(shù)據(jù)時,名稱和類型要和下面結(jié)構(gòu)體里定義的一樣:
4,最后設(shè)置完成之后提交,機(jī)智云就會分配給你一個屬于你自己的product key。我們需要把它更新到你的下位機(jī)單片機(jī)程序里。
- 手機(jī)app開發(fā)
這個因為有官方開源的Dome源碼,所以我們只要有一些安卓或者ios開發(fā)基礎(chǔ),就可以輕松的從官方Dome中改一個出來。如果僅僅是學(xué)習(xí)測試使用,甚至可以直接用官方給的IOE Dome測試,因為這個Dome里沒有都設(shè)備的product key進(jìn)行篩選,所以凡是接入到機(jī)智云的Gokit開發(fā)板在局域網(wǎng)里都能被這個Dome APP找到并連接。
這里給一個智能廚房的APP,大家可以連接到Gokit開發(fā)板測試一下。因為是具體應(yīng)用的APP,所以對product key做了篩選,只識別連入智能廚房云端的在線設(shè)備。所以測試時Gokit開發(fā)板需要使用前面代碼里給的這個這個product key才可以。
APP測試中按如下對應(yīng)關(guān)系參考:
1溫濕度對應(yīng)Gokit開發(fā)板上的溫濕度傳感器,顯示溫濕度;
2火焰?zhèn)鞲衅?/a>對應(yīng)開發(fā)板上的紅外對管傳感器,用手遮擋時紅外對管時,明火報警;
3換氣扇操作對應(yīng)開發(fā)板上的馬達(dá),打開換氣扇按鈕,馬達(dá)開始正轉(zhuǎn);
4插座開關(guān)對應(yīng)開發(fā)板的RGB LED中的紅燈,打開插座開關(guān)按鈕,紅燈亮。
安卓手機(jī)客戶端詳見附件內(nèi)容。