在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>具有Azure數據庫支持的Raspberry Pi無線家庭自動化

具有Azure數據庫支持的Raspberry Pi無線家庭自動化

2022-12-23 | zip | 0.30 MB | 次下載 | 免費

資料介紹

描述

項目級別:中級到高級

軟件先決條件

  • 視窗 10
  • 視覺工作室 2015
  • 安卓工作室
  • MPLAB X IDE(帶 XC8 編譯器)

介紹

Windows IoT 新的 Windows IoT 為開發人員提供了一些功能,可以在更短的時間內創建強大而高效的應用程序。Windows IoT 驅動的 Raspberry Pi 是這個家庭自動化項目的關鍵要素。 ??

?
poYBAGOkEAyAW2aQAAF4CxAVQX8466.png
整體系統表示
?

Raspberry Pi 充當系統的主人。Raspberry Pi 通過 2.4GHz ISM Band RF Link 連接到許多從屬設備。從設備是一個基于 PIC18F 微控制器的電路板,具有與 Raspberry Pi 建立雙工無線鏈路所需的電路和程序。除了不同的設備 ID/地址(應該是唯一的)和設備類型編號外,每個從設備都具有相同的電路和 PCB 設計。Windows IoT 上的 C# 程序能夠同時處理任意數量的從屬設備。?

特征

1. 智能手機/電腦可用于控制家電。

2. Raspberry Pi 通過 ISM 頻段 2.4GHz 無線鏈路連接到一個或多個從設備。

3. 這些從屬設備允許Raspberry Pi 遠程控制家用電器/電子設備。

4. 可以進行不同級別的控制。

一種。基于繼電器的控制(簡單的開/關功能)。

b. 基于 Triac 的控制(可以控制光強度或平均功率)

C。電機控制(基于三端雙向可控硅或直流電機驅動)

d. 用戶可以毫不費力地添加其他控制方法,如 PWM、反饋系統等。

5. 我已經編寫了一個移動應用程序來啟用基于 Internet 和本地網絡(數據報套接字)的控制。

6. 樹莓派添加新的從設備無需更改程序。只需點擊奴隸的“添加我”按鈕。Raspberry Pi 會自動將設備添加到網絡(自動掃描選項也可用)。

7. 數字和模擬傳感器都可以連接到從設備。由于 Raspberry Pi 從設備通信是雙向 RF 鏈路,因此 Raspberry Pi 無需任何物理連接即可讀取傳感器讀數。

8. 簡潔的GUI C#程序將幫助用戶檢查連接狀態、網絡監控、設備控制等。

9. 存在基于定時器的控制選項。設置您想要關閉/打開特定設備的時間,Raspberry Pi 將完成剩下的工作。

10.無需太多修改即可輕松引入語音檢測/語音命令。

11. 傳感器讀數可以寫入帶有時間戳的 Azure 數據庫。電氣設備也可以通過 Azure 云數據庫進行控制。

樹莓派連接?

?
pYYBAGOkEA-AaCkMAAMOZwXAQw4983.jpg
樹莓派nRF模塊連接
?

在這個家庭自動化系統中,Raspberry Pi 沒有任何物理連接,除了 nRF SPI 通信鏈路 [不包括電源以太網/WiFi 和 HDMI(可選)等基本連接]。所有的控制、監控、決策、觸發和切換操作都在 Raspberry Pi 中完成。Raspberry Pi 使用雙工無線鏈路(非 WiFi 或藍牙標準)與從屬設備通信。整個C#程序可以從本文的軟件部分(GitHub)下載

(注意:由于程序的硬件IO要求,編譯到x64/x86平臺可能無法正常工作。

注意:我為無線模塊編寫的 nRF 類沒有利用該模塊的真正潛力。一旦我有足夠的時間,我將更新 GitHub nRF 類文件。)

?
?
?
?
pYYBAGOkEB6AC25JAASw23glHHE098.jpg
?
1 / 2
?

?

