휴대용 장치로 측정 한 바이오 센서 EEG/ECG 데이터를 표시하려는 프로젝트에서 작업 중입니다 (예 : Wifi 또는 Bluetooth를 통한 무선 데이터 전송이 가능한 마이크로 컨트롤러). 이 목적을 위해, 나는 많은 또는 일부 장치가 RESTful interfaces을 사용하는 것처럼 보이는 휴대용 장치/마이크로 컨트롤러와 인터페이스해야하지만 소켓도 제공해야합니다.haskell의 ECG/EEG 센서 데이터를위한 RESTful 인터페이스
wifi가있는 마이크로 컨트롤러의 한 예는 WiFi 액세스 온보드를위한 cortex m3 및 CC3000 무선 컨트롤러를 기반으로하는 "spark.io"입니다. 전송되는 데이터는 초당 500-1000 개의 부동 소수점 값으로 REST 클라이언트에 가능한 한 지연없이 도착해야합니다. 아마 RESTFul 인터페이스를 기반으로 한 접근법을 테스트하고 싶다. (RESFul 인터페이스를 통해 데이터를 전송하는 것이 매우 보편적이며 좋은 라이브러리 지원을하는 것처럼 보인다.)
질문 : REST 인터페이스를 통해이 인터페이스와 인터페이스하는 (거의 실시간에 가까운) 구현 방법에 대한 최상의 접근 방법은 무엇입니까?
나는이 문제가 전에 해결되었다고 확신하지만, 이것을 설명하는 Google 학자 또는 기술/과학 블로그 게시물을 통해 신속하게 찾을 수 없습니다. 내가 찾은 유일한 링크는 "rest hooks"이지만, 이것이 좋은 접근 방법인지 확실하지 않습니다. SE에 대한 검색은 이것에 대한 과거의 질문을 밝히지 않았다.
사이드 노트 : 내 접근 방식은 먼저 RESKT 인터페이스의 디자인과 성능을 테스트하기 위해 인터페이스를 haskell에 구현하는 것입니다. 나중에 작동 방식을 Java/Android/spark.io/다른 마이크로 컨트롤러로 이식하거나 구현해야합니다.
(이 질문은 전적으로 아키텍처에 관한 것이지만 haskell 라이브러리 또는 기타 사항에 대해서는 전혀 언급하지 않습니다.) REST를 사용하는 것이 가장 멍청한 경우, 인수로 응답하는 것으로 받아 들일 것입니다. "spark.io"과 같은 일반적으로 마이크로 컨트롤러 웹 인터페이스와 API는 REST를 통해 구현되는 경우 일반적으로 어리석은 생각입니다. 그렇습니까? 그렇다면 "거의 실시간"의 정의는 REST 인터페이스는 좋지 않으므로 다른 센서를 사용하는 것이 좋습니다. 예 : 1 분당 하나의 센서 읽기 또는 1/10 초, 1/100 초, 1/1000 초, 1/1000 초)
REST가 실시간 모니터링을위한 좋은 패러다임이라고 생각하지 않습니다. –
질문에 언급 된대로 동의합니다. @protonfish : 당신은 무엇이 최선의 선택이라고 생각합니까? 이론적으로는 할 수 있습니까? 그렇다면, 그것을 사용하기위한 필수 조건이라면 REST에서 어떻게 할 수 있습니까? – mrsteve
모든 센서 값은 밀리 초 단위 (또는 마이크로 초 단위)의 ID를 가질 수 있으므로 ID가 정렬됩니다. REST API는 마지막으로 측정 된 센서 값의 ID를 제공 할 수 있습니다. 또한, REST API는 두 ID 사이에서 발생하는 센서 결과를 제공 할 수 있습니다 (예 : GET fromID = .... & toID = ...). 그런 다음 REST 인터페이스를 0.1 초마다 폴링하면 500 또는 1000을 수신 할 수 있어야합니다 초당 부동 값. 이 프로젝트는 연구 프로젝트이므로 주어진 시간에 둘 이상의 클라이언트 (또는 서버)가 있다고 가정하지는 않습니다. – mrsteve