Is it working Ben?
Dependencies: EthernetInterface WebSocketClient mbed-rtos mbed ID12RFID XBeeLib
main.cpp@2:28d134cf84f8, 2017-04-10 (annotated)
- 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?
User | Revision | Line number | New 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, ð); |
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 | } |