MacOS에서 Edukit을 사용해보십시오.
13447 단어 awsIoTM5stackCore2edukit
EduKit 정보
htps : // 아 ws. 아마존. 이 m / jp / 아보 t-a ws / u ts- w / 2020/12 / nt t 로즈신 g
핸즈온
htps : // 에즈키 t. rk 쇼 p. 아ws/엔/
이쪽의 핸즈온을 시험해 갑니다.
1. getting started
특히 신경이 쓰이는 곳은 없음 PlatformIO는 편리.
2. Blinky Hello World
여기서는 esp-idf를 설치하지만 이미 v3 환경이 설치되어 있었기 때문에 이상한 종속성이 생기지 않기 때문에 퇴피해 둡니다.
cd ~/esp/
mv xtensa-esp32-elf ../(退避場所)
install.sh를 실행할 때 dirname: illegal option -- b
오류가 발생하여 install.sh를 수정했습니다.
여기 을 참고로 다음과 같이 --
를 $0 앞에 추가.
export IDF_PATH=$(cd $(dirname -- $0); pwd)
#(中略)
basedir="$(dirname -- $0)"
터미널을 다시 시작해야 할 경우,
conda activate edukit
해야 합니다.
python registration_helper.py -p <<DEVICE_PORT>>
이렇게 하면 output_files 아래에 {Serial Number}_manifest.json이 만들어집니다.
이 Payload는 Base64로 인코딩되어 있으므로, 디코딩해 보면 다음과 같이 되어 있습니다.
{
"version":1,
"model":"ATECC608A",
"partNumber":"ATECC608A-TNGTLS",
"manufacturer":{
"organizationName":"Microchip Technology Inc",
"organizationalUnitName":"Secure Products Group"
},
"provisioner":{
"organizationName":"Microchip Technology Inc",
"organizationalUnitName":"Secure Products Group"
},
"distributor":{
"organizationName":"Microchip Technology Inc",
"organizationalUnitName":"Microchip Direct"
},
"provisioningTimestamp":"2020-11-18T05:00:00.000Z",
"uniqueId":"0123b36c6270c2ad01",
"publicKeySet":{
"keys":[
{
"kid":"0",
"kty":"EC",
"crv":"P-256",
"x":"6XU4nnOjw_vAS478YCCekvG0Lr-fwP86_ZA6NrG4mzI",
"y":"D1W-rzC2iiFulsNhCF0c2n6HNcjnXgnenj7cXrY_j1A",
"x5c":[
"MIICIDCC...",
"MIICBDCCAaqgAw..."
]
},
{
"kid":"1",
"kty":"EC",
"crv":"P-256",
"x":"r-9TSFq6DgCcxD1SXsCgW7YTax69RFo8zyaeiQEmfUA",
"y":"nSjvVe50HKFkCVJJug5JN1BBkopzda1YCaUL0k4LykI"
},
{
"kid":"2",
"kty":"EC",
"crv":"P-256",
"x":"SaPyWQrM5T87ckFDZ1cn2iudiKdu5CAIBBh9a8BlVYY",
"y":"awQz8k_GQ9RxizwyETo96UOz0Jnw9YmSIU7jlv-Q8pk"
},
{
"kid":"3",
"kty":"EC",
"crv":"P-256",
"x":"51JgkAj1O786jXR7pd2El8Vj08MIZENLdRqtCgRU4Vo",
"y":"a0TsFt5VPoTCar59jr0hYNgZJb9S8lVEZepuUrG7EBk"
},
{
"kid":"4",
"kty":"EC",
"crv":"P-256",
"x":"5ujWNIjY7alftW-k-DrXPl-e2ZKFkuu9H2l9sVwHmk4",
"y":"d0OhNeik3XLy-hd0LByWAfg97rnf6rFsQSCbFiPDHGA"
}
]
}
}
실제로 무엇이 이루어지고 있는지를 확인하고 싶기 때문에 registration_helper.py
속을 들여다 봅니다.
여기서는 esp-idf를 설치하지만 이미 v3 환경이 설치되어 있었기 때문에 이상한 종속성이 생기지 않기 때문에 퇴피해 둡니다.
cd ~/esp/
mv xtensa-esp32-elf ../(退避場所)
install.sh를 실행할 때
dirname: illegal option -- b
오류가 발생하여 install.sh를 수정했습니다.여기 을 참고로 다음과 같이
--
를 $0 앞에 추가.export IDF_PATH=$(cd $(dirname -- $0); pwd)
#(中略)
basedir="$(dirname -- $0)"
터미널을 다시 시작해야 할 경우,
conda activate edukit
해야 합니다.
python registration_helper.py -p <<DEVICE_PORT>>
이렇게 하면 output_files 아래에 {Serial Number}_manifest.json이 만들어집니다.
이 Payload는 Base64로 인코딩되어 있으므로, 디코딩해 보면 다음과 같이 되어 있습니다.
{
"version":1,
"model":"ATECC608A",
"partNumber":"ATECC608A-TNGTLS",
"manufacturer":{
"organizationName":"Microchip Technology Inc",
"organizationalUnitName":"Secure Products Group"
},
"provisioner":{
"organizationName":"Microchip Technology Inc",
"organizationalUnitName":"Secure Products Group"
},
"distributor":{
"organizationName":"Microchip Technology Inc",
"organizationalUnitName":"Microchip Direct"
},
"provisioningTimestamp":"2020-11-18T05:00:00.000Z",
"uniqueId":"0123b36c6270c2ad01",
"publicKeySet":{
"keys":[
{
"kid":"0",
"kty":"EC",
"crv":"P-256",
"x":"6XU4nnOjw_vAS478YCCekvG0Lr-fwP86_ZA6NrG4mzI",
"y":"D1W-rzC2iiFulsNhCF0c2n6HNcjnXgnenj7cXrY_j1A",
"x5c":[
"MIICIDCC...",
"MIICBDCCAaqgAw..."
]
},
{
"kid":"1",
"kty":"EC",
"crv":"P-256",
"x":"r-9TSFq6DgCcxD1SXsCgW7YTax69RFo8zyaeiQEmfUA",
"y":"nSjvVe50HKFkCVJJug5JN1BBkopzda1YCaUL0k4LykI"
},
{
"kid":"2",
"kty":"EC",
"crv":"P-256",
"x":"SaPyWQrM5T87ckFDZ1cn2iudiKdu5CAIBBh9a8BlVYY",
"y":"awQz8k_GQ9RxizwyETo96UOz0Jnw9YmSIU7jlv-Q8pk"
},
{
"kid":"3",
"kty":"EC",
"crv":"P-256",
"x":"51JgkAj1O786jXR7pd2El8Vj08MIZENLdRqtCgRU4Vo",
"y":"a0TsFt5VPoTCar59jr0hYNgZJb9S8lVEZepuUrG7EBk"
},
{
"kid":"4",
"kty":"EC",
"crv":"P-256",
"x":"5ujWNIjY7alftW-k-DrXPl-e2ZKFkuu9H2l9sVwHmk4",
"y":"d0OhNeik3XLy-hd0LByWAfg97rnf6rFsQSCbFiPDHGA"
}
]
}
}
실제로 무엇이 이루어지고 있는지를 확인하고 싶기 때문에
registration_helper.py
속을 들여다 봅니다.generate_signer_certificate()
esp_hs.generate_manifest_file(esp, args, init_mfg)
upload_manifest()
실제로 AWS IoT의 매니콘이 위의 설정을 반영하는지 확인할 수 있습니다.
3. Smart Thermostat
이 섹션에 한정되지 않습니다만, 다양한 드라이버가 실장이 끝났으므로, 여러가지 놀 수 있을 것 같습니다. License는 Apache2.0이므로, 이 부품 그대로 사용할 수 있는 경우는 소프트 가게는 편할지도…
xTaskCreatePinnedToCore
라는 함수로 Task를 만들고 있습니다. FreeRTOS의 xTaskCreate와 비슷하지만 인수로 코어를 지정할 수 있습니다. 태스크마다 다른 Core를 사용해 처리를 효율화할 수도 있을 것 같습니다.
htps : // / cs. 예 sp. f. 이 m/p로지ぇcts/에 sp-이 df/엔/ㄴ테 st/에 sp32/아피구이로 s/f레에 r과 s-smp. HTML
Trust&Go 인증서는 여기에 설정된 것 같습니다. Porting 레이어에서 처리되므로 앱 개발 시 신경 쓰는 일이 적습니다.
port/network_mbedtls_wrapper.c ESP_LOGI(TAG, "Attempting to use device certificate from ATECC608");
ret = atca_mbedtls_cert_add(&(tlsDataParams->clicert), cert_def);
다른 HSM을 사용했을 경우의 차이는 이 Define를 Grep해 보면 알 수 있을 것 같습니다.
#ifdef CONFIG_AWS_IOT_USE_HARDWARE_SECURE_ELEMENT
이후는 나중에…
Reference
이 문제에 관하여(MacOS에서 Edukit을 사용해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatsuhiroiida/items/ec9afa04d70788dadad3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ESP_LOGI(TAG, "Attempting to use device certificate from ATECC608");
ret = atca_mbedtls_cert_add(&(tlsDataParams->clicert), cert_def);
#ifdef CONFIG_AWS_IOT_USE_HARDWARE_SECURE_ELEMENT
Reference
이 문제에 관하여(MacOS에서 Edukit을 사용해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tatsuhiroiida/items/ec9afa04d70788dadad3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)