2017-02-20 6 views
-1

나는 Arduino와 이더넷을 통해 서로 통신하는 Android 앱을 가지고있다. arduino는 아래와 같이 일부 값과 ID 만 가진 매우 간단한 웹 페이지를 보여줍니다.안드로이드를위한 "최고의"방법 이더넷을 통한 Arduino 통신

$1$201 //Value 1 ($1$): Temperature 20.1 degrees 
$2$66 //Value 1 ($2$): Humidity 66% 
$2$1 //Value 2 ($2$): Heating relay is on (1) 
etc. up to 50 values 

안드로이드 응용 프로그램은 HTTP 요청을 얻을 사용하여 문자열로이 웹 페이지에서 데이터를 읽어 데이터를 필터링하여 사용자 정의 만든 화면에 값을 보여줍니다. arduino에 일부 데이터를 보내 일부 설정을 변경하거나 릴레이 또는 다른 것을 전환하는 것도 가능합니다. 당신은 보온 장치의 일종으로 볼 수 있습니다. 여태까지는 그런대로 잘됐다.

"문제"는 단추를 사용하여 수동으로 데이터를 업데이트해야한다는 것입니다. 질문 : 자동으로 값을 업데이트하려면 어떻게해야합니까?

몇 초 (폴링)마다 httpRequest를 보내려고했지만 데이터가 많이 사용 된 것 같아서 갈 길이 멀지는 않습니다.

누가 좋은 해결책이 될 것이라고 조언 해줄 수 있습니까?

감사합니다,

바스

답변

0

는 여기에서 '가장 좋은'선택은 당신의 목표에 따라 달라집니다. 폴링은 클라이언트 (안드로이드) 측에서 구현하기 쉽습니다. 당신은 당신의 어플리케이션이 얼마나 많은 양의 데이터를 사용할지를 비교하는 데 필요한 '신선함'에 따라 최적의 폴링 시간을 실험 할 수 있습니다. 또는 Arduino의 프로세서가이를 실행하는 데 필요한 전력을 갖거나 갖지 않을 수도 있음을 명심하여 ArduinoWebsocketServer과 같은 http 소켓 서버를 찾거나 구현할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 내 목표는 내 앱이 열릴 때마다 5 초마다 데이터를 업데이트하는 것입니다. 현재 수동으로 하루에 최대 50 번까지 업데이트하고 내 모바일 데이터 사용량은 한 달에 10MB 이상입니다. 원시 데이터가 0.5 kb보다 작을 때도 ... 폴링이 갈 길이 멀지 않은 것 같은 느낌이 들었습니다. 그건 그렇고 ... http 요청이 너무 많은 데이터를 사용하거나 다른 뭔가 잘못 될 수있는 것은 정상적인가요? 감사합니다 – Bass82

+0

arduino가 제공하는 html 응답을 게시하여 최적화를 볼 수 있습니까? 아마도 arduino가 전체 웹 페이지를 제공하는 것보다는 작은 json blob을 제공하고 클라이언트가 렌더링하도록 할 수 있습니다. – aylr