? ?C# 應用程序支持 3 種方式來控制家用電器甚至工業系統。

1. RPi 的 GUI。在 Raspberry Pi 中運行的漂亮 C# GUI 將允許您監視網絡命令、不同的傳感器讀數、控制家用電器和自動控制以及其他后臺任務,如 Azure DB 讀/寫、計時器等。

?
?
?
?
poYBAGOkECOARWDQAACyoldkKn8130.jpg
?
1 / 4 ? 7 個從設備已連接,Triac 控制頁面
?

設備框列出了所有可用的從屬設備。您可以隨時刪除或添加從屬設備。?

?

在 GUI 的頂部,您可以看到通過 nRF 無線鏈接從從屬設備提取的不同傳感器讀數。C# 應用程序使用這些傳感器讀數來自動控制電氣設備。

在底部,“網絡日志”框顯示通過 Azure 云數據庫或 LAN 從移動設備/計算機接收到的所有命令以及連接設備的 IP 地址和名稱。在其下方,放置了一個狀態欄。它向用戶顯示所有必要的信息和通知。通過打開“自動更新”按鈕,您將從選定的從屬設備的傳感器數據中獲得實時更新(可以將這些傳感器數據寫入帶有時間戳的 Azure DB 中)。此按鈕還可用于檢查從設備是否在 nRF24 的 RF 鏈接的無線范圍內。“自動控制”復選框用于啟用“自動控制”模式,該模式可以根據光強度傳感器讀數調整光強度。在 PIR 傳感器的幫助下,還可以對人員存在發出警報。

?

除了控制之外,還可以通過 LAN 或 Azure 云數據庫傳輸消息。

?
poYBAGOkEFKAHY2cAA4rxFG2fig930.jpg
Raspberry Pi GUI 的網絡日志窗口
?

2.本地數據報包。

?我開發了一個簡單的 Android 和 Windows 通用應用程序,用于通過本地網絡 (LAN) 控制設備。

3. 基于Azure 云數據庫的控制。?

上面說的同一個應用程序有一個特殊的模式通過互聯網(通過 Azure 云)向 Raspberry Pi 發送命令 ? ?

?
?
?
?
poYBAGOkEFWAaFDaAACM9_MRkEE396.png
?
1 / 2 ? Windows 通用應用程序(通過互聯網的數據包支持基于云的控制)
?

