Jelle Raes / Mbed 2 deprecated Projec_1_projectlab

Dependencies:   EthernetInterface LM75B mbed-rtos mbed

Fork of communication by Jelle Raes

Committer:
JelleRaes
Date:
Tue Mar 13 09:40:51 2018 +0000
Revision:
0:52e944ca21ea
Child:
1:550192b4ae8e
voorlopig beste versie;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JelleRaes 0:52e944ca21ea 1 #include "mbed.h"
JelleRaes 0:52e944ca21ea 2 #include "master.h"
JelleRaes 0:52e944ca21ea 3 #include <string.h>
JelleRaes 0:52e944ca21ea 4 #include "EthernetInterface.h"
JelleRaes 0:52e944ca21ea 5
JelleRaes 0:52e944ca21ea 6 Serial masterpc(USBTX, USBRX);
JelleRaes 0:52e944ca21ea 7
JelleRaes 0:52e944ca21ea 8 void startMaster(const char* ip){
JelleRaes 0:52e944ca21ea 9 EthernetInterface eth;
JelleRaes 0:52e944ca21ea 10 eth.init(ip, "255.255.255.0", "192.168.0.1");
JelleRaes 0:52e944ca21ea 11 eth.connect();
JelleRaes 0:52e944ca21ea 12 masterpc.printf("ip = %s\n\r",eth.getIPAddress());
JelleRaes 0:52e944ca21ea 13 masterpc.printf("gateway = %s\n\r",eth.getGateway());
JelleRaes 0:52e944ca21ea 14 masterpc.printf("mask = %s\n\r",eth.getNetworkMask());
JelleRaes 0:52e944ca21ea 15 UDPSocket sock;
JelleRaes 0:52e944ca21ea 16
JelleRaes 0:52e944ca21ea 17 while(true){
JelleRaes 0:52e944ca21ea 18 char masterBuffer[512]={NULL};
JelleRaes 0:52e944ca21ea 19 masterpc.printf("type for request:\n\r");
JelleRaes 0:52e944ca21ea 20 for(int i = 0;i<512;i++){
JelleRaes 0:52e944ca21ea 21 char key = masterpc.getc();
JelleRaes 0:52e944ca21ea 22 if(key != 13){
JelleRaes 0:52e944ca21ea 23 masterpc.putc(key);
JelleRaes 0:52e944ca21ea 24 masterBuffer[i]=key;
JelleRaes 0:52e944ca21ea 25 }
JelleRaes 0:52e944ca21ea 26 else{
JelleRaes 0:52e944ca21ea 27 masterBuffer[i]='\0';
JelleRaes 0:52e944ca21ea 28 break;
JelleRaes 0:52e944ca21ea 29 }
JelleRaes 0:52e944ca21ea 30 }
JelleRaes 0:52e944ca21ea 31
JelleRaes 0:52e944ca21ea 32 char ipArray[14]={NULL};
JelleRaes 0:52e944ca21ea 33 masterpc.printf("insert ip address to send to:\n\r ");
JelleRaes 0:52e944ca21ea 34 for(int i = 0;i<14;i++){
JelleRaes 0:52e944ca21ea 35 char key = masterpc.getc();
JelleRaes 0:52e944ca21ea 36 if(key != 13){
JelleRaes 0:52e944ca21ea 37 masterpc.putc(key);
JelleRaes 0:52e944ca21ea 38 ipArray[i]=key;
JelleRaes 0:52e944ca21ea 39 }
JelleRaes 0:52e944ca21ea 40 else{
JelleRaes 0:52e944ca21ea 41 ipArray[i]='\0';
JelleRaes 0:52e944ca21ea 42 break;
JelleRaes 0:52e944ca21ea 43 }
JelleRaes 0:52e944ca21ea 44 }
JelleRaes 0:52e944ca21ea 45
JelleRaes 0:52e944ca21ea 46 sock.init();
JelleRaes 0:52e944ca21ea 47 const char *ECHO_SERVER_ADDRESS = ipArray;
JelleRaes 0:52e944ca21ea 48 Endpoint echo_server;
JelleRaes 0:52e944ca21ea 49 echo_server.set_address(ECHO_SERVER_ADDRESS,4000);
JelleRaes 0:52e944ca21ea 50 masterpc.printf("Sending \"%s\" to IPAddress :%s\n\r",masterBuffer,ECHO_SERVER_ADDRESS);
JelleRaes 0:52e944ca21ea 51 sock.sendTo(echo_server,masterBuffer,sizeof(masterBuffer));
JelleRaes 0:52e944ca21ea 52
JelleRaes 0:52e944ca21ea 53 int n = sock.receiveFrom(echo_server, masterBuffer, sizeof(masterBuffer));
JelleRaes 0:52e944ca21ea 54 masterBuffer[n] = '\0';
JelleRaes 0:52e944ca21ea 55 masterpc.printf("Received message from server: '%s'\n\r", masterBuffer);
JelleRaes 0:52e944ca21ea 56 sock.close();
JelleRaes 0:52e944ca21ea 57 }
JelleRaes 0:52e944ca21ea 58 }