클라우드에서 일반 데이터를 저장 / 전송 / 게시하는 데 사용할 수있는 IoT 서비스는 무엇입니까?


16

클라우드에 일반 소량의 데이터를 저장 / 전송 / 게시 (및 반대 작업) 할 수있는 IoT 서비스는 무엇입니까?

예를 들어 장치가 클라우드에 값을 저장할 수있는 서비스를 찾고 있습니다. 그리고 다른 개체 (다른 장치, 일부 JS 코드가있는 웹 사이트, 웹 서버, 모바일 앱)가이 값을 검색 할 수 있습니다.

키와 값 쌍 (<255bytes, 정수, 문자열)만큼 작은 것을 최대 작은 JSON 객체로 저장하고 검색하는 것과 같은 일종의 비동기 통신 일 수 있습니다. 이 서비스는 REST 토큰 (다양한 언어로 액세스 할 수 있음)을 제공하여 인증 할 토큰과 저장할 키 및 값을 제공합니다.

사용 사례의 자세한 예는 다음과 같습니다.

집에는 온도 센서가 있으며 클라우드에 값을 저장하고 싶습니다 ( 집 밖 어딘가 ). 이런 식으로, 홈 연결이 끊어 졌는지 여부에 관계없이 액세스 할 수 있습니다. 더구나 이것은 전용 서버 + portForwarding + DynamicDNS를 유지하고 유지하는 것을 피할 것입니다.

지금까지 나는 이와 같은 것을 찾을 수 없었지만 때로는 설명하려는 의미의 예를 발견했습니다.

다른 유사한 (무료 / 공개) 대안이 있습니까?


@BenceKaulics 두 유스 케이스가 모두 적용될 것이라고 생각합니다. 전문 솔루션은보다 표준화 및 신뢰성을 암시 할 수 있습니다. 실험 솔루션은 흥미로운 오픈 소스 프로젝트가 될 수 있습니다.
urnenfeld

나는 전리품 스포츠가 싫지만, 다른 사이트가있는 웹 서비스와 같은 IoT 요청으로 보지 않습니다. 자신의 사이트, 무료 호스팅, Amazon Web Services 등 원하는 것을 사용하십시오. 실제로 달성하려는 목표를 알려주지 않았습니다. 예를 들어 서버 소프트웨어를 코딩하고 싶습니까? 세부 사항이 없으며 따뜻하고 퍼지 느낌이 들기 때문에 대답하기가 매우 어렵습니다.
Mawg는 모니카

2
@Mawg 그것은 내가 만들지 않은 웹 서비스 태그를 가지고 있습니다. 사용 사례는 주어진 참고 자료와 같이 IoT에 중점을 둡니다. 사용 가능한 서비스를 요청하지만 간단한 php + db로 달성 할 수 있지만, 의도는 바퀴를 재발 명하지 않고 IoT 커뮤니티가 알고있는 서비스를 파악하는 것입니다. 그러나 어느 커뮤니티에서 더 잘 맞는지 알려주세요.
urnenfeld

가까운 전화입니다. 다른 사이트가 더 정확한 스택 오버플로에 게시하는 경우가 있음을 인정합니다. 그러나 너무 많은 잠재 고객이 있으므로 답장을받을 가능성이 더 큽니다. 다른 사이트와는 항상 중복되는 부분이 많으므로 계속 진행해야합니다. 공격하지 않는 +1 및 이제 보안 사이트를 알고 있습니다. 이 질문은 여전히 조금 더 자세한 내용을 사용할 는 있지만 :-)
Mawg는 Monica Monica

2
@Mawg는 물론 불쾌합니다 :). 나는 실제로 질문을 어디에 둘 것인지 생각하는 데 시간을 보냈다 ... 나는 전에 더 많은 질문을 구체화하려고 노력했다.
urnenfeld

답변:


10

다음 서비스를 살펴보십시오.

이 두 서비스는 장치에서 간단한 키 / 값 데이터를 받아들입니다. 나는 당신이 그것을 언급 한 이후 파티클 장치를 위해 가져올 라이브러리를 가지고 있다고 생각합니다.


7

Amazon, Microsoft, Google, IBM 등의 많은 클라우드 제공 업체는 센서 데이터를 클라우드로 전송 / 저장 / 분석하는보다 쉬운 방법을 제공하여 IoT 공간을 확보하려고합니다. 심지어 IoT 업체의 범위를 늘리기 위해 하드웨어 공급 업체를 인수해야합니다.

AWS 이외의 서비스는 사용하지 않았으므로 AWS에 대한 내 경험과 프로덕션 사용을 위해이를 통합 한 방법을 설명 할 수 있습니다.


대본:

수백 개의 센서가 각각 1 분마다 184-428 바이트의 데이터를 로컬 게이트웨이로 전송하여 로컬 게이트웨이로 전송합니다.이 게이트웨이는 데이터를 집계하고 로컬로 데이터를 저장하고 동일한 데이터를 AWS 클라우드로 보냅니다. 또한 클라우드에 직접 데이터를 전송하는 특수 센서가 있습니다.

클라우드 서비스

우리는 전체 솔루션을 구축하기 위해 AWS IoT , AWS S3, AWS DynamoDB, AWS Lambda, AWS API Gateway, AWS SNS, AWS Cloudwatch, AWS RedShift를 사용하고 있습니다. 기본적으로 모바일 웹에 사용할 수 있으므로 IoT (AWS IoT 제외)에만 국한되지 않습니다.

게이트웨이는 AWS IoT SDK를 사용하여 MQTT, HTTP 또는 WebSockets 프로토콜을 사용하여 AWS IoT와 메시지를 연결, 인증 및 교환합니다 (우리는 MQTT를 통해 연결하는 노드 JS SDK를 사용하고 있습니다). 디바이스 게이트웨이에서 로컬로 MQTT 브로커이며 수신 한 데이터를 즉시 검사하고 (규칙 엔진, AWS Lambda 함수 사용) S3, Glacier에 보관하여 DynamoDB에 저장합니다 (저장 완료) AWS 트리거를 사용하여 데이터를 저장하는 단일 행을 작성하지 않아도 됨).


6

실험용 또는 테스트 용으로 만 사용되지만 나중에 변경 될 수 있습니다.

그래서 제 제안은 MQTT , 더 정확하게는 모기 구현 을 사용 하는 것입니다. 가입자와 게시자 클라이언트를 연결할 수 있는 테스트 브로커 를 호스팅합니다 . ( Windows 7의 설치 과정에 대한 안내서 는 다음과 같습니다 . )

다음 사항에 유의하십시오.

모든 응용 프로그램에 무료로 사용할 수 있지만 중요한 내용을 남용하거나 사용하지 마십시오. 또한 브로커 재시작에 대처하기 위해 클라이언트를 빌드해야합니다.

그러나 기본적으로이 브로커에 온도 데이터를 게시 할 수 있습니다.

구독자-클라이언트 측에서 최근 에이 Android 응용 프로그램을 사용했습니다 . 그것은 여전히 ​​개발중인 매우 기본적인 응용 프로그램이지만 테스트 목적으로 매우 좋습니다. 수신 된 메시지는 대시 보드에 표시되며 단순한 값은 아닙니다.

나는이 두 가지를 MQTT 학습 과정의 첫 단계로 사용하기 시작했으며 초보자 모두에게 훌륭한 것을 발견했다.


1
MQTT가 LAN 컨텍스트에 더 적합한 솔루션이 아닙니까? 개인 정보 보호 / 보안 / 다중 사용자와 같은 문제가 있습니까?
urnenfeld

@urnenfeld MQTT는 웹 사이트, 모바일 앱 및 "기타 장치"요구 사항을 모두 지원할 수 있습니다. 또한 온도가 아니라 다른 장치에서 데이터를 보내려고하므로 다중 사용자 기능이 다중 게시자 단일 가입자 네트워크 일지라도 다중 사용자 기능은 좋은 IMO입니다. 또한 보안 및 개인 정보 보호는 항상 문제가됩니다. LAN의 경우 아마도 그보다 더 적합하지만 보안을 관리하면이 문제의 전문가가 아닌 어느 곳에서나 브로커를 사용할 수 있습니다.
Bence Kaulics

1
이 테스트 브로커는 테스트 브로커 이므로 실행중인 응용 프로그램에 사용해서는 안됩니다. 그러나 아이디어는 여기 있습니다. 방화벽에서 MQTT 브로커의 포트를 열고 어디에서나 연결할 수 있습니다.
Goufalite

죄송하지만 OP는 데이터 를 저장 하려고합니다 . MQTT는 메신저 일 뿐이지 만이를 사용하여 데이터를 전용 서버로 보낼 수 있습니다. 값을 검색하려면 클라이언트가 MQTT로 조회를 보내서 발행을 통해 값을 검색해야합니다. MQTT는 훌륭하지만 여기에는 웹 서비스가 더 좋습니다.
Goufalite

@Goufalite 예, 데이터 저장이 더 복잡합니다.
Bence Kaulics

5

