關(guān)于開源項目「基于ZigBee和STM32的智能家居控制系統(tǒng)」的使用說明

閱讀本文大概需要 6.6 分鐘

大家好,我是 devstone,很感謝大家對這個項目的喜愛和關(guān)心,自從該項目公開以來斷斷續(xù)續(xù)有很多人加我好友詢問一些基礎(chǔ)問題,我也回復過很多,當然了以后也可能會有人問到,為了不再重復回復,我今天專門寫一篇文章,詳細介紹下如何使用

本來早就該寫了,一是因為自己平時忙,二是因為太懶惰,一直拖到現(xiàn)在

01 項目介紹

該項目的原型是自己當初的本科畢業(yè)設(shè)計,從零開始做的,其中包括硬件原理圖、PCB,到后面元器件的焊接、下位機程序編寫,上位機程序編寫,ZigBee 無線通訊程序編寫,各個模塊聯(lián)調(diào)測試修改問題

項目其實很簡單,下位機采集各種傳感器數(shù)據(jù),這些數(shù)據(jù)采集后會進行匯總打包,然后通過串口發(fā)送給 ZigBee 終端節(jié)點,終端節(jié)點會發(fā)送給「協(xié)調(diào)器」,協(xié)調(diào)器收到后通過串口發(fā)送給上位機,上位機收到數(shù)據(jù)進行校驗、解包然后根據(jù)不同類型數(shù)據(jù)分發(fā)到各個頁面進行顯示

上位機平臺采用的是 ARM 開發(fā)板,說白了就是一個性能好點的帶屏幕的單片機,支持觸摸交互,上位機程序采用 C/C++/Qt 編寫

下面就是整個小項目交互關(guān)系圖

圖片

監(jiān)控是雙向的,數(shù)據(jù)從傳感器發(fā)送到上位機,同時上位機也可以通過控制按鈕下發(fā)對應(yīng)的指令進行控制,比如控制 LED 燈的亮滅,控制傳感器閾值,比如室內(nèi)舒適溫度為 22°,當傳感器采集到的問題超過這個值時,觸發(fā)警報,進行提示

下面是上位機程序部分界面部分截圖

圖片

截圖日期還是當時演示時截取的,現(xiàn)在想想好多年了,想起當時整個制作過程還是懷念的

圖片
圖片
圖片
圖片

看到這里可能很多人比較迷惑了,為啥會用到這么多 ZigBee節(jié)點和 STM32 啊,完全使用 ZigBee 就足夠了,確實是這樣的,因為采集傳感器數(shù)據(jù)工作量不大使用 CC2530 就夠用了,當時自己這樣做是為了把學到的知識都用起來

詳細說明下面會分為好幾個部分進行介紹

02 上位機介紹

為了照顧到新人,我還是簡單說下什么是上位機吧

上位機:就是可以發(fā)出控制控制命令的計算機。用大白話說就是運行在某個平臺上(Windows,Linux,macOS等)的一個軟件,你通過這個軟件可以進行一些列的操作

當初的設(shè)計,上位機是運行在 ARM 平臺上的,也就是一塊板子上,你可以理解為一個平板電腦

圖片
圖片
圖片
圖片

那么有人就要問了,可以運行在其它平臺嗎?當然可以,你可以編譯完直接運行在 windows、Linux 或者 macOS 上。目前代碼中沒有做任何限制

現(xiàn)在都明白了吧,我相信看了我上面的幾幅賣相不好的圖片大家應(yīng)該能大概知道上位機這回事吧

如果你下載我的上位機代碼后編譯發(fā)現(xiàn)出現(xiàn)錯誤,歡迎留言,我再補充哈。正常情況下現(xiàn)在應(yīng)該能正常編譯和運行,不會有錯誤的

03 下位機介紹

明白了上位機,那么理解「下位機」應(yīng)該容易很多。

下位機就是控制設(shè)備狀態(tài)的一種計算機,說白話可以理解為你寫程序控制單片機進行一些列的操作,比如點亮 LED 等,這些一些列的程序代碼可以理解為下位機程序

