Is it working Ben?
Dependencies: EthernetInterface WebSocketClient mbed-rtos mbed ID12RFID XBeeLib
main.cpp@1:30d760c7478e, 2017-04-10 (annotated)
- 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?
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 |
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 | } |