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-comma...

6.9 KiB

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

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

ਕਮਾਂਡਾਂ ਨੂੰ ਸਬਸਕ੍ਰਾਈਬ ਕਰੋ

ਅਗਲਾ ਕਦਮ MQTT ਬ੍ਰੋਕਰ ਤੋਂ ਭੇਜੇ ਗਏ ਕਮਾਂਡਾਂ ਨੂੰ ਸਬਸਕ੍ਰਾਈਬ ਕਰਨਾ ਅਤੇ ਉਨ੍ਹਾਂ ਦਾ ਜਵਾਬ ਦੇਣਾ ਹੈ।

ਟਾਸਕ

ਕਮਾਂਡਾਂ ਨੂੰ ਸਬਸਕ੍ਰਾਈਬ ਕਰੋ।

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

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

  3. client_telemetry_topic ਦੀ ਪਰਿਭਾਸ਼ਾ ਦੇ ਬਾਅਦ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ:

    server_command_topic = id + '/commands'
    

    server_command_topic ਉਹ MQTT ਟਾਪਿਕ ਹੈ ਜਿਸ ਨੂੰ ਡਿਵਾਈਸ LED ਕਮਾਂਡਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਬਸਕ੍ਰਾਈਬ ਕਰੇਗਾ।

  4. ਮੁੱਖ ਲੂਪ ਤੋਂ ਥੋੜ੍ਹਾ ਉੱਪਰ, mqtt_client.loop_start() ਲਾਈਨ ਦੇ ਬਾਅਦ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ:

    def handle_command(client, userdata, message):
        payload = json.loads(message.payload.decode())
        print("Message received:", payload)
    
        if payload['led_on']:
            led.on()
        else:
            led.off()
    
    mqtt_client.subscribe(server_command_topic)
    mqtt_client.on_message = handle_command
    

    ਇਹ ਕੋਡ ਇੱਕ ਫੰਕਸ਼ਨ, handle_command, ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜੋ ਇੱਕ ਸੁਨੇਹਾ JSON ਦਸਤਾਵੇਜ਼ ਵਜੋਂ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ led_on ਪ੍ਰਾਪਰਟੀ ਦੀ ਵੈਲਿਊ ਨੂੰ ਲੱਭਦਾ ਹੈ। ਜੇ ਇਹ True ਸੈਟ ਕੀਤਾ ਗਿਆ ਹੈ ਤਾਂ LED ਚਾਲੂ ਹੋ ਜਾਂਦੀ ਹੈ, ਨਹੀਂ ਤਾਂ ਇਹ ਬੰਦ ਹੋ ਜਾਂਦੀ ਹੈ।

    MQTT ਕਲਾਇੰਟ ਉਸ ਟਾਪਿਕ ਨੂੰ ਸਬਸਕ੍ਰਾਈਬ ਕਰਦਾ ਹੈ ਜਿਸ 'ਤੇ ਸਰਵਰ ਸੁਨੇਹੇ ਭੇਜੇਗਾ ਅਤੇ handle_command ਫੰਕਸ਼ਨ ਸੈਟ ਕਰਦਾ ਹੈ ਜੋ ਸੁਨੇਹਾ ਪ੍ਰਾਪਤ ਹੋਣ 'ਤੇ ਕਾਲ ਕੀਤਾ ਜਾਵੇਗਾ।

    💁 on_message ਹੈਂਡਲਰ ਸਾਰੇ ਸਬਸਕ੍ਰਾਈਬ ਕੀਤੇ ਟਾਪਿਕਾਂ ਲਈ ਕਾਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਬਾਅਦ ਵਿੱਚ ਅਜਿਹਾ ਕੋਡ ਲਿਖਦੇ ਹੋ ਜੋ ਕਈ ਟਾਪਿਕਾਂ ਨੂੰ ਸੁਣਦਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਉਸ ਟਾਪਿਕ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ ਜਿਸ 'ਤੇ ਸੁਨੇਹਾ ਭੇਜਿਆ ਗਿਆ ਸੀ message ਆਬਜੈਕਟ ਤੋਂ ਜੋ ਹੈਂਡਲਰ ਫੰਕਸ਼ਨ ਨੂੰ ਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

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

  6. ਆਪਣੇ ਭੌਤਿਕ ਜਾਂ ਵਰਚੁਅਲ ਡਿਵਾਈਸ ਦੁਆਰਾ ਪਤਾ ਲਗਾਏ ਗਏ ਲਾਈਟ ਲੈਵਲ ਨੂੰ ਅਨੁਕੂਲ ਕਰੋ। ਪ੍ਰਾਪਤ ਕੀਤੇ ਜਾ ਰਹੇ ਸੁਨੇਹੇ ਅਤੇ ਭੇਜੇ ਜਾ ਰਹੇ ਕਮਾਂਡਾਂ ਟਰਮੀਨਲ ਵਿੱਚ ਲਿਖੇ ਜਾਣਗੇ। ਲਾਈਟ ਲੈਵਲ ਦੇ ਅਨੁਸਾਰ LED ਵੀ ਚਾਲੂ ਅਤੇ ਬੰਦ ਹੋਵੇਗਾ।

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

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


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