資料介紹
描述
一、概念
貴重物品,如博物館中的藝術(shù)品或公共場所的各種設(shè)備,需要防止被盜。傳統(tǒng)上,這是由專門的安全人員完成的。
在這個項目中,我將展示一個連接互聯(lián)網(wǎng)的防盜設(shè)備,它可以用作安全人員的替代品或補充品。
該設(shè)備就像一個支架,但頂板安裝在稱重傳感器上。這樣就可以高精度地監(jiān)控放置在支架上的重量,并且可以快速檢測到任何變化。概念:放置在設(shè)備上的貴重物品
除了重量傳感器外,加速度計和光學(xué)傳感器等輔助傳感器還可用于檢測振動或其他可疑活動。
我構(gòu)建的概念驗證設(shè)備基于Avnet 的 Azure Sphere MT3620 入門套件,并使用 3 Kg 稱重傳感器作為其主要傳感器,以及 Sphere 套件的內(nèi)置加速度計:

該設(shè)備已連接互聯(lián)網(wǎng),可以通過 Azure Central IoT 應(yīng)用程序輕松遠程監(jiān)控。使用自動規(guī)則檢測盜竊并采取行動。

Azure Sphere 平臺提供的創(chuàng)新安全基礎(chǔ)架構(gòu)使設(shè)備軟件無法被篡改。
2. 蔚藍領(lǐng)域
Azure Sphere 是 Microsoft 用于物聯(lián)網(wǎng)解決方案的安全高級應(yīng)用程序平臺。
它由 3 個主要部分組成:
- 安全的 Azure Sphere MCU 微控制器單元 (MCU) - 目前支持 MediaTek MT3620
- Azure Sphere OS,一個由微軟維護的基于 Linux 的操作系統(tǒng)
- 基于云的 Azure Sphere 安全服務(wù) (AS3)
目前我們可以使用 3 個官方開發(fā)工具包來試驗 Azure Sphere 平臺:

所有這些都基于聯(lián)發(fā)科與微軟合作設(shè)計的聯(lián)發(fā)科 MT3620 MCU。
MCU具有以下主要特點:
- 1 x ARM Cortex A7 內(nèi)核,用于高級應(yīng)用
- 2 x ARM Cortex M4 內(nèi)核用于實時控制
- 雙頻 Wifi 子系統(tǒng),2.4 + 5 GHz,支持
- I/O: 76 x GPIO, 12 x PWM, 5 x I2C / SPI / UART, 8 x 12-bit ADC等
標(biāo)準 MCU 的東西。到目前為止沒有什么有趣的.. :)
讓 MT3260 有趣的是內(nèi)置的 Microsoft Pluton 安全子系統(tǒng),它具有以下特點:

Pluton 還實現(xiàn)了一個帶有遠程認證的安全啟動系統(tǒng)。這意味著已使用 Azure Sphere 安全服務(wù) (AS3) 驗證加載的啟動映像(OS + 應(yīng)用程序)的真實性。如果加載的圖像有效/最新,AS3 會為設(shè)備頒發(fā)短期客戶端證書(~1 天有效期),然后可用于連接到其他在線服務(wù)。如果加載的圖像無效/最新,則不會頒發(fā)客戶端證書,從而強制設(shè)備進行更新。
在這個項目中,我們將使用 Avnet MT3620 入門套件,這是一個基于 Azure Sphere 模塊 AES-MS-MT3620-MG 的開發(fā)套件:

3. 開始
要開始使用 Avnet Azure Sphere MT3620 入門套件,我們需要考慮以下幾點:
- 運行 Windows 10 (周年更新或更高版本)的 PC
- Visual Studio 2017 (社區(qū)版作品)
> Sphere SDK 安裝
現(xiàn)在我們需要下載并安裝Azure Sphere SDK for Visual Studio Preview軟件:

