Is it working Ben?
Dependencies: EthernetInterface WebSocketClient mbed-rtos mbed ID12RFID XBeeLib
main.cpp
- Committer:
- bellavanceo
- Date:
- 2017-04-10
- Revision:
- 2:28d134cf84f8
- Parent:
- 1:30d760c7478e
- Child:
- 3:030d126dabab
File content as of revision 2:28d134cf84f8:
#include "mbed.h" #include "rtos.h" #include "EthernetInterface.h" #include "Websocket.h" #include "ID12RFID.h" #include "XBeeLib.h" #include "DigiLoggerMbedSerial.h" using namespace XBeeLib; //static const char* mbedIp = "192.168.1.2"; //static const char* mbedMask = "255.255.255.0"; //static const char* mbedGateway = "192.168.1.1"; DigitalOut myled(LED1); Serial pc(USBTX, USBRX); //static char* WEBSOCKET_URL= "ws://braceletus.herokuapp.com:8080/"; // Adresse Serveur M-A //static char* WEBSOCKET_URL = "ws://24.203.139.78:8080/"; // Adresse Serveur M-A static char* WEBSOCKET_URL = "ws://192.168.0.20:3000/"; // Adresse Serveur M-A bool IsReponseRecu; char* Reponse = ""; bool frameIsOk = true; int ID; ID12RFID rfid(p10); // uart rx //EthernetInterface eth; Websocket ws(WEBSOCKET_URL); static void receive_cb(const RemoteXBeeZB& remote, bool broadcast, const uint8_t *const data, uint16_t len) { const uint64_t remote_addr64 = remote.get_addr64(); //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); for (int i = 0; i < len; i++) pc.printf("%02x ", data[i]); int x ; ((char*)&x)[2] = (char)data[1]; ((char*)&x)[1] = (char)data[2]; ((char*)&x)[0] = (char)data[3]; pc.printf("%d ", x); char message[64]; sprintf(message,"1,%d,%d",x,data[0]) ; ws.send(message); //envoie de message de chute pc.printf("\r\n"); } void ReadConfig() { char key[10]; int panID; FILE * f = fopen("/local/coor.cfg", "r"); fscanf(f,"%s %x", key, &panID); //fscanf(f,"%s %x", key, &ID); //lecture du panid //fscanf(f,"%s %d",key, &ID); //lecture du panid fclose(f); } int main() { //ReadConfig(); // Setup du port ethernet EthernetInterface eth; eth.init(); //Use DHCP //eth.init(mbedIp, mbedMask, mbedGateway); //Use config eth.connect(); //printf("IP Address is %s\n\r", eth.getIPAddress()); IsReponseRecu = false; XBeeZB xbee = XBeeZB(RADIO_TX, RADIO_RX, RADIO_RESET, NC, NC, 9600); /* Register callbacks */ xbee.register_receive_cb(&receive_cb); RadioStatus const radioStatus = xbee.init(); //ws = new Websocket(WEBSOCKET_URL, ð); if(ws.connect()) { pc.printf("ok"); } else { pc.printf("bad"); } myled = false; while (1) { xbee.process_rx_frames(); if(rfid.readable()) { int i = rfid.read(); printf("RFID Tag number : %d\n", i); char message[64]; sprintf(message,"0,%d,1",i) ; //sprintf(message,"0,%d,%d",i,ID) ; ws.send(message); //envoie de commande rfid } wait_ms(100); // IsReponseRecu = false; // ws.send("WS Test"); // while(IsReponseRecu == false) { // if(ws.read(Reponse)) { // ThreadLecture.signal_set(1); // //printf("We Got Something : %v", Reponse); // IsReponseRecu = true; // } // } } }