특히 "IoT"개념이 최근에 많이 떠 올랐기 때문에 이것은 내가 생각했던 주제입니다.
"IoT" 라고 말할 때의 의미부터 시작하겠습니다 . 나는 IoT라는 용어가 다른 것을 의미 할 수 있으며 때때로 잘못 사용된다는 것을 알고 있습니다. 그것은 명확하게 정의되지 않은 용어 일 수 있으며 그것이 정확히 무엇을 의미하는지에 대해 큰 토론을 이끌어 낼 수 있습니다. 저에게 IoT는 개념, 즉 다른 임베디드 장치 나 휴대 전화에서 인터넷을 통해 원격으로 임베디드 장치에 연결하는 기능을 정의하는 개념입니다 . 저것과 같이 쉬운.
이러한 맥락에서 연결의 목적은 중요하지 않습니다. 사무실의 한 장치를 집의 다른 장치와 연결할 수 있거나 휴대 전화에서 집의 한 장치에 인터넷을 통해 연결할 수있는 경우, 우리는 IoT 장치 (전화가 아닌 내장 된 장치) 에 대해 이야기하고 있습니다.
따라서 IoT의 의미에 동의 한 후 이제 달성하려는 내용을 설명하겠습니다.
내가 달성하려는 것은 정확하게 내가 IoT에 대한 정의에 기술 한 것입니다.
이더넷 또는 Wi-Fi로 인터넷 라우터에 연결된 하나 이상의 내장형 장치를 집에 있고 원격 위치의 다른 내장형 장치와 원격으로 연결할 수 있기를 원합니다 (원격으로 같은 네트워크에 있지 않음) 휴대 전화의 모니터링 앱을 사용하여 연결될 수도 있습니다.
예를 들어, 차고 도어 오프너에 연결된 온 / 오프 스위치 역할을하는 간단한 내장형 장치와 직장에서 책상에 큰 빨간 버튼 역할을하는 다른 내장형 장치가있어 책상의 빨간 버튼을 누를 수 있습니다. 차고 문이 열립니다.
또 다른 예는 우리 집의 온도를 모니터링하고 임계 값에 도달하면 경고를 보낼 수있는 ADC 기능을 갖춘 내장형 장치를 사용하는 것입니다. 알림은 간단한 안드로이드 앱이나 직장에 책상에 작은 화면이있는 다른 내장 장치로 수신 할 수 있습니다.
이 예제는 어리석은 것이지만 가능한 시나리오를 설명하고 내가 달성하려는 것에 대한 사용 사례를 설명하기위한 것입니다. 결국 아이디어는 동일합니다. 인터넷을 통해 하나의 임베디드 장치를 다른 임베디드 장치에 연결하십시오.
명확히해야 할 또 다른 사항은 이러한 장치 간의 데이터 교환이 매우 가볍고 매번 몇 바이트에 불과하므로 장치간에 수백 킬로바이트를 교환 할 필요는 없다는 것입니다.
또한 필자가 언급 한 "임베디드 장치"는 100MHz 또는 200MHz cortex-m4 마이크로 컨트롤러를 기반으로하는 단순하지만 성능이 뛰어난 장치입니다. 그리고 그러한 장치에서 실행되는 Linux 또는 복잡한 라이브러리가 없으므로 명확하게 설명해야합니다. 결국, 자원을 낭비하고 전구를 켜고 끄기 위해 Linux를 실행하는 강력한 프로세서를 갖출 필요는 없습니다 . 어쨌든 나는 BeagleBoard, Raspberry Pi 또는 이와 같은 다른 보드를 내장 장치로 사용할 계획입니다. 그 이상의 복잡성이 필요하지 않기 때문에 마이크로 컨트롤러 만 있으면됩니다.
IoT 플랫폼과 복잡한 솔루션에 대해서는 잘 모릅니다. 인터넷을 통해 하나의 임베디드 장치를 다른 임베디드 장치와 연결하는 방법을 찾기위한이 여정을 시작했을 때 IoT 서비스를 제공하는 두 사이트를 발견했습니다.
다음과 같은 IoT 클라우드 서비스가 있다는 것을 알고 있습니다.
몇가지 말하자면. 이러한 문제의 주요 문제는 비용과 복잡성입니다. 당신은 그 서비스를 얻기 위해 비용을 지불해야하며 또한 당신이 그들 모두를 필요로하는 경우, 그들이 가지고있는 모든 서비스와 API 및 아마도 나에게 필요하지 않은 다른 것들을 구현하는 방법을 배워야합니다. 장치간에 약간의 바이트를 교환 할 수 있습니다. 나는 그보다 더 단순한 것을 원합니다.
내 자신의 "클라우드"를 구현해야하는 것이 간단하지 않으며 간결성을 위해 이러한 종류의 서비스를 사용하는 것이 더 낫지 만 어떻게해야하는지 알고 싶은 두 가지 주요 이유가 있다고 말할 수 있습니다. 나만의 IoT 서비스를 구현하십시오.
주된 이유는 내가 직접하고 싶어하기 때문입니다. 내 장치를 서로 연결하기 위해 타사에 의존하고 싶지 않으며 장치의 코드와 하드웨어를 개발할 예정이므로 IoT 장치로 연결하는 고유 한 수단을 만드는 것이 좋습니다.
두 번째 이유는 방법을 배우는 것입니다. 이를 달성하는 데 필요한 모든 것을 알고 IoT 세계에 대해 더 잘 이해할 것입니다.
또한 저는 C에 능숙하다고 말하고 싶습니다. 나는 직장뿐만 아니라 집에서도 일상적인 OS로 Linux를 사용하고 있습니다. 임베디드 장치를 위해 C로 구현하거나 Linux에서 목표를 달성하는 데 필요한 모든 것을 구현하기 위해 구현해야 할 것이 무엇인지 두려워하지 않습니다.
그래서 제 질문은 둘 이상의 임베디드 장치를 서로 데이터 교환을 목적으로 서로 연결할 수 있어야하고 구현 해야하는 곳은 무엇입니까?
이 질문 자체 서버에서 IoT를 만드는 데 무엇을 사용할 수 있습니까? 비슷한 것을 가지고 있지만 닫혀 있고 아무런 대답이 없으며 이미 존재하는 클라우드 인프라를 사용한다고 가정합니다. 그래서 그것은 도움이되지 않습니다.
이 글 은 클라우드에서 일반 데이터를 저장 / 전송 / 게시하기 위해 어떤 IoT 서비스를 사용할 수 있습니까? 비슷한 질문이 있지만 OP는 IoT 서비스를 명시 적으로 요구하고 있으며 피하려고합니다.