Google Cloud IoT Core를 MQTT 및 Node.js에서 사용해 보세요.
Google Cloud IoT Core?
CloudIotCore가 제공하는 기능은 비교적 간단합니다.
두.
서비스 측에서 클라이언트에 브로드 캐스트로 설정 변경을 알리는,
클라이언트 측에서 MQTT를 이용하고 싶지만, Cloud Pub/Sub는 HTTP 밖에 서포트하고 있지 않기 때문에, 그러한 경우의 브리지적인 사용법이거나 같은 유스 케이스를 상정하고 있다.
MQTT의 브로커로서의 역할도 물론 해내므로, 스스로 RabbitMQ라든가 브로커씨를 세워, 신세를 하지 않아도 된다.
CloudIotCore부터는 먼저 Cloud Pub/Sub에서 좋아하는 것 같은 느낌일까.
AWS IoT에서도 비슷한 일은 할 수 있다고 생각합니다만, BigQuery나 Cloud Pub/Sub와 같은 GCP내에서의 제휴 용도라면 GCP 완결할 수 없을까-라고 욕망의 경우는 이쪽이 좋은 생각 했기 때문에 만져 보았습니다.
덧붙여서 β(2018년 1월 현재).
이전 준비
CLI를 사용하려면 GCP의 SDK 설치가 필요합니다.
# SDK install
$ curl https://sdk.cloud.google.com | bash
#ブラウザで認証する場合は以下、しない場合はGCPコンソールから秘密鍵のダウンロードと設定が必要
$ gcloud auth application-default login
# beta componentをinstall
$ gcloud components install beta
GCP에서 터미널 레지스트리 만들기
원격 측정 및 기기 상태에 대해서는 별도로 Cloud Pub/Sub에서 주제를 만듭니다.
클라이언트 설정 및 시도
공식 샘플 과 QuickStart 를 보면서.
우선 편하게 PC에서 js로 테스트할 수 있도록 해본다.
클라이언트 샘플 clone
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
종속 패키지 install
cd nodejs-docs-samples/iot/mqtt_example/
npm install
공개 키와 개인 키를 OpenSSL로 생성
openssl req -x509 -newkey rsa:2048 -keyout rsa_private.pem -nodes \
-out rsa_cert.pem -subj "/CN=unused"
콘솔에서 방금 만든 장치 레지스트리에 기기 등록
단말 ID는 임의.
공개키는 RSA256-X509를 선택해, 방금 작성한 공개키를 붙여 주세요.
레지스트리를 만들 때 지정한 주제 구독
gcloud beta pubsub subscriptions create \
projects/PROJECT_ID/subscriptions/your-subscription-name \
--topic=projects/PROJECT_ID/topics/your-telemetry-topic
주제에 메시지 게시
node cloudiot_mqtt_example_nodejs.js \
--projectId=my-proj \
--registryId=my-device-registry \
--deviceId=my-test-device \
--numMessages=10 \
--privateKeyFile=rsa_private.pem \
--algorithm=RS256 \
--cloudRegion=asia-east1
메시지가 도착했는지 확인
gcloud beta pubsub subscriptions pull --auto-ack \
projects/PROJECT_ID/subscriptions/your-telemetry-topic
┌──────────────────────────────────────────────┬────────────────┬───────────────────────────────────┐
│ DATA │ MESSAGE_ID │ ATTRIBUTES │
├──────────────────────────────────────────────┼────────────────┼───────────────────────────────────┤
│ xxxxxxxxxxxxx/xxxxxxxxxxxxx-device-payload-3 │ 22232850207119 │ deviceId=xxxxxxxxxxxxxxxxxxxx │
│ │ │ deviceNumId=3155016929003157 │
│ │ │ deviceRegistryId=xxxxxxxx-test │
│ │ │ deviceRegistryLocation=asia-east1 │
│ │ │ projectId=xxxxxxxxx │
│ │ │ subFolder= │
└──────────────────────────────────────────────┴────────────────┴───────────────────────────────────┘
Reference
이 문제에 관하여(Google Cloud IoT Core를 MQTT 및 Node.js에서 사용해 보세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/marnie_ms4/items/07c5c23ecf5dd15e554d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)