raspberry pi 3 [armv7]上的azure-iot-edge模块上的直接方法连接器将可用,我可以向其提出请求,但是大约30分钟至几小时后,连接将停止工作。
我已经将原始模块重写为较小的模块,因此连接器的逻辑是独立且非常简单的,还使用dotnet sdk和nodejs sdk对其进行了编写。当前物联网edgeHub版本是azureiotedge-hub:1.0.7
DotNet版本
static async Task Init()
{
MqttTransportSettings mqttSetting = new MqttTransportSettings(TransportType.Mqtt_Tcp_Only);
ITransportSettings[] settings = { mqttSetting };
ModuleClient ioTHubModuleClient = await ModuleClient.CreateFromEnvironmentAsync(settings);
await ioTHubModuleClient.OpenAsync();
await ioTHubModuleClient.SetMethodHandlerAsync("powerset", DirectMethod1, ioTHubModuleClient);
}
NodeJs版本
ModuleClient.fromEnvironment(Transport, function (err, client) {
if (err) {
console.log('error:' + err);
} else {
client.open(function (err) {
if (err) {
console.error('could not open IotHub client');
} else {
client.onMethod('powerset', function (request, response) {
readMessage(client, request, response);
});
}
});
}
}
发生的情况是,这些直接消息在首次部署/启动时可以被调用,但是很快就变得不可用。他们要么开始超时,要么开始返回“未找到”。