0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何自己DIY一套智能家居方案

Wildesbeast ? 來源:今日頭條 ? 作者:皮皮學電子 ? 2020-02-04 10:33 ? 次閱讀

隨著微功耗處理器以及通訊芯片的發(fā)展,以往較為耗能的有線通訊方式越來越阻礙了通訊網絡的發(fā)展,于是一大批的無線通訊方案應運而生,例如NBIOT,藍牙4.0,zigbee等等。同時微功耗無線處理器的流行使得傳統(tǒng)家電帶上了智能的色彩,智能家居必將是未來家庭的必備。某些高科技企業(yè)也在揶揄這塊市場,紛紛推出了自家的智能家居解決方案,比較知名的有米家方案以及阿里智能的解決方案。但是回到現實的使用上來說,每個家庭的條件環(huán)境其實不一樣,同樣的產品未必在每個家庭上都可以使用方便,所以個性化的定制產品才可以更好的方便我們的生活。

于是在暑假期間,萌生了DIY一套智能家居方案的想法,具有各種智能開關和傳感器等節(jié)點,并且對接物聯平臺實現聯網控制以及數據的上傳。由于家庭中將會使用到的智能設備種類繁多,所以我將采用模塊化的設計思路,即采用核心板加外圍功能部分的思路,像搭積木一樣的構建各個智能設備。大家有同樣想制作的想法可以參考。截至發(fā)帖前,我完成了智能網關,智能墻壁開關,無線遙控開關以及無線氣象站的設計制作,之后有新的設備加入的話,我會及時的更新。

設想篇

下面是一張我構思的網絡拓撲圖:

無線通訊方案的選擇:zigbee

好早之前就接觸過zigbee組網,對于這種低成本低功耗的網絡還是抱有很大信心的。這里講解選擇這個網絡的幾大理由:

mesh結構的網絡很適合智能家居的控制結構,在入網的任何一個節(jié)點都可以訪問到所有節(jié)點的數據,這點很適合網關控制各個設備。

低功耗使得終端設備甚至可以采用電池供電,使得所有的模組都盡量可能的無線化。

多跳傳輸,無線方案中最大的問題就是數據發(fā)送的不穩(wěn)定以及障礙物對信號的遮擋導致數據無法正確傳輸,而ZigBee的多跳恰好解決了這個問題,節(jié)點會自動選擇優(yōu)質的傳輸路線多跳傳輸,保證信號質量。

zigbee網絡確實是好,但是對于我這種比較懶惰的人并不想去學習那復雜的傳輸理論以及zigbee通訊芯片的編程,于是我選擇上網購買ZigBee模塊,最后選擇了一種小型的串口轉zigbee模塊,比較方便單片機通訊。

核心板的制作:

說到模塊化,那么就需要核心的控制板。本質來說就是將單片機以及購買的zigbee模塊集成到一張電路板上,并且預留各種接口,方便后期移植到各種設備上,這樣一張電路板就可以適用各種智能家居設備了。

在保證功能足夠的同時,體積也是我需要考慮的問題,如果核心板做的過大,會導致無法安裝到某些空間狹小的智能設備中,所以小體積是我所著重考慮的。

基于多方面考慮之后,stc8F2k08s2進入了我的視線,小巧的sop16封裝以及簡單的外圍電路,足夠的IO口(14個)。這款芯片成為了核心板的控制單片機。于是一番繪制原理圖以及PCB之后,成品大概明朗了:

焊接好的成品如下:

這將會成為以后所有我的智能家居方案的核心控制板。

完成了核心板的制作,網關成為了下一個比較關注的對象,因為家中的所有智能設備的控制以及通訊都會由他來完成,包括鏈接到互聯網上傳數據,所以說對于網關的硬件選取也是重中之重。上聯互聯網,下接zigbee小型通訊網,網關擔任了一個家庭控制中心的角色,對于它的選擇我認為esp8266是個不錯的方案,可以支持arduino ide編程,這對于不太了解網絡通訊協(xié)議的我來說是個好消息,因為在arduino的編程中,我可以借助強大的庫函數來完成我想要的功能。

esp8266是一個擁有了近80Mhz的主頻的32位處理器,內置了wifi模組省去了網線,并且擁有豐富的外設以及較高的性能,可以勝任智能網關的工作。當然,近期樂鑫發(fā)布的ESP32系列芯片也會是個好的選擇,更高的主頻以及wifi藍牙雙模的設計讓其擁有更加方便的接入方式,由于手頭上正好有一塊esp8266,所以沒有采用性能更好的ESP32。

