이것은 매우 광범위한 질문이지만, 당신뿐만 아니라 다른 사람들에게도 유용한 몇 가지 일반적인 지침을 제공하려고 노력할 것입니다 (따라서 이미 알고있는 것을 게시하면 사과드립니다).
센서 읽기에 대해 문의하는 경우 이는 원격 측정 이며 반드시 IoT 일 필요 는 없습니다. 독립형 PC에서 일부 측정을 읽고 표시하는 많은 프로젝트를 코딩했습니다.
연결된 하드웨어를 제어하려는 경우 SCADA 입니다. 다시, 반드시 인터넷에 연결될 필요는 없습니다.
다음은 IoT에 대한 전반적인 느낌을주는 SCADA 다이어그램입니다. 다이어그램 의 PLC 는 IoT 지원 장치의 센서 및 컨트롤입니다.
하드웨어 권장 사항 에서 센서 및 컨트롤러에 대한 하드웨어 권장 사항 을 요청할 수 있습니다 .
또한 코드가 있으면 Stack Overflow 에서 문제에 대한 조언을 얻을 수 있습니다 .
일반적으로 IoT for industry는 클라이언트 / 서버 모델과 관련되며 클라이언트는 하드웨어 장치를 측정 / 제어하고 서버에서 명령을보고 / 수신합니다. 서버에는 일반적으로 데이터베이스가 있으며 관리 및 경보에 대한 보고서를 생성 할 수 있습니다 (수신 된 데이터에 따라 원격 하드웨어가 재구성 / 종료하도록 지시 할 수 있음).
휴! 그 길을 벗어난 소개입니다. 이제 손이 더러워졌습니다.
코딩의 핵심에 들어가려면 소켓을 살펴보고 TCP 와 UDP 의 차이점을 이해하십시오 .
다행스럽게도 수십 년 동안 대부분의 까다로운 작업을 라이브러리에 포함 시켰으므로 RESTful 서비스를 읽어 보는 것이 가장 좋습니다. 귀하의 언어에 따라 수많은 무료 온라인 자습서, 코스 및 비디오가 있습니다. C는 전통적인 임베디드 언어이며, 일부는 C ++을 사용하지만 물론 알고 있거나 편안하게 느끼는 것을 사용하십시오. Python은 매우 인기 있고 배우기 쉬우 며 Raspberry Pi의 권장 언어입니다.
개인적으로, 나는 버그를 알아내는 것이 더 쉽기 때문에 컴파일 된 언어를 해석하는 것을 선호하지만 선택은 전적으로 당신에게 달려 있습니다. USB, 이더넷을 통해 주변 장치에 액세스 할 수있는 뛰어난 지원을 제공하며 업계에서 여전히 일반적인 직렬 포트입니다.
서버 측의 경우 전 세계 서버의 90 % 이상이 여전히 PHP에서 실행되고 있습니다. 그러나 현재 JavaScript로만 수행 할 수 있고 두 언어를 배우고 싶지 않은 브라우저 앱을 코딩하는 사람들이 주로 NodeJS를 사용하고 있습니다. 파일 시스템 및 주변 장치에 액세스하는 브라우저 코드에 대한 제한으로 인해 브라우저 기반 IoT 앱을 개발하지 않는 것이 좋습니다 (그러나 스마트 폰을 위해 개발하려는 경우 Cordova 와 같은 것을 언급 할 것입니다).
시작하려면 Raspberry Pi (Python 또는 C로 코딩)를 권장합니다 .
그리고 나는 * 센서 모자를 강력히 추천합니다. 이것은 단지 예일 뿐이지 만 비싸지 않으며 다음을 포함합니다.
- 자이로 스코프 – 각속도 센서 : +/- 245 / 500 / 2000dps 가속도계
- 선형 가속도 센서 : +/- 2 / 4 / 8 / 16g
- 자력계-자기 센서 : +/- 4/8/12/16
- 가우스 기압계 : 260 – 1260 hPa 절대 범위 (정확도는 온도 및 압력, 정상 조건에서 +/- 0.1 hPa에 따라 다름)
- 온도 센서 (0-65 ℃ 범위에서 +/- 2 ℃까지 정확한 온도)
- 상대 습도 센서 (20-80 % rH 범위에서 +/- 4.5 %, 15-40 ℃ 범위에서 +/- 0.5 decC로 정확)
- 8x8 RGB LED 매트릭스 디스플레이
- 작은 5 버튼 조이스틱
그러면 일부 데이터를 수집하여 서버에보고 할 수 있습니다. 데이터를 받고 표시하기 위해 온라인에서 무료 서비스를 찾을 수 있습니다. 다른 SO 사이트에서 일부를 보았지만 어디에 있는지 잊어 버렸습니다.
그러나 아마도 자신의 서버를 코딩하고 싶을 것입니다. 프로그래밍 언어로 PHP를 추천합니다. Linux의 경우 LAMP (Linux, Apache, Mysql & PHP)가 제공됩니다. Windows의 경우 WAMP (Windows… 등) 를 설치해야합니다 .
당신은 선택할 수 있습니다. 저는 산업 응용 분야에서 10 년 이상 XAMPP 를 사용해 왔습니다 . 당신은하지 않습니다 가 ( "육년 전에 내 자신의 SO 질문에 대한 shaless 플러그를, SQLite는 그냥뿐만 아니라 역할을 할 수 MySQL을 사용하는 SQLite는 또는 MySQL이? 결정하는 방법? "). CRUD에 대해서도 배워야 합니다.
클라이언트 / 센서에서 수신 한 데이터를 바탕으로 간단한 명령으로도 명령을 다시 보낼 수 있습니다 ( "온도가 너무 높음"으로 인해 산업 시스템에서 밸브가 닫힐 수 있음).
실시간으로 경보를 발생시킬 수 있습니다 (온도가 너무 높다는 이메일을 보내십시오).
또한 보고서 생성에 대해 생각할 수도 있습니다. 수신 된 데이터를 보여주는 표로 시작하십시오. 차트 또는 더 멋진 것을 고려하십시오. CSV ( Comma Separated Values) 로 내보내는 옵션을 추가 하여 최종 사용자가 추가 분석 및 조작을 위해 데이터를 스프레드 시트로 가져올 수 있습니다.
당신이 경우 않는 당신이 멋진보고 싶어 결정, 당신은 할 수 있습니다 내가 지금 브라우저에서 보고서 물건 클라이언트 측의 많은 일을 이동 한 것을 몇 년 후, PHP에서 그것을 할,하지만.
일반적으로 원칙을 보려면 단일 페이지 애플리케이션 및 AJAX에 대한 개요를 얻으십시오 . 나는 개인적으로 많은 연구를하고 프로그래밍 언어로 Google의 AngularJS 를 선택 했지만 ( 자습서 가 많고 지원 이 많음 ) 자유롭게 JS, Jquery 등을 자유롭게 사용할 수 있습니다.
브라우저를 코딩하기로 결정한 경우 서버 측에서 NodeJ 를 사용해야 하므로 새로운 프로그래밍 언어를 배우면됩니다.
너무 많은 선택? 죄송합니다 :-(
나는 이것이 당신에게 조언을 해주기를 희망하지만, 질문을 자유롭게하고 여기에 빠진 일반적인 조언이 있는지 알려주세요.