Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Repeating WiFi Web Client
- This sketch connects to a a web server and makes a request
- using an Arduino WiFi shield.
- Circuit:
- * WiFi shield attached to pins SPI pins and pin 7
- created 23 April 2012
- modified 31 May 2012
- by Tom Igoe
- modified 13 Jan 2014
- by Federico Vanzati
- http://arduino.cc/en/Tutorial/WiFiWebClientRepeating
- This code is in the public domain.
- */
- #include <SPI.h>
- #include <WiFi101.h>
- char ssid[] = "TP-LINK_8AC0"; // your network SSID (name)
- char pass[] = "37687281"; // 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;
- // Initialize the WiFi client library
- WiFiClient client;
- // server address:
- char server[] = "pubsub.pubnub.com";
- //IPAddress server(64,131,82,241);
- unsigned long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
- const unsigned long postingInterval = 4L * 1000L; // delay between updates, in milliseconds
- 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 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);
- }
- // you're connected now, so print out the status:
- printWiFiStatus();
- }
- void loop() {
- // if there's incoming data from the net connection.
- // send it out the serial port. This is for debugging
- // purposes only:
- while (client.available()) {
- char c = client.read();
- Serial.write(c);
- }
- // if ten seconds have passed since your last connection,
- // then connect again and send data:
- if (millis() - lastConnectionTime > postingInterval) {
- httpRequest();
- }
- }
- // this method makes a HTTP connection to the server:
- void httpRequest() {
- //-----------------------------
- // close any connection before send a new request.
- // This will free the socket on the WiFi shield
- client.stop();
- // if there's a successful connection:
- // if (client.connect(server, 80)) {
- if (client.connect("www.google.com", 80)) {
- Serial.println("connected to www.google.com...");
- }
- else {
- // if you couldn't make a connection:
- Serial.println("connection failed to www.google.com");
- }
- //-----------------------------
- // close any connection before send a new request.
- // This will free the socket on the WiFi shield
- client.stop();
- // if there's a successful connection:
- // if (client.connect(server, 80)) {
- if (client.connect("www.arduino.cc", 80)) {
- Serial.println("connected to www.arduino.cc...");
- }
- else {
- // if you couldn't make a connection:
- Serial.println("connection failed to www.arduino.cc");
- }
- //-----------------------------
- // close any connection before send a new request.
- // This will free the socket on the WiFi shield
- client.stop();
- // if there's a successful connection:
- // if (client.connect(server, 80)) {
- if (client.connect("pubsub.pubnub.com", 80)) {
- Serial.println("connected to pubsub.pubnub.com...");
- }
- else {
- // if you couldn't make a connection:
- Serial.println("connection failed to pubsub.pubnub.com");
- }
- //-----------------------------
- // note the time that the connection was made:
- lastConnectionTime = millis();
- }
- 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");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement