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:57:19 2014 +0000
Revision:
1:ba6266c183de
Parent:
0:35bd27c75bc9
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 1:ba6266c183de 26 // Change YOURLOGIN for your mbed login so you can communicate to the board
quevedo 1:ba6266c183de 27 // using the mbed websocket at:
quevedo 1:ba6266c183de 28 // http://sockets.mbed.org/YOURLOGIN
quevedo 1:ba6266c183de 29 Websocket ws("ws://sockets.mbed.org/ws/YOURLOGIN/ro");
quevedo 0:35bd27c75bc9 30 ws.connect();
quevedo 0:35bd27c75bc9 31
quevedo 0:35bd27c75bc9 32 while (pb) {
quevedo 0:35bd27c75bc9 33 if(!ws.read(buf)) {
quevedo 0:35bd27c75bc9 34 if(buf[0] == 'r') {
quevedo 0:35bd27c75bc9 35 if(buf[1] == '0') {
quevedo 0:35bd27c75bc9 36 ledr = 0;
quevedo 0:35bd27c75bc9 37 } else {
quevedo 0:35bd27c75bc9 38 ledr = 1;
quevedo 0:35bd27c75bc9 39 }
quevedo 0:35bd27c75bc9 40 }
quevedo 0:35bd27c75bc9 41 if(buf[0] == 'g') {
quevedo 0:35bd27c75bc9 42 if(buf[1] == '0') {
quevedo 0:35bd27c75bc9 43 ledg = 0;
quevedo 0:35bd27c75bc9 44 } else {
quevedo 0:35bd27c75bc9 45 ledg = 1;
quevedo 0:35bd27c75bc9 46 }
quevedo 0:35bd27c75bc9 47 }
quevedo 0:35bd27c75bc9 48 if(buf[0] == 'b') {
quevedo 0:35bd27c75bc9 49 if(buf[1] == '0') {
quevedo 0:35bd27c75bc9 50 ledb = 0;
quevedo 0:35bd27c75bc9 51 } else {
quevedo 0:35bd27c75bc9 52 ledb = 1;
quevedo 0:35bd27c75bc9 53 }
quevedo 0:35bd27c75bc9 54 }
quevedo 0:35bd27c75bc9 55 }
quevedo 0:35bd27c75bc9 56 pb = sw;
quevedo 0:35bd27c75bc9 57 }
quevedo 0:35bd27c75bc9 58 ws.close();
quevedo 0:35bd27c75bc9 59 eth.disconnect();
quevedo 0:35bd27c75bc9 60 ledg = 1;
quevedo 0:35bd27c75bc9 61 ledr = 1;
quevedo 0:35bd27c75bc9 62 ledb = 1;
quevedo 0:35bd27c75bc9 63 while(1) {
quevedo 0:35bd27c75bc9 64 }
quevedo 0:35bd27c75bc9 65 }