Blynk example

Dependents:   Blynk_Example_WIZwiki-W7500

Fork of Blynk by Volodymyr Shymanskyy

Revision:
16:5d8386745e22
Parent:
15:544afbc8228f
--- a/BlynkSimpleEthernet2.h	Wed Aug 02 02:00:41 2017 +0000
+++ b/BlynkSimpleEthernet2.h	Mon Aug 14 04:28:21 2017 +0000
@@ -3,7 +3,7 @@
  * @author     Volodymyr Shymanskyy
  * @license    This project is released under the MIT License (MIT)
  * @copyright  Copyright (c) 2015 Volodymyr Shymanskyy
- * @date       May 2016
+ * @date       Jan 2016
  * @brief
  *
  */
@@ -15,196 +15,13 @@
 #define BLYNK_INFO_CONNECTION "W5500"
 #endif
 
-#include <BlynkApiMbed.h>
-#include <Blynk/BlynkProtocol.h>
-#include <utility/BlynkFifo2.h>
-
-
-#include "EthernetInterface.h"
-#include "TCPSocketConnection.h"
-
-#define JCM_DEBUG
-
-//EthernetInterface eth;
-
-template <typename Client>
-class BlynkMbedClientGen
-{
-public:
-    BlynkMbedClientGen(Client& c)
-        : client(NULL),  port(0), isConn(false)
-    {
-        setClient(&c);
-    }
-    BlynkMbedClientGen()
-        : client(NULL),  port(0), isConn(false)
-    {}
-
-    void setClient(Client* c) {
-        client = c;
-        client->setTimeout(BLYNK_TIMEOUT_MS);
-    }
-
-
-    void begin(const char* a, uint16_t p) {
-        addr = a;
-        port = p;
-    }
-
-    bool connect() {
-        isConn = (1 == client->connect(addr, port));
-        return isConn;
-        
-    }
-    
-    void disconnect() {isConn=false; client->close(); }
-    
-    int read(void* buf, int len){
-        int res=client->receive((char*)buf, len);
-        return res;
-    }
-    
-    int write(const void* buf, int len){
-        int res=client->send((char*)buf, len);
-        return res;
-    }
-    
-    
-    bool connected() { return isConn && client->is_connected();}
-    int available() {return isConn;} //&& client->connected();} //eth get rx rsr 읽어오기
-    
-
-protected:
-    Client*     client;
-    const char* addr;
-    uint16_t    port;
-    bool        isConn;
-};
-
-typedef BlynkMbedClientGen<TCPSocketConnection> BlynkMbedClient;
-
-
-class BlynkEthernet
-    : public BlynkProtocol<BlynkMbedClient>
-{
-    typedef BlynkProtocol<BlynkMbedClient> Base;
-public:
-    BlynkEthernet(BlynkMbedClient& transp)
-        : Base(transp)
-    {}
-
-
-    void config(const char* auth,
-                const char* addr = BLYNK_DEFAULT_DOMAIN,
-                uint16_t    port   = BLYNK_DEFAULT_PORT)
-    {
-        Base::begin(auth);
-        this->conn.begin(addr, port);
-    }
-
+#include <TCPSocketConnection.h>
+#include <Adapters/BlynkEthernet.h>
 
-    // DHCP with domain
-    void begin( const char* auth,
-                const char* addr = BLYNK_DEFAULT_DOMAIN,
-                uint16_t port      = BLYNK_DEFAULT_PORT,
-                uint8_t mac[]   = NULL)
-    {
-       // int phy_link;
-
-        
-#ifdef JCM_DEBUG   
-//        printf("blnk begin 1\r\n");
-#endif
-        //BLYNK_LOG1(BLYNK_F("Getting IP..."));
-        //eth.init(mac_addr);
-#ifdef JCM_DEBUG   
-       // printf("eth init 1\r\n");
-#endif  
-//do{
-//            phy_link = eth.ethernet_link();
-//            printf("...");
-//            wait(2);
-//        }while(!phy_link);
-//        printf("\r\n");
-//              
-//        eth.connect();
-//        printf("eth connection!\r\n");
-//        // give the Ethernet shield a second to initialize:
-//        ::delay(1000);
-        
-        //char* myip = eth.getIPAddress();
-        //BLYNK_LOG_IP("IP:", myip);
-
-        config(auth, addr, port);
-        while(this->connect() != true) {}
-    }
-
-
-//    // Static IP with domain, gateway, etc
-//    void begin( const char* auth,
-//                const char* addr,
-//                uint16_t port,
-//                const char* gateway,
-//                const char* subnet,
-//                uint8_t mac[] = NULL)
-//    {
-//        BLYNK_LOG1(BLYNK_F("Using static IP"));
-//        eth.init(SelectMacAddress(auth, mac), addr, subnet, gateway);
-//        if (eth.connect()==-1) {
-//            //BLYNK_FATAL(BLYNK_F("DHCP Failed!"));
-//        }
-//        // give the Ethernet shield a second to initialize:
-//        ::delay(1000);
-//        char* myip = eth.getIPAddress();
-//        //BLYNK_LOG_IP("IP:", myip);
-//
-//        config(auth, addr, port);
-//        while(this->connect() != true) {}
-//    }
-    
-
-
-
-private:
-
-    uint8_t* SelectMacAddress(const char* token, const uint8_t mac[])
-    {
-        if (mac != NULL) {
-            return (uint8_t*)mac;
-        }
-
-        macAddress[0] = 0x00;
-        macAddress[1] = 0x08;
-        macAddress[2] = 0xdc;
-        macAddress[3] = 0x93;
-        macAddress[4] = 0x12;
-        macAddress[5] = 0x13;
-
-        int len = strlen(token);
-        int mac_index = 1;
-        for (int i=0; i<len; i++) {
-            macAddress[mac_index++] ^= token[i];
-
-            if (mac_index > 5) { mac_index = 1; }
-        }
-        /* BLYNK_LOG("MAC: %02X-%02X-%02X-%02X-%02X-%02X",
-                  macAddress[0], macAddress[1],
-                  macAddress[2], macAddress[3],
-                  macAddress[4], macAddress[5]);
-        */
-        return macAddress;
-    }
-
-private:
-    uint8_t macAddress[6];
-
-};
-    
-
-static BlynkMbedClient _blynkTransport;
+static TCPSocketConnection _blynkEthernetClient;
+static BlynkMbedClient _blynkTransport(_blynkEthernetClient);
 BlynkEthernet Blynk(_blynkTransport);
 
-
 #include <BlynkWidgets.h>
 
 #endif