You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/pa/1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md

8.1 KiB

ਰਾਤ ਦੀ ਲਾਈਟ ਨੂੰ ਇੰਟਰਨੈਟ 'ਤੇ ਕੰਟਰੋਲ ਕਰੋ - ਵਰਚੁਅਲ IoT ਹਾਰਡਵੇਅਰ ਅਤੇ ਰਾਸਪਬੈਰੀ ਪਾਈ

IoT ਡਿਵਾਈਸ ਨੂੰ test.mosquitto.org ਨਾਲ MQTT ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੰਚਾਰ ਕਰਨ ਲਈ ਕੋਡ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਜੋ ਲਾਈਟ ਸੈਂਸਰ ਪੜ੍ਹਨ ਨਾਲ ਟੈਲੀਮੇਟਰੀ ਮੁੱਲ ਭੇਜੇ ਜਾ ਸਕਣ ਅਤੇ LED ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਕਮਾਂਡ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾ ਸਕੇ।

ਇਸ ਪਾਠ ਦੇ ਇਸ ਹਿੱਸੇ ਵਿੱਚ, ਤੁਸੀਂ ਆਪਣੇ ਰਾਸਪਬੈਰੀ ਪਾਈ ਜਾਂ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਨੂੰ ਇੱਕ MQTT ਬ੍ਰੋਕਰ ਨਾਲ ਕਨੈਕਟ ਕਰੋਗੇ।

MQTT ਕਲਾਇੰਟ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ

MQTT ਬ੍ਰੋਕਰ ਨਾਲ ਸੰਚਾਰ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਆਪਣੇ Pi 'ਤੇ ਜਾਂ ਜੇ ਤੁਸੀਂ ਵਰਚੁਅਲ ਡਿਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਆਪਣੇ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਵਿੱਚ ਇੱਕ MQTT ਲਾਇਬ੍ਰੇਰੀ pip ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।

ਕੰਮ

pip ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ

  1. VS Code ਵਿੱਚ ਰਾਤ ਦੀ ਲਾਈਟ ਪ੍ਰੋਜੈਕਟ ਖੋਲ੍ਹੋ।

  2. ਜੇ ਤੁਸੀਂ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਟਰਮੀਨਲ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਚਲਾ ਰਿਹਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਰਾਸਪਬੈਰੀ ਪਾਈ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਤਾਂ ਤੁਸੀਂ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰ ਰਹੇ ਹੋਵੋਗੇ।

  3. MQTT pip ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤਾ ਕਮਾਂਡ ਚਲਾਓ:

    pip3 install paho-mqtt
    

ਡਿਵਾਈਸ ਦਾ ਕੋਡ ਲਿਖੋ

ਡਿਵਾਈਸ ਕੋਡ ਲਿਖਣ ਲਈ ਤਿਆਰ ਹੈ।

ਕੰਮ