여기에는 두 가지 구성 요소가 있습니다.

  1. 데이터를 어떻게 저장 하시겠습니까? 모든 요구에 실제로 맞는 "일반적인"데이터 서비스를 만드는 실제 방법은 없습니다. 원하는 것을 "시계열 데이터베이스"라고 하며, 데이터 저장 방법에 대한 모든 세부 사항이 중요하기 때문에 수백 개가 있습니다. (규모가 없으면 오래된 데이터베이스에 저장하면 잠시 동안 작동합니다.)

    각 시계열 데이터베이스는 다른 시계열이 원하는대로 정확하게하지 않았기 때문에 작성되었습니다. 예를 들어, Graphite 가 데이터를 저장 하는 방법을 고려하십시오 . 모든 메트릭 (예 : 한 소스의 온도)은 고정 크기 파일에 저장됩니다. 얼마나 자주 메트릭을 보내거나 얼마나 오래 보내든 파일 크기는 일정합니다.

    단점은 오래된 데이터의 해상도가 낮아지고 설정된 간격 (예 : 1 년) 후에 데이터가 삭제된다는 것입니다. 그러나 단점은 1 년에 한 번 그래프를 작성하는 것이 빠르며 시간이 지남에 따라 메트릭스의 크기가 커지지 않는다는 것입니다.

    다른 스토리지 시스템에서 1 년 동안 그래프를 생성하면 수백만 개의 데이터 포인트를 가져 오는 것이 수반되며 대량의 데이터 스토리지가 필요할 수 있습니다.

    Graphite의 큰 단점은 모든 측정 항목이 새 파일을 생성하므로 동적 측정 항목 (클라우드 박스가 오가는 등)이있는 경우 적합하지 않을 수 있습니다.

    메트릭이 대부분 시간별로 저장되는 Prometheus 와 대조하십시오 . 동적 메트릭을 많이 가질 수 있으며 괜찮습니다. 그러나 이러한 메트릭을 장기적으로 저장하지 마십시오. 다시 돌아가서 읽어야하는 시간이 오래 걸립니다.

    하나의 크기는 모두 적합하지 않습니다.

    PS Graphana 는 데이터를 시각화하는 훌륭한 방법입니다. 대부분의 시계열 데이터베이스를위한 플러그인이 있습니다.

  2. 누가 데이터를 저장하려고합니까? 있다 수천장소사람 당신이 언급은. 클라우드에서 시계열 DB를 시작하는 것은 쉽지만 실제로 돈을 버는 것은 매우 어렵습니다.이 회사들 중 상당수는 잠시 후에 사업을 중단하거나 가격을 책정합니다. (가격을 꾸준히 유지하는 것조차도 가격 이 비싸다. 컴퓨팅 비용 이 지속적으로 내려 가기 때문에) 가격 모델 변경). 모든 사람의 데이터를 저장하는 데 많은 비용이 듭니다.

    자체 호스팅을 권장하거나 AWS CloudWatch 와 같은 평판이 좋은 클라우드 공급자를 사용하는 것이 좋습니다 . (매트릭스가 많지만 50 개 미만의 메트릭에는 무료입니다!)


아이디어는 "천개의 장소"중에서 최고를 얻는 것이 었습니다. 난 이미 언젠가 여기에 게시 할 예정 모음 (심지어 내 자신의 일을) 수집 한
urnenfeld

3

uBeac 은 우리가 개발 한 새로운 프리웨어 시각화 도구이며 베타 버전입니다. 오픈 소스는 아니지만 완전 무료입니다.

게이트웨이를 정의 할 수 있으며 고유 한 URI를 얻게됩니다. 게이트웨이 또는 장치에서 URI를 설정하여 HTTP / MQTT 데이터를 보낼 수 있습니다.

다음은 그 기능 중 일부입니다.

  • 팀, 건물, 평면도 정의
  • 실시간 데이터 시각화
  • 다른 위젯을 사용하는 맞춤형 대시 보드 디자인
  • 센서 유형, 단위 및 접두사 정의 맵 시각화
  • ...

일반 Json 데이터 형식과 다른 사전 정의 된 게이트웨이도 지원합니다. 사전 정의 된 페이로드 형식을 사용하지 않으려는 경우 사용자 정의 페이로드 처리를 개발하기 위해 열려 있습니다.


@Amir 님, 안녕하세요. 지금까지 답변이 서로 중복되어 제품을 홍보하는 것으로 나타났습니다. 제품의 관련성에 대한 답변은 괜찮지 만 도움말 센터 의 자체 프로모션 지침 을 반드시 읽으십시오 . 또한 제품을 홍보하는 것이 아니라 실제로 질문에 완전히 대답 할 수 있도록 동일한 텍스트를 게시하지 않고 해당 질문에 대한 답변을 조정하는 것이 좋습니다. 감사.
Aurora0001

1

여기에 언급 된 Dweet 에 아무도 놀랐습니다 . 이것은 사물을 전달하는 매우 간단하고 재미있는 방법입니다. 무료이기 때문에 꼭 사용해보십시오!


1
실제로 제안되었지만 적당히 제거했습니다. 이 서비스의 멋진 점 중 하나는 등록 할 필요가 없으며 데이터의 일부 플롯을 보여줍니다. 상대방의 데이터는 꽤 공개적이다 :)
urnenfeld

0

flespi 는 무료 및 상업용 클라우드 서비스를 제공합니다.

의무 면책 조항 : 나는 flespi 플랫폼을 개발하는 회사에서 일하고 있습니다. 인터넷에서 항상 객관성을 유지하기 위해 최선을 다했지만이 답변의 모든 정보를 다시 확인하여 결정에 영향을 줄 수있는 편견을 배제하십시오.


서비스를 추천 할 때 서비스와의 연결을 다시 선언하십시오 (예 : flespi를 위해 일하는 경우)
hardillb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.