View a markdown version of this page

Jembatan MQTT - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jembatan MQTT

Komponen jembatan MQTT (aws.greengrass.clientdevices.mqtt.Bridge) menyampaikan pesan MQTT antara perangkat klien, Green publish/subscribe grass lokal, dan. AWS IoT Core Anda dapat menggunakan komponen ini untuk bertindak atas pesan MQTT dari perangkat klien komponen kustom dan mensinkronisasi perangkat klien dengan AWS Cloud.

catatan

Perangkat klien adalah perangkat IoT lokal yang terhubung ke perangkat inti Greengrass untuk mengirim pesan MQTT dan data yang akan diproses. Untuk informasi selengkapnya, lihat Berinteraksilah dengan perangkat IoT lokal.

Anda dapat menggunakan komponen ini untuk merelai pesan antara broker-broker pesan berikut:

  • MQTT lokal - Broker MQTT lokal menangani pesan antara perangkat klien dan perangkat inti.

  • Lokal publish/subscribe — Broker pesan Greengrass lokal menangani pesan antar komponen pada perangkat inti. Untuk informasi lebih lanjut tentang cara berinteraksi dengan pesan-pesan ini dalam komponen Greengrass, lihat.Pesan lokal publikasi/berlangganan.

  • AWS IoT Core — Broker AWS IoT Core MQTT menangani pesan antara perangkat IoT dan AWS Cloud tujuan. Untuk informasi lebih lanjut tentang cara berinteraksi dengan pesan-pesan ini dalam komponen Greengrass, lihat.Publish/subscribe AWS IoT Core Pesan MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

Versi

Komponen ini memiliki versi berikut:

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

Tipe

Komponen ini adalah komponen plugin (aws.greengrass.plugin). Inti Greengrass menjalankan komponen plugin dalam Java Virtual Machine (JVM) yang sama sebagai inti. Nukleus dimulai ulang saat Anda mengubah versi komponen ini pada perangkat inti.

Komponen plugin menggunakan file log yang sama seperti inti Greengrass. Untuk informasi selengkapnya, lihat Memantau AWS IoT Greengrass log.

Untuk informasi selengkapnya, lihat Jenis komponen.

Sistem operasi

Komponen ini dapat diinstal pada perangkat inti yang menjalankan sistem operasi berikut:

  • Linux

  • Windows

Persyaratan

Komponen ini memiliki persyaratan sebagai berikut:

  • Jika Anda mengonfigurasi komponen broker MQTT perangkat inti untuk menggunakan port selain port default 8883, Anda harus menggunakan MQTT bridge v2.1.0 atau yang lebih baru. Konfigurasikan untuk terhubung pada port tempat broker beroperasi.

  • Komponen jembatan MQTT didukung untuk berjalan di VPC.

Dependensi

Saat Anda menerapkan komponen, AWS IoT Greengrass juga menerapkan versi dependensinya yang kompatibel. Ini berarti bahwa Anda harus memenuhi persyaratan untuk komponen dan semua dependensinya untuk berhasil men-deploy komponen. Bagian ini berisi daftar dependensi untuk versi yang dirilis dari komponen ini dan kendala versi semantik yang menentukan versi komponen untuk setiap dependensi. Anda juga dapat melihat dependensi untuk setiap versi komponen di konsol AWS IoT Greengrass tersebut. Pada halaman detail komponen, cari daftar Dependensi.

2.3.2

Tabel berikut mencantumkan dependensi untuk versi 2.3.2 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Auth perangkat klien > = 2.2.0 <2.6.0 Keras
2.3.0 and 2.3.1

Tabel berikut mencantumkan dependensi untuk versi 2.3.0 dan 2.3.1 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Auth perangkat klien > =2.2.0 <2.5.0 Keras
2.2.5 and 2.2.6

Tabel berikut mencantumkan dependensi untuk versi 2.2.5 dan 2.2.6 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Auth perangkat klien > =2.2.0 <2.5.0 Keras
2.2.3 and 2.2.4

Tabel berikut mencantumkan dependensi untuk versi 2.2.3 dan 2.2.4 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Auth perangkat klien >=2.2.0 <2.4.0 Keras
2.2.0 – 2.2.2