這樣我需要對ESP8266進行片上編程,并調用它的串口和zigbee模塊通信,當zigbee的節(jié)點收到其他設備發(fā)來的數據的時候,esp8266可以對其處理或者通過WiFi上傳到云平臺,整體的設計思路就是這樣。

為了方便網關節(jié)點的狀態(tài)顯示以及相關信息讀取,為以后的調試提供便利,我給網關添加了一塊4.3寸的串口觸摸屏,這樣方便信息的讀取以及調試工作。

完成了zigbee節(jié)點核心板的設計以及網關的硬件選擇,整個智能家居系統(tǒng)的主要部分就構建完成了,我先不講解程序的編寫,因為我將會在調試好每一個智能設備之后,再對網關進行編寫對應設備的接口程序。即完成一個智能設備的開發(fā)之后再對接網關,使其加入到家中的zigbee網絡,實現聯動控制或者聯網控制,因為畢竟我使用的ZigBee模組只是起一個通訊的作用,具體的功能實現還是靠核心板上的單片機來完成。這種開發(fā)方法叫做迭代開發(fā),對于較為龐大的項目是一種較好的解決方案。

制作篇

下面是介紹智能墻壁開關的設計,核心就是使得家里墻壁開關智能化,可以聯網控制,達到場景聯動,智能控制等目的。

我嘗試就家中的傳統(tǒng)開關進行改造,但是發(fā)現拆開之后內部空間實在不夠,沒法完成改裝

于是嘗試網購新的開關,尋找空間大些的墻壁開關,后來我找到了專門生產觸摸智能開關外殼的廠家,購買了幾個觸摸墻壁開關的外殼,內部空間較大,適合改造

由于是觸摸面板,所以我準備使用觸摸模塊作為輸入。關于執(zhí)行機構,也就是一充當原來機械開關的器件,我準備使用繼電器來代替。繼電器可以讓我使用單片機輸出的信號去控制220V交流電壓的通斷,并且提供良好的隔離以及絕緣性能。

1.代碼的編寫:

選擇了繼電器以及觸摸模塊之后,我在面包板上搭建了電路,接下來就是編寫代碼了

對于 智能開關節(jié)點,我將zigbee模塊配置成了路由器節(jié)點,這樣做的好處是,墻壁開關同時扮演了一個路由器的角色,看可以協(xié)助一些遠距離的終端節(jié)點完成多跳數據傳輸。。例如我想在臥室使用一個無線開關(下一章將會開發(fā)的)去控制家門口的燈光,直接將數據發(fā)送到家門口的智能開關上或許信號強度不夠造成通信失敗,這時我在客廳增加一個路由器節(jié)點之后,無線開關的信號便可以傳輸到家門口的智能開關上。

同樣的,為了響應國家節(jié)能減排的號召,我給單片機配置成了空閑模式以節(jié)省功耗,但是空閑模式下單片機沒法正確及時的檢測觸摸按鍵的按下,所以我使用單片機的外部中斷來檢測觸摸按鍵,當觸摸按鍵按下時,單片機檢測到電平變化,引發(fā)中斷,喚醒單片機,使得單片機執(zhí)行相關指令。

當zigbee模塊收到來自智能網關的數據時候(例如閉合開關或者斷開開關),其輸出數據引發(fā)的串口中斷也會喚醒單片機,這時候單片機會執(zhí)行收到的指令,隨后再次進入空閑模式。

此外,為了更好的檢測每個開關的狀態(tài),每次開關有動作之后,會將當前的狀態(tài)上報給智能網關,以便網關檢測家中所有的開關狀況。

2.開關的測試:

鏈接zigbee的協(xié)調器節(jié)點到電腦上,打開智能開關的電源,可以看到每當我觸摸開關,對應的繼電器都會動作,并且協(xié)調器節(jié)點串口都會輸出一些數據:

下面是一幀數據的解讀

同時,在串口監(jiān)視器輸入關閉兩路開關的指令,按回車發(fā)送,可以觀察到本來開啟的兩路開關,全部關閉了

測試完畢,智能開關達到了我想要的功能,下面就是針對我購買的外殼設計PCB板了

3.智能開關PCB的設計與制作:

對于購買的外殼,我先找到了一張廠家提供的CAD圖紙,上面標有了一些基本尺寸,這樣方便我去設計一塊合適的PCB板。

將之前在面包板上搭建的電路,繪制成原理圖之后效果如下:

轉換成PCB文件后,經過簡單的元件擺放以及布線后,完成的效果如下:

將交流高壓部分和直流低壓部分開槽隔離,提供了較好的抗干擾特性。而反面則設有zigbee模塊以及單片機的位置。

