當前位置:係統粉 >   IT資訊 >   微軟資訊 >  使用微軟 Azure IoT 開發者套件開發一個溫濕度讀取器

使用微軟 Azure IoT 開發者套件開發一個溫濕度讀取器

時間:2017-04-10 來源:互聯網 瀏覽量:

這篇文章將幫你使用Azure IoT套件(樹莓派Pi2和Pi3)來熟悉Azure IoT的開發。這裏主要演示如何通過開發者套件連接Azure IoT套件中的遠程監視預配置解決方案。

如果你以前沒有使用過Azure IoT 服務,我們鼓勵你從遠程監視預配置解決方案入手,所有相關的Azure 服務將會在這個預配置方案中得到部署。

如果你還沒有開發者套件,請點擊這裏。

接下來的演練將使用開發者套件(針對Pi2和Pi3)開發一個溫濕度讀取器,在Raspbian OS上運行並通過微軟Azure IoT SDK進行雲端通訊。針對Windows 10 IoT Core的樣例,請參考 windowsondevices.com.

概覽

在本文中,你將會:

在Azure IoT 遠程監視預配置解決方案中配置環境

配置設備和傳感器以便它能夠連接到你的計算機和Azure IoT服務

更新連接信息到設備端的樣例代碼中,並將數據發送給Azure IoT 端進行遠程查看

開始前準備

必要的軟件

一個SSH客戶端。它能夠讓你通過電腦遠程訪問樹莓派命令行

Windows沒有自帶的SSH客戶端,推薦使用PuTTY.

許多Linux發行版和Mac OS都帶有SSH 命令行,如果你沒有,推薦使用OpenSSH.

可參考:在Linxu或Mac OS上使用SSH

必要的硬件

微軟Azure IoT開發者套件

8GB的閃存卡(套件自帶,已刷入Windows 10 IoT Core)

一個USB mini線

以太網線或Wi-Fi網絡

創建新的Azure IoT 遠程監視預配置解決方案並添加設備

使用微軟賬號登陸到 Azure IoT Suite 網站,並點擊創建新的解決方案.

注意:創建賬號是免費的。點擊這裏獲取免費體驗。

點擊遠程監視選項

輸入一個解決方案名稱。本教程使用“PiSuite”這個名字。

注意:請複製名稱和連接字符串到文本文件,為下一步引用做準備。

選擇你的訂閱和方案部署的區域,然後點擊創建解決方案。

等待Azure創建和部署你的IoT 方案(這個過程大約需要10分鍾),然後點擊啟動。

注意:你也許會被要求重新登錄。這是為了確保你的賬號擁有合適的訪問權限。

打開解決方案的“儀表板”,你可能已經被重定向到這裏了。

這裏打開的遠程監視預配置方案的網址為<你的解決方案名稱>.azurewebsites.net(例如:PiSuite.azurewebsites.net)

在屏幕的左下角點擊添加設備。

輸入你想要的設備ID,這裏我們將使用“PaspPi”,然後點擊創建。

記下你的設備ID, 設備Key和IoT Hub的Hostname,這些內容將會在代碼中使用。

警告:遠程監視預配置解決方案將會使用你的Azure賬號創建一組Azure IoT 服務。這意味著將會有一個真實的企業級架構方案被創建並且它在Azure上的開銷將會很大。為了避免不必要的Azure使用開銷,我們建議你一旦完成演練(因為它非常容易被再次創建)就在azureiotsuite.cn上刪掉預配置方案。或者,如果你希望保留它,你可以通過下麵的方式減少它的開銷:

查看向導來使解決方案運行在演示模式下來減少Azure上的開銷。

禁用解決方案創建的模擬設備(在設備欄目中,選擇設備,並在右側的設備詳情菜單中點擊禁用設備。對所有的模擬設備重複該步驟)

準備設備

如果這是你第一次使用樹莓派,那麼是時候去設置它了。如果你想使用Windows,請訪問http://www.windowsondevices.com/ 查看更多的指導如何使用樹莓派。如果你正在使用Linux,樹莓派和Adafruit有一係列的入門教程和視頻。

請訪問下麵的鏈接:

樹莓派 NOOBS 設置網頁

使用這張圖片作為參考,連接你的BME280 傳感器到麵包板和樹莓派。

使用微軟 Azure IoT 開發者套件開發一個溫濕度讀取器(1)

注意:

Pi Pin終點線路顏色SPI_CE0 (Pin 24)CS (Pin 21A)藍色SPI_SCLK (Pin 23)SCK (18A)黃色SPI_MISO (Pin 21)SDO (19A )白色SPI_MOSI (Pin 19)SDI (Pin 20A)綠色GND (Pin 6)GND (Pin 17A)黑色3.3V (Pin 1)3Vo (Pin 16A)紅色

注意:關於樹莓派GPIO的更多參考請點擊這裏。

使用微軟 Azure IoT 開發者套件開發一個溫濕度讀取器(2)

最後,你的樹莓派應該與一個工作中的傳感器連接好了。

登錄並訪問終端

默認的樹莓派用戶名是pi,密碼是raspberry. 如果你直接使用Raspbian的界麵,在任務條頂部,你可以使用從左側數第三個圖片啟動終端(類似顯示器的圖標)

通過PuTTY登錄

在使用PuTTY之前,你需要找到樹莓派的IP地址。在命令行窗口輸入 hostname –I 並找到IP。更多信息可參考:

https://www.raspb鏈接內容errypi.org/documentation/remote-access/ip-address.md

在樹莓派運行的時候,在你的電腦上打開SSH終端程序(例如PuTTY)

使用上一步獲取到的IP地址作為主機名,端口號22,連接方式為SSH來進行連接。

默認的用戶名為pi,密碼是raspberry.

使用Linux 或 Mac OS登錄

參考:SSH Using Linux or Mac OS

配置遠程監視設備樣例代碼

現在我們可以下載遠程監視樣例代碼了,然後輸入你的設備證書(也就是“連接字符串”)並從樹莓派發送數據到Azure遠程監視解決方案。

複製代碼庫

複製下麵的代碼庫,並通過下麵的命令在樹莓派上合並它們:

cd ~

然後,我們需要更新設備連接字符串

更新連接字符串

通過下麵的命令編輯文件:

nano ~/iot-hub-c-raspberrypi-getstartedkit/samples/remote_monitoring/remote_monitoring.c

使用箭頭鍵來導航到下麵的行:

static const char* deviceId = "[Device Id]";static const char* deviceKey = "[Device Key]";static const char* hubName = "[IoTHub Name]";static const char* hubSuffix = "[IoTHub Suffix, i.e. azure-devices.net]";

用你在教程一開始的時候創建的設備和IoT Hub的信息替換占位符。例如:

device Id → RaspPi

device Key → < azure 設備key,結尾有==>

IoTHub Name → PiSuite

IoTHub後綴 → azure-devices.net

使用 Control-o, Enter, Control-x保存和退出

編譯修改過的樣例代碼

現在你已經退出了Nano, 使用下麵的命令安裝必要的微軟Azure IoT Device SDK for C程序包(可以直接在設備上運行或者通過SSH客戶端如PuTTY運行)

sudo apt-get update

使用下麵的命令繼續編譯樣例代碼

cd ~/iot-hub-c-raspberrypi-getstartedkit/sudo ~/iot-hub-c-raspberrypi-getstartedkit/azure-iot-sdks/c/build_all/linux/setup.sh

在運行程序之前,我們需要激活SPI驅動

sudo nano /boot/config.txt

滾動並找到這一行:

 #dtparam=spi=on

刪除前麵的 #

使用Control-o, Enter, Control-x保存和退出

重新啟動樹莓派來激活SPI,這會使終端退出。你需要再次登錄。運行命令:

sudo reboot

現在所有的事情都做完了,是時候啟動程序了,運行命令:

sudo ~/cmake/samples/remote_monitoring/remote_monitoring

如果一切順利的話,你將能夠看到數據流!按下 Ctrl+C 隨時退出程序。下麵是一個運行中的腳本輸出樣例:

Humidity = 48.4% Temperature = 23.9*C

通過IoT套件門戶查看傳感器數據

一旦樣本程序開始運行,通過azureiotsuite.cn並點擊啟動你的解決方案,並訪問你的儀表板。

確保右上角顯示的設備欄中是你的樹莓派。

如果程序正在運行,你應該可以看到圖表隨著數據的更新在實時變化。

注意:一旦你完成了演練確保你刪除或停止你的遠程監視解決方案以避免不必要的Azure開銷。

我要分享:

最新熱門遊戲

版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航