The easy-connect library for GR-LYCHEE.
Dependencies: LWIPBP3595Interface_STA_for_mbed-os
Fork of easy-connect-gr-peach by
easy-connect.h
- Committer:
- 1050186
- Date:
- 2018-03-19
- Revision:
- 4:e89012203ffa
- Parent:
- 3:259cc990542c
File content as of revision 4:e89012203ffa:
#ifndef __MAGIC_CONNECT_H__ #define __MAGIC_CONNECT_H__ #include "mbed.h" #define ETHERNET 1 #define WIFI_ESP8266 2 #define WIFI_BP3595 3 #define WIFI_ESP32 4 #if MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ESP8266 #include "ESP8266Interface.h" #ifdef MBED_CONF_APP_ESP8266_DEBUG ESP8266Interface wifi(MBED_CONF_APP_ESP8266_TX, MBED_CONF_APP_ESP8266_RX, MBED_CONF_APP_ESP8266_DEBUG); #else ESP8266Interface wifi(MBED_CONF_APP_ESP8266_TX, MBED_CONF_APP_ESP8266_RX); #endif #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_BP3595 #include "LWIPBP3595Interface.h" LWIPBP3595Interface wifi; #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ESP32 #include "ESP32Interface.h" ESP32Interface wifi(P5_3, P3_14, P7_1, P0_1); #elif MBED_CONF_APP_NETWORK_INTERFACE == ETHERNET #include "EthernetInterface.h" EthernetInterface eth; #else #error "No connectivity method chosen. Please add 'config.network-interfaces.value' to your mbed_app.json (see README.md for more information)." #endif // This is address to mbed Device Connector #define MBED_SERVER_ADDRESS "coap://api.connector.mbed.com:5684" #ifdef MBED_CONF_APP_ESP8266_SSID #define MBED_CONF_APP_WIFI_SSID MBED_CONF_APP_ESP8266_SSID #endif #ifdef MBED_CONF_APP_ESP8266_PASSWORD #define MBED_CONF_APP_WIFI_PASSWORD MBED_CONF_APP_ESP8266_PASSWORD #endif #ifndef MBED_CONF_APP_WIFI_SECURITY #define MBED_CONF_APP_WIFI_SECURITY NSAPI_SECURITY_WPA_WPA2 #endif NetworkInterface* easy_connect(bool log_messages = false) { NetworkInterface* network_interface = 0; int connect_success = -1; #if MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ESP8266 if (log_messages) { printf("[EasyConnect] Using WiFi (ESP8266) \n"); printf("[EasyConnect] Connecting to WiFi %s\n", MBED_CONF_APP_WIFI_SSID); } connect_success = wifi.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, MBED_CONF_APP_WIFI_SECURITY); network_interface = &wifi; #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_BP3595 if (log_messages) { printf("[EasyConnect] Using WiFi (BP3595) \n"); printf("[EasyConnect] Connecting to WiFi %s\n", MBED_CONF_APP_WIFI_SSID); } connect_success = wifi.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, MBED_CONF_APP_WIFI_SECURITY); network_interface = &wifi; #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ESP32 if (log_messages) { printf("[EasyConnect] Using WiFi (ESP32) \n"); printf("[EasyConnect] Connecting to WiFi %s\n", MBED_CONF_APP_WIFI_SSID); } connect_success = wifi.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, MBED_CONF_APP_WIFI_SECURITY); network_interface = &wifi; #elif MBED_CONF_APP_NETWORK_INTERFACE == ETHERNET if (log_messages) { printf("[EasyConnect] Using Ethernet\n"); } connect_success = eth.connect(); network_interface = ð #endif if(connect_success == 0) { if (log_messages) { printf("[EasyConnect] Connected to Network successfully\n"); } } else { if (log_messages) { printf("[EasyConnect] Connection to Network Failed %d!\n", connect_success); } return NULL; } const char *ip_addr = network_interface->get_ip_address(); const char *mac_addr = network_interface->get_mac_address(); if (ip_addr == NULL) { if (log_messages) { printf("[EasyConnect] ERROR - No IP address\n"); } return NULL; } if (mac_addr == NULL) { if (log_messages) { printf("[EasyConnect] ERROR - No MAC address\n"); } return NULL; } if (log_messages) { printf("[EasyConnect] IP address %s\n", ip_addr); printf("[EasyConnect] MAC address %s\n", mac_addr); } return network_interface; } #endif // __MAGIC_CONNECT_H__