這將安裝與 Azure Sphere 模塊通信所需的驅(qū)動程序和工具。
> 領(lǐng)取設(shè)備
在此之后,我們可以按照Azure Sphere 文檔入門頁面中的步驟進行操作。
要使用 Azure Sphere,我們需要一個 Azure Active Directory 工作/學(xué)校帳戶。這可以從Azure 門戶的Azure Active Directory / 用戶部分創(chuàng)建。新創(chuàng)建的帳戶應(yīng)該類似于:

下一步是領(lǐng)取您的設(shè)備。這會將您的設(shè)備永久鏈接到我們之前創(chuàng)建的帳戶 (!),從而將設(shè)備的訪問權(quán)限鎖定給您的租戶。要聲明設(shè)備,應(yīng)從 Azure Sphere 開發(fā)人員命令提示符執(zhí)行以下命令
### Sign in to Azure Sphere with previously created account
$ azsphere login
### Create a new Azure Sphere tenant
$ azsphere tenant create --name sphere
### Claim you device
$ azsphere device claim

> Wifi 和更新
現(xiàn)在我們可以配置Sphere 模塊使用的 Wifi 網(wǎng)絡(luò)。從 Azure Sphere 開發(fā)人員命令提示執(zhí)行以下命令:
### Add a new Wifi network
$ azsphere device wifi add --ssid --key
### Check that the Sphere module is connected to the Wifi network
$ azsphere device wifi show-status

我們能做的最后一件事是更新設(shè)備的 Azure Sphere 操作系統(tǒng):
### Check if any update are available:
$ azsphere device show-ota-status
### Download and install the update:
$ azsphere device recover

4.例子
在此之后我們可以嘗試構(gòu)建并運行 Blink 應(yīng)用程序:
- 為了能夠從 Visual Studio 等 IDE 運行/調(diào)試應(yīng)用程序,我們需要在 Azure Sphere 設(shè)備中啟用調(diào)試。這是通過從 Azure Sphere 開發(fā)人員命令提示符執(zhí)行以下命令來完成的:
### Enable debugging
$ azsphere device prep-debug

- 我們還可以為 RT Core 應(yīng)用程序啟用調(diào)試:
### Enable debugging
$ azsphere device prep-debug --enablertcoredebugging

> 賓基
然后,我們可以從Visual Studio使用Azure Sphere Blink模板創(chuàng)建新項目:

如果我們使用遠程 GDB 調(diào)試器運行項目,Azure Sphere 初學(xué)者工具包的用戶 LED 應(yīng)該開始閃爍。
> 板載傳感器,OLED 顯示屏
接下來我們可以按照 Avnet 員工創(chuàng)建的兩個 Azure Sphere Started-Kit 教程進行操作:
第一個教程介紹了 Azure Sphere 初學(xué)者工具包參考設(shè)計。第 1 部分涵蓋以下功能:
- 讀取板載傳感器,并在 Visual Studio 的調(diào)試控制臺中打印讀數(shù)(第 1 部分)
本教程的 GitHub 存儲庫是:Avnet/AvnetAzureSphereStarterKitReferenceDesign
第二個教程部分基于第一個教程,添加了以下額外功能:
- 顯示多個信息 128x64 像素 OLED 顯示屏
- 添加 Cortex-M4(實時)應(yīng)用程序
- 控制 MiroE Relay Click 板
- 向 IoT Central 應(yīng)用程序添加更多功能
第二個教程的 GitHub 存儲庫是:CloudConnectKits/Azure_Sphere_SK_ADC_RTApp

