asas

Dependencies:   mbed WebSocketClient

Files at this revision

API Documentation at this revision

Comitter:
JioLessard
Date:
Mon Dec 03 19:13:18 2018 +0000
Commit message:
aaa

Changed in this revision

WebSocketClient.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WebSocketClient.lib	Mon Dec 03 19:13:18 2018 +0000
@@ -0,0 +1,1 @@
+http://os.mbed.com/teams/mbed_example/code/WebSocketClient/#efa2c147bee1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Dec 03 19:13:18 2018 +0000
@@ -0,0 +1,154 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+#include "Websocket.h"
+
+//Variable global
+DigitalOut led1(LED1);
+DigitalOut led2(LED1);
+
+//xbee pin
+DigitalOut reset(p8);
+Serial serial_connection(p13, p14);
+
+//pour lecture fichier local
+LocalFileSystem local("local"); 
+int panChar;
+char url;
+
+//Configuration PAN pour Xbee
+void set_PAN(){
+        int panLSB = (uint8_t)panChar;
+        int panMSB = (uint8_t)(panChar >> 8);
+    
+    serial_connection.putc(0x7E); 
+    serial_connection.putc(0x00); 
+    serial_connection.putc(0x06); 
+    serial_connection.putc(0x09);
+    serial_connection.putc(0x01);
+    serial_connection.putc(0x49);  //I
+    serial_connection.putc(0x44);  //D
+    //serial_connection.putc(0x0A);  // PAN ID, TODO
+    //serial_connection.putc(0xBD);  // PAN ID, TODO
+      serial_connection.putc(panMSB);  // PAN ID, TODO
+    serial_connection.putc(panLSB);  // PAN ID, TODO
+    serial_connection.putc(0x00);  // CheckSum
+    
+    serial_connection.putc(0x7E); 
+    serial_connection.putc(0x00); 
+    serial_connection.putc(0x04); 
+    serial_connection.putc(0x09);
+    serial_connection.putc(0x01);
+    serial_connection.putc(0x57);  
+    serial_connection.putc(0x52);  
+    serial_connection.putc(0x4C);  
+    
+    serial_connection.putc(0x7E); 
+    serial_connection.putc(0x00); 
+    serial_connection.putc(0x04); 
+    serial_connection.putc(0x09);
+    serial_connection.putc(0x01);
+    serial_connection.putc(0x41);  
+    serial_connection.putc(0x43);  
+    serial_connection.putc(0x71);  
+}
+
+
+//Permet la lecture du PAN et de l'Url dans un fichier local
+//Entré: aucune
+//Sortie: Sotcké dans variable globales
+void Read_FileChar() {
+      printf("Debut readfile \n\r");
+
+    FILE *fp ;
+    fp = fopen("/local/char2.txt", "r");
+        
+      //Si file non trouvé
+    if (fp == NULL) {
+        printf("Can't open input file in.list!\n\r");
+        exit(1);
+    }
+            
+        //lecture ligne par ligne
+        fscanf(fp, "%X", &panChar);
+        fscanf(fp, "%s", &url);
+        /*
+        printf("%X \n\r" , panChar);
+        printf("%s \n\r" , &url);*/
+
+        //Fermeture fichier
+    fclose (fp);     
+      fp = NULL;
+    printf("Fin readfile\n\r");
+}
+
+int main() {   
+     char message[1000];
+     Read_FileChar();
+    
+      int cpt_frame = 0;
+    int length_msb = 0;
+    int length_lsb = 0;
+    
+    reset = 0; 
+    led1 = 0;
+    wait_ms(1);
+    reset = 1;
+    wait_ms(1);
+    
+    set_PAN();
+    
+    // Début programme
+    printf("\r\n Websocket Example v1.0.0\r\n");
+    
+        //Lecture du fichier de configuration
+        
+        char *realurl;
+        asprintf(&realurl, "%s%s%s", "ws://", &url, "/");
+      printf("Real url for socket: %s\n\r", realurl);
+    
+    //network interface création
+    EthernetInterface eth;
+    eth.connect();
+    printf("IP Address is %s\n\r", eth.get_ip_address());
+        
+    // Websocket création
+    //Websocket ws("ws://example.com:8080/", &eth);
+      //Websocket ws("ws://192.168.137.1:8000/", &eth);
+      Websocket ws(realurl, &eth);
+    int connect_error = ws.connect();
+    
+     //Bouce principale
+    while (true){   
+                 if (serial_connection.readable()){
+            char hex_value = serial_connection.getc();
+             //printf("%X\n\r", hex_value);
+            if (hex_value == 0x7E){ // Détecte une nouvelle trame
+                cpt_frame = 0;
+            }
+            else if(cpt_frame == 1){ // Lecture du length MSB
+                length_msb = hex_value;
+            }
+            else if(cpt_frame == 2){ // Lecture du length LSB
+                length_lsb = hex_value;
+                if (length_lsb == 0x0E){
+                    printf("\n\r Pressed");
+                }
+            }
+            else if (cpt_frame >= 0x0F && cpt_frame < (length_lsb + 0x03)){ //Permet d'aller chercher le data dynamiquement selon la longueur de la trame 
+                //printf("%X\n\r", hex_value);
+            }
+            cpt_frame++;
+        }
+            /*
+        int error_c = ws.send("Hello World\r\n");
+                 
+              if(error_c == 1)
+                    printf("Error send message");
+                else{
+                    printf("Message send\r\n");
+                    wait_ms(100);
+                    ws.read(message);
+                    printf("The message read is: %s \r\n", message);
+                }*/
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Dec 03 19:13:18 2018 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/e95d10626187
\ No newline at end of file