# ਆਪਣੇ ਡਿਵਾਈਸ ਕੋਡ ਵਿੱਚ X.509 ਸਰਟੀਫਿਕੇਟ ਦੀ ਵਰਤੋਂ ਕਰੋ - ਵਰਚੁਅਲ IoT ਹਾਰਡਵੇਅਰ ਅਤੇ ਰਾਸਪਬੈਰੀ ਪਾਈ ਇਸ ਪਾਠ ਦੇ ਇਸ ਹਿੱਸੇ ਵਿੱਚ, ਤੁਸੀਂ ਆਪਣੇ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਜਾਂ ਰਾਸਪਬੈਰੀ ਪਾਈ ਨੂੰ X.509 ਸਰਟੀਫਿਕੇਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੇ IoT ਹੱਬ ਨਾਲ ਕਨੈਕਟ ਕਰੋਗੇ। ## ਆਪਣੇ ਡਿਵਾਈਸ ਨੂੰ IoT ਹੱਬ ਨਾਲ ਕਨੈਕਟ ਕਰੋ ਅਗਲਾ ਕਦਮ ਹੈ ਆਪਣੇ ਡਿਵਾਈਸ ਨੂੰ X.509 ਸਰਟੀਫਿਕੇਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ IoT ਹੱਬ ਨਾਲ ਕਨੈਕਟ ਕਰਨਾ। ### ਟਾਸਕ - IoT ਹੱਬ ਨਾਲ ਕਨੈਕਟ ਕਰੋ 1. ਕੁੰਜੀ ਅਤੇ ਸਰਟੀਫਿਕੇਟ ਫਾਈਲਾਂ ਨੂੰ ਆਪਣੇ IoT ਡਿਵਾਈਸ ਕੋਡ ਵਾਲੇ ਫੋਲਡਰ ਵਿੱਚ ਕਾਪੀ ਕਰੋ। ਜੇ ਤੁਸੀਂ VS Code Remote SSH ਰਾਹੀਂ ਰਾਸਪਬੈਰੀ ਪਾਈ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ ਅਤੇ ਆਪਣੇ PC ਜਾਂ Mac 'ਤੇ ਕੁੰਜੀਆਂ ਬਣਾਈਆਂ ਹਨ, ਤਾਂ ਤੁਸੀਂ ਫਾਈਲਾਂ ਨੂੰ VS Code ਦੇ ਐਕਸਪਲੋਰਰ ਵਿੱਚ ਡਰੈਗ ਅਤੇ ਡ੍ਰੌਪ ਕਰਕੇ ਕਾਪੀ ਕਰ ਸਕਦੇ ਹੋ। 1. `app.py` ਫਾਈਲ ਖੋਲ੍ਹੋ 1. X.509 ਸਰਟੀਫਿਕੇਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਨੈਕਟ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ IoT ਹੱਬ ਦਾ ਹੋਸਟ ਨਾਮ ਅਤੇ X.509 ਸਰਟੀਫਿਕੇਟ ਦੀ ਲੋੜ ਹੋਵੇਗੀ। ਡਿਵਾਈਸ ਕਲਾਇੰਟ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਹੋਸਟ ਨਾਮ ਵਾਲਾ ਵੈਰੀਏਬਲ ਬਣਾਉਣ ਲਈ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ: ```python host_name = "" ``` `` ਨੂੰ ਆਪਣੇ IoT ਹੱਬ ਦੇ ਹੋਸਟ ਨਾਮ ਨਾਲ ਬਦਲੋ। ਤੁਸੀਂ ਇਹ `connection_string` ਦੇ `HostName` ਸੈਕਸ਼ਨ ਤੋਂ ਲੈ ਸਕਦੇ ਹੋ। ਇਹ ਤੁਹਾਡੇ IoT ਹੱਬ ਦਾ ਨਾਮ ਹੋਵੇਗਾ, ਜੋ `.azure-devices.net` ਨਾਲ ਖਤਮ ਹੁੰਦਾ ਹੈ। 1. ਇਸ ਦੇ ਹੇਠਾਂ, ਡਿਵਾਈਸ ID ਵਾਲਾ ਵੈਰੀਏਬਲ ਘੋਸ਼ਿਤ ਕਰੋ: ```python device_id = "soil-moisture-sensor-x509" ``` 1. ਤੁਹਾਨੂੰ `X509` ਕਲਾਸ ਦਾ ਇੱਕ ਇੰਸਟੈਂਸ ਚਾਹੀਦਾ ਹੈ ਜੋ X.509 ਫਾਈਲਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦਾ ਹੈ। `azure.iot.device` ਮੋਡਿਊਲ ਤੋਂ ਇੰਪੋਰਟ ਕੀਤੀਆਂ ਕਲਾਸਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ `X509` ਸ਼ਾਮਲ ਕਰੋ: ```python from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse, X509 ``` 1. ਆਪਣੇ ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਕੁੰਜੀ ਫਾਈਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ `X509` ਕਲਾਸ ਇੰਸਟੈਂਸ ਬਣਾਓ। ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ `host_name` ਡਿਕਲੇਰੇਸ਼ਨ ਦੇ ਹੇਠਾਂ ਸ਼ਾਮਲ ਕਰੋ: ```python x509 = X509("./soil-moisture-sensor-x509-cert.pem", "./soil-moisture-sensor-x509-key.pem") ``` ਇਹ `soil-moisture-sensor-x509-cert.pem` ਅਤੇ `soil-moisture-sensor-x509-key.pem` ਫਾਈਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ `X509` ਕਲਾਸ ਬਣਾਏਗਾ, ਜੋ ਪਹਿਲਾਂ ਬਣਾਈਆਂ ਗਈਆਂ ਸਨ। 1. ਉਸ ਕੋਡ ਦੀ ਲਾਈਨ ਨੂੰ ਬਦਲੋ ਜੋ `connection_string` ਤੋਂ `device_client` ਬਣਾਉਂਦੀ ਹੈ, ਹੇਠਾਂ ਦਿੱਤੇ ਨਾਲ: ```python device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id) ``` ਇਹ `connection_string` ਦੀ ਬਜਾਏ X.509 ਸਰਟੀਫਿਕੇਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਨੈਕਟ ਕਰੇਗਾ। 1. `connection_string` ਵੈਰੀਏਬਲ ਵਾਲੀ ਲਾਈਨ ਨੂੰ ਮਿਟਾਓ। 1. ਆਪਣਾ ਕੋਡ ਚਲਾਓ। IoT ਹੱਬ ਨੂੰ ਭੇਜੇ ਗਏ ਸੁਨੇਹਿਆਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰੋ ਅਤੇ ਪਹਿਲਾਂ ਵਾਂਗ ਸਿੱਧੇ ਤਰੀਕੇ ਨਾਲ ਮੈਥਡ ਰਿਕਵੇਸਟ ਭੇਜੋ। ਤੁਸੀਂ ਡਿਵਾਈਸ ਨੂੰ soil moisture readings ਭੇਜਦੇ ਹੋਏ ਅਤੇ ਸਿੱਧੇ ਤਰੀਕੇ ਨਾਲ ਮੈਥਡ ਰਿਕਵੇਸਟ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹੋਏ ਦੇਖੋਗੇ। > 💁 ਤੁਸੀਂ ਇਹ ਕੋਡ [code/pi](../../../../../2-farm/lessons/6-keep-your-plant-secure/code/pi) ਜਾਂ [code/virtual-device](../../../../../2-farm/lessons/6-keep-your-plant-secure/code/virtual-device) ਫੋਲਡਰ ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ। 😀 ਤੁਹਾਡਾ soil moisture sensor ਪ੍ਰੋਗਰਾਮ X.509 ਸਰਟੀਫਿਕੇਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਤੁਹਾਡੇ IoT ਹੱਬ ਨਾਲ ਕਨੈਕਟ ਹੋ ਗਿਆ ਹੈ! --- **ਅਸਵੀਕਤੀ**: ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚੀਤਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਸ ਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਮੌਜੂਦ ਅਸਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।