Nucleo STM32 F401RE , NodeMCU and TCP Conneciton

Dependencies:   BufferedSerial mbed-rtos mbed

Fork of NucleoF401_ESP8622 by Veysel KARADAG

Connection SCHEMA

/media/uploads/veyselka/schema.jpg

SOCKET DATA

/media/uploads/veyselka/portpeeker.jpg

DETAIL DESCRIPTION

http://veyselkaradag.blogspot.com.tr/

Committer:
veyselka
Date:
Wed Feb 18 13:41:07 2015 +0000
Revision:
1:4a50b910342c
NUCLEO with NodeMCU AT commands V.1.0.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
veyselka 1:4a50b910342c 1 /* ---------------------------------------------------------------------------
veyselka 1:4a50b910342c 2 ** This software is in the public domain, furnished "as is", without technical
veyselka 1:4a50b910342c 3 ** support, and with no warranty, express or implied, as to its usefulness for
veyselka 1:4a50b910342c 4 ** any purpose.
veyselka 1:4a50b910342c 5 **
veyselka 1:4a50b910342c 6 ** esp8622.ccp
veyselka 1:4a50b910342c 7 ** NodeMCU serial comminication STM32F401RE Nucleo Board
veyselka 1:4a50b910342c 8 ** Author: <veyselka@hotmail.com> <v.karadag@gmail.com> Veysel KARADAG
veyselka 1:4a50b910342c 9 ** -------------------------------------------------------------------------*/
veyselka 1:4a50b910342c 10
veyselka 1:4a50b910342c 11 #include "esp8622.h"
veyselka 1:4a50b910342c 12 #include "mbed.h"
veyselka 1:4a50b910342c 13
veyselka 1:4a50b910342c 14
veyselka 1:4a50b910342c 15 char rx_buffer[255];
veyselka 1:4a50b910342c 16
veyselka 1:4a50b910342c 17 int esp8622::sendATTest(void)
veyselka 1:4a50b910342c 18 {
veyselka 1:4a50b910342c 19 char resp[32];
veyselka 1:4a50b910342c 20
veyselka 1:4a50b910342c 21 sendCmd("AT\r\n");
veyselka 1:4a50b910342c 22 memset(resp,0,32);
veyselka 1:4a50b910342c 23 readFromBuffer(resp,DEFAULT_TIMEOUT,10);
veyselka 1:4a50b910342c 24
veyselka 1:4a50b910342c 25 if(strncmp(resp,"AT\r\r\n\r\nOK",9)==0)
veyselka 1:4a50b910342c 26 return 1;
veyselka 1:4a50b910342c 27 else
veyselka 1:4a50b910342c 28 return 0;
veyselka 1:4a50b910342c 29
veyselka 1:4a50b910342c 30
veyselka 1:4a50b910342c 31 }
veyselka 1:4a50b910342c 32
veyselka 1:4a50b910342c 33 void esp8622::sendCmd(const char* cmd)
veyselka 1:4a50b910342c 34 {
veyselka 1:4a50b910342c 35 esp8622_com.clear();
veyselka 1:4a50b910342c 36 esp8622_com.puts(cmd);
veyselka 1:4a50b910342c 37 }
veyselka 1:4a50b910342c 38
veyselka 1:4a50b910342c 39
veyselka 1:4a50b910342c 40 int esp8622::readFromBuffer(char *resp,unsigned int timeout,unsigned int len )
veyselka 1:4a50b910342c 41 {
veyselka 1:4a50b910342c 42
veyselka 1:4a50b910342c 43 timeCnt.start();
veyselka 1:4a50b910342c 44 int i=0;
veyselka 1:4a50b910342c 45
veyselka 1:4a50b910342c 46 while(1) {
veyselka 1:4a50b910342c 47
veyselka 1:4a50b910342c 48 if(esp8622_com.readable()) {
veyselka 1:4a50b910342c 49 char c = esp8622_com.getc();
veyselka 1:4a50b910342c 50 resp[i]=c;
veyselka 1:4a50b910342c 51 i++;
veyselka 1:4a50b910342c 52 if(i>=len)
veyselka 1:4a50b910342c 53 break;
veyselka 1:4a50b910342c 54 }
veyselka 1:4a50b910342c 55
veyselka 1:4a50b910342c 56 if(timeCnt.read() > timeout) {
veyselka 1:4a50b910342c 57 break;
veyselka 1:4a50b910342c 58 }
veyselka 1:4a50b910342c 59 }
veyselka 1:4a50b910342c 60 timeCnt.stop();
veyselka 1:4a50b910342c 61 timeCnt.reset();
veyselka 1:4a50b910342c 62 // printf("RESP:%s:\r\n",resp);
veyselka 1:4a50b910342c 63 return 0;
veyselka 1:4a50b910342c 64 }