下位機采用 STM32F103 VBT66 單片機,這是一個ARM? Cortex?-M3版本,ROM 僅有 128KB大小,控制程序全部跑在這塊單片機上

記得當時為了裝B,還移植了一款微型操作系統(tǒng)UCOSII (Micro-Controller Operating Systems),這是一款實時操作系統(tǒng),完全采用 C 語言編寫,基于搶占式優(yōu)先級策略的一種多任務(wù)系統(tǒng),也就意味著我們可以同時運行多個任務(wù)

移植完這款操作系統(tǒng)后,剩下程序編寫就變的非常簡單了,多個傳感器采集數(shù)據(jù)工作可以當做不同的任務(wù)去做,具體如何輪訓你用你操心了

STM32 在這里起到數(shù)據(jù)采集+打包中轉(zhuǎn)的作用,某些傳感器數(shù)據(jù)采集完通過打包流程封裝成一包數(shù)據(jù)發(fā)送給串口,串口的另一端連接的是 ZigBee 終端,終端接收到數(shù)據(jù)后會通過 ZigBee 無線通信協(xié)議發(fā)送給 ZigBee 協(xié)調(diào)器

ZigBee 協(xié)調(diào)器另一端連接的是「上位機」,這樣上位機就可以收到數(shù)據(jù)了

04 ZigBee 無線通訊介紹

ZigBee 是一種短距離無線通信協(xié)議,底層采用的是IEEE 802.15.4標準。主要特點有:低功耗、低成本、低速率、支持大量節(jié)點收發(fā)數(shù)據(jù)

通信的硬件采用的是 CC2530芯片,無線通訊大概可以分為三種:節(jié)點、路由器、協(xié)調(diào)器

其實在這個項目里面,我做了偷懶,并沒有嚴格按照上述模式設(shè)計,在我的這個項目里面,ZigBee 只是起到到數(shù)據(jù)傳輸?shù)淖饔茫床杉降臄?shù)據(jù)由「終端節(jié)點」發(fā)送給「協(xié)調(diào)器」,在實際應(yīng)用中不會這么大材小用的,一般協(xié)調(diào)器不光負責數(shù)據(jù)傳輸,也可以承擔一部分的數(shù)據(jù)采集管理工作

ZigBee 相關(guān)代碼介紹

在我開源分享的代碼當中,zigbee無線傳輸部分是所有 ZigBee 通訊的代碼,包含了終端節(jié)點和協(xié)調(diào)器,注意在下載程序時進行區(qū)分就行了

至于如何下載如何調(diào)試,還請自行百度

05 硬件 PCB 電路介紹

相信大家都看過了板子的外觀了,很簡陋,也沒有任何美感,純粹是為了完成功能的設(shè)計

圖片
圖片

學習過硬件設(shè)計的朋友這里不用看了,因為太基礎(chǔ)了。如果你對這方面感興趣,那么需要你系統(tǒng)的學習下基礎(chǔ)的知識,學起來也挺快的,就跟搭積木一樣

一塊電路板是 怎么來的呢?

首先需要你自己使用軟件繪制原理圖,需要知道了解一些基礎(chǔ)的電路知識,不過現(xiàn)在現(xiàn)成的東西也很多,網(wǎng)上看看也能抄過來用

其次,根據(jù)原理圖生成 PCB,這一步很重要,生成后就需要自己去布線或者叫連線了,這一步比較繁瑣和重要,很多初學者會偷懶選擇自動布線,墻裂建議不要這樣做,還是老老實實選擇手動布線吧

什么是布線呢?大白話說就是把各個元器件的管腳使用特定的線連接起來,你原理圖中繪制的某個元器件怎么和外部連接的,這里就需要重新用線進行連接,連接的原則是保持每條線間隔均勻、不重合、不繞路等