Tabel berikut mencantumkan dependensi untuk versi 2.2.0 hingga 2.2.2 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Auth perangkat klien >=2.2.0 <2.3.0 Keras
2.1.1

Tabel berikut mencantumkan dependensi untuk versi 2.1.1 komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Auth perangkat klien >=2.0.0 <2.2.0 Keras
2.0.0 to 2.1.0

Tabel berikut mencantumkan dependensi untuk versi 2.0.0 hingga 2.1.0 dari komponen ini.

Dependensi Versi yang kompatibel Jenis dependensi
Auth perangkat klien >=2.0.0 <2.1.0 Keras

Untuk informasi selengkapnya tentang dependensi komponen, lihat referensi resep komponen.

Konfigurasi

Komponen ini menyediakan parameter konfigurasi berikut yang dapat Anda sesuaikan ketika Anda men-deploy komponen.

2.3.0 – 2.3.2
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKey dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Anda dapat menggunakan wildcard topik + dan # MQTT untuk menyampaikan pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

catatan

Untuk menggunakan wildcard topik MQTT dengan broker Pubsub sumber, Anda harus menggunakan v2.6.0 atau yang lebih baru dari komponen inti Greengrass.

targetTopicPrefix

Awalan untuk ditambahkan ke topik target saat komponen ini menyampaikan pesan.

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

mqtt5 RouteOptions

(Opsional) Menyediakan opsi untuk mengonfigurasi pemetaan topik untuk menjembatani pesan dari topik sumber ke topik tujuan.

Objek ini berisi informasi berikut:

mqtt5RouteOptionsNameKey

Nama opsi rute untuk pemetaan topik. Ganti mqtt5RouteOptionsNameKey dengan pencoco topicMappingNameKey kan yang ditentukan di mqttTopicMapping bidang.

Objek ini berisi informasi berikut:

NoLokal

(Opsional) Saat diaktifkan, jembatan tidak meneruskan pesan pada topik yang dipublikasikan jembatan itu sendiri. Gunakan ini untuk mencegah loop, sebagai berikut:

{ "mqtt5RouteOptions": { "toIoTCore": { "noLocal": true } }, "mqttTopicMapping": { "toIoTCore": { "topic": "device", "source": "LocalMqtt", "target": "IotCore" }, "toLocal": { "topic": "device", "source": "IotCore", "target": "LocalMqtt" } } }

noLocalhanya didukung untuk rute di mana source beradaLocalMqtt.

Bawaan: salah

mempertahankan AsPublished

(Opsional) Saat diaktifkan, pesan yang diteruskan oleh jembatan memiliki tanda retain yang sama dengan pesan yang dipublikasikan ke broker untuk rute tersebut.

retainAsPublishedhanya didukung untuk rute di mana source beradaLocalMqtt.

Bawaan: salah

mqtt

(Opsional) Pengaturan protokol MQTT untuk berkomunikasi dengan broker lokal.

versi

(Opsional) Versi protokol MQTT yang digunakan oleh jembatan untuk berkomunikasi dengan broker lokal. Harus sama dengan versi MQTT yang dipilih dalam konfigurasi nukleus.

Pilih dari yang berikut ini:

  • mqtt3

  • mqtt5

Anda harus menerapkan broker MQTT ketika target bidang source atau mqttTopicMapping objek disetel keLocalMqtt. Jika Anda memilih mqtt5 opsi, Anda harus menggunakanPialang MQTT 5 (EMQX).

Default: mqtt3

Ack TimeoutSeconds

(Opsional) Interval waktu untuk menunggu paket PUBACK, SUBACK, atau UNSUBACK sebelum gagal operasi.

Default: 60

conn AckTimeoutMs

(Opsional) Interval waktu untuk menunggu paket CONNACK sebelum mematikan koneksi.

Standar: 20000 (20 detik)

ping TimeoutMs

(Opsional) Jumlah waktu dalam milidetik jembatan menunggu untuk menerima pesan PINGACK dari broker lokal. Jika penantian melebihi batas waktu, jembatan ditutup kemudian membuka kembali koneksi MQTT. Nilai ini harus kurang darikeepAliveTimeoutSeconds.

Standar: 30000 (30 detik)

menjaga AliveTimeoutSeconds

(Opsional) Jumlah waktu dalam detik antara setiap pesan PING yang dikirim jembatan untuk menjaga koneksi MQTT tetap hidup. Nilai ini harus lebih besar daripingTimeoutMs.