我們可以從這些教程中學(xué)到很多東西,而且由于它們是 MIT 許可的,我們可以使用它們的代碼庫作為新項目的起點。
實時和高級應(yīng)用程序
正如我之前提到的,MT3620 SoC 包括:
- 一個 ARM Cortex-A7 內(nèi)核——它運行基于 Linux 的 Sphere OS,也可以運行高級應(yīng)用程序,
- 兩個 ARM Cortex-M4F 內(nèi)核 - 這些可用于執(zhí)行具有實時要求的任務(wù)
- 核心可以相互通信
高級教程的代碼存儲庫包括兩個 Visual Studio 項目:一個用于 A7 應(yīng)用程序核心,一個用于 M4F 實時核心。它還顯示了兩個內(nèi)核如何進行通信。
> 云連接
本教程的第 2 部分和第 3 部分涵蓋以下功能:
- 配置 IoT 中心,上傳傳感器數(shù)據(jù),操作設(shè)備孿生,在時序洞察中可視化數(shù)據(jù)(第 2 部分)
- 使用自定義可視化和控制配置 IoT Central 應(yīng)用程序(第3 部分)
物聯(lián)網(wǎng)中心
IoT 中心是 Azure 云中可用的 IoT 解決方案之一。
要將教程應(yīng)用程序與 IoT 中心一起使用,第一步是從 Azure 門戶創(chuàng)建一個 IoT 中心:

然后我們需要添加一個新設(shè)備:

并從其配置中復(fù)制主連接字符串:

連接字符串需要放在connection_strings.h
.
現(xiàn)在,如果我們以 IoT 中心應(yīng)用程序模式運行應(yīng)用程序:
// If your application is going to connect straight to a IoT Hub, then enable this define.
#define IOT_HUB_APPLICATION
我們應(yīng)該能夠看到 Device Twin 更新了我們的傳感器數(shù)據(jù)

物聯(lián)網(wǎng)中心
另一種選擇是在 IoT Central 應(yīng)用程序模式下運行
// If your application is going to connect to an IoT Central Application, then enable this define. When
// enabled Device Twin JSON updates will conform to what IoT Central expects to confirm Device Twin settings
#define IOT_CENTRAL_APPLICATION
IoT Central 是 Azure 云中可用的另一種物聯(lián)網(wǎng)解決方案,它可以輕松創(chuàng)建基于物聯(lián)網(wǎng)的云應(yīng)用程序,而無需編寫太多代碼。
稍后我將在 Azure IoT Central 應(yīng)用程序部分解釋如何執(zhí)行此操作。
5. 硬件
該設(shè)備由以下電子元件構(gòu)成:
- Azure Sphere MT3620 入門套件
- 連接到 HX711 24 位 ADC 的 3 Kg 稱重傳感器
- 用于 HX711 的 DIY Click 適配器
硬件部分在FreeCAD中建模,由以下部分組成:
- 用一塊廢低密度纖維板制成的底座
- 將稱重傳感器連接到底座的 3D 打印部件
- 安裝在稱重傳感器上的 3D 打印部件。這同時支持頂級 plthe Sphere 入門套件
- 由 2mm 丙烯酸玻璃制成的頂板
- 2 x M5 和 2 x M4 螺絲

由于一切都在 3D 中建模,因此組裝非常容易:

6.軟件
作為在 Azure Sphere Kit 上運行的軟件的基礎(chǔ),我使用了 Avnet Azure Sphere Starter-Kit 的代碼庫: Peter Fenn的高級教程。
Azure Sphere Kit 運行的軟件分為兩部分:
- 在 A7 應(yīng)用處理器上運行的高級應(yīng)用程序
- 在其中一個 M4 處理器上運行的實時應(yīng)用程序
兩個內(nèi)核上的應(yīng)用程序使用內(nèi)核間通信進行連接。

