ÀÌ´õ³Ý W5100 ³×Æ®¿öÅ© È®Àå ¸ðµâÀ» »ç¿ëÇϸé rduino¸¦ °£´ÜÇÑ À¥ ¼¹ö·Î ¸¸µé°Å³ª ³×Æ®¿öÅ© Á¦¾î¸¦ ÅëÇØ rduino µðÁöÅÐ ¹× ¾Æ³¯·Î±× ÀÎÅÍÆäÀ̽º ¹× ±âŸ ³×Æ®¿öÅ© ÀÀ¿ë ÇÁ·Î±×·¥À» Àаí ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´õ³Ý ¶óÀ̺귯¸® ÆÄÀÏ¿¡¼ id¸¦ Á÷Á¢ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °£´ÜÇÑ À¥ ¼¹ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
È®Àå º¸µå´Â ½ºÅà Çü µðÀÚÀÎÀ» »ç¿ëÇÏ°í rduino¿¡ Á÷Á¢ »ðÀÔ ÇÒ ¼ö ÀÖÀ¸¸ç ´Ù¸¥ È®Àå º¸µåµµ »ðÀÔ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
# Æ÷ÇÔ
/*
* À¥ ¼¹ö
*
* ¾Æ³¯·Î±× ÀÔ·Â ÇÉÀÇ °ªÀ» º¸¿©ÁÖ´Â °£´ÜÇÑ À¥ ¼¹ö.
*/
# Æ÷ÇÔ
¹ÙÀÌÆ® ¸Æ [] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
¹ÙÀÌÆ® ip[] = { 192, 168, 1, 15 };
ÀÌ´õ³Ý ¼¹ö ¼¹ö (80)
Void ¼³Á¤ ()
{
ÀÌ´õ³Ý. ½ÃÀÛ (mac, ip),
¼¹ö. ½ÃÀÛ ();
}
Void ·çÇÁ ()
{
ÀÌ´õ³Ý Ŭ¶óÀ̾ðÆ® = ¼¹ö. »ç¿ë °¡´É ();
(Ŭ¶óÀ̾ðÆ®)
// http ¿äûÀº ºó ÁÙ·Î ³¡³³´Ï´Ù.
Boolean current_line_is_blank = true;
While (Ŭ¶óÀ̾ðÆ®. ¿¬°áµÊ () {
If (Ŭ¶óÀ̾ðÆ®. »ç¿ë °¡´É () {
Char c = Ŭ¶óÀ̾ðÆ®. Àбâ ();
// ȸ¼±ÀÌ ³¡³ª¸é (½Å±Ô ȸ¼±À» ¹Þ¾Ò½À´Ï´Ù)
// ¹®ÀÚ) ¹× ÁÙÀÌ ºñ¾î ÀÖ°í http ¿äûÀÌ Á¾·áµÇ¾ú½À´Ï´Ù.
// ´äÀåÀ» º¸³¾ ¼ö ÀÖµµ·Ï
If (c = = `n` & & current_line_is_blank) {
// Ç¥ÁØ http ÀÀ´ä Çì´õ º¸³»±â
Ŭ¶óÀ̾ðÆ®. println("HTTP/1.1 200 OK"),
Ŭ¶óÀ̾ðÆ®. println("ÄÜÅÙÃ÷ À¯Çü: text/html");
Ŭ¶óÀ̾ðÆ®. println();
// °¢ ¾Æ³¯·Î±× ÀÔ·Â ÇÉÀÇ °ª Ãâ·Â
Ŭ¶óÀ̾ðÆ®. Àμâ ("tinyos ÀüÀÚ ÀåÄ¡¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù"),
Ŭ¶óÀ̾ðÆ®. println("
");
Ŭ¶óÀ̾ðÆ®. Àμâ ("// *************************************");
Ŭ¶óÀ̾ðÆ®. println("<br />");
Ŭ¶óÀ̾ðÆ®. Àμâ ("");
Ŭ¶óÀ̾ðÆ®. println("<br />");
Ŭ¶óÀ̾ðÆ®. Àμâ ("// *************************************");
Ŭ¶óÀ̾ðÆ®. println("<br />");
For (int i = 0; i < 6; i ++)
Ŭ¶óÀ̾ðÆ®. Àμâ ("¾Æ³¯·Î±× ÀÔ·Â");
Ŭ¶óÀ̾ðÆ®. Àμâ (i);
Ŭ¶óÀ̾ðÆ®. Àμâ ("is");
Ŭ¶óÀ̾ðÆ®. Àμâ (¾Æ³¯·Î±× Æеå (i);
Ŭ¶óÀ̾ðÆ®. println("<br />");
}
ÈÞ½Ä;
}
If (c = = `n`)
// ¿ì¸®´Â »õ·Î¿î ÁÙÀ» ½ÃÀÛÇÏ°í ÀÖ½À´Ï´Ù
Current_line_is_blank = true
} ±×·¸Áö ¾ÊÀº °æ¿ì (c != `r`) {
// ÇöÀç ¶óÀο¡ ij¸¯ÅÍ°¡ ÀÖ½À´Ï´Ù
Current_line_is_blank = false
}
}
}
Ŭ¶óÀ̾ðÆ®. Á¤Áö ();
}
}