Commit 16ccbfc68d67e41b4b6a1cdc27f282afb7136d0b
1 parent
9a50b3df
modification des trames
Showing
3 changed files
with
72 additions
and
44 deletions
Show diff stats
emetteur/emetteur.cpp
... | ... | @@ -30,7 +30,7 @@ PFE 2018 */ |
30 | 30 | #define LORA_CRC_ENABLED true |
31 | 31 | #define RX_TIMEOUT_VALUE 3500 // in ms |
32 | 32 | #define BUFFER_SIZE 32 // Define the payload size here |
33 | -#define TRAME_SIZE 13 | |
33 | +#define TRAME_SIZE 18 | |
34 | 34 | //////////////////////////////////////////////////////////////////////////////// |
35 | 35 | |
36 | 36 | //////////////////////////////////////////////////////////////////////////////// |
... | ... | @@ -52,6 +52,7 @@ uint16_t BufferSize = BUFFER_SIZE; |
52 | 52 | uint8_t Buffer[BUFFER_SIZE]; |
53 | 53 | int16_t RssiValue = 0.0; |
54 | 54 | int8_t SnrValue = 0.0; |
55 | +int8_t cpt_trame = 0; | |
55 | 56 | uint8_t testMsg[TRAME_SIZE]; |
56 | 57 | //////////////////////////////////////////////////////////////////////////////// |
57 | 58 | |
... | ... | @@ -137,22 +138,42 @@ void TrameCreation() |
137 | 138 | uint8_t dizaines_c = RandAscii(dizaines_i); |
138 | 139 | uint8_t unites_c = RandAscii(unites_i); |
139 | 140 | |
141 | + cpt_trame = cpt_trame + 1; | |
142 | + | |
143 | + //Reset du compteur tous les 100 | |
144 | + if(cpt_trame == 101) | |
145 | + { | |
146 | + cpt_trame = 0; | |
147 | + } | |
148 | + | |
149 | + debug("compteur de trame = %d", cpt_trame); | |
150 | + | |
151 | + //Conversion | |
152 | + uint8_t centaine_cpt = RandAscii(cpt_trame/100); | |
153 | + uint8_t dizaines_cpt = RandAscii(cpt_trame/10)%10; | |
154 | + uint8_t unites_cpt = RandAscii(cpt_trame%10); | |
155 | + | |
140 | 156 | //Converti en ASCII |
141 | - testMsg[0] = 0x46; //emetteur F | |
142 | - testMsg[1] = 0x33; //emetteur 3 | |
143 | - testMsg[2] = 0x30; //emetteur 0 | |
144 | - testMsg[3] = 0x33; //emetteur 3 | |
145 | - testMsg[4] = 0x52; //emetteur R | |
146 | - testMsg[5] = 0x45; //emetteur E | |
157 | + testMsg[0] = 0x7C; //emetteur | | |
158 | + testMsg[1] = 0x46; //emetteur F | |
159 | + testMsg[2] = 0x33; //emetteur 3 | |
160 | + testMsg[3] = 0x30; //emetteur 0 | |
161 | + testMsg[4] = 0x33; //emetteur 3 | |
162 | + testMsg[5] = 0x52; //emetteur R | |
163 | + testMsg[6] = 0x45; //emetteur E | |
147 | 164 | // |
148 | - testMsg[6] = 0x46; //recepteur F | |
149 | - testMsg[7] = 0x30; //recepteur 0 | |
150 | - testMsg[8] = 0x39; //recepteur 9 | |
151 | - testMsg[9] = 0x31; //recepteur 1 | |
152 | - testMsg[10] = 0x43; //recepteur C | |
165 | + testMsg[7] = 0x46; //recepteur F | |
166 | + testMsg[8] = 0x30; //recepteur 0 | |
167 | + testMsg[9] = 0x39; //recepteur 9 | |
168 | + testMsg[10] = 0x31; //recepteur 1 | |
169 | + testMsg[11] = 0x43; //recepteur C | |
153 | 170 | // |
154 | - testMsg[11] = dizaines_c; //temperature 2 dizaines | |
155 | - testMsg[12] = unites_c; //temperature 0 unités | |
171 | + testMsg[12] = dizaines_c; //temperature 2 dizaines | |
172 | + testMsg[13] = unites_c; //temperature 0 unités | |
173 | + testMsg[14] = 0x7C; //emetteur | | |
174 | + testMsg[15] = centaine_cpt; //compteur de trames | |
175 | + testMsg[16] = dizaines_cpt; //compteur de trames | |
176 | + testMsg[17] = unites_cpt; //compteur de trames | |
156 | 177 | } |
157 | 178 | //////////////////////////////////////////////////////////////////////////////// |
158 | 179 | |
... | ... | @@ -213,9 +234,9 @@ int main( void ) |
213 | 234 | debug("Trame : %s\r\n",(char*)Buffer); |
214 | 235 | Radio.Send(Buffer, BufferSize); |
215 | 236 | debug("Message envoye \r\n"); |
216 | - //Attaque de ping | |
217 | - wait_ms(50); | |
218 | 237 | //Trafic normal |
238 | + wait_ms(5000); | |
239 | + //Attaque de ping | |
219 | 240 | //wait(1000); |
220 | 241 | } |
221 | 242 | } | ... | ... |
python/main_simple.py
... | ... | @@ -18,7 +18,7 @@ from keras.models import model_from_json |
18 | 18 | ############################################################################### |
19 | 19 | |
20 | 20 | ############################################################################### |
21 | -#VARIABLES GLOBALES | |
21 | +#VARIABLES GLOBALES INITIALISATION | |
22 | 22 | ############################################################################### |
23 | 23 | ping_mesured=0; |
24 | 24 | rssi_mesured=0; |
... | ... | @@ -118,22 +118,24 @@ def Recorder(): |
118 | 118 | puissance_read = (x[1]-48)*10 + x[2]-48; |
119 | 119 | |
120 | 120 | #SET INPUTS PREDICTION |
121 | - data_to_pred = np.array((ping_mesured, puissance_read),dtype = np.int64); | |
122 | - data_to_pred = data_to_pred.reshape((1,2)); | |
121 | + #data_to_pred = np.array((ping_mesured, puissance_read),dtype = np.int64); | |
122 | + #data_to_pred = data_to_pred.reshape((1,2)); | |
123 | + | |
123 | 124 | #PREDICTION TEMPS REEL |
124 | - pred = Predictions(data_to_pred); | |
125 | + #pred = Predictions(data_to_pred); | |
126 | + | |
125 | 127 | #AFFICHAGE |
126 | 128 | print("\n###############################\n"); |
127 | 129 | print("TRAME : "+ "".join(map(chr, trame_read))+"\n"); |
128 | 130 | print("TEMPERATURE : "+str(temp_read)+" °C\n"); |
129 | 131 | print("PUISSANCE : "+str(puissance_read)+" dBm\n"); |
130 | 132 | print("PING : "+str(ping_mesured)+" ms\n"); |
131 | - #pred = 1; | |
132 | - if(pred==0): | |
133 | - print("TRAFIC : ATTAQUE\n"); | |
134 | - elif(pred==1): | |
135 | - print("TRAFIC : RAS\n"); | |
136 | - print("###############################\n"); | |
133 | + #np.round(pred,0); | |
134 | + #if(pred==0): | |
135 | + # print("TRAFIC : ATTAQUE\n"); | |
136 | + #elif(pred==1): | |
137 | + # print("TRAFIC : RAS\n"); | |
138 | + print("###############################\n"); | |
137 | 139 | ############################################################################### |
138 | 140 | |
139 | 141 | ############################################################################### | ... | ... |
recepteur/recepteur.cpp
... | ... | @@ -32,7 +32,7 @@ PFE 2018 */ |
32 | 32 | #define LORA_CRC_ENABLED true |
33 | 33 | #define RX_TIMEOUT_VALUE 0 // in ms |
34 | 34 | #define BUFFER_SIZE 32 // Define the payload size here |
35 | -#define TRAME_SIZE 13 | |
35 | +#define TRAME_SIZE 18 | |
36 | 36 | //////////////////////////////////////////////////////////////////////////////// |
37 | 37 | |
38 | 38 | //////////////////////////////////////////////////////////////////////////////// |
... | ... | @@ -55,7 +55,7 @@ uint16_t BufferSize = BUFFER_SIZE; |
55 | 55 | uint8_t Buffer[BUFFER_SIZE]; |
56 | 56 | int16_t RssiValue = 0.0; |
57 | 57 | int8_t SnrValue = 0.0; |
58 | -uint8_t receptMsg[13]; | |
58 | +uint8_t receptMsg[TRAME_SIZE]; | |
59 | 59 | //////////////////////////////////////////////////////////////////////////////// |
60 | 60 | |
61 | 61 | //////////////////////////////////////////////////////////////////////////////// |
... | ... | @@ -106,21 +106,27 @@ void TrameComp() |
106 | 106 | [...] : Température communiquée ici 20 pour l'exemple |
107 | 107 | */ |
108 | 108 | //Converti en ASCII |
109 | - receptMsg[0] = 0x46; //emetteur F | |
110 | - receptMsg[1] = 0x33; //emetteur 3 | |
111 | - receptMsg[2] = 0x30; //emetteur 0 | |
112 | - receptMsg[3] = 0x33; //emetteur 3 | |
113 | - receptMsg[4] = 0x52; //emetteur R | |
114 | - receptMsg[5] = 0x45; //emetteur E | |
109 | + receptMsg[0] = 0x7C; //emetteur | | |
110 | + receptMsg[1] = 0x46; //emetteur F | |
111 | + receptMsg[2] = 0x33; //emetteur 3 | |
112 | + receptMsg[3] = 0x30; //emetteur 0 | |
113 | + receptMsg[4] = 0x33; //emetteur 3 | |
114 | + receptMsg[5] = 0x52; //emetteur R | |
115 | + receptMsg[6] = 0x45; //emetteur E | |
115 | 116 | // |
116 | - receptMsg[6] = 0x46; //recepteur F | |
117 | - receptMsg[7] = 0x30; //recepteur 0 | |
118 | - receptMsg[8] = 0x39; //recepteur 9 | |
119 | - receptMsg[9] = 0x31; //recepteur 1 | |
120 | - receptMsg[10] = 0x43; //recepteur C | |
117 | + receptMsg[7] = 0x46; //recepteur F | |
118 | + receptMsg[8] = 0x30; //recepteur 0 | |
119 | + receptMsg[9] = 0x39; //recepteur 9 | |
120 | + receptMsg[10] = 0x31; //recepteur 1 | |
121 | + receptMsg[11] = 0x43; //recepteur C | |
121 | 122 | // |
122 | - receptMsg[11] = 0x32; //temperature non vérifiee | |
123 | - receptMsg[12] = 0x31; //temperature non verifiee | |
123 | + receptMsg[12] = 0x32; //temperature non vérifiee | |
124 | + receptMsg[13] = 0x31; //temperature non verifiee | |
125 | + receptMsg[14] = 0x7C; //emetteur | | |
126 | + // | |
127 | + receptMsg[15] = 0x30; //cpt non vérifé | |
128 | + receptMsg[16] = 0x30; //cpt non vérifié | |
129 | + receptMsg[17] = 0x30; //cpt non vérifé | |
124 | 130 | } |
125 | 131 | //////////////////////////////////////////////////////////////////////////////// |
126 | 132 | |
... | ... | @@ -174,18 +180,17 @@ int main( void ) |
174 | 180 | Radio.Rx(RX_TIMEOUT_VALUE); //Reception mode en continu car TIME_OUT_VALUE = 0 |
175 | 181 | if( BufferSize > 0 ) |
176 | 182 | { |
177 | - if(strncmp((const char*)Buffer, (const char*)receptMsg, TRAME_SIZE-2 ) == 0) //-2 pour ne vérifier que l'entete | |
183 | + if(strncmp((const char*)Buffer, (const char*)receptMsg, TRAME_SIZE-6) == 0) //-2 pour ne vérifier que l'entete | |
178 | 184 | { |
179 | 185 | //Buffer de données |
180 | 186 | debug("%s\n",(char*)Buffer); |
181 | 187 | //Puissance de reception du signal |
182 | 188 | debug("%d\n",RssiValue); |
183 | - //il faut enregistrer la trame | |
184 | 189 | //PROGRAMME PYTHON recorder.py POUR ENREGISTRER LES DONNEES sortant du port série |
185 | 190 | //il faut vider le buffer |
186 | 191 | memset (Buffer, NULL, BUFFER_SIZE); |
187 | 192 | } |
188 | - wait_ms(300); | |
193 | + wait_ms(1000); | |
189 | 194 | } |
190 | 195 | } |
191 | 196 | } | ... | ... |