Default: 60

maks ReconnectDelayMs

(Opsional) Jumlah waktu maksimum dalam detik untuk MQTT untuk menyambung kembali.

Standar: 30000 (30 detik)

min ReconnectDelayMs

(Opsional) Jumlah waktu minimum dalam detik untuk MQTT untuk menyambung kembali.

Menerimaksimum

(Opsional) Jumlah maksimum paket QoS1 yang tidak diakui yang dapat dikirim jembatan.

Default: 100

maksimum PacketSize

Jumlah maksimum byte yang akan diterima klien untuk paket MQTT.

Default: null (Tidak ada batas)

sesi ExpiryInterval

(Opsional) Jumlah waktu dalam detik yang dapat Anda minta agar sesi berlangsung antara jembatan dan broker lokal.

Default: 4294967295 (sesi tidak pernah kedaluwarsa)

brokerUri

(Opsional) URI broker MQTT lokal. Anda harus menentukan parameter ini jika Anda mengkonfigurasi broker MQTT untuk menggunakan port yang berbeda dari port default 8883. Gunakan format berikut, dan ganti port dengan port tempat broker MQTT beroperasi:ssl://localhost:port.

Default: ssl://localhost:8883

startup TimeoutSeconds

(Opsional) Waktu maksimum dalam detik untuk memulai komponen. Status komponen berubah menjadi BROKEN jika melebihi batas waktu ini.

Default: 120

contoh Contoh: Pembaruan gabungan konfigurasi

Contoh pembaruan konfigurasi berikut menentukan yang berikut:

  • Sampaikan pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/hello/world topik.

  • Sampaikan pesan dari perangkat klien ke lokal publish/subscribe pada topik yang cocok clients/+/detections dengan filter topik, dan tambahkan events/input/ awalan ke topik target. Topik target yang dihasilkan cocok dengan filter events/input/clients/+/detections topik.

  • Sampaikan pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/status topik, dan tambahkan $aws/rules/StatusUpdateRule/ awalan ke topik target. Contoh ini menyampaikan pesan ini langsung ke AWS IoT aturan bernama StatusUpdateRule untuk mengurangi biaya menggunakan Basic Ing est.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
contoh Contoh: Mengkonfigurasi MQTT 5

Contoh konfigurasi berikut memperbarui yang berikut ini:

  • Memungkinkan jembatan untuk menggunakan protokol MQTT 5 dengan broker lokal.

  • Mengkonfigurasi MQTT mempertahankan sebagai pengaturan yang diterbitkan untuk pemetaan ClientDeviceHelloWorld topik.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" } }, "mqtt5RouteOptions": { "ClientDeviceHelloWorld": { "retainAsPublished": true } }, "mqtt": { "version": "mqtt5" } }
2.2.6
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKey dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Anda dapat menggunakan wildcard topik + dan # MQTT untuk menyampaikan pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

catatan

Untuk menggunakan wildcard topik MQTT dengan broker Pubsub sumber, Anda harus menggunakan v2.6.0 atau yang lebih baru dari komponen inti Greengrass.

targetTopicPrefix

Awalan untuk ditambahkan ke topik target saat komponen ini menyampaikan pesan.

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

brokerUri

(Opsional) URI broker MQTT lokal. Anda harus menentukan parameter ini jika Anda mengkonfigurasi broker MQTT untuk menggunakan port yang berbeda dari port default 8883. Gunakan format berikut, dan ganti port dengan port tempat broker MQTT beroperasi:ssl://localhost:port.

Default: ssl://localhost:8883

startup TimeoutSeconds

(Opsional) Waktu maksimum dalam detik untuk memulai komponen. Status komponen berubah menjadi BROKEN jika melebihi batas waktu ini.

Default: 120

contoh Contoh: Pembaruan gabungan konfigurasi

