7
7
8
8
TFT_eSprite Disbuff = TFT_eSprite(&M5.Lcd);
9
9
TaskHandle_t xhandle_lte_event = NULL ;
10
- SemaphoreHandle_t command_list_samap;
10
+ SemaphoreHandle_t command_list_samap, pingflag_samap;
11
+
12
+ bool pingfinish = false ;
11
13
12
14
typedef enum
13
15
{
@@ -62,18 +64,68 @@ void LTEModuleTask(void *arg)
62
64
{
63
65
String str = Serial2.readString ();
64
66
restr += str;
67
+ Serial.print (restr);
65
68
66
69
if (restr.indexOf (" \r\n " ) != -1 )
67
70
{
71
+ if ( restr.indexOf (" +IP:" ) != -1 )
72
+ {
73
+ String ipstr = restr.substring (restr.indexOf (" +IP:" ) + String (" +IP:" ).length (), restr.indexOf (" \r\n " ,restr.indexOf (" +IP:" )));
74
+ Serial.print (" [P]" +ipstr+" \r\n " );
75
+ // (restr.indexOf("+IP:") + String("+IP:").length())
76
+
77
+ Disbuff.setCursor (7 , 90 );
78
+ Disbuff.setTextSize (2 );
79
+ Disbuff.setTextColor (GREEN);
80
+ Disbuff.printf (ipstr.c_str ());
81
+ Disbuff.pushSprite (0 , 0 );
82
+ restr.clear ();
83
+ }
84
+
85
+ if ( restr.indexOf (" transmitted" ) != -1 )
86
+ {
87
+ String substr = restr.substring (restr.indexOf (" transmitted" ) + String (" transmitted," ).length (),restr.indexOf (" \r\n " ,restr.indexOf (" transmitted" )));
88
+ String number = substr.substring (substr.indexOf (' ,' ) + 1 , substr.indexOf (' %' ));
89
+ Serial.print (" [T]" +substr+" \r\n " );
90
+ Serial.print (" [N]" +number+" \r\n " );
91
+ substr.replace (' ,' ,' \n ' );
92
+
93
+ Disbuff.fillRect (0 ,60 ,320 ,30 ,BLACK);
94
+ Disbuff.setCursor (7 , 60 );
95
+ Disbuff.setTextSize (2 );
96
+
97
+ if ( number.toInt () < 100 )
98
+ {
99
+ Disbuff.setTextColor (GREEN);
100
+ }
101
+ else
102
+ {
103
+ Disbuff.setTextColor (RED);
104
+ }
105
+
106
+ Disbuff.printf (" Lose %d%%" , number.toInt ());
107
+
108
+ Disbuff.pushSprite (0 , 0 );
109
+
110
+ xSemaphoreTake (pingflag_samap, portMAX_DELAY);
111
+ pingfinish = true ;
112
+ xSemaphoreGive (pingflag_samap);
113
+
114
+ }
115
+ if (serial_at.empty () == true )
116
+ {
117
+ restr.clear ();
118
+ }
68
119
}
69
120
70
121
if (restr.indexOf (" +ZMMI:" ) != -1 )
71
122
{
72
123
zmmi_str = restr;
73
124
}
125
+
74
126
else if ((restr.indexOf (" OK" ) != -1 ) || (restr.indexOf (" ERROR" ) != -1 ))
75
127
{
76
- Serial.print (restr);
128
+ // Serial.print(restr);
77
129
if (restr.indexOf (" OK" ) != -1 )
78
130
{
79
131
if ((serial_at[0 ].command_type == kACTION_MO ) || (serial_at[0 ].command_type == kASSIGN_MO ))
@@ -303,13 +355,10 @@ void setup()
303
355
{
304
356
// put your setup code here, to run once:
305
357
M5.begin ();
306
- M5.Power .begin ();
307
- Serial.begin (115200 );
308
358
Serial2.begin (115200 , SERIAL_8N1, 16 , 17 );
309
- Serial.printf (" FUCK STC\n " );
310
359
311
- Disbuff.createSprite (320 , 100 );
312
- Disbuff.fillRect (0 , 0 , 320 , 100 , BLACK);
360
+ Disbuff.createSprite (320 , 120 );
361
+ Disbuff.fillRect (0 , 0 , 320 , 120 , BLACK);
313
362
Disbuff.drawRect (0 , 0 , 320 , 20 , Disbuff.color565 (36 , 36 , 36 ));
314
363
Disbuff.pushSprite (0 , 0 );
315
364
@@ -333,13 +382,18 @@ void setup()
333
382
command_list_samap = xSemaphoreCreateMutex ();
334
383
xSemaphoreGive (command_list_samap);
335
384
385
+ pingflag_samap = xSemaphoreCreateMutex ();
386
+ xSemaphoreGive (pingflag_samap);
387
+
336
388
int count_t = 0 ;
337
389
AddMsg (" AT\r\n " , kASSIGN_MO , 1000 , 1000 );
338
390
while (getATMsgSize () > 0 )
339
391
{
340
392
Disbuff.fillRect (0 , 0 , 320 , 20 , Disbuff.color565 (36 , 36 , 36 ));
341
393
Disbuff.pushSprite (0 , 0 );
342
394
Disbuff.setCursor (7 , 7 );
395
+ Disbuff.setTextColor (WHITE);
396
+ Disbuff.setTextSize (1 );
343
397
Disbuff.printf (" Wait Modlue Srart %02d" , count_t );
344
398
Disbuff.pushSprite (0 , 0 );
345
399
count_t ++;
@@ -349,41 +403,62 @@ void setup()
349
403
AddMsg (" AT^CARDMODE\r\n " , kQUERY_MT , 1000 , 1000 );
350
404
while ((readSendState (0 ) == kSendReady ) || (readSendState (0 ) == kSending ) || (readSendState (0 ) == kWaitforMsg ))
351
405
delay (50 );
352
- Serial.printf (" Read state = %d \n " , readSendState (0 ));
406
+ int restate = readSendState (0 );
407
+ Serial.printf (" Read state = %d \n " , restate);
408
+ if ( restate == kErrorReError )
409
+ {
410
+ Disbuff.fillRect (0 , 0 , 320 , 20 , Disbuff.color565 (36 , 36 , 36 ));
411
+ Disbuff.pushSprite (0 , 0 );
412
+ Disbuff.setCursor (7 , 30 );
413
+ Disbuff.setTextColor (RED);
414
+ Disbuff.printf (" Unknown Card" );
415
+ Disbuff.pushSprite (0 , 0 );
416
+ while (1 );
417
+ }
353
418
readstr = ReadMsgstr (0 ).c_str ();
354
419
int count = GetstrNumber (" CARDMODE:" , " OK" , readstr, numberbuff);
355
420
if (count != 0 )
356
421
{
357
422
Serial.printf (" CardMode = %d" , numberbuff[0 ]);
358
- Disbuff.fillRect (0 , 0 , 320 , 20 , Disbuff.color565 (36 , 36 , 36 ));
423
+ // Disbuff.fillRect(0, 0, 320, 20, Disbuff.color565(36, 36, 36));
359
424
Disbuff.pushSprite (0 , 0 );
360
- Disbuff.setCursor (7 , 7 );
425
+ Disbuff.setTextSize (2 );
426
+ Disbuff.setCursor (7 , 30 );
361
427
switch (numberbuff[0 ])
362
428
{
363
429
case 0 :
430
+ Disbuff.setTextColor (RED);
364
431
Disbuff.printf (" Unknown Card" );
365
432
break ;
366
433
case 1 :
434
+ Disbuff.setTextColor (GREEN);
367
435
Disbuff.printf (" SIM Card" );
368
436
break ;
369
437
case 2 :
438
+ Disbuff.setTextColor (GREEN);
370
439
Disbuff.printf (" USIM Card" );
371
440
break ;
372
441
default :
442
+ Disbuff.setTextColor (RED);
373
443
Disbuff.printf (" Unknown Card:E" );
374
444
break ;
375
445
}
376
446
Disbuff.pushSprite (0 , 0 );
377
447
}
378
448
EraseFirstMsg ();
379
449
380
- AddMsg (" AT+CFUN=1\r\n " , kASSIGN_MO , 1000 , 1000 );
450
+ // AddMsg("AT+CFUN=1\r\n", kASSIGN_MO, 1000, 1000);
451
+ AddMsg (" AT+SM=LOCK\r\n " , kASSIGN_MO , 1000 , 1000 );
452
+
381
453
382
454
AddMsg (" AT^SYSCONFIG?\r\n " , kQUERY_MT , 1000 , 1000 );
383
455
while ((readSendState (0 ) == kSendReady ) || (readSendState (0 ) == kSending ) || (readSendState (0 ) == kWaitforMsg ))
384
- delay (50 );
456
+ delay (50 );
385
457
Serial.printf (" Read state = %d " , readSendState (0 ));
386
458
Serial.print (ReadMsgstr (0 ).c_str ());
459
+ EraseFirstMsg ();
460
+ delay (3000 );
461
+ disableCore0WDT ();
387
462
388
463
AddMsg (" AT+MQTTSTAT?\r\n " , kQUERY_MT , 1000 , 1000 );
389
464
while ((readSendState (0 ) == kSendReady ) || (readSendState (0 ) == kSending ) || (readSendState (0 ) == kWaitforMsg ))
@@ -404,7 +479,7 @@ void setup()
404
479
405
480
delay (3000 );
406
481
407
- AddMsg (" AT+MQTTCFG=127.0.0.1 ,1883,110,60,M5Hard,hades,1,0\r\n " , kQUERY_MT , 1000 , 1000 );
482
+ AddMsg (" AT+MQTTCFG=broker.emqx.io ,1883,110,60,M5Hard,hades,1,0\r\n " , kQUERY_MT , 1000 , 1000 );
408
483
while ((readSendState (0 ) == kSendReady ) || (readSendState (0 ) == kSending ) || (readSendState (0 ) == kWaitforMsg ))
409
484
delay (50 );
410
485
Serial.printf (" Read state = %d " , readSendState (0 ));
@@ -426,18 +501,21 @@ void setup()
426
501
Serial.printf (" Read state = %d " , readSendState (0 ));
427
502
Serial.print (ReadMsgstr (0 ).c_str ());
428
503
EraseFirstMsg ();
504
+
429
505
}
430
506
431
507
uint8_t restate;
432
508
void loop ()
433
509
{
434
510
435
- AddMsg (" AT+MQTTPUB=pyr,1,0,0,0,Fuck STC from NB-Iot \r\n " , kQUERY_MT , 1000 , 1000 );
511
+ AddMsg (" AT+MQTTPUB=pyr,1,0,0,0,NB-Iot Test \r\n " , kQUERY_MT , 1000 , 1000 );
436
512
while ((readSendState (0 ) == kSendReady ) || (readSendState (0 ) == kSending ) || (readSendState (0 ) == kWaitforMsg ))
437
513
delay (50 );
438
514
Serial.printf (" Read state = %d \n " , readSendState (0 ));
439
515
Serial.print (ReadMsgstr (0 ).c_str ());
440
516
EraseFirstMsg ();
441
-
517
+ // xSemaphoreGive(pingflag_samap);
518
+
519
+ delay (100 );
442
520
M5.update ();
443
- }
521
+ }
0 commit comments