Title
아두이노 예제
2017.02.07 17:11

WiFi Library - WiFi Chat Server

조회 수 158 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

모든 연결된 메시지를 연결된 모든 클라이언트에 배포하는 단순한 서버입니다. 사용하려면 터미널 창을 열고 Wi-Fi실드의 IP주소를 입력한 다음 기다리시면 됩니다. 들어오는 모든 텍스트는 연결된 모든 클라이언트(입력한 바이트 포함)로 전송됩니다. 또한 직렬 모니터에서도 클라이언트의 입력을 확인할 수 있습니다.

 

Hardware Required


  • Arduino WiFi Shield
  • Shield-compatible Arduino board

 

Circuit


WiFi실드는 HDG104 모듈에 대한 SPI 연결을 위해 핀 10,11,12및 13을 사용합니다. 디지털 핀 4는 SD카드의 슬레이브 선택 핀을 제어하는 데 사용됩니다.

 

이예제를 위하여 802.11 b/g의 무선네트워크에 액세스할수 있는 권한이 있어야 합니다. 특정 네트워크 SSID와 일치하도록 스케치의 네트워크 설정을 변경해야 합니다.

 

WPA/WPA2 PersonalEncryption을 사용하는 네트워크에서는 SSID와 암호가 필요합니다. 이 실드는 WPA2엔터프라이즈 암호화를 사용하여 네트워크에 연결되지 않습니다.

 

WEP네트워크 암호는 키로 알려진 16진수 문자열입니다. WEP네트워크는 4개의 다른 키를 가질 수 있다. 각 키는 "키 인덱스"값을 할당합니다. WEP암호화된 네트워크의 경우 SSID, 키 및 키 번호가 필요합니다.

 

91.png

 

상기 이미지에서 Arduino는 WiFi실드 아래에 쌓일 것입니다.

 

Code


/*
 Chat  Server
 
 A simple server that distributes any incoming messages to all
 connected clients.  To use telnet to  your device's IP address and type.
 You can see the client's input in the serial monitor as well.
 
 This example is written for a network using WPA encryption. For 
 WEP or WPA, change the Wifi.begin() call accordingly.
 
 
 Circuit:
 * WiFi shield attached
 
 created 18 Dec 2009
 by David A. Mellis
 modified 31 May 2012
 by Tom Igoe
 
 */

#include <SPI.h>
#include <WiFi.h>

char ssid[] = "yourNetwork"; //  your network SSID (name) 
char pass[] = "secretPassword";    // your network password (use for WPA, or use as key for WEP)

int keyIndex = 0;            // your network key Index number (needed only for WEP)

int status = WL_IDLE_STATUS;

WiFiServer server(23);

boolean alreadyConnected = false; // whether or not the client was connected previously

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600); 
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
  
  // check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present"); 
    // don't continue:
    while(true);
  } 
  
  // attempt to connect to Wifi network:
  while ( status != WL_CONNECTED) { 
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:    
    status = WiFi.begin(ssid, pass);

    // wait 10 seconds for connection:
    delay(10000);
  } 
  // start the server:
  server.begin();
  // you're connected now, so print out the status:
  printWifiStatus();
 }


void loop() {
  // wait for a new client:
  WiFiClient client = server.available();


  // when the client sends the first byte, say hello:
  if (client) {
    if (!alreadyConnected) {
      // clead out the input buffer:
      client.flush();    
      Serial.println("We have a new client");
      client.println("Hello, client!"); 
      alreadyConnected = true;
    } 

    if (client.available() > 0) {
      // read the bytes incoming from the client:
      char thisChar = client.read();
      // echo the bytes back to the client:
      server.write(thisChar);
      // echo the bytes to the server as well:
      Serial.write(thisChar);
    }
  }
}


void printWifiStatus() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  // print your WiFi shield's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
193 아두이노 예제 WiFi Shield 101 Library - WiFi Web Client file 귀욤둥이 2017.02.07 123
192 아두이노 예제 WiFi Shield 101 Library - UDP NTP Client file 귀욤둥이 2017.02.07 113
191 아두이노 예제 WiFi Shield 101 Library - Simple Web Server WiFi file 귀욤둥이 2017.02.07 166
190 아두이노 예제 WiFi Shield 101 Library - Scan Networks file 귀욤둥이 2017.02.07 191
189 아두이노 예제 WiFi Shield 101 Library- Connect With WPA file 귀욤둥이 2017.02.07 227
188 아두이노 예제 WiFi Shield 101 Library - Connect With WEP file 귀욤둥이 2017.02.07 142
187 아두이노 예제 WiFi Shield 101 Library - Connect No Encryption file 귀욤둥이 2017.02.07 172
186 아두이노 예제 WiFi Library - WiFi Send Receive UDP String file 귀욤둥이 2017.02.07 218
185 아두이노 예제 WiFi Library - WiFi Web Server file 귀욤둥이 2017.02.07 121
184 아두이노 예제 WiFi Library - WiFi Web Client Repeating file 귀욤둥이 2017.02.07 201
183 아두이노 예제 WiFi Library - WiFi Web Client file 귀욤둥이 2017.02.07 176
» 아두이노 예제 WiFi Library - WiFi Chat Server file 귀욤둥이 2017.02.07 158
181 아두이노 예제 WiFi Library - UDP NTP Client file 귀욤둥이 2017.02.07 181
180 아두이노 예제 WiFi Library - Simple Web Server WiFi file 귀욤둥이 2017.02.07 105
179 아두이노 예제 WiFi Library - Scan Networks file 귀욤둥이 2017.02.07 93
178 아두이노 예제 WiFi Library - Connect With WPA file 귀욤둥이 2017.02.07 102
177 아두이노 예제 WiFi Library - Connect With WEP file 귀욤둥이 2017.02.07 123
176 아두이노 예제 WiFi Library - Connect No Encryption file 귀욤둥이 2017.02.07 100
175 아두이노 예제 TFT Library(ESPLORA) - Esplora TFT Temp file 귀욤둥이 2017.02.07 93
174 아두이노 예제 TFT Library(ESPLORA) - Esplora TFT Pong file 귀욤둥이 2017.02.07 123
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11