2015-05-14 66 views
1

我成功註冊了IBM Bluemix的Raspberry Pi。它有連接到它並運行的溫度和溼度傳感器。使用IBM Bluemix註冊Raspberry Pi

問:在建設物聯網應用首發,我需要編寫上的Rpi什麼推傳感器數據爲Bluemix或者乾脆提供的MAC地址和API會做的伎倆?

注意:我遵循一個配方來配置我的Raspberry Pi,註冊MAC地址。它連接併發送消息,當我檢查設備。

請讓我知道是否需要執行任何其他配置或編碼以發送特定的dht22傳感器數據以在Bluemix中可視化並在Node-red中使用它。

+0

我修改了樹莓派祕方DHT11最近您的憑據,看看: https://github.com/vmorris/iot-raspberrypi – holocron

回答

0

如果Bluemix IOT控制檯顯示設備已連接併發送數據,則不需要在Raspberry Pi上做更多的事情。

您將需要將IOT服務綁定到您的Node-RED實例(假設您在Bluemix上運行Node-RED)來訪問數據。

+0

它每隔兩秒發送一次消息或類似的不是傳感器數據。它顯示更像ping,並且當我顯示數據時它顯示CPU溫度和正弦波! –

+1

好的,你可以用你使用的配方鏈接來更新你的問題。這樣我們可以看到它期望發佈的數據。但聽起來您需要添加自己的代碼來讀取傳感器併發布它。 – hardillb

0

我相信你所用的配方是這樣的一個:https://developer.ibm.com/iot/recipes/raspberry-pi/

每在源代碼中的自述,這是該樣品中發出的事件是:

CPU temperature 
CPU Load 
Simulated Sine wave to demonstrate the different events can be pushed to IoT Portal and visualized. 

如果你想捕捉其他項目,如溼度,您可能需要創建額外的代碼/邏輯。

+0

Yesss和我一樣,我現在怎麼編輯它?很明顯,我必須通過終端進行此操作,並且不能使用其他選項 –

+0

您沒有理由使用終端編輯代碼......您可以在工作站上使用IDE並FTP代碼,或連接HDMI顯示器和鍵盤+鼠標並在Pi上使用X編輯器。但是,是的,在終端中編輯它可能比較簡單 - vim,emacs,nano等等。 – holocron

3

默認情況下,Raspberry Pi配方只發送CPU溫度和CPU負載。由於默認情況下Raspberry Pi中沒有傳感器,因此配方會使用CPUTemp和CPULoad等參數。

對於您的情況,您需要更新代碼以包含要發送到IoTF(Bluemix)的dht22溫度和溼度參數。請檢查Github上代碼爲樹莓派配方 - https://github.com/ibm-messaging/iot-raspberrypi

導航到samples/c的配方代碼。您將必須收集dht22傳感器數據並將其轉換爲JSON並將其發送給IoTF。

  1. 在iot.h,更新JSON結構,包括您的傳感器值。如果你不需要它們,你可以刪除cputtemp和cpuload參數。

  2. 在iotmain.c中,第152行用代碼更新代碼以收集dht22傳感器值。

  3. 在jsonator.c中,根據新的結構更新新的傳感器值。

然後按照提供的步驟here編譯代碼並安裝新的deb文件。現在,iot服務將發送帶有dht22傳感器值的數據。