# ប្រើវិញ្ញាប័ណ្ណ X.509 ក្នុងកូដឧបករណ៍របស់អ្នក - ឧបករណ៍ IoT មួយហើយ Raspberry Pi នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងភ្ជាប់ឧបករណ៍ IoT វិញ្ញាណរបស់អ្នកឬ Raspberry Pi ទៅកាន់ IoT Hub របស់អ្នកដោយប្រើវិញ្ញាប័ណ្ណ X.509។ ## ភ្ជាប់ឧបករណ៍របស់អ្នកទៅ IoT Hub ជំហានបន្ទាប់គឺភ្ជាប់ឧបករណ៍របស់អ្នកទៅ IoT Hub ដោយប្រើវិញ្ញាប័ណ្ណ X.509។ ### ភារកិច្ច - ភ្ជាប់ទៅ IoT Hub 1. ចម្លងឯកសារតំណក់ និងវិញ្ញាប័ណ្ណទៅថតដែលមានកូដឧបករណ៍ IoT របស់អ្នក។ ប្រសិនបើអ្នកប្រើ Raspberry Pi តាមរយៈ VS Code Remote SSH ហើយបង្កើតកូនសោនៅលើកុំព្យូទ័រផ្ទាល់ខ្លួនរបស់អ្នក ឬ Mac អ្នកអាចទាញយកឯកសារទៅក្នុងកម្មវិធី explorer ក្នុង VS Code ដើម្បីចម្លង។ 1. បើកឯកសារ `app.py` 1. ដើម្បីភ្ជាប់ដោយប្រើវិញ្ញាប័ណ្ណ X.509 អ្នកត្រូវការឈ្មោះម៉ាស៊ីនផ្ទះ (host name) របស់ IoT Hub និងវិញ្ញាប័ណ្ណ X.509។ ចាប់ផ្តើមដោយបង្កើតអថេរមួយដែលផ្ទុកឈ្មោះម៉ាស៊ីនផ្ទះដោយបញ្ចូលកូដនេះមុនពេលបង្កើត device client: ```python host_name = "" ``` ជំនួស `` ជាឈ្មោះម៉ាស៊ីនផ្ទះរបស់ IoT Hub របស់អ្នក។ អ្នកអាចយកវាពីផ្នែក `HostName` នៅក្នុង `connection_string`។ វានឹងជា​ឈ្មោះ IoT Hub របស់អ្នក ដែលបញ្ចប់ដោយ `.azure-devices.net` 1. ក្រោមនេះ ប្រកាសអថេរមួយដែលមានអត្តសញ្ញាណឧបករណ៍: ```python device_id = "soil-moisture-sensor-x509" ``` 1. អ្នកត្រូវការជំនាន់មួយនៃ `X509` class ដែលមានឯកសារវិញ្ញាប័ណ្ណ X.509។ បន្ថែម `X509` ទៅក្នុងបញ្ជី class ដែលនាំចូលពីមូឌុល `azure.iot.device`៖ ```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") ``` នេះនឹងបង្កើត `X509` class ដោយប្រើឯកសារ `soil-moisture-sensor-x509-cert.pem` និង `soil-moisture-sensor-x509-key.pem` ដែលបានបង្កើតមុននេះ។ 1. ជំនួសបន្ទាត់កូដដែលបង្កើត `device_client` ពី connection string ជាមួយបន្ទាត់កូដដូចខាងក្រោម៖ ```python device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id) ``` នេះនឹងភ្ជាប់ដោយប្រើវិញ្ញាប័ណ្ណ X.509 ជំនួស connection string។ 1. លុបបន្ទាត់ដែលមានអថេរ `connection_string`។ 1. រត់កូដរបស់អ្នក។ តាមដានសារដែលផ្ញើទៅ IoT Hub ហើយផ្ញើសំណើវិធីសាស្រ្តផ្ទាល់ដូចមុន។ អ្នកនឹងឃើញឧបករណ៍ភ្ជាប់ ហើយផ្ញើការវាស់សំណើមាតិកាមេរីដី គ្របដណ្តប់ការទទួលសំណើវិធីសាស្រ្តផ្ទាល់ផងដែរ។ > 💁 អ្នកអាចរកឃើញកូដនេះនៅក្នុងថត [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)។ 😀 កម្មវិធីឧបករណ៍វាស់សំណើមដីរបស់អ្នកបានភ្ជាប់ទៅ IoT Hub ដោយប្រើវិញ្ញាប័ណ្ណ X.509 រួចហើយ! --- **ការបដិសេធ**៖ ឯកសារនេះបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលយើងខិតខំរកភាពត្រឹមត្រូវ សូមយល់ឲ្យដឹងថា ការបកប្រែដោយស្វ័យប្រវត្តិអាចមានកំហុស ឬអត្ថបទមិនបានត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសាដើមគួរត្រូវបានគេរៀបចំពុំថ្លៃថ្នូរជាប្រភពគ្រឹះ។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្ដល់អាទិភាពការបកប្រែដោយមនុស្សជំនាញវិជ្ជាជីវៈ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ឃើញមិនត្រឹមត្រូវ ឬការបកប្រែខុសពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។