chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

聚豐項(xiàng)目 > 基于英特爾? Edison的Zigbee Gateway設(shè)計(jì)

基于英特爾? Edison的Zigbee Gateway設(shè)計(jì)

因?yàn)槟阈枰粋€(gè)Zigbee的網(wǎng)關(guān),來轉(zhuǎn)發(fā)你手機(jī)端發(fā)出的控制信號(hào)到設(shè)備終端,起到控制或者監(jiān)測(cè)等功能的“萬(wàn)物互聯(lián)”功能!

A670521546 A670521546

分享
5 喜歡這個(gè)項(xiàng)目
團(tuán)隊(duì)介紹

A670521546 A670521546

團(tuán)隊(duì)成員

張桂陽(yáng) 創(chuàng)客

分享
項(xiàng)目簡(jiǎn)介
因?yàn)槟阈枰粋€(gè)Zigbee的網(wǎng)關(guān),來轉(zhuǎn)發(fā)你手機(jī)端發(fā)出的控制信號(hào)到設(shè)備終端,起到控制或者監(jiān)測(cè)等功能的“萬(wàn)物互聯(lián)”功能!
硬件說明

本項(xiàng)目是基于英特爾? Edison設(shè)計(jì)的一個(gè)Zigbee網(wǎng)關(guān)。大家都知道,目前的智能家居行業(yè),ZIgbee或者Wifi或者Bluetooth,誰(shuí)將會(huì)是未來協(xié)議的統(tǒng)一著和領(lǐng)導(dǎo)者,目前還沒有定論。首先,Wifi因?yàn)殚T檻低(例如人人都有路由器,人人都有手機(jī)),貌似是一個(gè)合適的協(xié)議平臺(tái),但是由于其功耗高,組網(wǎng)功能不是很成熟,所以對(duì)于少數(shù)(5個(gè)以下)設(shè)備的互聯(lián)是很有優(yōu)勢(shì)的;Bluetooth設(shè)備的Mesh協(xié)議已經(jīng)發(fā)放,但是由于傳輸距離近,如果中間一個(gè)節(jié)點(diǎn)被破快,可能影響整個(gè)鏈路的穩(wěn)定性,目前還沒有大批量的使用在智能家居上,多半是一些腕表類的設(shè)備,需要電池供電等耗能較低的功耗的設(shè)備上;而Zigbee由于其優(yōu)秀的組網(wǎng)功能和優(yōu)秀的傳輸距離,以及低功耗,已經(jīng)成為智能家居行業(yè)的主流協(xié)議。
很遺憾的是,Zigbee的設(shè)備買回來因?yàn)椴荒芎图依锏穆酚善骰蛘呤謾C(jī)(可連接Wifi或者藍(lán)牙)直接相連,所以,入門的門檻一直很高:因?yàn)槟阈枰粋€(gè)Zigbee的網(wǎng)關(guān),來轉(zhuǎn)發(fā)你手機(jī)端發(fā)出的控制信號(hào)到設(shè)備終端,起到控制或者監(jiān)測(cè)等功能的“萬(wàn)物互聯(lián)”功能!在這個(gè)背景下,我的項(xiàng)目誕生了!

100123n28hqnt22o7ht7ft.png.thumb.jpg

英特爾? Edison作為Wifi(TCP/IP)數(shù)據(jù)的接收端,然后通過英特爾? Edison的串口端發(fā)送信息到Zigbee模塊上(信息中包含ID和控制信息);同時(shí),Zigbee燈泡(終端)反饋的信息可以通過Zigbee模塊來傳到英特爾? Edison,然后再轉(zhuǎn)發(fā)至TCP/IP上,最終傳輸?shù)绞謾C(jī)端。


 
 
(Zigbee模塊用的是Silicon Labs的EM357芯片外掛一顆PA,板載的PCB天線組成)
 
