BLE-WiFi with BIOSensors

Dependencies:   AS7000 BNO055 NNN50_WIFI_API

DELTA NNN50 (Bluetooth LE 4.X & 802.11 b/g/n) with Bio Sensor (HRM, 9DoF motion Sensor) reference design.

Env. Setup step by step.

  1. Download or build a TCP Server on you host computer
    1. Please find out the TCP server code or install TCP server application in your host computer.
  2. Import this sample application and setup these information about AP & TCP Server
    1. *char* AP_SSID = "SOG";
    2. *char* AP_PWD = "1122334455667788";
    3. *char* TCP_SERVER_ADDRESS = "10.0.1.13";
    4. *int TCP_SERVER_PORT = 1030;
  3. Compiler your code and download to your mBed device.
  4. Control your mBed device
    1. Please use NORDSemi nRF Tool and setup and watch these information: GATT CMD: 0x00 (connect to AP, TCP Server, and create TCP socket), 0x02 disconnection TCP server, close socket, and WiFi sleep), 0xA1 (send sensor data to tcp server from out_buffer[]) and Status will be update by Bluetooth LE adv through manufacturing information
0x000x020xA1
WiFi,AP&TCP Server connectWiFi,AP, & TCP Server disconnectSend sensor data to TCP Server
Committer:
tsungta
Date:
Sat Dec 03 15:29:30 2016 +0000
Revision:
1:a357a8f9ac8b
Parent:
0:b5f183111420
Child:
2:92946804ed6f
Remove m2m_wifi_handle_events(NULL); from main.cpp; Add udp client test code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tsungta 0:b5f183111420 1 /******************** (C) COPYRIGHT 2016 Delta Electronics, Inc. ***************
tsungta 0:b5f183111420 2 *
tsungta 0:b5f183111420 3 * File Name : main.cpp
tsungta 0:b5f183111420 4 * Authors : Tsungta Wu - CPBG (tsungta.wu@deltaww.com)
tsungta 0:b5f183111420 5 * Version : V.1.0.0
tsungta 0:b5f183111420 6 * Date : 2016/Nov/24
tsungta 0:b5f183111420 7 *
tsungta 0:b5f183111420 8 * This example only show the most basic WiFi operation include AP scan and connect
tsungta 0:b5f183111420 9 * The usage of TCP/UDP socket please refer to the mbed Handbook from the link below
tsungta 0:b5f183111420 10 * https://developer.mbed.org/handbook/Socket
tsungta 0:b5f183111420 11 *
tsungta 0:b5f183111420 12 *******************************************************************************/
tsungta 0:b5f183111420 13
tsungta 0:b5f183111420 14 #include "mbed.h"
tsungta 0:b5f183111420 15 #include "EthernetInterface.h"
tsungta 0:b5f183111420 16 #include "WIFIDevice.h"
tsungta 0:b5f183111420 17
tsungta 1:a357a8f9ac8b 18 const char* ECHO_SERVER_ADDRESS = "192.168.1.100";
tsungta 1:a357a8f9ac8b 19 const int ECHO_SERVER_PORT = 1030;
tsungta 1:a357a8f9ac8b 20
tsungta 0:b5f183111420 21 Serial uart(p17, p16);//temporary define for alpha release
tsungta 0:b5f183111420 22
tsungta 0:b5f183111420 23 void scanCallback(tstrM2mWifiscanResult result)
tsungta 0:b5f183111420 24 {
tsungta 0:b5f183111420 25 uart.printf("SSID: %s \n", result.au8SSID);
tsungta 0:b5f183111420 26 uart.printf("RSSI: %i \n", result.s8rssi);
tsungta 0:b5f183111420 27 }
tsungta 0:b5f183111420 28
tsungta 0:b5f183111420 29 int main() {
tsungta 0:b5f183111420 30
tsungta 0:b5f183111420 31 EthernetInterface eth;
tsungta 0:b5f183111420 32 WIFIDevice wifi;
tsungta 0:b5f183111420 33
tsungta 0:b5f183111420 34 uart.baud(9600);
tsungta 0:b5f183111420 35
tsungta 0:b5f183111420 36 eth.init();
tsungta 0:b5f183111420 37 uart.printf("MAC: %s\n", eth.getMACAddress());
tsungta 0:b5f183111420 38
tsungta 0:b5f183111420 39 wifi.apScan(scanCallback);
tsungta 0:b5f183111420 40
tsungta 1:a357a8f9ac8b 41 wifi.setNetwork(M2M_WIFI_SEC_WPA_PSK, "TP-LINK_2.4G_TTWU", "0972753720");
tsungta 0:b5f183111420 42 eth.connect();
tsungta 0:b5f183111420 43 printf("IP: %s\n", eth.getIPAddress());
tsungta 0:b5f183111420 44 printf("Gateway: %s\n", eth.getGateway());
tsungta 0:b5f183111420 45 printf("NetworkMask: %s\n", eth.getNetworkMask());
tsungta 0:b5f183111420 46
tsungta 0:b5f183111420 47 if(wifi.is_AP_connected())
tsungta 0:b5f183111420 48 uart.printf("Connect Success! \n");
tsungta 0:b5f183111420 49 else
tsungta 0:b5f183111420 50 uart.printf("Connect Fail! \n");
tsungta 1:a357a8f9ac8b 51
tsungta 1:a357a8f9ac8b 52 UDPSocket sock;
tsungta 1:a357a8f9ac8b 53 sock.init();
tsungta 1:a357a8f9ac8b 54
tsungta 1:a357a8f9ac8b 55 Endpoint echo_server;
tsungta 1:a357a8f9ac8b 56 echo_server.set_address(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT);
tsungta 1:a357a8f9ac8b 57
tsungta 1:a357a8f9ac8b 58 char out_buffer[] = "Hello World";
tsungta 1:a357a8f9ac8b 59 uart.printf("Sending message '%s' to server (%s)\n",out_buffer,ECHO_SERVER_ADDRESS);
tsungta 1:a357a8f9ac8b 60 sock.sendTo(echo_server, out_buffer, sizeof(out_buffer));
tsungta 1:a357a8f9ac8b 61
tsungta 1:a357a8f9ac8b 62 char in_buffer[256];
tsungta 1:a357a8f9ac8b 63 int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));
tsungta 1:a357a8f9ac8b 64
tsungta 1:a357a8f9ac8b 65 in_buffer[n] = '\0';
tsungta 1:a357a8f9ac8b 66 uart.printf("Received message from server: '%s'\n", in_buffer);
tsungta 1:a357a8f9ac8b 67
tsungta 1:a357a8f9ac8b 68 sock.close();
tsungta 1:a357a8f9ac8b 69
tsungta 1:a357a8f9ac8b 70 eth.disconnect();
tsungta 1:a357a8f9ac8b 71
tsungta 0:b5f183111420 72 while(1) {
tsungta 0:b5f183111420 73 }
tsungta 0:b5f183111420 74 }
tsungta 0:b5f183111420 75