The easy-connect library for GR-LYCHEE.

Dependencies:   LWIPBP3595Interface_STA_for_mbed-os

Fork of easy-connect-gr-peach by Daiki Kato

Committer:
1050186
Date:
Mon Mar 19 07:37:58 2018 +0000
Revision:
4:e89012203ffa
Parent:
3:259cc990542c
remove to "LWIPBP3595Interface_STA_for_mbed-os"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dkato 0:77c289709567 1 #ifndef __MAGIC_CONNECT_H__
dkato 0:77c289709567 2 #define __MAGIC_CONNECT_H__
dkato 0:77c289709567 3
dkato 0:77c289709567 4 #include "mbed.h"
dkato 0:77c289709567 5
dkato 0:77c289709567 6 #define ETHERNET 1
dkato 0:77c289709567 7 #define WIFI_ESP8266 2
dkato 0:77c289709567 8 #define WIFI_BP3595 3
1050186 3:259cc990542c 9 #define WIFI_ESP32 4
dkato 0:77c289709567 10
dkato 0:77c289709567 11 #if MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ESP8266
dkato 0:77c289709567 12 #include "ESP8266Interface.h"
dkato 0:77c289709567 13
dkato 0:77c289709567 14 #ifdef MBED_CONF_APP_ESP8266_DEBUG
dkato 0:77c289709567 15 ESP8266Interface wifi(MBED_CONF_APP_ESP8266_TX, MBED_CONF_APP_ESP8266_RX, MBED_CONF_APP_ESP8266_DEBUG);
dkato 0:77c289709567 16 #else
dkato 0:77c289709567 17 ESP8266Interface wifi(MBED_CONF_APP_ESP8266_TX, MBED_CONF_APP_ESP8266_RX);
dkato 0:77c289709567 18 #endif
dkato 0:77c289709567 19
dkato 0:77c289709567 20 #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_BP3595
dkato 0:77c289709567 21 #include "LWIPBP3595Interface.h"
dkato 0:77c289709567 22 LWIPBP3595Interface wifi;
1050186 3:259cc990542c 23 #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ESP32
1050186 3:259cc990542c 24 #include "ESP32Interface.h"
1050186 3:259cc990542c 25 ESP32Interface wifi(P5_3, P3_14, P7_1, P0_1);
dkato 0:77c289709567 26 #elif MBED_CONF_APP_NETWORK_INTERFACE == ETHERNET
dkato 0:77c289709567 27 #include "EthernetInterface.h"
dkato 0:77c289709567 28 EthernetInterface eth;
dkato 0:77c289709567 29 #else
dkato 0:77c289709567 30 #error "No connectivity method chosen. Please add 'config.network-interfaces.value' to your mbed_app.json (see README.md for more information)."
dkato 0:77c289709567 31 #endif
dkato 0:77c289709567 32
dkato 0:77c289709567 33 // This is address to mbed Device Connector
dkato 0:77c289709567 34 #define MBED_SERVER_ADDRESS "coap://api.connector.mbed.com:5684"
dkato 0:77c289709567 35
dkato 0:77c289709567 36 #ifdef MBED_CONF_APP_ESP8266_SSID
dkato 0:77c289709567 37 #define MBED_CONF_APP_WIFI_SSID MBED_CONF_APP_ESP8266_SSID
dkato 0:77c289709567 38 #endif
dkato 0:77c289709567 39
dkato 0:77c289709567 40 #ifdef MBED_CONF_APP_ESP8266_PASSWORD
dkato 0:77c289709567 41 #define MBED_CONF_APP_WIFI_PASSWORD MBED_CONF_APP_ESP8266_PASSWORD
dkato 0:77c289709567 42 #endif
dkato 0:77c289709567 43
dkato 1:adf177867e43 44 #ifndef MBED_CONF_APP_WIFI_SECURITY
dkato 1:adf177867e43 45 #define MBED_CONF_APP_WIFI_SECURITY NSAPI_SECURITY_WPA_WPA2
dkato 1:adf177867e43 46 #endif
dkato 0:77c289709567 47
dkato 0:77c289709567 48 NetworkInterface* easy_connect(bool log_messages = false) {
dkato 0:77c289709567 49 NetworkInterface* network_interface = 0;
dkato 0:77c289709567 50 int connect_success = -1;
dkato 0:77c289709567 51 #if MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ESP8266
dkato 0:77c289709567 52 if (log_messages) {
dkato 0:77c289709567 53 printf("[EasyConnect] Using WiFi (ESP8266) \n");
dkato 0:77c289709567 54 printf("[EasyConnect] Connecting to WiFi %s\n", MBED_CONF_APP_WIFI_SSID);
dkato 0:77c289709567 55 }
dkato 1:adf177867e43 56 connect_success = wifi.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, MBED_CONF_APP_WIFI_SECURITY);
dkato 0:77c289709567 57 network_interface = &wifi;
dkato 0:77c289709567 58 #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_BP3595
dkato 0:77c289709567 59 if (log_messages) {
dkato 0:77c289709567 60 printf("[EasyConnect] Using WiFi (BP3595) \n");
dkato 0:77c289709567 61 printf("[EasyConnect] Connecting to WiFi %s\n", MBED_CONF_APP_WIFI_SSID);
dkato 0:77c289709567 62 }
dkato 1:adf177867e43 63 connect_success = wifi.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, MBED_CONF_APP_WIFI_SECURITY);
dkato 0:77c289709567 64 network_interface = &wifi;
1050186 3:259cc990542c 65 #elif MBED_CONF_APP_NETWORK_INTERFACE == WIFI_ESP32
1050186 3:259cc990542c 66 if (log_messages) {
1050186 3:259cc990542c 67 printf("[EasyConnect] Using WiFi (ESP32) \n");
1050186 3:259cc990542c 68 printf("[EasyConnect] Connecting to WiFi %s\n", MBED_CONF_APP_WIFI_SSID);
1050186 3:259cc990542c 69 }
1050186 3:259cc990542c 70 connect_success = wifi.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, MBED_CONF_APP_WIFI_SECURITY);
1050186 3:259cc990542c 71 network_interface = &wifi;
dkato 0:77c289709567 72 #elif MBED_CONF_APP_NETWORK_INTERFACE == ETHERNET
dkato 0:77c289709567 73 if (log_messages) {
dkato 0:77c289709567 74 printf("[EasyConnect] Using Ethernet\n");
dkato 0:77c289709567 75 }
dkato 0:77c289709567 76 connect_success = eth.connect();
dkato 0:77c289709567 77 network_interface = ð
dkato 0:77c289709567 78 #endif
dkato 0:77c289709567 79 if(connect_success == 0) {
dkato 0:77c289709567 80 if (log_messages) {
dkato 0:77c289709567 81 printf("[EasyConnect] Connected to Network successfully\n");
dkato 0:77c289709567 82 }
dkato 0:77c289709567 83 } else {
dkato 0:77c289709567 84 if (log_messages) {
dkato 0:77c289709567 85 printf("[EasyConnect] Connection to Network Failed %d!\n", connect_success);
dkato 0:77c289709567 86 }
dkato 0:77c289709567 87 return NULL;
dkato 0:77c289709567 88 }
dkato 0:77c289709567 89 const char *ip_addr = network_interface->get_ip_address();
dkato 0:77c289709567 90 const char *mac_addr = network_interface->get_mac_address();
dkato 0:77c289709567 91 if (ip_addr == NULL) {
dkato 0:77c289709567 92 if (log_messages) {
dkato 0:77c289709567 93 printf("[EasyConnect] ERROR - No IP address\n");
dkato 0:77c289709567 94 }
dkato 0:77c289709567 95 return NULL;
dkato 0:77c289709567 96 }
dkato 0:77c289709567 97 if (mac_addr == NULL) {
dkato 0:77c289709567 98 if (log_messages) {
dkato 0:77c289709567 99 printf("[EasyConnect] ERROR - No MAC address\n");
dkato 0:77c289709567 100 }
dkato 0:77c289709567 101 return NULL;
dkato 0:77c289709567 102 }
dkato 0:77c289709567 103 if (log_messages) {
dkato 0:77c289709567 104 printf("[EasyConnect] IP address %s\n", ip_addr);
dkato 0:77c289709567 105 printf("[EasyConnect] MAC address %s\n", mac_addr);
dkato 0:77c289709567 106 }
dkato 0:77c289709567 107 return network_interface;
dkato 0:77c289709567 108 }
dkato 0:77c289709567 109
dkato 0:77c289709567 110 #endif // __MAGIC_CONNECT_H__