(注意:我制作這些應用程序只是為了測試功能。如果你擅長 GUI 設計,你可以做得更好

注意:如果沒有運行 Windows IoT 的強大 Raspberry Pi 和上述 C# 應用程序,則無法使用此應用程序。

注意:所有網絡命令都以一個字符開頭,?'!'您可以在 Pi 的 C# 程序的 MainPage.cs 文件中看到完整的命令。)

?

?

?

從機

從設備是一塊基于 PIC18F24K20 的板,帶有 nRF24 無線模塊。除了單獨的設備類型代碼和唯一的 ID/地址編號外,所有從屬設備都具有相同的電路和固件程序。因此,不費吹灰之力就可以輕松制作任意數量的從屬設備。

?
?
?
?
pYYBAGOkEGqATXKwAAVPZ2cmjT0997.jpg
?
1 / 4 ?從設備尺寸
?

每個從屬設備都有一個“AddMe”和“RemoveMe”按鈕,用于將該從屬設備注冊到 Raspberry Pi 或刪除從屬設備。?

?

更新 (15/09/2015)

我添加了一個“自動掃描”選項。現在,連同“AddMe”按鈕,您可以掃描其無線范圍內的從屬設備。此選項將允許您添加樹莓派無線范圍內的所有從屬設備,而無需按從屬設備的“AddMe”按鈕。您所需要的只是“掃描”并等待可用設備列出。>

?

傳感器可用

1.溫度傳感器(LM35)

2.光強度傳感器(LDR)

3. PIR傳感器(HC-SR601)

?
pYYBAGOkEG-ANARjAABmQfAsF14651.png
傳感器數據(Raspberry Pi 的 GUI)
?

從設備原理圖和 PCB 設計

您可以從本文的硬件部分下載 Eagle CAD 文件。

(我沒有在互聯網上找到任何好的 nRF Eagle 庫。所以我自己制作了一個。您可以在本文的自定義部件和外殼部分找到這個 nRF24L01+ 庫)

?
?
?
?
poYBAGOkEHuAAwmLAAGLP02aIvs258.png
?
1 / 2 ?從設備電路圖
?

從設備如何工作

Slave Devices類似于無線擴展樹莓派的IO口。盡管無線通信系統有點復雜,但使用起來非常方便。永遠不可能僅僅為了實施自動化系統而為整個家庭布線。所以,我決定選擇無線系統。另一個附加優勢是,您可以隨時將家庭自動化系統擴展到任何房間,而無需添加或更新一行代碼。您所需要的只是奴隸的“點擊添加我”按鈕。想象一下用有線系統做同樣的事情!!

?
poYBAGOkEJWAZ8JhAAOFmbZJseo158.png
從設備工作
?

正如我所說,slave 設備以靈活性和更多控制擴展了 Raspberry Pi 的范圍。由用戶決定他/她應該分配給從屬設備的控制功能。就像模板一樣,我制作了 5 種不同類型的從屬控件。您可以毫不費力地將它擴展到任何類型的任何數字。

public enum device_type : byte

{

? ? ? Test_Device = 0, ? //Used a prototype for testing

? ? ? Triac_Device = 1, ?//Triac/Solid state relay high speed switching

? ? ? Relay_Device = 2, ?//Common Relay Control

? ? ? Buzzer_Device = 3, //Buzzer and Alarm Control board (Not implemented)

? ? ? Motor_Device = 4

};

上面的枚舉語句顯示了我的程序中可能的從屬類型。

A. 三端雙向可控硅裝置

(注:對功率器件不熟悉的可以省略該類Slave Devices。)

Triac 是一種交流功率器件,可用于電機速度控制、光強度控制等快速開關應用。適當的觸發是必要的,在設計 Triac 電路時還應考慮換向方法。從設備和 TRIAC 控制板的集成使系統更加有用和靈活。Triac 的觸發有點棘手。您需要一個過零檢測器來了解交流電 (LM358) 的過零點。從機內部的 PIC18F24K20 微控制器將識別過零點(來自 LM358 的方波)并根據我們從 Raspberry Pi 發送的觸發延遲觸發三端雙向可控硅開關。

?
?
?
?
poYBAGOkEJqAARwbAAEnuh0Wzek791.png
?
1 / 4 ? Triac 電路板 PCB 布局(鏡像) [如果您使用墨粉轉移法制作 PCB,則需要非鏡像布局。從本文的硬件部分下載完整的 CAD 文件。]
?
?
?
pYYBAGOkEKyASpRWAAPVRdBtqoo879.jpg
Triac 板的頂視圖(一些組件位于底層)。有關從設備連接的詳細信息,請參閱原理圖和 PCB 布局。
?

B. 中繼裝置

作為中繼設備配置和連接從站非常容易。除了 5v 或 12v 繼電器、BC547 NPN 晶體管 1k 電阻器和 1N4001/1N4004/1N4007 二極管或 ULN2003 達林頓對 IC 之外,您不需要任何額外的大型電路。我建議使用現成的簡單繼電器板(它非常便宜且容易獲得,不會超過 2 美元[至少在我們地區])

?
?
?
?
pYYBAGOkEK6AWnsiAAA5vxqgSBU412.png
?
1 / 3 ?簡單的晶體管繼電器驅動電路
?

C. 12v直流電機裝置

它是中繼設備的擴展。這里不是繼電器電路,從設備控制兩個 12v 直流電機。流行的電機驅動器 IC L293 或 L93D 可用于這些設備。

?
?
?
?
pYYBAGOkELGAQkITAABzHqOByFk242.jpg
?
1 / 2 ? L293 電機接口(L293D 不需要任何外部二極管)[VCC1= VCC2]
?

樹莓派從機無線通信

對于 Raspberry Pi 和從屬設備之間的無線通信,我使用了 nRF24L01+ 模塊并在 10 字節的有效載荷內創建了自定義數據包結構。

?
poYBAGOkELOAAp8rAAD9kzPg9rQ227.png
數據包結構
?

數據包類型和從設備 ID

來自從設備的“add_me_packet”將在 Raspberry Pi 的設備列表中注冊該從設備 ID。Raspberry Pi 將使用這個唯一的設備 ID 與特定的從設備進行進一步的通信。?

同樣,數據包通常由樹莓派下發,用于控制操作。

從屬設備在收到來自樹莓派的更新數據包請求后,將以其傳感器讀數和連接設備的狀態作為數據包響應給樹莓派。如果您知道系統的工作原理,您可以輕松地將我的 10 字節數據包系統更改為 20 或 32(最大)數據包系統。

設備類型

我們已經看到了 Triac 器件、繼電器和電機控制板。Raspberry Pi 如何知道或識別從設備將要執行的操作類型(你已經知道,每個從設備都有相同的固件和電路)。這由數據包的第 3 個字節定義。

要將從設備配置為電機設備,您需要更改給定嵌入式 C 程序的#define 語句。

//#define triac

#define relay //////need to change according to your device

#define device_id 59 //////need to change according to your device

///////////////////////////////////////////////////////////

#define device_type 4 ??

///Device type declaration for program

/*?

Test_Device = 0,

Triac_Device = 1,

Relay_Device = 2,

Buzzer_Device = 3,

Motor_Device = 4

?*/

對于可控硅設備

#define triac ? ///Uncomment this define statement?

//#define relay //////need to change according to your device

#define device_id 59 //////need to change according to your device

///////////////////////////////////////////////////////////

#define device_type 1 ///change to 1

對于繼電器設備?

//#define triac

#define relay //////need to change according to your device

#define device_id 59 //////need to change according to your device

///////////////////////////////////////////////////////////

#define device_type 2

?一些溝通情況

?
pYYBAGOkELeAddzkAACuNpFE-bM579.png
可能的 AddMeScenarios
?
?
poYBAGOkELmAAMJqAAC_Kj5q_8g868.png
開/關/Triac/PWM/電機命令(尚未制造 PWM 設備)
?
?
poYBAGOkELyAJTwiAACmDLmw3uU262.png
讀取傳感器數據(自動更新) 此循環無限期重復,除非用戶停止自動更新。
?
?
poYBAGOkEL-AWQuOAACfBoaGzOM152.png
刪除我的數據包
?
?

---------------------------------------------- -

其他有用的鏈接和注釋

  • 要啟用 Internet 控制,您需要注冊 Azure 帳戶并使用 Azure 數據庫。此鏈接將為您簡要介紹 Azure 數據庫和 Azure 移動服務Azure
  • (Pi 的 C# 僅使用第一個表條目)
    ?
    ?
    ?
    ?
    poYBAGOkEMGAN3tlAABRvOFBG_0981.png
    ?
    1 / 4 ? hi world 或任何文本:Pi 將在網絡日志窗口中顯示此消息
    ?
  • 可以將不同的傳感器讀數插入到 Azure 數據庫中。我沒有在我的系統中使用它,但你只需要 2 行代碼就可以做到這一點。只需將更新代碼放置在?azureMonitor_tick計時器滴答事件中。

//Note free Azure Subscription has 20MB database size limit.

  • 您必須輸入自己的 Azure 訂閱密鑰、表條目 ID 和其他信息,才能在您的計算機/樹莓派/手機上運行我的程序。

? ? ?public static MobileServiceClient MobileService = new ? ? ? ? ? ? ? ? ? ? ? ? MobileServiceClient(

? ? ? ? ? ? ? ? ? "https://myandroid.azure-mobile.net/",

? ? ? ? ? ? ? ? ? "Replace this string");

? ? ?item_default.Id = "xxxxxxxxxxxxxxxxxxxxxxxxxx";

  • 如果您不擅長 PCB 制作和電路設計,我推薦 Arduino 或其他現成的電路板。對于更小的外形和低成本,請選擇定制設計。

//Inside this case statement of?data_received(byte[] data_byte) function

case (byte)packet_type.update_packet:

..................

? if ((bool)autocontrol.IsChecked)

{

byte[] bb = {0x00,0x00, 0x00

, 0x00 , 0x00 , 0x00 };

if (temp < 140)

bb[0] = (byte)(temp);

else

bb[0] = 140;

bb[1] = data_byte[8]; ? ? ? ? ?//Added code (This will enable buzzer based?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //PIR reading.

bb[2] = lastitem.device3_state;

bb[3] = lastitem.device4_state;

nrf_send_data(bb, lastitem.device_address, packet_type.data_packet);

}

.......

}

最后一點

Windows IoT 家庭自動化與其他系統

?
Windows IoT 家庭自動化與其他系統
Windows IoT 家庭自動化與其他系統
?

附錄?

有些人可能不熟悉微控制器 (uC) 和 uC 編程我將解釋刻錄從屬設備的 .hex 文件所需的一些基本內容。

1.您需要安裝Microchip的MPLAB X IDE和XC8 Compiler才能重新編譯程序。如果只需要燒錄程序,則不需要安裝 XC8 編譯器。
您可以從此鏈接下載 MPLAB X 和 XC8 編譯器MPLAB X 和 XC8

2. 編程硬件工具或簡單的編程器是將程序燒錄到 uC 中必不可少的。對于 Microchip 的 PIC 控制器,可以使用 PicKit3、PicKit2 或 ICD3/2。(需要連接 MCLR、VDD、GND、PGD 和 PGC 引腳)。

?
?
?
?
pYYBAGOkEMyALuA7AAOLz5BETv8224.jpg
?
1 / 2 ? PicKit3 和從設備??
?

3. 你可以在PCB設計中看到PicKit3的header。

如何在樹莓派上安裝 Windows IoT

PIC18F24K20 數據表

Nrf24l01 數據表

BT136 數據表

..................................................... ..................................................... ......................

不可能在這里解釋整個程序。因此,請閱讀給定代碼文件的注釋。我在本文末尾添加了一些有用的代碼片段。

隨時發表您對這個項目的評論、意見和疑問。

謝謝 :)

