#include <Arduino.h>
#include <SoftwareSerial.h>
#include "WiFly.h"
#define SSID "Wodgreat-6169"
#define KEY "Alltogether7"
// WIFLY_AUTH_OPEN / WIFLY_AUTH_WPA1 / WIFLY_AUTH_WPA1_2 / WIFLY_AUTH_WPA2_PSK
#define AUTH WIFLY_AUTH_WPA2_PSK
#define UDP_HOST_IP "255.255.255.255" // broadcast
#define UDP_REMOTE_PORT 55555
#define UDP_LOCAL_PORT 55555
int buttonState2 =0,buttonState3 = 0, buttonState4 =0,buttonState5 = 0;
// Pins' connection
// Arduino WiFly
// 2 <----> TX
// 3 <----> RX
SoftwareSerial uart(2, 3);
WiFly wifly(uart);
const int buttonPin2 = 2;
const int buttonPin3 = 3;
const int buttonPin4 = 4;
const int buttonPin5 = 5;
void setupUDP(const char *host_ip, uint16_t remote_port, uint16_t local_port)
{
char cmd[32];
wifly.sendCommand("set w j 1\r", "AOK"); // enable auto join
wifly.sendCommand("set i p 1\r", "AOK");
snprintf(cmd, sizeof(cmd), "set i h %s\r", host_ip);
wifly.sendCommand(cmd, "AOK");
snprintf(cmd, sizeof(cmd), "set i r %d\r", remote_port);
wifly.sendCommand(cmd, "AOK");
snprintf(cmd, sizeof(cmd), "set i l %d\r", local_port);
wifly.sendCommand(cmd, "AOK");
wifly.sendCommand("save\r");
wifly.sendCommand("reboot\r");
}
void setup() {
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
pinMode(buttonPin4, INPUT);
pinMode(buttonPin5, INPUT);
Serial.begin(9600);
Serial.println("--------- Wifi Sheild Testing: Awais --------");
uart.begin(9600);
wifly.reset();
while (1) {
Serial.println("Try to join " SSID );
if (wifly.join(SSID, KEY, AUTH)) {
Serial.println("Succeed to join " SSID);
wifly.clear();
break;
} else {
Serial.println("Failed to join " SSID);
Serial.println("Wait 1 second and try again...");
delay(1000);
}
}
setupUDP(UDP_HOST_IP, UDP_REMOTE_PORT, UDP_REMOTE_PORT);
delay(1000);
wifly.clear();
}
unsigned int time_point = 0;
void loop() {
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
buttonState4 = digitalRead(buttonPin4);
buttonState5 = digitalRead(buttonPin5);
if (buttonState2 == HIGH) {
if (wifly.available()) {
Serial.print((char)wifly.read());
}
if ((millis() - time_point) > 1000) {
time_point = millis();
wifly.send("Button 2 pressed and Signal Broadcasted\r\n");
}
}
else if(buttonState3 == HIGH){
if (wifly.available()) {
Serial.print((char)wifly.read());
}
if ((millis() - time_point) > 1000) {
time_point = millis();
wifly.send("Button 3 pressed and Signal Broadcasted\r\n");
}
}
else if(buttonState4 == HIGH){
if (wifly.available()) {
Serial.print((char)wifly.read());
}
if ((millis() - time_point) > 1000) {
time_point = millis();
wifly.send("Button 4 pressed and Signal Broadcasted\r\n");
}
}
else if(buttonState5 == HIGH){
if (wifly.available()) {
Serial.print((char)wifly.read());
}
if ((millis() - time_point) > 10000) {
time_point = millis();
wifly.send("Button 5 pressed and Signal Broadcasted\r\n");
}
}
}
...
What's a wifly?