主要思想是將時間敏感任務(wù)(如傳感器處理)運行在 M4 實時內(nèi)核上。然后,負責(zé)云連接等任務(wù)的高級應(yīng)用程序可以在 A7 應(yīng)用程序處理器上運行。
> A7 高級應(yīng)用
在 A7 應(yīng)用處理器上運行的高級應(yīng)用程序負責(zé):
- 讀取 HX711+ 稱重傳感器
- 從加速度計讀取值
- 處理OLED顯示器
- 處理按鈕/ LED
- 與 Azure IoT Central 的云通信
- 與 M4 內(nèi)核的內(nèi)核間通信
負責(zé)將數(shù)據(jù)發(fā)送到 Azure IoT Central 的代碼部分以及在 OLED 屏幕上顯示數(shù)據(jù)的代碼部分已更新為包含來自新添加的 HX711 稱重傳感器數(shù)據(jù)的數(shù)據(jù)。
> HX711驅(qū)動
該項目使用 HX711 芯片,一個 24 位 ADC 來測量負載傳感器傳感器產(chǎn)生的小電壓。
由于沒有現(xiàn)成的支持 MT3260 的 C 驅(qū)動程序,我決定移植現(xiàn)有的 Arduino HX711 庫:https ://github.com/bogde/HX711
將庫從 Arduino 遷移到與 MT3620 一起使用的步驟是:
- 將代碼從 C++ 遷移到 C
- 遷移了 GPIO 部分以使用 MT3620 GPIO 庫
> M4 實時應(yīng)用
結(jié)果證明 HX711 對時序有點敏感。在使用 A7 高級代碼之前,我遇到了一些麻煩。HX711 的時鐘需要外部提供,A7 上的 GPIO 操作有點慢(3-7 us)。由于一些不必要的代碼,時鐘周期超過 60us,HX711 進入睡眠模式。
出于這個原因,我決定嘗試將 HX711 驅(qū)動程序代碼卸載到 MT3260 的具有 M4 實時功能的內(nèi)核之一。然后使用 MT3260 MCU 的 A7 和 M4 內(nèi)核之間的內(nèi)核間通信傳輸傳感器數(shù)據(jù)。
注意:實時應(yīng)用程序部分的代碼已經(jīng)完成,但我還沒有成功測試它。我 PC 上的 Azure Sphere SDK 損壞了,但還沒有設(shè)法修復(fù)它。
7. Azure 物聯(lián)網(wǎng)中央應(yīng)用
該項目的 UI 是使用 Azure IoT Central 完成的。
要開始使用 Azure IoT Cental,我們首先需要轉(zhuǎn)到apps.azureiotcentral.com并創(chuàng)建一個新應(yīng)用程序。
> 設(shè)備模板
首先要做的是定義我們從設(shè)備發(fā)送的字段的測量值。
這些是:
- 稱重傳感器測量的重量
- X、Y、Z加速度(G力)
- X、Y、Z角速率

> 創(chuàng)建設(shè)備
接下來我們可以添加我們的設(shè)備:

并為其創(chuàng)建連接:

有了這個,我們可以使用實用程序生成連接字符串:dps-keygen
$ dps-keygen -si: -di: -dk:
Azure IoT DPS Symetric Key Generator v0.3.3
Connection String:
HostName=iotc-2e2dxxxx-xxxx-xxxx-xxxxxxxxxxxxxxx.azure-devices.net;DeviceId=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;SharedAccessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
生成的連接字符串需要放在connection_strings.h
文件中。
> 三圍
在此之后,設(shè)備應(yīng)該能夠?qū)?shù)據(jù)發(fā)送到 Azure 云,我們應(yīng)該能夠?qū)⑵淇梢暬?/font>

> 儀表板
我們還可以配置儀表板,如下圖所示

> 規(guī)則與通知
Azure IoT Central 還允許定義不同的規(guī)則并為其分配操作。
例如,我們可以創(chuàng)建規(guī)則來檢測以下內(nèi)容:
- 稱重傳感器測量的重量下降(有人拿走了我們的貴重物品)
- 振動比平時高
貝婁是一個規(guī)則的例子,如果振動達到兩個高度,就會發(fā)送一封電子郵件:



