2017-09-02 7 views
0

私は、Micropython 1.9.2を使用しているESP01を、自分のコンピューターで実行中のmosquittoブローカーに接続することができました。私はまた、デバイスをシミュレートし、コンピュータからWatson Brokerに蚊帳クライアントを接続することもできました。ESP8266をMicropythonでIBM Watsonに接続

  • WATSON_CLIENT_ID = "D:[ORG]:ESP8266:fv_esp01s_02" 私はワトソンに直接ESPを接続しようとする。しかし、私はメッセージ

    MQTTException: 5 
    # Full stream answered by Watson is: b' \x02\x00\x05' 
    

    私の設定パラメータである "接続が拒否した" 受け取ります

  • WATSON_BROKER_IP = "[ORG] .messaging.internetofthings.ibmcloud.com"
  • WATSON_USER = "使用トークン-AUTH"
  • WATSON_PWD = B "[TOKEN]"

私が言ったように、ワトソンでは、定義された "TLS Optional"を作成し、デバイスを設定しました。私は蚊のクライアントとの接続をテストし、それは働いた。

何か助けが歓迎されています!、最高!

答えて

3

私は答えはumqtt例でhexlifyを使用しています1(client_idのが)があったと私は標準として続いていることであるumqtt.simpleのコードの改正を見て答え(esp8266用MQTTライブラリー)

を見つけました:

client = MQTTClient(client_id=hexlify(MQTT_CLIENT_ID), server=MQTT_BROKER_IP, user=MQTT_USER, password=MQTT_PWD) 

明らかに、mosquittoブローカーはこれを理解しますが、Watson IBMブローカーは理解していません。変更先:

client = MQTTClient(client_id=MQTT_CLIENT_ID, server=MQTT_BROKER_IP, user=MQTT_USER, password=MQTT_PWD) 

が問題を解決します。次のようにワトソンのための変数の形式は次のとおりですへ

  • MQTT_USER

    • CLIENT_ID =バイト
    • MQTT_BROKER_IP(またはURL)=文字列=文字列
    • MQTT_PWD =バイト

    ご注意をトピック/メッセージフォーマットも同様です。

    ベスト!

  • +0

    "umqttの例では推奨される方法" - umqttの例では、この "提案された方法"がどこにあるのかを指摘できますか? umqttの例は例であり、あなたのためにそれらを調整する必要があります。クライアントIDには「提案された方法」はありません。 – pfalcon

    +0

    こんにちは。どういうわけか、私はこの例に着いて、参考にしました。 https://github.com/micropython/micropython-lib/blob/master/umqtt.simple/example_sub_led.py その後、私は実践としてhexlify()を考えました。 – Francisco

    +0

    答えを更新しました。ありがとうpfalcon。 – Francisco

    関連する問題