Contoh pembaruan konfigurasi berikut menentukan yang berikut:

  • Sampaikan pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/hello/world topik.

  • Sampaikan pesan dari perangkat klien ke lokal publish/subscribe pada topik yang cocok clients/+/detections dengan filter topik, dan tambahkan events/input/ awalan ke topik target. Topik target yang dihasilkan cocok dengan filter events/input/clients/+/detections topik.

  • Sampaikan pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/status topik, dan tambahkan $aws/rules/StatusUpdateRule/ awalan ke topik target. Contoh ini menyampaikan pesan ini langsung ke AWS IoT aturan bernama StatusUpdateRule untuk mengurangi biaya menggunakan Basic Ing est.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.2.0 - 2.2.5
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKey dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Anda dapat menggunakan wildcard topik + dan # MQTT untuk menyampaikan pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

catatan

Untuk menggunakan wildcard topik MQTT dengan broker Pubsub sumber, Anda harus menggunakan v2.6.0 atau yang lebih baru dari komponen inti Greengrass.

targetTopicPrefix

Awalan untuk ditambahkan ke topik target saat komponen ini menyampaikan pesan.

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

brokerUri

(Opsional) URI broker MQTT lokal. Anda harus menentukan parameter ini jika Anda mengkonfigurasi broker MQTT untuk menggunakan port yang berbeda dari port default 8883. Gunakan format berikut, dan ganti port dengan port tempat broker MQTT beroperasi:ssl://localhost:port.

Default: ssl://localhost:8883

contoh Contoh: Pembaruan gabungan konfigurasi

Contoh pembaruan konfigurasi berikut menentukan yang berikut:

  • Sampaikan pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/hello/world topik.

  • Sampaikan pesan dari perangkat klien ke lokal publish/subscribe pada topik yang cocok clients/+/detections dengan filter topik, dan tambahkan events/input/ awalan ke topik target. Topik target yang dihasilkan cocok dengan filter events/input/clients/+/detections topik.

  • Sampaikan pesan dari perangkat klien ke AWS IoT Core topik yang cocok dengan filter clients/+/status topik, dan tambahkan $aws/rules/StatusUpdateRule/ awalan ke topik target. Contoh ini menyampaikan pesan ini langsung ke AWS IoT aturan bernama StatusUpdateRule untuk mengurangi biaya menggunakan Basic Ing est.