注意:通常我會將其配置為基于權(quán)重的規(guī)則,但此時 HX711 驅(qū)動程序代碼尚未完全發(fā)揮作用。不幸的是,今天(11 月 30 日)我 PC 上的 Azure Sphere SDK 不知何故損壞了,而且還沒有設(shè)法修復(fù)它。由于這個原因,上面的和其他一些截圖可能已經(jīng)過時了。
8. 未來的工作
這個項目有很多想法/領(lǐng)域可以改進。我計劃做的一些是:
- 將 MEMS 和其他傳感器的處理遷移到 ARM M4 實時內(nèi)核
- 實施基于實時中斷的振動檢測
- 嘗試自動設(shè)備配置
另一個有趣的主題是深入研究 Azure Sphere 平臺提供的安全基礎(chǔ)設(shè)施,并了解每個組件的工作原理。
9.資源
項目的源代碼、3D 模型/CAD 文件和其他資源可以在鏈接的 GitHub 存儲庫中找到。
查看我提交給Element14 上的感知世界挑戰(zhàn)賽:基于 Azure Sphere 的安全物聯(lián)網(wǎng)空氣質(zhì)量傳感站
以下是有關(guān) Azure Sphere 的一些有用文章:
- 開始使用Microsoft的 Azure Sphere
- Microsoft 的Azure Sphere 文檔
- Avnet 的 Azure Sphere 入門套件(開箱即用演示)第 1 部分、第 2 部分、第 3 部分,作者:Brian Willess
- Avnet Azure Sphere 入門套件:Peter Fenn的高級教程
- 聯(lián)發(fā)科技 MT3620 產(chǎn)品簡介
- Microsoft Azure Sphere 背后的硬件安全平臺
- 使用Microsoft的 Azure IoT Hub 設(shè)備預(yù)配服務(wù)預(yù)配設(shè)備
- Microsoft對安全 MCU 的剖析
- 微軟為 Azure Sphere 的物聯(lián)網(wǎng)安全子系統(tǒng) Pluton 注冊了商標(biāo)@mspoweruser
- 保護我們周圍數(shù)十億臺設(shè)備的安全作者:蓋倫亨特博士,微軟
題外話:自動每日注冊

競賽要求之一是在Avnet 競賽應(yīng)用程序中連續(xù)30 (或 15)天注冊我們的 Azure Sphere 套件。
現(xiàn)在,這個連續(xù) 30 天的要求可能有點棘手。特別是夏天,如果你要去度假并且不想帶筆記本電腦,或者你只是要去一個沒有互聯(lián)網(wǎng)的偏遠地方。
我對這個問題的解決方案是使用Macro Toolworks 、Windows Task Scheduler和一些 shell 腳本來自動化該過程。它的工作原理如下:
- 我手動打開入門工具包注冊應(yīng)用程序并完成所有輸入字段
- Azure Sphere Started Kit 連接到 USB 端口
- 使用 Windows Task Scheduler,任務(wù)被安排為每天運行兩次。該任務(wù)喚醒 PC 并執(zhí)行一組操作:

- Azure Sphere 服務(wù)重新啟動,因為它有時會在計算機從睡眠中喚醒后變得無響應(yīng)
- 一個 Macro Toolworks 腳本在運行。該腳本模擬鼠標(biāo)移動和點擊。它執(zhí)行以下操作:

- 單擊讀取設(shè)備按鈕,因此應(yīng)用程序?qū)⑦B接 Azure Sphere 模塊并讀取其狀態(tài)
- 等待一段時間后,單擊“發(fā)送到服務(wù)器”按鈕。將出現(xiàn)確認對話框
- 執(zhí)行截屏的 shell 腳本。屏幕截圖保存在自動同步到 Google 云端硬盤的文件夾中

