?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

아두이노를 이용해 서버로 데이터 전송

페이지 정보

작성자 속도감 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-06-01 00:09 조회1,051회 댓글1건

본문

// Demo using DHCP and DNS to perform a web client request.
// 2011-06-08 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php

#include <EtherCard.h>

// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0xE8, 0x9A, 0x8F, 0xCD, 0xFA, 0xCC };

byte Ethernet::buffer[700];
static uint32_t timer;

const char website[] PROGMEM = "aaa.com";

// called when the client request is complete
static void my_callback (byte status, word off, word len) {
  Serial.println(">>>");
  Ethernet::buffer[off + 300] = 0;
  Serial.print((const char*) Ethernet::buffer + off);
  Serial.println("...");
}

void setup () {
  Serial.begin(57600);
  Serial.println(F("\n[webClient]"));

  if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
    Serial.println(F("Failed to access Ethernet controller"));
  if (!ether.dhcpSetup())
    Serial.println(F("DHCP failed"));

  ether.printIp("IP:  ", ether.myip);
  ether.printIp("GW:  ", ether.gwip);
  ether.printIp("DNS: ", ether.dnsip);

  if (!ether.dnsLookup(website))
    Serial.println("DNS failed");

  ether.printIp("SRV: ", ether.hisip);
}

void loop () {
  ether.packetLoop(ether.packetReceive());

  if (millis() > timer) {
    timer = millis() + 5000;
    Serial.println();
    Serial.print("<<< REQ ");

    ether.hisport=80;
   
    ether.browseUrl(PSTR("/musa/"), "tag=12345", "aaa.com", my_callback);
  }
}

 

다음과 같이 코딩 돼있는데..  (서버는 다른 것으로 넣었습니다.)


 ether.browseUrl(PSTR("/folder/"), "insert.php?tag=12345", "aaa.com", my_callback);

이부분에서  aaa.com과

const char website[] PROGMEM = "aaa.com";

이부분에서 aaa.com 차이를 이해할 수 없어서 질문 드립니다..

그리고 제가 목표하는건 주소창(URL)에 http://aaa.com/folder/insert.php?tag=12345 를 입력하면

http://aaa.com/folder/query.html에 DB가 저장되는 형식인데 이 예제로 가능한지도 궁금합니다!

 

 

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

결과적으로는 거의 같은겁니다. "aaa.com" 대신 website 를 적어도 됩니다. website 변수는 PROGMEM 지시어가 붙어 있어서 플래시 메모리에서 읽어오기 때문에 아주 약간의 RAM 소비를 줄여줍니다.
일단 이더넷 모듈에서 특정 URL(insert.php)에 접속해서 데이터를 넘기면, 나머지 작업은 모두 insert.php 안에 있는 PHP 코드에서 알아서 해야합니다.