티스토리 뷰
728x90
출처 : GitHub - bportaluri/WiFiEsp: Arduino WiFi library for ESP8266 modules
GitHub - Diaoul/arduino-ESP8266: An Arduino library to manage the ESP8266.
WiFiEsp / ConnectWPA,ino
출처 : GitHub - bportaluri/WiFiEsp: Arduino WiFi library for ESP8266 modules
/* WiFiEsp example: ConnectWPA This example connects to an encrypted WiFi network using an ESP8266 module. Then it prints the MAC address of the WiFi shield, the IP address obtained and other network details. For more details see: http://yaab-arduino.blogspot.com/p/wifiesp-example-connect.html */ #include "WiFiEsp.h" // Emulate Serial1 on pins 6/7 if not present #ifndef HAVE_HWSERIAL1 #include "SoftwareSerial.h" SoftwareSerial Serial1(6, 7); // RX, TX #endif char ssid[] = "Twim"; // your network SSID (name) char pass[] = "12345678"; // your network password int status = WL_IDLE_STATUS; // the Wifi radio's status void setup() { // initialize serial for debugging Serial.begin(115200); // initialize serial for ESP module Serial1.begin(115200); // initialize ESP module WiFi.init(&Serial1); // 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 WPA SSID: "); Serial.println(ssid); // Connect to WPA/WPA2 network status = WiFi.begin(ssid, pass); } Serial.println("You're connected to the network"); } void loop() { // print the network connection information every 10 seconds Serial.println(); printCurrentNet(); printWifiData(); delay(10000); } void printWifiData() { // print your WiFi shield's IP address IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); Serial.println(ip); // print your MAC address byte mac[6]; WiFi.macAddress(mac); char buf[20]; sprintf(buf, "%02X:%02X:%02X:%02X:%02X:%02X", mac[5], mac[4], mac[3], mac[2], mac[1], mac[0]); Serial.print("MAC address: "); Serial.println(buf); } void printCurrentNet() { // print the SSID of the network you're attached to Serial.print("SSID: "); Serial.println(WiFi.SSID()); // print the MAC address of the router you're attached to byte bssid[6]; WiFi.BSSID(bssid); char buf[20]; sprintf(buf, "%02X:%02X:%02X:%02X:%02X:%02X", bssid[5], bssid[4], bssid[3], bssid[2], bssid[1], bssid[0]); Serial.print("BSSID: "); Serial.println(buf); // print the received signal strength long rssi = WiFi.RSSI(); Serial.print("Signal strength (RSSI): "); Serial.println(rssi); }
arduino-ESP8266 / Complete.ino
출처 : GitHub - Diaoul/arduino-ESP8266: An Arduino library to manage the ESP8266.
#include <SoftwareSerial.h> #include "ESP8266.h" SoftwareSerial esp8266Serial = SoftwareSerial(6, 7); // RX, TX ESP8266 wifi = ESP8266(esp8266Serial); void setup() { Serial.begin(115200); // ESP8266 esp8266Serial.begin(115200); wifi.begin(); wifi.setTimeout(1000); /****************************************/ /****** Basic commands ******/ /****************************************/ // test /*Serial.print("test: "); Serial.println(getStatus(wifi.test()));*/ // restart /*Serial.print("restart: "); Serial.println(getStatus(wifi.restart()));*/ // getVersion char version[16] = {}; Serial.print("getVersion: "); Serial.print(getStatus(wifi.getVersion(version, 16))); Serial.print(" : "); Serial.println(version); // deepSleep /*Serial.print("deepSleep: "); Serial.println(wifi.deepSleep(5000));*/ // setBaudrate /*Serial.print("setBaudrate: "); Serial.println(wifi.setBaudrate(9600));*/ /****************************************/ /****** WiFi commands ******/ /****************************************/ // setWifiMode Serial.print("setWifiMode: "); Serial.println(getStatus(wifi.setMode(ESP8266_WIFI_ACCESSPOINT))); // getWifiMode ESP8266WifiMode mode; Serial.print("getWifiMode: "); Serial.println(getStatus(wifi.getMode(&mode))); // joinAP /*Serial.print("joinAP: "); Serial.println(getStatus(wifi.joinAP("ssid", "password")));*/ // getAP /*char ap[32] = {}; Serial.print("getAP: "); Serial.print(getStatus(wifi.getAP(ap))); Serial.print(" : "); Serial.println(ap);*/ // quitAP /*Serial.print("quitAP: "); Serial.println(getStatus(wifi.quitAP()));*/ // setAPConfiguration Serial.print("setAPConfiguration: "); Serial.println(getStatus(wifi.setAPConfiguration("ESP8266", "awesomelib", 10, ESP8266_ENCRYPTION_WPA_WPA2_PSK))); wifi.restart(); // getAPConfiguration char ssid[32] = {}; char password[63] = {}; uint8_t channel; ESP8266Encryption encryption; Serial.print("getAPConfiguration: "); Serial.print(getStatus(wifi.getAPConfiguration(ssid, password, channel, encryption))); Serial.print(" : "); Serial.print(ssid); Serial.print(" - "); Serial.print(password); Serial.print(" - "); Serial.print(channel); Serial.print(" - "); Serial.println(encryption); // setDHCP Serial.print("setDHCP STA: "); Serial.println(getStatus(wifi.setDHCP(ESP8266_WIFI_STATION, false))); Serial.print("setDHCP AP: "); Serial.println(getStatus(wifi.setDHCP(ESP8266_WIFI_ACCESSPOINT, true))); // setMAC /*byte mac[6] = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11}; Serial.print("setMAC AP: "); Serial.println(getStatus(wifi.setMAC(ESP8266_WIFI_ACCESSPOINT, mac)));*/ // getMAC byte mac[6] = {}; Serial.print("getMAC STA: "); Serial.print(getStatus(wifi.getMAC(ESP8266_WIFI_STATION, mac))); Serial.print(" : "); for (uint8_t i = 0; i < 6; i++) { Serial.print(mac[i], HEX); if (i < 5) Serial.print(":"); } Serial.println(); Serial.print("getMAC AP: "); Serial.print(getStatus(wifi.getMAC(ESP8266_WIFI_ACCESSPOINT, mac))); Serial.print(" : "); for (uint8_t i = 0; i < 6; i++) { Serial.print(mac[i], HEX); if (i < 5) Serial.print(":"); } Serial.println(); // setIP /*IPAddress ipAP = IPAddress(10, 0, 4, 1); Serial.print("setIP AP: "); Serial.print(getStatus(wifi.setIP(ESP8266_WIFI_ACCESSPOINT, ipAP))); Serial.print(" : "); Serial.println(ipAP);*/ // getIP IPAddress ip; Serial.print("getIP STA: "); Serial.print(getStatus(wifi.getIP(ESP8266_WIFI_STATION, ip))); Serial.print(" : "); Serial.println(ip); Serial.print("getIP AP: "); Serial.print(getStatus(wifi.getIP(ESP8266_WIFI_ACCESSPOINT, ip))); Serial.print(" : "); Serial.println(ip); /****************************************/ /****** TCP/IP commands ******/ /****************************************/ // connect /*Serial.print("connect: "); Serial.println(getStatus(wifi.connect(ESP8266_PROTOCOL_TCP, IPAddress(192,168,4,100), 4000)));*/ // send /*Serial.print("send: "); Serial.println(getStatus(wifi.send("Hello World\n")));*/ // close /*Serial.print("close: "); Serial.println(getStatus(wifi.close()));*/ // setMultipleConnections Serial.print("setMultipleConnections: "); Serial.println(getStatus(wifi.setMultipleConnections(true))); // getMultipleConnections /*bool multipleConnections; Serial.print("getMultipleConnections: "); Serial.print(getStatus(wifi.getMultipleConnections(multipleConnections))); Serial.print(" : "); Serial.println(multipleConnections);*/ // createServer Serial.print("createServer: "); Serial.println(getStatus(wifi.createServer(4000))); // deleteServer Serial.print("deleteServer: "); Serial.println(getStatus(wifi.deleteServer())); // setServerTimeout /*Serial.print("setServerTimeout: "); Serial.println(getStatus(wifi.setServerTimeout(10)));*/ // getServerTimeout /*unsigned int timeout; Serial.print("getServerTimeout: "); Serial.print(getStatus(wifi.getServerTimeout(timeout))); Serial.print(" : "); Serial.println(timeout);*/ } void loop() { /****************************************/ /****** WiFi commands ******/ /****************************************/ // getConnectedStations /*ESP8266Station stations[5]; unsigned int stationCount; Serial.print("getConnectedStations: "); Serial.print(getStatus(wifi.getConnectedStations(stations, stationCount, 5))); Serial.print(" : "); Serial.println(stationCount); for (uint8_t i = 0; i < stationCount; i++) { Serial.print(" - "); Serial.print(stations[i].ip); Serial.print(" - "); for (uint8_t j = 0; j < 6; j++) { Serial.print(stations[i].mac[j], HEX); if (j < 5) Serial.print(":"); } Serial.println(); } delay(5000);*/ /****************************************/ /****** TCP/IP commands ******/ /****************************************/ // getConnectionStatus /*ESP8266ConnectionStatus connectionStatus; ESP8266Connection connections[5]; unsigned int connectionCount; Serial.print("getConnectionStatus: "); Serial.print(getStatus(wifi.getConnectionStatus(connectionStatus, connections, connectionCount))); Serial.print(" : "); Serial.println(connectionCount); for (int i = 0; i < connectionCount; i++) { Serial.print(" - Connection: "); Serial.print(connections[i].id); Serial.print(" - "); Serial.print(getProtocol(connections[i].protocol)); Serial.print(" - "); Serial.print(connections[i].ip); Serial.print(":"); Serial.print(connections[i].port); Serial.print(" - "); Serial.println(getRole(connections[i].role)); } delay(5000);*/ // read data /*unsigned int id; int length; int totalRead; char buffer[11] = {}; if ((length = wifi.available()) > 0) { id = wifi.getId(); totalRead = wifi.read(buffer, 10); if (length > 0) { Serial.print("Received "); Serial.print(totalRead); Serial.print("/"); Serial.print(length); Serial.print(" bytes from client "); Serial.print(id); Serial.print(": "); Serial.println((char*)buffer); } }*/ } String getStatus(bool status) { if (status) return "OK"; return "KO"; } String getStatus(ESP8266CommandStatus status) { switch (status) { case ESP8266_COMMAND_INVALID: return "INVALID"; break; case ESP8266_COMMAND_TIMEOUT: return "TIMEOUT"; break; case ESP8266_COMMAND_OK: return "OK"; break; case ESP8266_COMMAND_NO_CHANGE: return "NO CHANGE"; break; case ESP8266_COMMAND_ERROR: return "ERROR"; break; case ESP8266_COMMAND_NO_LINK: return "NO LINK"; break; case ESP8266_COMMAND_TOO_LONG: return "TOO LONG"; break; case ESP8266_COMMAND_FAIL: return "FAIL"; break; default: return "UNKNOWN COMMAND STATUS"; break; } } String getRole(ESP8266Role role) { switch (role) { case ESP8266_ROLE_CLIENT: return "CLIENT"; break; case ESP8266_ROLE_SERVER: return "SERVER"; break; default: return "UNKNOWN ROLE"; break; } } String getProtocol(ESP8266Protocol protocol) { switch (protocol) { case ESP8266_PROTOCOL_TCP: return "TCP"; break; case ESP8266_PROTOCOL_UDP: return "UDP"; break; default: return "UNKNOWN PROTOCOL"; break; } }
arduino-ESP8266 / HttpRequest.ino
출처 : GitHub - Diaoul/arduino-ESP8266: An Arduino library to manage the ESP8266.
Serial WiFi 모듈 (ESP8266) 활용편 | Hard Copy Arduino
#include <SoftwareSerial.h> #include "ESP8266.h" #define SSID "xxxxxxxx" #define PASS "xxxxxxxx" #define DST_IP "220.181.111.85" //baidu.com SoftwareSerial esp8266Serial = SoftwareSerial(6, 7); // RX, TX ESP8266 wifi = ESP8266(esp8266Serial); void setup() { Serial.begin(115200); // ESP8266 esp8266Serial.begin(115200); wifi.begin(); wifi.setTimeout(1000); /****************************************/ /****** Basic commands ******/ /****************************************/ // test Serial.print("test: "); Serial.println(getStatus(wifi.test())); // restart Serial.print("restart: "); Serial.println(getStatus(wifi.restart())); // getVersion char version[16] = {}; Serial.print("getVersion: "); Serial.print(getStatus(wifi.getVersion(version, 16))); Serial.print(" : "); Serial.println(version); /****************************************/ /****** WiFi commands ******/ /****************************************/ // joinAP Serial.print("joinAP: "); Serial.println(getStatus(wifi.joinAP(SSID, PASS))); /****************************************/ /****** TCP/IP commands ******/ /****************************************/ // connect Serial.print("connect: "); Serial.println(getStatus(wifi.connect(ESP8266_PROTOCOL_TCP, DST_IP, 80))); // send Serial.print("send: "); Serial.println(getStatus(wifi.send("GET / HTTP/1.0\r\n\r\n"))); } void loop() { /****************************************/ /****** WiFi commands ******/ /****************************************/ // read data unsigned int id; int length; int totalRead; char buffer[300] = {}; if ((length = wifi.available()) > 0) { id = wifi.getId(); totalRead = wifi.read(buffer, 300); if (length > 0) { Serial.print("Received "); Serial.print(totalRead); Serial.print("/"); Serial.print(length); Serial.print(" bytes from client "); //Serial.print("from client "); Serial.print(id); Serial.print(": "); Serial.println((char*)buffer); } } } String getStatus(bool status) { if (status) return "OK"; return "KO"; }
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- NDK
- Mac
- SAS
- ubuntu
- 지스타2007
- 전예희
- Spring
- Delphi
- JavaScript
- 송주경
- flex
- 동경
- ble
- 일본여행
- Spring MVC
- 튜닝쇼 2008
- Xcode
- oracle
- Delphi Tip
- Linux
- Java
- BPI-M4
- 서울오토살롱
- sas2009
- koba2010
- ffmpeg
- KOBA
- MySQL
- android
- 레이싱모델 익스트림 포토 페스티벌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함