从 Azure IoT 中心触发器读取原始数据
Reading raw data from Azure IoT hub trigger
我只想说我是 C# 编程新手,Visual Studio。
我有一个项目,我正在使用远程信息处理单元将传感器数据发送到我的 Azure IoT 中心。
我已建立连接,正在尝试读取来自远程信息处理单元的原始数据。
我还使用 Azure 函数 IoT Hub Trigger v2.
在 Visual Studio 中设置了 Azure IoT hub 触发器
代码见下方:
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Azure.EventHubs;
using System.Text;
using System.Net.Http;
using Microsoft.Extensions.Logging;
namespace Teltonika_trigger_v3
{
public static class Function1
{
private static HttpClient client = new HttpClient();
[FunctionName("Function1")]
public static void Run([IoTHubTrigger("messages/events", Connection = "EventHubConnection")]EventData message, ILogger log)
{
log.LogInformation($"C# IoT Hub trigger function processed a message: {Encoding.UTF8.GetString(message.Body.Array)}");
}
}
}
我正在使用 Teltonika 远程信息处理单元,我知道他们使用一种称为 Codec8 (https://wiki.teltonika-gps.com/view/Codec)
的特殊编码
最初我只是想读取发送到我的 IoT 中心的原始字节而不进行任何转换,我该怎么做?
通过上面的代码我得到了一些
very weird results
我尝试删除 Encoding.UTF8.GetString
部分,但这只会将数据显示为“System.Byte[]”。
如何读取进入我的 IoT 中心的原始数据?
通过调用 Encoding.UTF8.GetString(message.Body.Array)
,您告诉函数善意地获取这些字节并将它们视为 Unicode,因此 'weird results'。如果您只想将字节值作为文本获取,请查看 this Whosebug answer.
我只想说我是 C# 编程新手,Visual Studio。
我有一个项目,我正在使用远程信息处理单元将传感器数据发送到我的 Azure IoT 中心。 我已建立连接,正在尝试读取来自远程信息处理单元的原始数据。 我还使用 Azure 函数 IoT Hub Trigger v2.
在 Visual Studio 中设置了 Azure IoT hub 触发器代码见下方:
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Azure.EventHubs;
using System.Text;
using System.Net.Http;
using Microsoft.Extensions.Logging;
namespace Teltonika_trigger_v3
{
public static class Function1
{
private static HttpClient client = new HttpClient();
[FunctionName("Function1")]
public static void Run([IoTHubTrigger("messages/events", Connection = "EventHubConnection")]EventData message, ILogger log)
{
log.LogInformation($"C# IoT Hub trigger function processed a message: {Encoding.UTF8.GetString(message.Body.Array)}");
}
}
}
我正在使用 Teltonika 远程信息处理单元,我知道他们使用一种称为 Codec8 (https://wiki.teltonika-gps.com/view/Codec)
的特殊编码最初我只是想读取发送到我的 IoT 中心的原始字节而不进行任何转换,我该怎么做?
通过上面的代码我得到了一些 very weird results
我尝试删除 Encoding.UTF8.GetString
部分,但这只会将数据显示为“System.Byte[]”。
如何读取进入我的 IoT 中心的原始数据?
通过调用 Encoding.UTF8.GetString(message.Body.Array)
,您告诉函数善意地获取这些字节并将它们视为 Unicode,因此 'weird results'。如果您只想将字节值作为文本获取,请查看 this Whosebug answer.