阿南德。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 免费观看黄色网址 | 四虎sihu新版影院亚洲精品 | 一级一片免费视频播放 | 日夜操在线视频 | 免费抓胸吻胸激烈视频网站 | 不卡的毛片 | a级毛片毛片免费很很综合 a级男女性高爱潮高清试 | 色妹子在线 | 小毛片在线观看 | 羞羞色院91精品网站 | 成年男人永久免费看片 | 中文字幕在线永久在线视频2020 | 国产一区二区三区 韩国女主播 | 午夜精品视频在线观看 | 国产性老妇女做爰在线 | 同性男男肉交短文 | 天天干狠狠操 | q2002在线观看免费 | 一区二区三区四区在线免费观看 | 四虎在线电影 | 夜色爽| 国产一区中文字幕在线观看 | 天天艹天天操 | 久久草在线看 | 九九re热| 国产精品主播在线 | 天堂日本 | 1024国产看片在线观看 | 亚洲播播播 | 天天插天天操天天干 | 午夜视频在线网站 | 97一区二区三区 | 神马午夜在线观看 | 色噜噜狠狠色综合中文字幕 | 国产未成女年一区二区 | 久久婷婷激情综合色综合也去 | 伊人久久网站 | 久久久久亚洲香蕉网 | 七月婷婷在线视频综合 | 国产亚洲视频在线 | 久久天天躁夜夜躁狠狠85麻豆 |