最后,畫好了 PCB 后就可以導出這個 PCB 打包然后發(fā)送給廠商進行「打樣」,現(xiàn)在越來越便宜了,直接在在某寶上搜評價好點的商家就可以了,還需要注意的是和賣家溝通清楚,自己要打樣的板子要求,比如過孔覆油是否,油墨顏色,過孔大小等

一般一個禮拜左右就可以打樣完成,剩下的時間就是自己買元器件進行焊接,這一步也很累很辛苦,注意別買錯了,要和你當時畫原理圖時候的大小一致,比如 0603、0204 封裝……

最最后就是測試電路板是否有問題,其實在開始焊接的時候,可以先焊接部分電路進行測試,沒有問題再焊接完剩下的

總結(jié)

上面就是關(guān)于這個項目的幾大部分內(nèi)容說明,詳細知識大家看我之前的博客和開源的代碼資料就行了。

整體思路就是單片機采集傳感器數(shù)據(jù),然后通過無線通信發(fā)送給上位機進行顯示,同時上位機還可以進行控制下位機中的硬件設(shè)施,比如點亮 LED燈,當然了這里用 LED 燈模擬顯示環(huán)境中真正的燈光,如果要用在實際環(huán)境中,還需要對應(yīng)的驅(qū)動電路才行

如果看到這里還有疑問,那就再繼續(xù)交流吧,我完了把大家的疑惑都整理下發(fā)表出來,方便更多的初學者學習理解

如果這個小項目能夠幫助到你,麻煩點個贊、在看,也算是對我的一種支持吧

關(guān)于如何學習

最后再給初學者一些個人建議吧,關(guān)于如何學習

大家有沒有發(fā)現(xiàn),初入社會后學習能力是多么的重要。可能你以前上學那會沒有留意,平時上課學習都是老師帶領(lǐng)你們學習,自己只要跟著老師的步伐即可

但是,等畢業(yè)工作后發(fā)現(xiàn)沒有人帶、教自己,全部都得自己去學習、研究、鉆研,很多東西學不會、理解不了。

作為一個技術(shù)人,其實是很殘酷的,技術(shù)變化太快,如果你停止學習可能短期內(nèi)沒有啥變化,但是隨著時間越長越能感覺到自己和別人的差距,這種差距不僅體現(xiàn)在能力上,最直接體現(xiàn)在工資待遇上,你說你學不學?

  1. 學會使用搜索引擎

我們平時遇到的各種問題,99% 以上網(wǎng)絡(luò)上面都有,所以如何正確搜索很關(guān)鍵。墻裂建議大家有條件一定要使用 Google 搜索,不要使用百度搜索

  1. 多分享總結(jié)

我們要相信一句話「利他就是利己」,多分享多付出,前期我們給別人創(chuàng)造價值,可能自己得不到回報或者很少,但是從長遠來看,這些付出會成倍的回報給自己

  1. 學會提問

提問是一門藝術(shù),很多人其實都沒有注意。很多大佬都很忙,我們請教問題盡可能的一步到位描述清楚自己的問題,比如可以按照下面的模板來進行

我想做 xx 功能,遇到了 xxx 問題,我是這樣想的……,自己嘗試了 xxx 步驟后還是沒有解決,您抽時間能幫忙看下嗎

閑聊

當時機緣巧合下分享的這個小項目,沒有想到受到很多朋友的喜歡,能夠幫助到大家我很高興。其實很多人會問一些很基礎(chǔ)的問題,作為過來人我知道剛?cè)腴T確實會有很多疑問,很多問號,只要我有時間,都一一進行了回復

下面順手截取了部分朋友的反饋

圖片
圖片
圖片
圖片
圖片
圖片
圖片
圖片

最后,如果大家有問題,可以留言,有任何問題可以隨時向我提問,但是,但是,但是,盡量一次性把問題描述清楚,不要問在不在?我可以問你問題嗎?你忙嗎?等等之類的問題,有問題直接問,對就是這么直接

自己平時工作也挺忙的,消息可能不會及時回復,但是我忙完一定第一時間回復你

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內(nèi)容