ਡਿਵਾਈਸ ਕੋਡ ਲਿਖੋ।

  1. app.py ਫਾਈਲ ਦੇ ਉੱਪਰ ਹਿੱਸੇ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤਾ ਇੰਪੋਰਟ ਸ਼ਾਮਲ ਕਰੋ:

    import paho.mqtt.client as mqtt
    

    paho.mqtt.client ਲਾਇਬ੍ਰੇਰੀ ਤੁਹਾਡੇ ਐਪ ਨੂੰ MQTT ਦੇ ਜ਼ਰੀਏ ਸੰਚਾਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ।

  2. ਲਾਈਟ ਸੈਂਸਰ ਅਤੇ LED ਦੀ ਪਰਿਭਾਸ਼ਾ ਦੇ ਬਾਅਦ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ:

    id = '<ID>'
    
    client_name = id + 'nightlight_client'
    

    <ID> ਨੂੰ ਇੱਕ ਵਿਲੱਖਣ ID ਨਾਲ ਬਦਲੋ ਜੋ ਇਸ ਡਿਵਾਈਸ ਕਲਾਇੰਟ ਦਾ ਨਾਮ ਹੋਵੇਗਾ, ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਉਹ ਟਾਪਿਕਾਂ ਲਈ ਜੋ ਇਹ ਡਿਵਾਈਸ ਪ੍ਰਕਾਸ਼ਿਤ ਅਤੇ ਸਬਸਕ੍ਰਾਈਬ ਕਰਦਾ ਹੈ। test.mosquitto.org ਬ੍ਰੋਕਰ ਜਨਤਕ ਹੈ ਅਤੇ ਕਈ ਲੋਕਾਂ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਇਸ ਅਸਾਈਨਮੈਂਟ 'ਤੇ ਕੰਮ ਕਰ ਰਹੇ ਹੋਰ ਵਿਦਿਆਰਥੀ ਵੀ ਸ਼ਾਮਲ ਹਨ। ਇੱਕ ਵਿਲੱਖਣ MQTT ਕਲਾਇੰਟ ਨਾਮ ਅਤੇ ਟਾਪਿਕ ਨਾਮਾਂ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਕਿ ਤੁਹਾਡਾ ਕੋਡ ਕਿਸੇ ਹੋਰ ਦੇ ਨਾਲ ਟਕਰਾਏਗਾ ਨਹੀਂ। ਤੁਹਾਨੂੰ ਇਹ ID ਇਸ ਅਸਾਈਨਮੈਂਟ ਦੇ ਬਾਅਦਲੇ ਹਿੱਸੇ ਵਿੱਚ ਸਰਵਰ ਕੋਡ ਬਣਾਉਣ ਸਮੇਂ ਵੀ ਲੋੜੀਂਦੀ ਹੋਵੇਗੀ।

    💁 ਤੁਸੀਂ GUIDGen ਵਰਗੇ ਵੈਬਸਾਈਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਵਿਲੱਖਣ ID ਜਨਰੇਟ ਕਰ ਸਕਦੇ ਹੋ।

    client_name ਇਸ MQTT ਕਲਾਇੰਟ ਲਈ ਬ੍ਰੋਕਰ 'ਤੇ ਇੱਕ ਵਿਲੱਖਣ ਨਾਮ ਹੈ।

  3. ਹੇਠਾਂ ਦਿੱਤੇ ਨਵੇਂ ਕੋਡ ਦੇ ਹੇਠਾਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ, ਤਾਂ ਜੋ ਇੱਕ MQTT ਕਲਾਇੰਟ ਆਬਜੈਕਟ ਬਣਾਇਆ ਜਾ ਸਕੇ ਅਤੇ MQTT ਬ੍ਰੋਕਰ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਸਕੇ:

    mqtt_client = mqtt.Client(client_name)
    mqtt_client.connect('test.mosquitto.org')
    
    mqtt_client.loop_start()
    
    print("MQTT connected!")
    

    ਇਹ ਕੋਡ ਕਲਾਇੰਟ ਆਬਜੈਕਟ ਬਣਾਉਂਦਾ ਹੈ, ਜਨਤਕ MQTT ਬ੍ਰੋਕਰ ਨਾਲ ਕਨੈਕਟ ਕਰਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਪ੍ਰੋਸੈਸਿੰਗ ਲੂਪ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ ਜੋ ਬੈਕਗ੍ਰਾਊਂਡ ਥ੍ਰੈਡ ਵਿੱਚ ਚਲਦਾ ਹੈ ਅਤੇ ਕਿਸੇ ਵੀ ਸਬਸਕ੍ਰਾਈਬ ਕੀਤੇ ਟਾਪਿਕਾਂ 'ਤੇ ਸੁਨੇਹੇ ਸੁਣਦਾ ਹੈ।

  4. ਕੋਡ ਨੂੰ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਚਲਾਓ ਜਿਵੇਂ ਤੁਸੀਂ ਅਸਾਈਨਮੈਂਟ ਦੇ ਪਿਛਲੇ ਹਿੱਸੇ ਤੋਂ ਕੋਡ ਚਲਾਇਆ ਸੀ। ਜੇ ਤੁਸੀਂ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ CounterFit ਐਪ ਚੱਲ ਰਹੀ ਹੈ ਅਤੇ ਲਾਈਟ ਸੈਂਸਰ ਅਤੇ LED ਸਹੀ ਪਿੰਸ 'ਤੇ ਬਣਾਏ ਗਏ ਹਨ।

    (.venv) ➜  nightlight python app.py 
    MQTT connected!
    Light level: 0
    Light level: 0
    

💁 ਤੁਸੀਂ ਇਹ ਕੋਡ code-mqtt/virtual-device ਫੋਲਡਰ ਜਾਂ code-mqtt/pi ਫੋਲਡਰ ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ।

😀 ਤੁਸੀਂ ਸਫਲਤਾਪੂਰਵਕ ਆਪਣੇ ਡਿਵਾਈਸ ਨੂੰ ਇੱਕ MQTT ਬ੍ਰੋਕਰ ਨਾਲ ਕਨੈਕਟ ਕਰ ਲਿਆ ਹੈ।


ਅਸਵੀਕਰਤੀ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚੱਜੇਪਣ ਹੋ ਸਕਦੇ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼, ਜੋ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਹੈ, ਨੂੰ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।