最新のNodeMCUビルドを実行しているESP8266を、MQTTプロトコル経由でMicrosoft Azure IoT Hubに接続しようとしています。私はMS Azureのヘルプから見ることができるように、私は限り正しい構文を使用していますNodeMCUをMicrosoft Azure IoT Hubに接続する際の問題
ここに表示され、これは、可能であることが表示されます...
http://thinglabs.io/workshop/esp8266/sending-d2c-messages/
...
https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt-support
NodeMCUを使用してSASのトークンを作成ThingLabs、例とは異なり、私はMS文書を追跡し、テスト目的のために、デバイスエクスプローラを使用してSASのトークンを生成しました。次のように
私のLUAコードは
-- Create variables
DEVICE = "testdevice"
IOTHUB = "mynewiothub.azure-devices.net"
PORT = 8883
USER = IOTHUB.."/"..DEVICE.."/api-version=2016-11-14"
PASS = "SharedAccessSignature sr=mynewiothub.azure-devices.net%2Fdevices%2Ftestdevice&sig=Roa5P8BPiGj...v2Vu%2Bm1j9sas%3D&se=1485704099"
-- Create an MQTT Client
azure = mqtt.Client(DEVICE, 60, USER, PASS)
-- Connect to IoTHub via MQTT
azure:connect(IOTHUB, PORT, 1, 0,
-- Callback for a successful connection
function(client)
print("Connected")
end,
-- Error callback, if connection fails
function(client, reason)
print("Error Connecting: "..reason)
end
)
応答は常に翻訳Error Connecting: -5
です...ですが「指定されたIPアドレスとポートでリスニングもブローカはありません」。
NodeMCUがSSL(ポート8883)接続で苦労していると思われました。だから私は次のコードで(SSLルート証明書を検証した後で)HTTPS接続を行うことができたことを確認しましたが、これはうまくいきましたが助けにはなりませんでした。
http.get("https://example.com/info", nil,
function (code, resp)
print(code, resp)
end)
私はこれを動作させるように見えません! @MarcelStör - あらゆる考え?
事前に感謝します。