約幾天后,我收到了制作好的板子。

同時到來的還有一些元器件

焊接過程太繁瑣無聊,略去。焊接好之后的效果圖

安裝上觸摸模塊之后,使用雙面膠將觸摸模塊粘貼在面板玻璃上。

燒錄程序,合上外殼

背后使用標簽標明出接線口定義,方便安裝。

使用智能開關替代家中的傳統(tǒng)開關。

4.網關對應程序的編寫:

這部分的程序主要是網關接受物聯平臺發(fā)來的控制指令json字符串,然后解碼翻譯,最后通過zigbee網絡告知智能開關引起相應動作。所以其核心在于接受服務器的json字符串,解釋其含義。

同樣的,還是使用arduino的json庫來處理這些信息,查閱物聯平臺的通訊協(xié)議手冊,發(fā)現采用如下格式:

所以只需要解讀say指令后面附帶的指令即可,于是很快的,一個使用else if語句的并列結構就寫好了,程序對收到的字符串依次判斷,如果相同則發(fā)送指令給智能開關。

上傳程序到ESP8266,開始測試!

5.綜合測試

安裝智能開關到位,接上網關的電源,觸摸觸摸開關,電燈可以正常開啟關閉

拿出手機,打開物聯平臺,按下開啟電燈按鈕,電燈開啟。

至此,我實現了智能開關的設計,電路搭建以及使用網絡控制。并且支持各種功能擴展(定時開關,和人體傳感器聯動等等),升級空間十分大,并且可聯網控制,給生活帶來了很大方便。

無線遙控開關制作

晚上睡覺前,有的墻壁開關距離床上太遠,因此不方便關燈,所以我準備設計一款遙控無線開關,可以通過配對的形式完成對家中所有智能設備的控制,類似與隨手貼開關。下面是介紹無線遙控開關的設計。

1.電路設計

作為zigbee網絡中的終端節(jié)點,無線遙控開關需要具有低功耗運行模式,因此根據我采用的e18zigbee模塊的數據手冊,將其配置成睡眠模式

拿出制作好的zigbee最小系統(tǒng)板

無線遙控開關上面有一個按鍵用來操作,所以焊接一個按鍵開關到最小板模塊上

另外焊接上電源線,采用紐扣電池供電

用3D打印機打印了殼子

將板子切割一下放進去

組裝好的樣子

2.網關對應的配置

我繪制了一個顯示屏的界面

在此界面下,按下墻壁開關的配對按鈕

此時顯示屏上會顯示相關信息,設備編號為1的會顯示在第一行,以此類推,超出一頁的部分會自動翻頁

如果復位按鍵損壞,還可以使用MAC地址添加方式

點擊信息右邊的配對按鈕,屏幕下方會顯示配對中的提示語

此時按下無線遙控開關的按鈕

即可在顯示屏上見到配對成功的提示語

此時使用無線遙控開關即可控制燈的亮滅

實現這個功能的主要原理就是無線開關記住了墻壁開關的短地址,這樣每次按下按鍵都會發(fā)送一次數據給智能墻壁開關以便控制亮滅。由于是電池供電的開關,為了避免在更換電池后需要重新配對的問題,我使用了單片機內置的EEPROM來存儲短地址,這樣就無需每次上電都要重新配對了。
責任編輯 LK

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19032

    瀏覽量

    228442
  • ZigBee
    +關注

    關注

    158

    文章

    2265

    瀏覽量

    242314
  • 智能家居
    +關注

    關注

    1925

    文章

    9436

    瀏覽量

    183359
