Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?
Mã hóa dữ liệu trong JSON là phổ biến để gửi dữ liệu qua Internet và cũng để lưu trữ dữ liệu.

Bạn có thể mã hóa danh sách Python hoặc từ điển ở định dạng JSON và sau đó giải mã nó trở lại vào danh sách hoặc từ điển như được minh họa trong sơ đồ dưới đây:

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

Lưu ý: Nếu bạn thích video thì tôi đã tạo một video YouTube bao gồm- & nbsp này; Cách mã hóa, gửi và nhận dữ liệu JSON bằng máy khách Pythom MQTT

Trước tiên bạn sẽ cần nhập mô -đun JSON

import json

Để mã hóa từ điển Python hoặc danh sách, hãy sử dụng json.dumps (dữ liệu) như hiển thị bên dưới:json.dumps(data) as show below:

data_out=json.dumps(brokers_out) # encode object to JSON

Để chuyển đổi từ chuỗi JSON sang đối tượng Python, hãy sử dụng json.loads (json_string) như hiển thị dưới đây:json.loads(json_string) as show below:

m_in=json.loads(m_decode) #decode json data

Tôi đã tạo ra một kịch bản Python đơn giản thể hiện quá trình này.

Phần đầu tiên của tập lệnh mã hóa và giải mã một từ điển Python.

Phần thứ hai của tập lệnh mã hóa một từ điển Python xuất bản dữ liệu cho nhà môi giới MQTT, sau đó nhận dữ liệu và giải mã nó trở lại từ điển.

Bạn có thể tải xuống tập lệnh demo bằng cách sử dụng liên kết bên dưới

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

Dưới đây là một bức ảnh màn hình của nó trông như thế nào khi chạy.

Lưu ý các đối tượng Python được chuyển đổi thành một chuỗi bằng hàm json.dumps (). the Python objects is converted to a string by the json.dumps() function.

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

Bây giờ chúng tôi chạy phần thứ hai của tập lệnh xuất bản dữ liệu JSON và sau đó nhận dữ liệu và giải mã nó trở lại từ một từ điển.

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

Đây là cuộc gọi lại on_message nhận các tin nhắn và chuyển đổi nó thành từ điển.on_message Callback which receives the messages and converts it to a dictionary.

def on_message(client, userdata, msg):
    topic=msg.topic
    m_decode=str(msg.payload.decode("utf-8","ignore"))
    print("data Received type",type(m_decode))
    print("data Received",m_decode)
    print("Converting from Json to Object")
    m_in=json.loads(m_decode) #decode json data
    print(type(m_in))
    print("broker 2 address = ",m_in["broker2"])

Sử dụng dòng lệnh Python

Khi làm việc để giải mã các chuỗi JSON phức tạp, tôi thấy hữu ích khi dán chuỗi vào dòng lệnh Python và sử dụng nó để giải mã chuỗi.

Các bức ảnh màn hình sau đây minh họa quá trình này.

Danh sách Python cho JSON

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

Từ điển Python cho JSON

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

JSON đến Python

Dưới đây cho thấy các chuỗi JSON B và D được chuyển đổi trở lại thành các đối tượng Python:

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

Bản tóm tắt

JSON là một định dạng rất phổ biến để mã hóa dữ liệu và gửi nó trên các mạng và cũng để lưu trữ nó.

Python giúp dễ dàng tạo chuỗi dữ liệu được mã hóa JSON và giải mã chúng.

Mã Python

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

Điều này có hữu ích không?

Hướng dẫn how do you send and receive json data over mqtt in python? - làm thế nào để bạn gửi và nhận dữ liệu json qua mqtt trong python?

Hướng dẫn liên quan:

  • Python của tôi ghi chú làm việc
  • JSON cơ bản cho người mới bắt đầu-với các ví dụ và bài tập
  • Python Paho MQTT Client gửi và nhận số nguyên và phao
  • Gửi dữ liệu JSON bằng máy khách Mosquitto_pub
  • Gửi tệp bằng ví dụ MQTT -MQTT
  • Mã hóa tải trọng MQTT bằng Python - Mã ví dụ
  • Logger dữ liệu Python MQTT đơn giản

Vui lòng đánh giá? Và sử dụng nhận xét để cho tôi biết thêm

Chúng tôi sử dụng cookie trên trang web của chúng tôi để cung cấp cho bạn trải nghiệm phù hợp nhất bằng cách ghi nhớ sở thích của bạn và các lượt truy cập lặp lại. Bằng cách nhấp vào Chấp nhận tất cả, bạn đồng ý với việc sử dụng tất cả các cookie. Tuy nhiên, bạn có thể truy cập "Cài đặt cookie" để cung cấp sự đồng ý được kiểm soát.

Tôi có thể gửi JSON trong MQTT không?

Quan trọng: Dữ liệu JSON được gửi đến từng chủ đề MQTT phải là 75 byte hoặc ít hơn để được chuyển qua mạng không dây sang nền tảng cảm biến. và giới hạn chất lượng. Để biết mô tả về các giá trị, xem mã chất lượng.The JSON data sent to each MQTT topic must be 75 bytes or less to be transferred over the wireless network to the sensor platform. and the quality limit. For a description of the values, see Quality Codes.

Làm thế nào để bạn gửi một yêu cầu JSON trong Python?

Để đăng JSON lên máy chủ bằng thư viện Python Yêu cầu, hãy gọi phương thức Yêu cầu.Post () và chuyển URL đích làm tham số đầu tiên và dữ liệu JSON với tham số JSON =.Tham số JSON = lấy một từ điển và tự động chuyển đổi nó thành chuỗi JSON.call the requests. post() method and pass the target URL as the first parameter and the JSON data with the json= parameter. The json= parameter takes a dictionary and automatically converts it to a JSON string.

Làm cách nào để chuyển dữ liệu cho MQTT Broker?

Như đã đề cập trong phần giới thiệu, MQTT là một giao thức nhắn tin xuất bản/phụ.Khách hàng sẽ kết nối với mạng, có thể đăng ký hoặc xuất bản vào một chủ đề.Khi một khách hàng xuất bản đến một chủ đề, dữ liệu được gửi cho nhà môi giới, sau đó được phân phối cho tất cả các máy khách được đăng ký vào chủ đề đó.When a client publishes to a topic, the data is sent to the broker, which then is distributed to all the clients that are subscribed to that topic.

Làm cách nào để kết nối với MQTT trong Python?

Để thiết lập kết nối với nhà môi giới MQTT bằng máy khách Python, bạn sử dụng phương thức kết nối của đối tượng máy khách.Phương pháp có thể được gọi với 4 tham số.Tuyên bố phương thức kết nối được hiển thị bên dưới với các tham số mặc định.Tham số duy nhất bạn cần cung cấp là tên máy chủ.use the connect method of the client object. The method can be called with 4 parameters. The connect method declaration is shown below with the default parameters. The only parameter you need to provide is the host name.