2013-01-13 2 views
0

전적으로 웹 개발에 익숙하지 않으므로이 질문이 불필요한 경우를 대비하여 저를 용서하십시오. 다음은 내가 수행하려고 시도한 것입니다. 센서 및 LCD 화면을 사용하여 데이터를 수집하고 표시하는 여러 개의 Arduinos (EthernetShield가 장착 됨)가 있습니다. 모든 Arduinos는 MySQL 데이터베이스를 호스팅하는 웹 서버와 데이터를 시각화하는 웹 페이지와 통신합니다. Arduinos는 스스로 간단한 html/php/etc를 실행할 수있는 최소한의 웹 서버를 호스팅 할 수 있습니다 ...서버 간의 간단한 데이터 교환

내 질문은 : Arduinos와 주 서버 간의 통신을 구현하는 가장 간단한 방법은 무엇입니까? 사용자 상호 작용없이 데이터를주고받을 수 있습니까? 데이터는 비교적 적은 정수 값과 짧은 텍스트 문자열로 구성됩니다. 보안은 문제가되지 않습니다.

명확성을 위해 편집 : 두 웹 서버간에 연속적으로 데이터를주고받는 방법은 무엇입니까? PHP를 사용한다고 가정 할 때이 작업을 수행하는 간단한 방법은 무엇입니까? GET 및 POST 메서드에 대한 모든 자습서에는 사용자 상호 작용이 필요한 이해를 돕는 '양식 작업'이 포함되어 있습니다.

+0

귀하의 질문을 명확하게 이해하고 있는지 잘 모르겠지만 php에 내장 된 MySQL API가 있습니다. 그리고 당신은 자바 스크립트 (JQuery) 만 사용하여 서버와 상호 작용할 수 없으며, 그 목적을 위해 여전히 약간의 백엔드 (php)가 필요합니다. – YemSalat

+0

GET 및 POST와 사용자 상호 작용이 필요한 이유는 무엇입니까? JS를 사용하여 이러한 요청을 생성 할 수 없습니까? 위에서 언급했듯이 JS에서는 모든 것을 할 수는 없습니다. 백엔드가 필요합니다 – mariosk89

+0

PHP에서'CURL'을 사용하여 다른 서버와주고받습니다. – charlietfl

답변

1

나는 당신이 맞다면, 당신은 arduinos의 전체 무리와 통신 할 필요가 중앙 웹 서버가 있습니다. arduinos와 중앙 서버 사이에서 양방향으로 정보를 전송해야합니다. 그리고, 당신은 이것을하기 위해 웹 (http/tcp/ip) 프로토콜을 사용하기를 원합니다.

선택의 여지가 있습니다 :
중앙 서버에서 통신을 시작 하시겠습니까? 아니면 각 arduino에게 통신을 시작하게 하시겠습니까?

제 2의 선택이 꽤 좋다고 생각합니다. 즉, 중앙 서버를 재구성하지 않고도 시스템에 새로운 arduin을 추가 할 수 있습니다. 하지만, 나는 당신의 어플리케이션에 대해 많이 알지 못하기 때문에 이것이 나쁜 생각 일 수 있습니다.

그래서, 당신은 각 arduino에 간단한 웹 클라이언트 (브라우저 아님)를 구현하는 것입니다. 그런 다음 정기적 인 일정에 따라 각 서버에 웹 요청을 보내십시오. arduino에서 서버로 보내는 데 필요한 데이터의 양에 따라 GET 또는 POST를 사용할 수 있습니다. 데이터가 작은 경우 GET 요청을 사용할 수 있습니다. 예를 들어 온도와 습도라면 1 초에 한 번씩 요청을 보낼 수 있습니다.

http://server/upload.php?temp=65&humidity=78 

이에 대한 응답으로 중앙 서버는이 데이터를 올바르게 처리 할 수 ​​있습니다. 당신은 클라이언트의 인터넷 주소 인 REMOTE_ADDR에 의해 어느 arduino인지 알 수 있습니다.

그런 다음 서버는 arduino에 보낼 서버의 모든 데이터가 포함 된 응답을 보냅니다.

자세히보기 각 arduino는 웹 서버에 두 번째로 "여기 내가 당신을 위해 가지고있는 것이 있습니다. 나를 위해 무엇을 얻었습니까?"라고 말합니다.

+0

감사합니다. –

관련 문제