Once that works, upload eiher of these sketches, with your SSID & network password:
Configuration
In the pre-setup configuration, you can set up your SSID & password. Also, set what pin has the LED connected. Define the path you want to grab, change this to your favorite twitch streamer
// Define the WINC1500 board connections below. // If you're following the Adafruit WINC1500 board // guide you don't need to modify these: #define WINC_CS 8 #define WINC_IRQ 7 #define WINC_RST 4 #define WINC_EN 2 // or, tie EN to VCC and comment this out #define LED 13 // Setup the WINC1500 connection with the pins above and the default hardware SPI. Adafruit_WINC1500 WiFi(WINC_CS, WINC_IRQ, WINC_RST); // Or just use hardware SPI (SCK/MOSI/MISO) and defaults, SS -> #10, INT -> #7, RST -> #5, EN -> 3-5V //Adafruit_WINC1500 WiFi; char ssid[] = "networkssid"; // your network SSID (name) char pass[] = "networkpass"; // 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; #define HOST "api.twitch.tv" #define PATH "/kraken/streams/adafruit" #define REFRESH 20 // seconds between refresh Adafruit_WINC1500SSLClient client;
void setup() { #ifdef WINC_EN pinMode(WINC_EN, OUTPUT); digitalWrite(WINC_EN, HIGH); #endif pinMode(LED, OUTPUT); //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); } }
void loop() { // attempt to connect to Wifi network: if (WiFi.status() != WL_CONNECTED) { while (WiFi.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: uint8_t timeout = 10; while (timeout && (WiFi.status() != WL_CONNECTED)) { timeout--; delay(1000); } } Serial.println("Connected to wifi"); printWifiStatus(); }
Then we SSL connect to twitch.tv and ask for the path from the setup section
Serial.println("\nStarting connection to twitch..."); // if you get a connection, report back via serial: if (client.connect(HOST, 443)) { Serial.println("connected to twitch api server"); // Make a HTTP request: client.println("GET " PATH " HTTP/1.1"); client.println("Host: " HOST); client.println("Connection: close"); client.println(); }
We then use find to locate whether the magic string appears
boolean isStreaming = false; while (client.connected()) { if (client.find("\"stream\":{\"_id\":")) { isStreaming = true; } }
if so, then isStreaming is set to true. Finally we print out the current status, wait a few seconds, and restart the loop
Serial.print("Streaming status: "); Serial.println(isStreaming); digitalWrite(LED, isStreaming); Serial.println("disconnecting from server."); client.stop(); delay(REFRESH*1000); }
Text editor powered by tinymce.