mbed project met ethernet communicatie (UDP) Master/slave

Dependencies:   EthernetInterface LM75B mbed-rtos mbed

Hey

Committer:
RobinMechele
Date:
Wed Mar 14 14:38:43 2018 +0000
Revision:
1:db9b9bec0133
Child:
2:ecc0c5c14bc1
Alles werkt yayyyy, nu nog bitj kushn;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RobinMechele 1:db9b9bec0133 1 #include "master.h"
RobinMechele 1:db9b9bec0133 2
RobinMechele 1:db9b9bec0133 3 #define MAX_BUFFER_SIZE 512
RobinMechele 1:db9b9bec0133 4 #define PORT 4000
RobinMechele 1:db9b9bec0133 5
RobinMechele 1:db9b9bec0133 6 Serial pc(USBTX, USBRX);
RobinMechele 1:db9b9bec0133 7
RobinMechele 1:db9b9bec0133 8 Master::Master()
RobinMechele 1:db9b9bec0133 9 :buffer(), receiveID()
RobinMechele 1:db9b9bec0133 10 {
RobinMechele 1:db9b9bec0133 11 //Constructor
RobinMechele 1:db9b9bec0133 12 }
RobinMechele 1:db9b9bec0133 13
RobinMechele 1:db9b9bec0133 14 void Master::masterRun(const char* ip)
RobinMechele 1:db9b9bec0133 15 {
RobinMechele 1:db9b9bec0133 16 EthernetInterface ethernet;
RobinMechele 1:db9b9bec0133 17 ethernet.init(ip,"255.255.255.0", "192.168.0.1");
RobinMechele 1:db9b9bec0133 18 ethernet.connect();
RobinMechele 1:db9b9bec0133 19
RobinMechele 1:db9b9bec0133 20 printf("Your ip is: %s \n\r", ethernet.getIPAddress());
RobinMechele 1:db9b9bec0133 21
RobinMechele 1:db9b9bec0133 22 while(1)
RobinMechele 1:db9b9bec0133 23 {
RobinMechele 1:db9b9bec0133 24 //Aanmaken van het bericht in het consolevenster
RobinMechele 1:db9b9bec0133 25 char buffer[MAX_BUFFER_SIZE] = {0};
RobinMechele 1:db9b9bec0133 26 for(int i = 0; i < MAX_BUFFER_SIZE; i++){
RobinMechele 1:db9b9bec0133 27 char temp = pc.getc();
RobinMechele 1:db9b9bec0133 28 if(temp == 13){
RobinMechele 1:db9b9bec0133 29 break;
RobinMechele 1:db9b9bec0133 30 }
RobinMechele 1:db9b9bec0133 31 pc.putc(temp);
RobinMechele 1:db9b9bec0133 32 buffer[i] = temp;
RobinMechele 1:db9b9bec0133 33 }
RobinMechele 1:db9b9bec0133 34 printf("You will send the next message: %s \n\r", buffer);
RobinMechele 1:db9b9bec0133 35 printf("Enter the full IP address to send the message to \n\r");
RobinMechele 1:db9b9bec0133 36
RobinMechele 1:db9b9bec0133 37 for(int i = 0; i < 14; i++){
RobinMechele 1:db9b9bec0133 38 char temp = pc.getc();
RobinMechele 1:db9b9bec0133 39 pc.putc(temp);
RobinMechele 1:db9b9bec0133 40 receiveID[i] = temp;
RobinMechele 1:db9b9bec0133 41 }
RobinMechele 1:db9b9bec0133 42
RobinMechele 1:db9b9bec0133 43 UDPSocket sock;
RobinMechele 1:db9b9bec0133 44 sock.init();
RobinMechele 1:db9b9bec0133 45 Endpoint slave;
RobinMechele 1:db9b9bec0133 46 slave.set_address(receiveID,PORT);
RobinMechele 1:db9b9bec0133 47
RobinMechele 1:db9b9bec0133 48 printf("You will send the message to ip-address: %s \n\r", receiveID);
RobinMechele 1:db9b9bec0133 49
RobinMechele 1:db9b9bec0133 50 sock.sendTo(slave, buffer, sizeof(buffer));
RobinMechele 1:db9b9bec0133 51 printf("Bericht verstuurd btw \n\r");
RobinMechele 1:db9b9bec0133 52
RobinMechele 1:db9b9bec0133 53 char receive[MAX_BUFFER_SIZE] = {0};
RobinMechele 1:db9b9bec0133 54 int n = sock.receiveFrom(slave, receive, sizeof(receive));
RobinMechele 1:db9b9bec0133 55 receive[n]='\0';
RobinMechele 1:db9b9bec0133 56
RobinMechele 1:db9b9bec0133 57 printf("Received an answer from the slave \n\r");
RobinMechele 1:db9b9bec0133 58 printf("Answer: %s \n\r", receive);
RobinMechele 1:db9b9bec0133 59
RobinMechele 1:db9b9bec0133 60 sock.close();
RobinMechele 1:db9b9bec0133 61 }
RobinMechele 1:db9b9bec0133 62 }