(帶有Zigbee模塊的球泡燈,這個(gè)燈泡是不是很有顏值?。。?/span>

軟件說明

WIfi通訊部分
這部分是參考了anger0925的一篇帖子想到的:(http://bbs.elecfans.com/jishu_919753_1_1.html
這里我也用了Blynk的庫(kù)函數(shù)和App端。
這里我新建了一個(gè)虛擬按鍵和一個(gè)滑動(dòng)條。
 
虛擬按鍵用來控制LED燈泡的開關(guān)和熄滅;滑動(dòng)條用來控制LED的亮度。Arduino的代碼參考了BlynkSimpleIntelEdisonWiFi的例子(首先要下載Blynk的庫(kù),然后解壓到Arduino的安裝目錄下面,這個(gè)我就不多說了)
下面是Wifi例子的程序:

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <WiFi.h>
#include <BlynkSimpleIntelEdisonWiFi.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "8acd8819a0e8488a978c44539c7249e2";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Allison_newWifi";
char pass[] = "Allison20151001";

void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  // Or specify server using one of those commands:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
  //Blynk.begin(auth, ssid, pass, server_ip, port);
}


這樣,手機(jī)端和Intel Edison的通訊就完成了。

Zigbee模塊通訊部分
其實(shí)我的Zigbee模塊上是運(yùn)行了ZHA V1.2的,也就是說我從串口發(fā)送一個(gè)命令,可以實(shí)現(xiàn)組網(wǎng),認(rèn)證和控制等相關(guān)功能的。具體的我就不詳述了,因?yàn)檫@個(gè)也涉及到公司的秘密,詳細(xì)的代碼我也不貼出來了。
我可以簡(jiǎn)單講一下ZLL協(xié)議的部分(其實(shí)和ZHA協(xié)議差不多)
 
 
每一個(gè)主設(shè)備或者從設(shè)備會(huì)有不同的ID,先找到ID,然后給不同的ID發(fā)送不同的命令(例如on/off,或者PWM調(diào)光等),再加上一個(gè)返回碼,包含錯(cuò)誤代碼等等。


 Intel Edison主程序部分
主程序?yàn)橐粋€(gè)Arduino項(xiàng)目,首先包括和服務(wù)器的鏈接部分,然后是虛擬按鍵的事件上報(bào),在handler程序中,對(duì)虛擬按鍵的狀態(tài)進(jìn)行讀取,然后通過串口發(fā)送數(shù)據(jù)到Zigbee的模塊,進(jìn)而控制燈泡。
滑動(dòng)條的狀態(tài)是一樣的:監(jiān)測(cè)滑動(dòng)條的數(shù)據(jù)狀態(tài),然后上報(bào),通過串口數(shù)據(jù)的發(fā)送到Zigbee模塊,對(duì)Zigbee燈泡調(diào)光。

演示效果

App端的On、off和滑動(dòng)條來控制燈泡的亮度:
 
 
燈泡的效果動(dòng)畫:


本項(xiàng)目只是利用Intel Edison簡(jiǎn)單的實(shí)現(xiàn)遠(yuǎn)端控制燈泡的開關(guān)和亮度的調(diào)節(jié)。
更多更復(fù)雜的應(yīng)用,譬如燈泡的配對(duì),燈泡是否在線的實(shí)時(shí)狀態(tài)查看,開機(jī)自動(dòng)檢查程序的版本并及時(shí)鏈接到服務(wù)器更新最新的程序,定時(shí)開關(guān)燈泡。。。等等。當(dāng)涉及到多個(gè)燈泡的時(shí)候,就不能用廣播的形式來發(fā)送控制命令(本例子是用廣播的方式來實(shí)現(xiàn)控制的),包括多個(gè)燈泡同時(shí)發(fā)送不同的亮度指令時(shí),進(jìn)程的優(yōu)先級(jí)等優(yōu)化算法的問題沒有考慮進(jìn)去。

評(píng)論區(qū)(0 )