Simple test for commanding the RGB LED. Use your mbed websocket to send a message, composed by a letter and a number. The letter can be 'r', 'g', or 'b', which is the LED color, and the number is 0 or 1, which is the logic state. Remember that the board LEDs light up with a 0 level.

Dependencies:   WebSocketClient mbed-rtos mbed

Committer:
quevedo
Date:
Thu Aug 07 17:48:14 2014 +0000
Revision:
0:35bd27c75bc9
Child:
1:ba6266c183de
First version;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
quevedo 0:35bd27c75bc9 1 #include "mbed.h"
quevedo 0:35bd27c75bc9 2 #include "EthernetInterface.h"
quevedo 0:35bd27c75bc9 3 #include "Websocket.h"
quevedo 0:35bd27c75bc9 4
quevedo 0:35bd27c75bc9 5 DigitalOut ledr(PTB22);
quevedo 0:35bd27c75bc9 6 DigitalOut ledg(PTE26);
quevedo 0:35bd27c75bc9 7 DigitalOut ledb(PTB21);
quevedo 0:35bd27c75bc9 8 DigitalIn sw(PTA4);
quevedo 0:35bd27c75bc9 9
quevedo 0:35bd27c75bc9 10 int main() {
quevedo 0:35bd27c75bc9 11 int res;
quevedo 0:35bd27c75bc9 12 char buf[100];
quevedo 0:35bd27c75bc9 13 char msg[100];
quevedo 0:35bd27c75bc9 14 ledg = 1;
quevedo 0:35bd27c75bc9 15 ledr = 1;
quevedo 0:35bd27c75bc9 16 ledb = 1;
quevedo 0:35bd27c75bc9 17 bool pb = 1;
quevedo 0:35bd27c75bc9 18
quevedo 0:35bd27c75bc9 19 printf("START\r\n");
quevedo 0:35bd27c75bc9 20 EthernetInterface eth;
quevedo 0:35bd27c75bc9 21 eth.init();
quevedo 0:35bd27c75bc9 22 eth.connect();
quevedo 0:35bd27c75bc9 23 printf("IP Address is %s\n\r", eth.getIPAddress());
quevedo 0:35bd27c75bc9 24 wait(1.0);
quevedo 0:35bd27c75bc9 25
quevedo 0:35bd27c75bc9 26 Websocket ws("ws://sockets.mbed.org/ws/quevedo/ro");
quevedo 0:35bd27c75bc9 27 ws.connect();
quevedo 0:35bd27c75bc9 28
quevedo 0:35bd27c75bc9 29 while (pb) {
quevedo 0:35bd27c75bc9 30 if(!ws.read(buf)) {
quevedo 0:35bd27c75bc9 31 if(buf[0] == 'r') {
quevedo 0:35bd27c75bc9 32 if(buf[1] == '0') {
quevedo 0:35bd27c75bc9 33 ledr = 0;
quevedo 0:35bd27c75bc9 34 } else {
quevedo 0:35bd27c75bc9 35 ledr = 1;
quevedo 0:35bd27c75bc9 36 }
quevedo 0:35bd27c75bc9 37 }
quevedo 0:35bd27c75bc9 38 if(buf[0] == 'g') {
quevedo 0:35bd27c75bc9 39 if(buf[1] == '0') {
quevedo 0:35bd27c75bc9 40 ledg = 0;
quevedo 0:35bd27c75bc9 41 } else {
quevedo 0:35bd27c75bc9 42 ledg = 1;
quevedo 0:35bd27c75bc9 43 }
quevedo 0:35bd27c75bc9 44 }
quevedo 0:35bd27c75bc9 45 if(buf[0] == 'b') {
quevedo 0:35bd27c75bc9 46 if(buf[1] == '0') {
quevedo 0:35bd27c75bc9 47 ledb = 0;
quevedo 0:35bd27c75bc9 48 } else {
quevedo 0:35bd27c75bc9 49 ledb = 1;
quevedo 0:35bd27c75bc9 50 }
quevedo 0:35bd27c75bc9 51 }
quevedo 0:35bd27c75bc9 52 }
quevedo 0:35bd27c75bc9 53 pb = sw;
quevedo 0:35bd27c75bc9 54 }
quevedo 0:35bd27c75bc9 55 ws.close();
quevedo 0:35bd27c75bc9 56 eth.disconnect();
quevedo 0:35bd27c75bc9 57 ledg = 1;
quevedo 0:35bd27c75bc9 58 ledr = 1;
quevedo 0:35bd27c75bc9 59 ledb = 1;
quevedo 0:35bd27c75bc9 60 while(1) {
quevedo 0:35bd27c75bc9 61 }
quevedo 0:35bd27c75bc9 62 }