收藏 人收藏

    評論

    相關推薦

    一套易于落地的智能家居解決方案

    微控制器(MCU)、無線連接、軟件平臺和應用軟件APP。本文介紹一套鮮活的家居聯網解決方案,跨越概念化、落地難的門檻,走進現實,觸手可及。
    發(fā)表于 10-14 09:45 ?1881次閱讀

    ARM7芯片做一套智能家居控制硬件。怎么樣做呢

    我是個初學ARM的實習生,最近需要以ARM7芯片做一套智能家居控制硬件,不知道該怎么入手,想求助大神們給點指點。電子CAD制圖方面都會,只是不知道做ARM7有哪些注意事項,和供電系統(tǒng)的繪制,眾人的智慧是偉大的,望各位傾注所能,
    發(fā)表于 09-08 09:17

    【DNA Kit試用體驗】【DNA Kit申請】+智能家居wifi控制部分

    申請理由:最近在研究智能家居,打算DIY一套自己智能家具,把自己用過的MCU全部整合成
    發(fā)表于 09-29 09:57

    智能家居系統(tǒng)、智能家居解決方案智能家居定制開發(fā)

    設備、電動窗簾等,用戶可以根據自己的需求和預算DIY自己智能家居生活。提供無線和紅外轉換功能,實現傳統(tǒng)家電設備無縫接入網絡控制。具有多重密碼保護,確保系統(tǒng)安裝不被他人操控。開發(fā)快-
    發(fā)表于 06-12 10:27

    如何選擇一套適合自己的合肥卓居智能家居系統(tǒng)?

    ``1、明確自己的需求 在購買智能家居產品之前定要明確自己的需求是什么,需要哪些服務。每個家庭對智能生活的要求不同,所以對于
    發(fā)表于 11-22 09:00

    在合肥安裝一套完整的智能家居系統(tǒng)需要多少錢?

    `在選擇智能家居時,人們最想知道的便是價格,是否在自己的承受范圍之內,能不能達到理想的效果,這都很重要。而決定一套完整的智能家居系統(tǒng)價格的因素,有以下幾個方面。1. 房子面積大小普通住
    發(fā)表于 12-22 16:06

    如何布置智能家居?合肥卓居給你一套完整的設計方案

    、娛樂性、便捷性等等,也就是所謂的智能化生活。擁有一套智能家居的房子,基本上是每個人的夢想。 然而,剛接觸智能家居的小白肯定會有很多顧慮,
    發(fā)表于 01-20 15:53

    我們?yōu)槭裁葱枰?b class='flag-5'>一套智能家居系統(tǒng)?

    智能家居的目的是為了帶給人們更加舒適、便利、高效、節(jié)能的智能生活方式,然而很多朋友對此并不熱衷,認為沒有智能家居照樣能夠生活的十分方便,那么,真的是這樣的嗎?為什么定要安裝
    發(fā)表于 04-18 11:45

    加快普及智能家居DIY功能更受青睞

    已經形成了完整的解決方案,在未來的智能家居市場份額競爭中,可能會更快速的占領國內市場。  總而言之,隨著技術進步、銷售渠道與服務的多樣化、價格的親民化,智能家居專業(yè)和DIY之間的界限正
    發(fā)表于 05-10 09:59

    加快普及智能家居DIY功能更受青睞

    已經形成了完整的解決方案,在未來的智能家居市場份額競爭中,可能會更快速的占領國內市場?! 】偠灾?,隨著技術進步、銷售渠道與服務的多樣化、價格的親民化,智能家居專業(yè)和DIY之間的界限正
    發(fā)表于 05-11 11:56

    快速打造一套可以語音控制的智能家居系統(tǒng)

    快速打造一套可以語音控制的智能家居系統(tǒng)隨著智能家居產業(yè)的蓬勃發(fā)展,照明、安防、工控等主要制造商已經推出多款智能家居產品,通過無線傳感技術來增加使用舒適度。但因消費端需求逐漸成熟,集中控
    發(fā)表于 09-05 16:43

    基于STC89C51單片機設計了一套智能家居防火防盜系統(tǒng)

    設計了一套智能家居防火防盜系統(tǒng), 該系統(tǒng)能及時發(fā)出危險警報, 提醒用戶迅速對突發(fā)情況采取有效措施, 從而及時有效地保證人身安全, 最大程度地降低財產損失.1 系統(tǒng)總體設計該系統(tǒng)由信號采集模塊、數據處理模...
    發(fā)表于 12-07 09:35

    DIY款屬于自己智能家居

    相信玩過32的技術宅們,也想借助物聯網平臺,搞智能家居,DIY屬于自己的“”智能家居”,今天我們借助 機智云平臺,初探“”物聯網”
    發(fā)表于 02-11 06:12

    如何挑選一套合適自己智能家居方案

    智能家居屬于物聯網范疇,具有物物互聯的典型特點。從照明、電器控制、安防、娛樂、健康等,所有設備系統(tǒng)工作,實現整個家庭的智能化,物與物之間可以交流,形成智能網絡,具有系統(tǒng)化的特征。
    發(fā)表于 04-05 17:11 ?389次閱讀

    如何組建一套完整的智能家居系統(tǒng)

    遠程操控家中的電器、按時打開的窗簾將清晨和煦的陽光送進自己的屋子里,下班之后能夠立即洗個熱水澡,助眠的音樂在你進入夢鄉(xiāng)的時候立即停止。利用科技的進步,這些看起來難以實現的智能家居生活不再難以實現
    發(fā)表于 12-10 11:41 ?3064次閱讀