{ "mqttTopicMapping": { "ClientDeviceHelloWorld": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDeviceEvents": { "topic": "clients/+/detections", "targetTopicPrefix": "events/input/", "source": "LocalMqtt", "target": "Pubsub" }, "ClientDeviceCloudStatusUpdate": { "topic": "clients/+/status", "targetTopicPrefix": "$aws/rules/StatusUpdateRule/", "source": "LocalMqtt", "target": "IotCore" } } }
2.1.x
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKey dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Jika Anda menentukan broker sumber LocalMqtt atau IotCore, Anda dapat menggunakan wildcard topik MQTT + dan # untuk merelai pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

brokerUri

(Opsional) URI broker MQTT lokal. Anda harus menentukan parameter ini jika Anda mengkonfigurasi broker MQTT untuk menggunakan port yang berbeda dari port default 8883. Gunakan format berikut, dan ganti port dengan port tempat broker MQTT beroperasi:ssl://localhost:port.

Default: ssl://localhost:8883

contoh Contoh: Pembaruan gabungan konfigurasi

Contoh pembaruan konfigurasi berikut menentukan untuk menyampaikan pesan dari perangkat klien ke AWS IoT Core clients/MyClientDevice2/hello/world topik clients/MyClientDevice1/hello/world dan.

{ "mqttTopicMapping": { "ClientDevice1HelloWorld": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2HelloWorld": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }
2.0.x
mqttTopicMapping

Pemetaan topik yang ingin Anda jembatani. Komponen ini berlangganan pesan pada topik sumber dan menerbitkan pesan yang diterimanya ke topik tujuan. Setiap pemetaan topik menentukan topik, jenis sumber, dan jenis tujuan.

Objek ini berisi informasi berikut:

topicMappingNameKey

Nama pemetaan topik ini. Ganti topicMappingNameKey dengan nama yang membantu Anda mengidentifikasi pemetaan topik ini.

Objek ini berisi informasi berikut:

topic

Filter topik atau topik untuk menjembatani antara broker sumber dan target.

Jika Anda menentukan broker sumber LocalMqtt atau IotCore, Anda dapat menggunakan wildcard topik MQTT + dan # untuk merelai pesan pada semua topik yang cocok dengan filter topik. Untuk informasi selengkapnya, lihat topik MQTT di Panduan Developer AWS IoT Core .

source

Broker pesan sumber. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

target

Target broker pesan. Pilih dari salah satu pilihan berikut:

  • LocalMqtt – Broker MQTT lokal tempat perangkat klien berkomunikasi.

  • Pubsub— Broker publish/subscribe pesan Greengrass lokal.

  • IotCore— Broker pesan AWS IoT Core MQTT.

    catatan

    Jembatan MQTT menggunakan QoS 1 untuk mempublikasikan dan berlangganan AWS IoT Core, bahkan ketika perangkat klien menggunakan QoS 0 untuk mempublikasikan dan berlangganan broker MQTT lokal. Akibatnya, Anda mungkin mengamati latensi tambahan saat Anda menyampaikan pesan MQTT dari perangkat klien di broker MQTT lokal ke. AWS IoT Core Untuk informasi lebih lanjut tentang konfigurasi MQTT pada perangkat inti, lihat Konfigurasikan pengaturan batas waktu dan cache MQTT.

source dan target harus berbeda.

contoh Contoh: Pembaruan gabungan konfigurasi

Contoh pembaruan konfigurasi berikut menentukan untuk menyampaikan pesan dari perangkat klien ke AWS IoT Core clients/MyClientDevice2/hello/world topik clients/MyClientDevice1/hello/world dan.

{ "mqttTopicMapping": { "ClientDevice1HelloWorld": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "IotCore" }, "ClientDevice2HelloWorld": { "topic": "clients/MyClientDevice2/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }

File log lokal

Komponen ini menggunakan file log yang sama dengan komponen inti Greengrass.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
Untuk melihat log komponen ini
  • Jalankan perintah berikut pada perangkat inti untuk melihat file log komponen ini secara real time. Ganti /greengrass/v2 atau C:\greengrass\v2 dengan jalur ke folder AWS IoT Greengrass root.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

Tabel berikut menjelaskan perubahan dalam setiap versi komponen.

Versi

Perubahan

2.3.3

Perbaikan bug dan peningkatan
  • Memperbaiki masalah di mana beban perangkat bersamaan yang tinggi dapat menyebabkan jembatan MQTT berhenti menyampaikan pesan setelah PUBACK jatuh.

2.3.2

Versi diperbarui untuk ril is autentikasi perangkat klien versi 2.5.0.

2.3.1
Perbaikan bug dan peningkatan

Memperbaiki masalah di mana klien MQTT lokal masuk ke loop pemutusan.

2.3.0
Fitur baru

Menambahkan dukungan MQTT5 untuk menjembatani antara AWS IoT Core dan sumber MQTT lokal.

2.2.6

Fitur baru

Menambahkan opsi startupTimeoutSeconds konfigurasi baru.

2.2.5

Versi diperbarui untuk ril is autentikasi perangkat klien versi 2.4.0.

2.2.4

Versi diperbarui untuk rilis autentikasi perangkat klien Greengrass versi 2.3.0.

2.2.3

Versi ini berisi perbaikan bug dan peningkatan.

2.2.2

Perbaikan bug dan peningkatan
  • Penyesuaian pencatatan.

2.2.1

Perbaikan bug dan peningkatan

Memperbaiki masalah yang dapat mengakibatkan jembatan MQTT gagal berlangganan topik MQTT.

2.2.0

Fitur baru
  • Menambahkan dukungan untuk wildcard topik MQTT (#dan+) saat Anda menentukan lokal publish/subscribe sebagai broker pesan sumber.

    Fitur ini membutuhkan v2.6.0 atau yang lebih baru dari komponen inti Greengrass.

  • Menambahkan targetTopicPrefix opsi, yang dapat Anda tentukan untuk mengonfigurasi jembatan MQTT untuk menambahkan awalan ke topik target saat menyampaikan pesan.

2.1.1

Perbaikan bug dan peningkatan
  • Memperbaiki masalah dengan cara komponen ini menangani pembaruan pengaturan ulang konfigurasi.

  • Mengurangi frekuensi pemutusan klien MQTT saat sertifikat berputar.

2.1.0

Fitur baru
  • Menambahkan brokerUri parameter, yang memungkinkan Anda untuk menggunakan port broker MQTT non-default.

2.0.1

Versi ini mencakup perbaikan bug dan peningkatan.

2.0.0

Versi awal.