Azure IoTハブを使い始めています。エンドポイントとサービスハブをルートから学習するように設定しました。 https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-csharp-csharp-process-d2cクエリをフィルタリングした後、Azureルートがenpointに転送されない
違いは、私はプログラムを私の温度センサのための私自身のコードを使用することです:私は、メッセージは以下のリンクで説明したように、それは私のエンドポイントにメッセージを転送することをレベル=重要言うときことを指定するには、このルートで DTOと私は一つの大きなJSONメッセージとして送信すること(コードを参照してください)
DTOクラス:
[DataContract]
class Bmp280DTO
{
[DataMember]
public Guid guid { get; set; }
[DataMember]
public string deviceName { get; set; }
[DataMember]
public float tempSensorValue { get; set; }
[DataMember]
public float pressureSensorValue { get; set; }
[DataMember]
public float altitudeSensorValue { get; set; }
[DataMember]
public DateTime measurementTime { get; set; }
[DataMember]
public string measurename { get; set; }
[DataMember]
public string level { get; set; }
public Bmp280DTO() { }
public Bmp280DTO(Guid id, String Device, float TmpSensorValue, float PrSensorValue, float AlSensorValue)
{
this.guid = id;
this.deviceName = Device;
this.tempSensorValue = TmpSensorValue;
this.pressureSensorValue = PrSensorValue;
this.altitudeSensorValue = AlSensorValue;
this.measurementTime = DateTime.Now;
this.measurename = "LightSensor";
this.level = DetermineMessageLevel(TmpSensorValue);
}
public string ToJson()
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Bmp280DTO));
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, this);
string json = Encoding.UTF8.GetString(ms.ToArray(), 0, (int)ms.Length);
return json;
}
public string DetermineMessageLevel(float temperaturesensorvalue)
{
if(temperaturesensorvalue > 22)
{
return "critical";
}
return "normal";
}
}
メッセージ送信:
private void SendBmp280Data(Bmp280DTO AzureBmp280Data)
{
System.Text.StringBuilder Bmp280JsonMessage = new System.Text.StringBuilder();
Bmp280JsonMessage.Append(AzureBmp280Data.ToJson());
MessageCommands.SendMessage(Bmp280JsonMessage.ToString());
}
0123メッセージのの
例: { "GUID": "XXXX"、 "DEVICENAME": "Bmp280Sensor"、 "tempSensorValue":23.59763、 "pressureSensorValue":98792.11、 "altitudeSensorValue":213.046539、 "measurementTime": "2017から02
メッセージはIOTハブで受信されましたが、エンドポイントに転送されませんでした。 私は何が間違っていますか? jsonオブジェクトメッセージを照会できませんか?そして、それがどういう場合にあなたはそれをしますか?私は不要なメッセージを送信したくありません。
ありがとうございました。
紺碧は異なり、JSONを処理しているようですか? "あなたのプロパティバッグは有効なJSONではありません" うまくいけば私はすぐに見つけて解決策を投稿します。 – Tvt