Is it working Ben?

Dependencies:   EthernetInterface WebSocketClient mbed-rtos mbed ID12RFID XBeeLib

Committer:
bellavanceo
Date:
Mon Apr 10 19:00:02 2017 +0000
Revision:
1:30d760c7478e
Parent:
0:634fbc4f9bc7
Child:
2:28d134cf84f8
xbee, rfid et websocket test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JoeyDionne 0:634fbc4f9bc7 1 #include "mbed.h"
JoeyDionne 0:634fbc4f9bc7 2 #include "rtos.h"
JoeyDionne 0:634fbc4f9bc7 3 #include "EthernetInterface.h"
JoeyDionne 0:634fbc4f9bc7 4 #include "Websocket.h"
bellavanceo 1:30d760c7478e 5 #include "ID12RFID.h"
bellavanceo 1:30d760c7478e 6 #include "XBeeLib.h"
bellavanceo 1:30d760c7478e 7 #include "DigiLoggerMbedSerial.h"
JoeyDionne 0:634fbc4f9bc7 8
bellavanceo 1:30d760c7478e 9 using namespace XBeeLib;
JoeyDionne 0:634fbc4f9bc7 10 //static const char* mbedIp = "192.168.1.2";
JoeyDionne 0:634fbc4f9bc7 11 //static const char* mbedMask = "255.255.255.0";
JoeyDionne 0:634fbc4f9bc7 12 //static const char* mbedGateway = "192.168.1.1";
JoeyDionne 0:634fbc4f9bc7 13 DigitalOut myled(LED1);
JoeyDionne 0:634fbc4f9bc7 14 Serial pc(USBTX, USBRX);
JoeyDionne 0:634fbc4f9bc7 15 //static char* WEBSOCKET_URL= "ws://braceletus.herokuapp.com:8080/"; // Adresse Serveur M-A
JoeyDionne 0:634fbc4f9bc7 16 static char* WEBSOCKET_URL = "ws://24.203.139.78:8080/"; // Adresse Serveur M-A
JoeyDionne 0:634fbc4f9bc7 17 bool IsReponseRecu;
JoeyDionne 0:634fbc4f9bc7 18 char* Reponse = "";
bellavanceo 1:30d760c7478e 19 bool frameIsOk = true;
bellavanceo 1:30d760c7478e 20
bellavanceo 1:30d760c7478e 21 ID12RFID rfid(p10); // uart rx
JoeyDionne 0:634fbc4f9bc7 22
bellavanceo 1:30d760c7478e 23 Websocket ws(WEBSOCKET_URL);
bellavanceo 1:30d760c7478e 24
bellavanceo 1:30d760c7478e 25 static void receive_cb(const RemoteXBeeZB& remote, bool broadcast, const uint8_t *const data, uint16_t len)
JoeyDionne 0:634fbc4f9bc7 26 {
bellavanceo 1:30d760c7478e 27 const uint64_t remote_addr64 = remote.get_addr64();
bellavanceo 1:30d760c7478e 28
bellavanceo 1:30d760c7478e 29 //pc.printf("\r\nGot a %s RX packet [%08x:%08x|%04x], len %d\r\nData: ", broadcast ? "BROADCAST" : "UNICAST", UINT64_HI32(remote_addr64), UINT64_LO32(remote_addr64), remote.get_addr16(), len);
bellavanceo 1:30d760c7478e 30
bellavanceo 1:30d760c7478e 31 for (int i = 0; i < len; i++)
bellavanceo 1:30d760c7478e 32 pc.printf("%02x ", data[i]);
bellavanceo 1:30d760c7478e 33 int x ;
bellavanceo 1:30d760c7478e 34 ((char*)&x)[2] = data[1];
bellavanceo 1:30d760c7478e 35 ((char*)&x)[1] = data[2];
bellavanceo 1:30d760c7478e 36 ((char*)&x)[0] = data[3];
bellavanceo 1:30d760c7478e 37 pc.printf("%d ", x);
bellavanceo 1:30d760c7478e 38 ws.send("WS Test"); //envoie de message de chute
bellavanceo 1:30d760c7478e 39 pc.printf("\r\n");
JoeyDionne 0:634fbc4f9bc7 40 }
JoeyDionne 0:634fbc4f9bc7 41
bellavanceo 1:30d760c7478e 42
bellavanceo 1:30d760c7478e 43
bellavanceo 1:30d760c7478e 44 int main()
bellavanceo 1:30d760c7478e 45 {
JoeyDionne 0:634fbc4f9bc7 46 // Setup du port ethernet
bellavanceo 1:30d760c7478e 47 EthernetInterface eth;
JoeyDionne 0:634fbc4f9bc7 48 eth.init(); //Use DHCP
JoeyDionne 0:634fbc4f9bc7 49 //eth.init(mbedIp, mbedMask, mbedGateway); //Use config
JoeyDionne 0:634fbc4f9bc7 50 eth.connect();
bellavanceo 1:30d760c7478e 51
bellavanceo 1:30d760c7478e 52
JoeyDionne 0:634fbc4f9bc7 53 IsReponseRecu = false;
bellavanceo 1:30d760c7478e 54 XBeeZB xbee = XBeeZB(RADIO_TX, RADIO_RX, RADIO_RESET, NC, NC, 9600);
bellavanceo 1:30d760c7478e 55
bellavanceo 1:30d760c7478e 56 /* Register callbacks */
bellavanceo 1:30d760c7478e 57 xbee.register_receive_cb(&receive_cb);
bellavanceo 1:30d760c7478e 58
bellavanceo 1:30d760c7478e 59 RadioStatus const radioStatus = xbee.init();
bellavanceo 1:30d760c7478e 60 if(ws.connect())
bellavanceo 1:30d760c7478e 61 {
bellavanceo 1:30d760c7478e 62 pc.printf("ok");
bellavanceo 1:30d760c7478e 63 }
bellavanceo 1:30d760c7478e 64 else{
bellavanceo 1:30d760c7478e 65 pc.printf("bad");
bellavanceo 1:30d760c7478e 66 }
bellavanceo 1:30d760c7478e 67
JoeyDionne 0:634fbc4f9bc7 68 myled = false;
bellavanceo 1:30d760c7478e 69
JoeyDionne 0:634fbc4f9bc7 70 while (1) {
bellavanceo 1:30d760c7478e 71 xbee.process_rx_frames();
bellavanceo 1:30d760c7478e 72
bellavanceo 1:30d760c7478e 73 if(rfid.readable()) {
bellavanceo 1:30d760c7478e 74 int i = rfid.read();
bellavanceo 1:30d760c7478e 75 printf("RFID Tag number : %d\n", i);
bellavanceo 1:30d760c7478e 76 ws.send("WS Test"); //envoie de commande rfid
JoeyDionne 0:634fbc4f9bc7 77 }
bellavanceo 1:30d760c7478e 78 wait_ms(100);
bellavanceo 1:30d760c7478e 79 // IsReponseRecu = false;
bellavanceo 1:30d760c7478e 80 // ws.send("WS Test");
bellavanceo 1:30d760c7478e 81 // while(IsReponseRecu == false) {
bellavanceo 1:30d760c7478e 82 // if(ws.read(Reponse)) {
bellavanceo 1:30d760c7478e 83 // ThreadLecture.signal_set(1);
bellavanceo 1:30d760c7478e 84 // //printf("We Got Something : %v", Reponse);
bellavanceo 1:30d760c7478e 85 // IsReponseRecu = true;
bellavanceo 1:30d760c7478e 86 // }
bellavanceo 1:30d760c7478e 87 // }
JoeyDionne 0:634fbc4f9bc7 88 }
JoeyDionne 0:634fbc4f9bc7 89 }