গুগল আইওটি কোর কাজ করতে পারে না


10

কাজ করার জন্য কেউ কি তাদের দ্রুতগতিতে উদাহরণ পেয়েছে ? তারা তাদের এমকিউটিটি ব্রিজের সাথে সংযোগের জন্য নোডজেএস কোড সরবরাহ করে তবে আমার পক্ষে এটি কার্যকর হয় না:

[root@centos7 google-iot-mqtt]# node cloudiot_mqtt_example_nodejs.js \
>     --project_id=curious-furnace-181313 \
>     --registry_id=my-registry \
>     --device_id=mimic1 \
>     --private_key_file=./rsa_private.pem \
>     --algorithm=RS256
Google Cloud IoT Core MQTT example.
connect { '0': {},
   '1': 
   { [Function: require]
 resolve: [Function: resolve],
 main: 
  Module {
    id: '.',
    exports: {},
    parent: null,
    filename: '/home/tmp/uwe/google-iot-mqtt/cloudiot_mqtt_example_nodejs.js',
    loaded: true,
    children: [Object],
    paths: [Object] },

(স্ট্যাকের চিহ্নের আরও কয়েক হাজার লাইন) এবং গুগল আইওটি কোর ড্যাশবোর্ডে কোনও ক্রিয়াকলাপ নেই, বা কোনও টান সাবস্ক্রিপশনে কোনও বার্তা নেই।

একটি মশারি_পাব একটি অদ্ভুত ত্রুটি ফেরায়:

% ./mosquitto_pub -d -h mqtt.googleapis.com -p 8883 -i projects/curious-furnace-181313/locations/us-central1/registries/my-registry/devices/mimic1 -u unused --key ~/mimic/scripts/mqtt/google-iot/rsa_private.pem --cert ~/mimic/scripts/mqtt/google-iot/rsa_cert.pem -t /devices/mimic1/events -m hello --insecure
Client projects/curious-furnace-181313/locations/us-central1/registries/my-registry/devices/mimic1 sending CONNECT
Error: Unrecognised command 16

Error: A network protocol error occurred when communicating with the broker.

স্পষ্টতই তাদের NODEJS অ্যাপ্লিকেশন দ্বারা উত্পন্ন বার্তাগুলি সদস্যতাগুলিতে পেতে কিছুটা সময় নিয়েছে। তবে মশা_পব এখনও কাজ করে না।
গ্যাম্বিট সাপোর্ট

তাদের NODEJS অ্যাপ্লিকেশন দ্বারা তৈরি করা হিসাবে JWT পাসওয়ার্ডের সাথে মশক_পব-তে যুক্তি যুক্ত করার ফলে কোনও লাভ হয় না।
গ্যাম্বিট সাপোর্ট

উত্তর:


5

আপনি গুগল এমকিউটিটি এপিআইতে প্রেরণের অনুরোধটিতে যখন কোনও প্রোটোকল মিল নেই তখন এই ত্রুটি ঘটে।

আপনি 8883 পোর্টটি ব্যবহার করেন যা এসএসএল থেকে এমকিটিটি-র জন্য। আমার চোখে আপনি যে ঠিকানাটি কল করেছেন সেটি হ'ল HTTP ঠিকানা (https বা HTTP ছাড়াই ডিফল্টটি HTTP হিসাবে পড়ে), যা 1883 ব্যবহার করবে, প্লেইন এমকেটিটিটির বন্দর।

যদি আপনি 8883 এবং এসএসএল ব্যবহারের উদ্দেশ্যে থাকেন তবে https ব্যবহার করে ঠিকানায় কল করুন। আপনি যদি এসএসএলকে এমকিউটিটি বলতে না চান তবে পোর্টটি 1883 এ ঠিক করুন।


এটি কোনও উপকারে আসে না। তারা 8883 বন্দরটির প্রয়োজন, যা তাদের নোডেজেএস উদাহরণ ব্যবহার করে।
গ্যাম্বিট সাপোর্ট

ঠিক আছে, এটি প্রোটোকল মিলের সবচেয়ে সুস্পষ্ট কারণ, তবে এমকিটিটি বার্তাগুলির ভিতরেও ত্রুটি ঘটতে পারে, উদাহরণস্বরূপ যা নির্দিষ্ট করা হয়েছে তার তুলনায় খুব দীর্ঘ বার্তা। আপনার ক্ষেত্রে কী সমস্যা সৃষ্টি করে তা বলা শক্ত।
mico

1
সঠিক উত্তরটি ওয়্যারশার্কের দিকে তাকানো। আমি বুঝতে পেরেছি যে --tls- সংস্করণটি মূল কমান্ড লাইনে যুক্ত হওয়ার পরেও এনক্রিপ্ট করা বার্তা প্রেরণ করে না কারণ প্লেইনেক্সট বার্তাটি পিসিএপিতে রয়েছে।
গ্যাম্বিট সাপোর্ট 14 ই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.