-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3 from andium/v1.0.3
static port of WiFi101 v13.0 for ATWINC1500 RevA on AnduinoWiFi v1.0
- Loading branch information
Showing
79 changed files
with
24,316 additions
and
48 deletions.
There are no files selected for viewing
176 changes: 176 additions & 0 deletions
176
libraries/AnduinoWiFi/examples/AP_SimpleWebServer/AP_SimpleWebServer.ino
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,176 @@ | ||
/* | ||
WiFi Web Server LED Blink | ||
A simple web server that lets you blink an LED via the web. | ||
This sketch will create a new access point (with no password). | ||
It will then launch a new server and print out the IP address | ||
to the Serial monitor. From there, you can open that address in a web browser | ||
to turn on and off the LED on pin 13. | ||
If the IP address of your shield is yourAddress: | ||
http://yourAddress/H turns the LED on | ||
http://yourAddress/L turns it off | ||
created 25 Nov 2012 | ||
by Tom Igoe | ||
adapted to WiFi AP by Adafruit | ||
*/ | ||
|
||
#include <SPI.h> | ||
#include <AnduinoWiFi.h> | ||
|
||
int led = LED_BUILTIN; | ||
|
||
char ssid[] = "wifi101-network"; // created AP name | ||
char pass[] = "1234567890"; // AP password (needed only for WEP, must be exactly 10 or 26 characters in length) | ||
int keyIndex = 0; // your network key Index number (needed only for WEP) | ||
|
||
int status = WL_IDLE_STATUS; | ||
WiFiServer server(80); | ||
|
||
void setup() { | ||
//Initialize serial and wait for port to open: | ||
Serial.begin(9600); | ||
while (!Serial) { | ||
; // wait for serial port to connect. Needed for native USB port only | ||
} | ||
|
||
Serial.println("Access Point Web Server"); | ||
|
||
pinMode(led, OUTPUT); // set the LED pin mode | ||
|
||
// check for the presence of the shield: | ||
if (WiFi.status() == WL_NO_SHIELD) { | ||
Serial.println("WiFi shield not present"); | ||
// don't continue | ||
while (true); | ||
} | ||
|
||
// by default the local IP address of will be 192.168.1.1 | ||
// you can override it with the following: | ||
// WiFi.config(IPAddress(10, 0, 0, 1)); | ||
|
||
// print the network name (SSID); | ||
Serial.print("Creating access point named: "); | ||
Serial.println(ssid); | ||
|
||
// Create open network. Change this line if you want to create an WEP network: | ||
status = WiFi.beginAP(ssid); | ||
if (status != WL_AP_LISTENING) { | ||
Serial.println("Creating access point failed"); | ||
// don't continue | ||
while (true); | ||
} | ||
|
||
// wait 10 seconds for connection: | ||
delay(10000); | ||
|
||
// start the web server on port 80 | ||
server.begin(); | ||
|
||
// you're connected now, so print out the status | ||
printWiFiStatus(); | ||
} | ||
|
||
|
||
void loop() { | ||
// compare the previous status to the current status | ||
if (status != WiFi.status()) { | ||
// it has changed update the variable | ||
status = WiFi.status(); | ||
|
||
if (status == WL_AP_CONNECTED) { | ||
byte remoteMac[6]; | ||
|
||
// a device has connected to the AP | ||
Serial.print("Device connected to AP, MAC address: "); | ||
WiFi.APClientMacAddress(remoteMac); | ||
Serial.print(remoteMac[5], HEX); | ||
Serial.print(":"); | ||
Serial.print(remoteMac[4], HEX); | ||
Serial.print(":"); | ||
Serial.print(remoteMac[3], HEX); | ||
Serial.print(":"); | ||
Serial.print(remoteMac[2], HEX); | ||
Serial.print(":"); | ||
Serial.print(remoteMac[1], HEX); | ||
Serial.print(":"); | ||
Serial.println(remoteMac[0], HEX); | ||
} else { | ||
// a device has disconnected from the AP, and we are back in listening mode | ||
Serial.println("Device disconnected from AP"); | ||
} | ||
} | ||
|
||
WiFiClient client = server.available(); // listen for incoming clients | ||
|
||
if (client) { // if you get a client, | ||
Serial.println("new client"); // print a message out the serial port | ||
String currentLine = ""; // make a String to hold incoming data from the client | ||
while (client.connected()) { // loop while the client's connected | ||
if (client.available()) { // if there's bytes to read from the client, | ||
char c = client.read(); // read a byte, then | ||
Serial.write(c); // print it out the serial monitor | ||
if (c == '\n') { // if the byte is a newline character | ||
|
||
// if the current line is blank, you got two newline characters in a row. | ||
// that's the end of the client HTTP request, so send a response: | ||
if (currentLine.length() == 0) { | ||
// HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK) | ||
// and a content-type so the client knows what's coming, then a blank line: | ||
client.println("HTTP/1.1 200 OK"); | ||
client.println("Content-type:text/html"); | ||
client.println(); | ||
|
||
// the content of the HTTP response follows the header: | ||
client.print("Click <a href=\"/H\">here</a> turn the LED on<br>"); | ||
client.print("Click <a href=\"/L\">here</a> turn the LED off<br>"); | ||
|
||
// The HTTP response ends with another blank line: | ||
client.println(); | ||
// break out of the while loop: | ||
break; | ||
} | ||
else { // if you got a newline, then clear currentLine: | ||
currentLine = ""; | ||
} | ||
} | ||
else if (c != '\r') { // if you got anything else but a carriage return character, | ||
currentLine += c; // add it to the end of the currentLine | ||
} | ||
|
||
// Check to see if the client request was "GET /H" or "GET /L": | ||
if (currentLine.endsWith("GET /H")) { | ||
digitalWrite(led, HIGH); // GET /H turns the LED on | ||
} | ||
if (currentLine.endsWith("GET /L")) { | ||
digitalWrite(led, LOW); // GET /L turns the LED off | ||
} | ||
} | ||
} | ||
// close the connection: | ||
client.stop(); | ||
Serial.println("client disconnected"); | ||
} | ||
} | ||
|
||
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"); | ||
// print where to go in a browser: | ||
Serial.print("To see this page in action, open a browser to http://"); | ||
Serial.println(ip); | ||
|
||
} |
57 changes: 57 additions & 0 deletions
57
libraries/AnduinoWiFi/examples/CheckWifi101FirmwareVersion/CheckWifi101FirmwareVersion.ino
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/* | ||
* This example check if the firmware loaded on the WiFi101 | ||
* shield is updated. | ||
* | ||
* Circuit: | ||
* - WiFi101 Shield attached | ||
* | ||
* Created 29 July 2015 by Cristian Maglie | ||
* This code is in the public domain. | ||
*/ | ||
#include <SPI.h> | ||
#include <AnduinoWiFi.h> | ||
|
||
void setup() { | ||
// Initialize serial | ||
Serial.begin(9600); | ||
while (!Serial) { | ||
; // wait for serial port to connect. Needed for native USB port only | ||
} | ||
|
||
// Print a welcome message | ||
Serial.println("WiFi101 firmware check."); | ||
Serial.println(); | ||
|
||
// Check for the presence of the shield | ||
Serial.print("WiFi101 shield: "); | ||
if (WiFi.status() == WL_NO_SHIELD) { | ||
Serial.println("NOT PRESENT"); | ||
return; // don't continue | ||
} | ||
Serial.println("DETECTED"); | ||
|
||
// Print firmware version on the shield | ||
String fv = WiFi.firmwareVersion(); | ||
Serial.print("Firmware version installed: "); | ||
Serial.println(fv); | ||
|
||
// Print required firmware version | ||
Serial.print("Firmware version required : "); | ||
Serial.println(WIFI_FIRMWARE_REQUIRED); | ||
|
||
// Check if the required version is installed | ||
Serial.println(); | ||
if (fv == WIFI_FIRMWARE_REQUIRED) { | ||
Serial.println("Check result: PASSED"); | ||
} else { | ||
Serial.println("Check result: NOT PASSED"); | ||
Serial.println(" - The firmware version on the shield do not match the"); | ||
Serial.println(" version required by the library, you may experience"); | ||
Serial.println(" issues or failures."); | ||
} | ||
} | ||
|
||
void loop() { | ||
// do nothing | ||
} | ||
|
122 changes: 122 additions & 0 deletions
122
libraries/AnduinoWiFi/examples/ConnectNoEncryption/ConnectNoEncryption.ino
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
/* | ||
This example connects to an unencrypted WiFi network. | ||
Then it prints the MAC address of the WiFi shield, | ||
the IP address obtained, and other network details. | ||
Circuit: | ||
* WiFi shield attached | ||
created 13 July 2010 | ||
by dlf (Metodo2 srl) | ||
modified 31 May 2012 | ||
by Tom Igoe | ||
*/ | ||
#include <SPI.h> | ||
#include <AnduinoWiFi.h> | ||
|
||
char ssid[] = "yourNetwork"; // the name of your network | ||
int status = WL_IDLE_STATUS; // the WiFi radio's status | ||
|
||
void setup() { | ||
//Initialize serial and wait for port to open: | ||
Serial.begin(9600); | ||
while (!Serial) { | ||
; // wait for serial port to connect. Needed for native USB port 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 open SSID: "); | ||
Serial.println(ssid); | ||
status = WiFi.begin(ssid); | ||
|
||
// wait 10 seconds for connection: | ||
delay(10000); | ||
} | ||
|
||
// you're connected now, so print out the data: | ||
Serial.print("You're connected to the network"); | ||
printCurrentNet(); | ||
printWiFiData(); | ||
} | ||
|
||
void loop() { | ||
// check the network connection once every 10 seconds: | ||
delay(10000); | ||
printCurrentNet(); | ||
} | ||
|
||
void printWiFiData() { | ||
// print your WiFi shield's IP address: | ||
IPAddress ip = WiFi.localIP(); | ||
Serial.print("IP Address: "); | ||
Serial.println(ip); | ||
Serial.println(ip); | ||
|
||
// print your MAC address: | ||
byte mac[6]; | ||
WiFi.macAddress(mac); | ||
Serial.print("MAC address: "); | ||
Serial.print(mac[5], HEX); | ||
Serial.print(":"); | ||
Serial.print(mac[4], HEX); | ||
Serial.print(":"); | ||
Serial.print(mac[3], HEX); | ||
Serial.print(":"); | ||
Serial.print(mac[2], HEX); | ||
Serial.print(":"); | ||
Serial.print(mac[1], HEX); | ||
Serial.print(":"); | ||
Serial.println(mac[0], HEX); | ||
|
||
// print your subnet mask: | ||
IPAddress subnet = WiFi.subnetMask(); | ||
Serial.print("NetMask: "); | ||
Serial.println(subnet); | ||
|
||
// print your gateway address: | ||
IPAddress gateway = WiFi.gatewayIP(); | ||
Serial.print("Gateway: "); | ||
Serial.println(gateway); | ||
} | ||
|
||
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); | ||
Serial.print("BSSID: "); | ||
Serial.print(bssid[5], HEX); | ||
Serial.print(":"); | ||
Serial.print(bssid[4], HEX); | ||
Serial.print(":"); | ||
Serial.print(bssid[3], HEX); | ||
Serial.print(":"); | ||
Serial.print(bssid[2], HEX); | ||
Serial.print(":"); | ||
Serial.print(bssid[1], HEX); | ||
Serial.print(":"); | ||
Serial.println(bssid[0], HEX); | ||
|
||
// print the received signal strength: | ||
long rssi = WiFi.RSSI(); | ||
Serial.print("signal strength (RSSI):"); | ||
Serial.println(rssi); | ||
|
||
// print the encryption type: | ||
byte encryption = WiFi.encryptionType(); | ||
Serial.print("Encryption Type:"); | ||
Serial.println(encryption, HEX); | ||
} | ||
|
Oops, something went wrong.