- 按下確定按鈕
- 此后,Macro Toolsworks 腳本存在,計算機再次進入睡眠狀態(tài)
這個過程連續(xù)運行了大約 42 天,直到 9 月 14 日,我認為比賽注冊服務(wù)器出現(xiàn)了一些問題,應(yīng)用程序被卡住了。我當(dāng)時決定停止這個過程。
然而,Azure Sphere Started Kit 通過 USB 供電超過 2 個月,仍然可以正常工作。
享受 !:)
- 基于Microsoft Azure Sphere的AI家庭安全系統(tǒng)
- 構(gòu)建結(jié)合Azure Sphere安全性和FreeRTOS的漫游者
- Azure Sphere I2C掃描儀
- 用于安全物聯(lián)網(wǎng)的Azure Sphere和Azure云服務(wù)
- 使用Azure KeyVault和Azure Sphere安全自動登錄
- 使用Azure Sphere和D6T構(gòu)建疏散
- 在Avnet Azure Sphere上創(chuàng)建BurnerOn示例應(yīng)用程序
- 如何使用AVNET Azure Sphere套件
- 使用Azure Sphere監(jiān)控警報安全面板
- 適用于Azure Sphere的WS2812B LED燈帶驅(qū)動器
- 微軟 Azure Sphere MCU技術(shù)、生態(tài)探析
- 高性能嵌入式堆棧Azure PTOS USBX概述 10次下載
- JDL-F系列防盜告警系統(tǒng) 71次下載
- 智能建筑安全防范系統(tǒng)及應(yīng)用 69次下載
- 折彎機安全防護激光安全裝置
- 淺談SOC片上系統(tǒng)LoRa-STM32WLE5數(shù)據(jù)安全防御機制 669次閱讀
- 門安全防盜報警電路圖解 1636次閱讀
- 介紹一種基于eBPF的Linux安全防護系統(tǒng) 896次閱讀
- CPU的信息安全防護措施 1688次閱讀
- 電氣安全防護技術(shù)措施 4495次閱讀
- 使用MM32F3270基于Azure RTOS定時器組的應(yīng)用 1751次閱讀
- 使用MM32F3270基于Azure RTOS動態(tài)內(nèi)存管理的應(yīng)用 992次閱讀
- 使用MM32F3270基于Azure RTOS信號量的應(yīng)用 1071次閱讀
- 航芯方案分享 | 智能設(shè)備防盜版解決方案 1342次閱讀
- 在貼片加工廠中有哪些安全防護需要了解 1409次閱讀
- 詳解汽車防盜器的安裝方法 2.9w次閱讀
- 基于電氣安全和功能安全方面的血液透析裝置安全防護分析 1840次閱讀
- 詳細剖析防盜報警系統(tǒng)的組成 1.1w次閱讀
- 一種基于STM32和GSM的網(wǎng)絡(luò)防盜門的設(shè)計 3564次閱讀
- 如何設(shè)計汽車芯片感應(yīng)防盜系統(tǒng)? 1508次閱讀
下載排行
本周
- 1U盤一鍵制作
- 23.84 MB | 41次下載 | 免費
- 2Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 1 積分
- 3ch341驅(qū)動
- 0.18 MB | 1次下載 | 免費
- 4貼片電阻阻值代號
- 0.08 MB | 1次下載 | 1 積分
- 5DS-CM5A H24-CN-V2
- 524.28 KB | 1次下載 | 免費
- 6LM321低功耗單運算放大器電路
- 576.39 KB | 1次下載 | 免費
- 7研華AIMB-218工控主板用戶手冊
- 4.45 MB | 1次下載 | 1 積分
- 8EPLAN標(biāo)準圖紙
- 3.39 MB | 1次下載 | 免費
本月
- 1人形機器人電機驅(qū)動和傳感報告
- 4.27 MB | 81次下載 | 免費
- 2U盤一鍵制作
- 23.84 MB | 41次下載 | 免費
- 3九陽豆?jié){機高清原理圖
- 2.47 MB | 33次下載 | 1 積分
- 4Altium Designer元件庫
- 17.11 MB | 14次下載 | 免費
- 5STM32F10xxx單片機編程手冊
- 0.29 MB | 5次下載 | 免費
- 624V2A開關(guān)電源PCB資料分享
- 0.23 MB | 5次下載 | 1 積分
- 7HT8691R內(nèi)置BOOST升壓模塊的D類音頻功率放大器中文手冊
- 1.77 MB | 4次下載 | 免費
- 8HT7166 13V 10A全集成同步升壓轉(zhuǎn)換器中文手冊
- 1.85 MB | 4次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183339次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論