Is it working Ben?

Dependencies:   EthernetInterface WebSocketClient mbed-rtos mbed ID12RFID XBeeLib

Committer:
bellavanceo
Date:
Mon Apr 10 21:07:48 2017 +0000
Revision:
2:28d134cf84f8
Parent:
1:30d760c7478e
Child:
3:030d126dabab
bob;

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
bellavanceo 2:28d134cf84f8 16 //static char* WEBSOCKET_URL = "ws://24.203.139.78:8080/"; // Adresse Serveur M-A
bellavanceo 2:28d134cf84f8 17 static char* WEBSOCKET_URL = "ws://192.168.0.20:3000/"; // Adresse Serveur M-A
JoeyDionne 0:634fbc4f9bc7 18 bool IsReponseRecu;
JoeyDionne 0:634fbc4f9bc7 19 char* Reponse = "";
bellavanceo 1:30d760c7478e 20 bool frameIsOk = true;
bellavanceo 2:28d134cf84f8 21 int ID;
bellavanceo 2:28d134cf84f8 22
bellavanceo 1:30d760c7478e 23
bellavanceo 1:30d760c7478e 24 ID12RFID rfid(p10); // uart rx
bellavanceo 2:28d134cf84f8 25 //EthernetInterface eth;
bellavanceo 1:30d760c7478e 26 Websocket ws(WEBSOCKET_URL);
bellavanceo 1:30d760c7478e 27
bellavanceo 1:30d760c7478e 28 static void receive_cb(const RemoteXBeeZB& remote, bool broadcast, const uint8_t *const data, uint16_t len)
JoeyDionne 0:634fbc4f9bc7 29 {
bellavanceo 1:30d760c7478e 30 const uint64_t remote_addr64 = remote.get_addr64();
bellavanceo 1:30d760c7478e 31
bellavanceo 1:30d760c7478e 32 //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 33
bellavanceo 1:30d760c7478e 34 for (int i = 0; i < len; i++)
bellavanceo 1:30d760c7478e 35 pc.printf("%02x ", data[i]);
bellavanceo 1:30d760c7478e 36 int x ;
bellavanceo 2:28d134cf84f8 37 ((char*)&x)[2] = (char)data[1];
bellavanceo 2:28d134cf84f8 38 ((char*)&x)[1] = (char)data[2];
bellavanceo 2:28d134cf84f8 39 ((char*)&x)[0] = (char)data[3];
bellavanceo 1:30d760c7478e 40 pc.printf("%d ", x);
bellavanceo 2:28d134cf84f8 41 char message[64];
bellavanceo 2:28d134cf84f8 42 sprintf(message,"1,%d,%d",x,data[0]) ;
bellavanceo 2:28d134cf84f8 43 ws.send(message); //envoie de message de chute
bellavanceo 1:30d760c7478e 44 pc.printf("\r\n");
JoeyDionne 0:634fbc4f9bc7 45 }
JoeyDionne 0:634fbc4f9bc7 46
bellavanceo 2:28d134cf84f8 47 void ReadConfig()
bellavanceo 2:28d134cf84f8 48 {
bellavanceo 2:28d134cf84f8 49 char key[10];
bellavanceo 2:28d134cf84f8 50 int panID;
bellavanceo 2:28d134cf84f8 51 FILE * f = fopen("/local/coor.cfg", "r");
bellavanceo 2:28d134cf84f8 52 fscanf(f,"%s %x", key, &panID);
bellavanceo 2:28d134cf84f8 53 //fscanf(f,"%s %x", key, &ID); //lecture du panid
bellavanceo 2:28d134cf84f8 54 //fscanf(f,"%s %d",key, &ID); //lecture du panid
bellavanceo 2:28d134cf84f8 55
bellavanceo 2:28d134cf84f8 56 fclose(f);
bellavanceo 2:28d134cf84f8 57 }
bellavanceo 1:30d760c7478e 58
bellavanceo 1:30d760c7478e 59 int main()
bellavanceo 1:30d760c7478e 60 {
bellavanceo 2:28d134cf84f8 61 //ReadConfig();
bellavanceo 2:28d134cf84f8 62
JoeyDionne 0:634fbc4f9bc7 63 // Setup du port ethernet
bellavanceo 1:30d760c7478e 64 EthernetInterface eth;
JoeyDionne 0:634fbc4f9bc7 65 eth.init(); //Use DHCP
JoeyDionne 0:634fbc4f9bc7 66 //eth.init(mbedIp, mbedMask, mbedGateway); //Use config
JoeyDionne 0:634fbc4f9bc7 67 eth.connect();
bellavanceo 2:28d134cf84f8 68 //printf("IP Address is %s\n\r", eth.getIPAddress());
bellavanceo 1:30d760c7478e 69
JoeyDionne 0:634fbc4f9bc7 70 IsReponseRecu = false;
bellavanceo 1:30d760c7478e 71 XBeeZB xbee = XBeeZB(RADIO_TX, RADIO_RX, RADIO_RESET, NC, NC, 9600);
bellavanceo 1:30d760c7478e 72
bellavanceo 1:30d760c7478e 73 /* Register callbacks */
bellavanceo 1:30d760c7478e 74 xbee.register_receive_cb(&receive_cb);
bellavanceo 1:30d760c7478e 75
bellavanceo 1:30d760c7478e 76 RadioStatus const radioStatus = xbee.init();
bellavanceo 2:28d134cf84f8 77 //ws = new Websocket(WEBSOCKET_URL, &eth);
bellavanceo 2:28d134cf84f8 78 if(ws.connect()) {
bellavanceo 1:30d760c7478e 79 pc.printf("ok");
bellavanceo 2:28d134cf84f8 80 } else {
bellavanceo 2:28d134cf84f8 81 pc.printf("bad");
bellavanceo 2:28d134cf84f8 82 }
bellavanceo 1:30d760c7478e 83
JoeyDionne 0:634fbc4f9bc7 84 myled = false;
bellavanceo 1:30d760c7478e 85
JoeyDionne 0:634fbc4f9bc7 86 while (1) {
bellavanceo 1:30d760c7478e 87 xbee.process_rx_frames();
bellavanceo 1:30d760c7478e 88
bellavanceo 1:30d760c7478e 89 if(rfid.readable()) {
bellavanceo 1:30d760c7478e 90 int i = rfid.read();
bellavanceo 1:30d760c7478e 91 printf("RFID Tag number : %d\n", i);
bellavanceo 2:28d134cf84f8 92 char message[64];
bellavanceo 2:28d134cf84f8 93 sprintf(message,"0,%d,1",i) ;
bellavanceo 2:28d134cf84f8 94 //sprintf(message,"0,%d,%d",i,ID) ;
bellavanceo 2:28d134cf84f8 95 ws.send(message); //envoie de commande rfid
JoeyDionne 0:634fbc4f9bc7 96 }
bellavanceo 1:30d760c7478e 97 wait_ms(100);
bellavanceo 1:30d760c7478e 98 // IsReponseRecu = false;
bellavanceo 1:30d760c7478e 99 // ws.send("WS Test");
bellavanceo 1:30d760c7478e 100 // while(IsReponseRecu == false) {
bellavanceo 1:30d760c7478e 101 // if(ws.read(Reponse)) {
bellavanceo 1:30d760c7478e 102 // ThreadLecture.signal_set(1);
bellavanceo 1:30d760c7478e 103 // //printf("We Got Something : %v", Reponse);
bellavanceo 1:30d760c7478e 104 // IsReponseRecu = true;
bellavanceo 1:30d760c7478e 105 // }
bellavanceo 1:30d760c7478e 106 // }
JoeyDionne 0:634fbc4f9bc7 107 }
JoeyDionne 0:634fbc4f9bc7 108 }