Changes for page wiki_test
Last modified by Mengting Qiu on 2024/09/05 17:35
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -394,77 +394,331 @@ 394 394 395 395 == 2.3 Uplink Payload == 396 396 397 +=== 2.3.1 Sensor Configuration, FPORT~=4 === 397 397 399 + 400 +SW3L-LB will only send this command after getting the downlink command **(0x26 02)** from the server. 401 + 402 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 403 +|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %) **Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:105px" %)**3**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:96px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:105px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:74px" %)**1** 404 +|**Value**|(% style="width:104px" %)TDC(unit:sec)|(% style="width:43px" %)N/A|(% style="width:91px" %)Stop Timer|(% style="width:100px" %)Alarm Timer|(% style="width:69px" %)Reserve 405 + 406 +Example parse in TTNv3 407 + 408 +[[image:image-20230614172555-4.png||height="151" width="853"]] 409 + 410 + 411 +* (% style="color:blue" %)**TDC: (default: 0x0004B0)** 412 + 413 +Uplink interval for the total pulse count, default value is 0x0004B0 which is 1200 seconds = 20 minutes. 414 + 415 + 416 +* (% style="color:blue" %)**STOP Duration & Alarm Timer** 417 + 418 +Shows the configure value of [[Alarm for continuously water flow>>||anchor="H3.3.4Alarmforcontinuouslywaterflow"]] 419 + 420 + 421 +=== 2.3.2 Water Flow Value, Uplink FPORT~=2 === 422 + 423 + 398 398 ((( 399 -SW3L- NB will uplinkpayloadvia LoRaWANwithbelow payloadformat:425 +SW3L-LB will send this uplink **after** Device Status once join the LoRaWAN network successfully. And SW3L-LB will: 400 400 ))) 401 401 402 402 ((( 403 - Uplinkpayloadincludes intotal21bytes.429 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]]. 404 404 ))) 405 405 406 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 407 -|=(% style="width: 95px; background-color:#4F81BD;color:white" %)Size(bytes)|=(% style="width: 61px; background-color:#4F81BD;color:white" %)8|=(% style="width: 61px; background-color:#4F81BD;color:white" %)2|=(% style="background-color:#4F81BD;color:white" %)2|=(% style="background-color:#4F81BD;color:white" %)1|=(% style="background-color: rgb(79, 129, 189); color: white; width: 49px;" %)1|=(% style="background-color: rgb(79, 129, 189); color: white; width: 79px;" %)1|=(% style="background-color:#4F81BD;color:white" %)2|=(% style="background-color:#4F81BD;color:white" %)4 408 -|(% style="width:95px" %)Value|(% style="width:61px" %)f+IMEI|(% style="width:61px" %)Ver|(% style="width:61px" %)[[BAT>>||anchor="H2.3.1A0BatteryInfo"]]|(% style="width:61px" %)((( 409 -Singal 432 +((( 433 +Uplink Payload totals 11 bytes. 434 +))) 410 410 411 -Strength 412 -)))|(% style="width:49px" %)Mod|(% style="width:79px" %)[[Digital Interrupt >>||anchor="H2.3.2A0Interrupt"]]|(% style="width:61px" %)[[Distance>>||anchor="H2.3.3A0Distance"]](unit: mm)|(% style="width:61px" %)((( 413 -Timestamp 436 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %) 437 +|=(% colspan="6" style="width: 515px; background-color:#D9E2F3;color:#0070C0" %)**Water Flow Value, FPORT=2** 438 +|(% style="width:50px" %)**Size(bytes)**|(% style="width:110px" %)**1**|(% style="width:120px" %)**4**|(% style="width:110px" %)**1**|(% style="width:55px" %)**1**|(% style="width:70px" %)**4** 439 +|(% style="width:110px" %)**Value**|(% style="width:81px" %)Calculate Flag & [[Alarm>>||anchor="H3.3.4Alarmforcontinuouslywaterflow"]]|(% style="width:95px" %)((( 440 +Total pulse Or Last Pulse 441 +)))|(% style="width:78px" %)((( 442 +MOD & PA4_status & PB15_status 443 +)))|(% style="width:92px" %)Reserve(0x01)|(% style="width:134px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 414 414 445 +**Calculate Flag & Alarm:** 446 + 447 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %) 448 +|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**[bit7:bit6]**|(% style="background-color:#d9e2f3; color:#0070c0; width:90px" %)**[bit5:bit2]**|(% style="background-color:#d9e2f3; color:#0070c0; width:140px" %)**bit1**|(% style="background-color:#d9e2f3; color:#0070c0; width:130px" %)**bit0** 449 +|(% style="width:88px" %)**Value**|(% style="width:117px" %)Reserve|(% style="width:117px" %)Calculate Flag|(% style="width:169px" %)Alarm: 0: No Alarm; 1: Alarm|(% style="width:150px" %)TDC flag 0:No;1:Yes 450 + 451 +**MOD & PA4_status & PB15_status:** 452 + 453 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:230px" %) 454 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**bit7**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**bit6**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**[bit5:bit0]** 455 +|(% style="width:88px" %)**Value**|(% style="width:117px" %)PA4_status|(% style="width:117px" %)PB15_status|(% style="width:118px" %)MOD 456 + 457 +(% style="color:#037691" %)** **[[image:image-20230626093242-1.png||height="276" width="892"]] 458 + 459 + 460 +* ((( 461 +(% style="color:blue" %)**Calculate Flag** 462 +))) 463 + 464 +((( 465 +The calculate flag is a user defined field, IoT server can use this flag to handle different meters with different pulse factors. For example, if there are 100 Flow Sensors, meters 1 ~~50 are 1 liter/pulse and meters 51 ~~ 100 has 1.5 liter/pulse. 466 + 415 415 416 416 ))) 417 417 418 -If the cache upload mechanism is turned on, you will receive the payload shown in the figure below. 470 +((( 471 +**Example: in the default payload:** 472 +))) 419 419 420 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:512px" %) 421 -|(% style="width:115px" %)**Frame header**|(% style="width:118px" %)**Frame data(1)**|(% style="width:116px" %)**Frame data(2)**|(% style="width:39px" %)**F…**|(% style="width:117px" %)**Frame data(X)** 474 +* ((( 475 +calculate flag=0: for SW3L-004 Flow Sensor: 450 pulse = 1 L 476 +))) 477 +* ((( 478 +calculate flag=1: for SW3L-006 Flow Sensor: 390 pulse = 1 L 479 +))) 480 +* ((( 481 +calculate flag=2: for SW3L-010 Flow Sensor: 64 pulse = 1 L 482 +))) 422 422 484 +((( 485 +Default value: 0. 486 +))) 423 423 488 +((( 489 +Range (4 bits): (b)0000 ~~ (b) 1111 424 424 425 - ===2.3.1BatteryInfo===491 +If user use with a meter for example is 0.02L/pulse. To proper decode the correct value in server, 426 426 493 +1) User can set the Calculate Flag of this sensor to 3. 427 427 428 -Check the battery voltage for SW3L-NB. 495 +2) In server side, when a sensor data arrive, the decoder will check the value of Calculate Flag, It the value is 3, the total volume = 0.02 x Pulse Count. 496 +))) 429 429 430 -Ex1: 0x0B45 = 2885mV 498 +((( 499 +(% style="color:red" %)**NOTE: User need to set Calculate Flag to proper value before use Flow Sensor. Downlink or AT Command see: **(%%)Refer: [[Set Calculate Flag>>||anchor="H3.3.5Setthecalculateflag"]] 431 431 432 -Ex2: 0x0B49 = 2889mV 501 +((( 502 + 503 +))) 504 +))) 433 433 434 434 435 -=== 2.3.2 Interrupt === 507 +* ((( 508 +(% style="color:blue" %)**Alarm** 509 +))) 436 436 511 +((( 512 +See [[Alarm for continuously water flow>>||anchor="H3.3.4Alarmforcontinuouslywaterflow"]] 513 +))) 437 437 438 - This data field showsif this packetis generatedbyinterrupt515 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SW3L%20LoRaWAN%20Outdoor%20Flow%20Sensor/WebHome/image-20220519095946-4.png?width=724&height=65&rev=1.1||alt="image-20220519095946-4.png"]] 439 439 440 -**Example:** 441 441 442 -0x00: Normal uplink packet. 518 +((( 519 +* (% style="color:blue" %)**TDC flag** 443 443 444 - 0x01: InterruptUplinkPacket.521 +When the flag is 1, it means sending packets at normal time intervals. 445 445 523 +Otherwise, it is a packet sent at non-TDC time. 524 +))) 446 446 447 -=== 2.3.3 Distance === 526 +* ((( 527 +(% style="color:blue" %)**Total pulse** 528 +))) 448 448 530 +((( 531 +Total pulse/counting since factory 532 +))) 449 449 450 450 ((( 451 -Get the distance. Flat object range 30mm - 4500mm. 535 +Range (4 Bytes) : 0x00000000~~ 0xFFFFFFFF . 536 + 537 + 452 452 ))) 453 453 540 +* ((( 541 +(% style="color:blue" %)**Last Pulse** 542 +))) 543 + 454 454 ((( 455 -For example, if the data you get from the register is **0x0B 0x05**, the distance between the sensor and the measured object is(% style="color:#4472c4" %)** ** 545 +Total pulse since last FPORT=2 uplink. (Default 20 minutes) 546 +))) 456 456 457 -(% style="color:blue" %)**0B05(H) = 2821 (D) = 2821 mm.** 548 +((( 549 +Range (4 Bytes) : 0x00000000~~ 0xFFFFFFFF . 550 + 551 + 552 +* ((( 553 +(% style="color:blue" %)**PA4_status: Support digital level input below 3.3V** 458 458 ))) 459 459 460 -* If the sensor value is 0x0000, it means system doesn't detect ultrasonic sensor. 556 +((( 557 +0 ~-~-> PA4 is at low level. 558 +))) 461 461 462 -* If the sensor value lower than 0x001E (30mm), the sensor value will be 0x00. 560 +((( 561 +1 ~-~-> PA4 is at high level. 463 463 563 + 564 +* ((( 565 +(% style="color:blue" %)**PB15_status: Support digital level input below 3.3V** 566 +))) 567 + 464 464 ((( 569 +0 ~-~-> PB15 is at low level. 570 +))) 571 + 572 +((( 573 +1 ~-~-> PB15 is at high level.. 574 +))) 575 +))) 576 +))) 577 + 578 +* ((( 579 +(% style="color:blue" %)**MOD: Default =0** 580 +))) 581 + 582 +((( 583 +MOD=0 ~-~-> Uplink Total Pulse since factory 584 +))) 585 + 586 +((( 587 +MOD=1 ~-~-> Uplink total pulse since last FPORT=2 uplink. 588 + 465 465 466 466 ))) 467 467 592 +* ((( 593 +(% style="color:blue" %)**Water Flow Value** 594 +))) 595 + 596 +((( 597 +**Total Water Flow Volume = (Calculate Flag) x (Total Pulse)=9597/450=21.3L** 598 +))) 599 + 600 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SW3L%20LoRaWAN%20Outdoor%20Flow%20Sensor/WebHome/image-20220519095946-5.png?width=727&height=50&rev=1.1||alt="image-20220519095946-5.png"]] 601 + 602 + 603 +((( 604 +**Total Water Flow for TDC timer = (Calculate Flag) x (Last Pulse)=79/450=0.2L** 605 +))) 606 + 607 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SW3L%20LoRaWAN%20Outdoor%20Flow%20Sensor/WebHome/image-20220519095946-6.png?width=733&height=43&rev=1.1||alt="image-20220519095946-6.png"]] ** ** 608 + 609 + 610 +=== 2.3.3 Historical Water Flow Status, FPORT~=3 === 611 + 612 + 613 +((( 614 +SW3L-LB stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5DatalogFeature"]]. 615 +))) 616 + 617 +((( 618 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time water flow status. 619 + 620 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %) 621 +|=(% colspan="6" style="width: 515px; background-color:#D9E2F3;color:#0070C0" %)**Water Flow Value, FPORT=3** 622 +|(% style="width:50px" %)**Size(bytes)**|(% style="width:110px" %)**1**|(% style="width:120px" %)**4**|(% style="width:110px" %)**1**|(% style="width:55px" %)**1**|(% style="width:70px" %)**4** 623 +|(% style="width:110px" %)**Value**|(% style="width:81px" %)Calculate Flag & [[Alarm>>||anchor="H3.3.4Alarmforcontinuouslywaterflow"]]|(% style="width:95px" %)((( 624 +Total pulse Or Last Pulse 625 +)))|(% style="width:78px" %)((( 626 +MOD & PA4_status & PB15_status 627 +)))|(% style="width:92px" %)Reserve(0x01)|(% style="width:134px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 628 + 629 +**Calculate Flag & Alarm:** 630 + 631 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %) 632 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**bit7**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**bit6**|(% style="background-color:#d9e2f3; color:#0070c0; width:69px" %)**[bit5:bit2]**|(% style="background-color:#d9e2f3; color:#0070c0; width:129px" %)**bit1**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**bit0** 633 +|(% style="width:88px" %)**Value**|(% style="width:96px" %)((( 634 +No ACK message 635 +)))|(% style="width:94px" %)Poll Message Flag|(% style="width:115px" %)Calculate Flag|(% style="width:136px" %)Alarm: 0: No Alarm; 1: Alarm|(% style="width:120px" %)TDC flag 0:No;1:Yes 636 + 637 +**MOD & PA4_status & PB15_status:** 638 + 639 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:240px" %) 640 +|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**bit7**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**bit6**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**[bit5:bit0]** 641 +|(% style="width:88px" %)**Value**|(% style="width:117px" %)PA4_status|(% style="width:117px" %)PB15_status|(% style="width:118px" %)MOD 642 +))) 643 + 644 +* ((( 645 +Each data entry is 11 bytes and has the same structure as [[real time water flow status>>||anchor="H2.3.3A0WaterFlowValue2CUplinkFPORT3D2"]], to save airtime and battery, SW3L will send max bytes according to the current DR and Frequency bands. 646 +))) 647 + 648 +((( 649 +For example, in the US915 band, the max payload for different DR is: 650 +))) 651 + 652 +((( 653 +(% style="color:blue" %)**a) DR0:**(%%) max is 11 bytes so one entry of data 654 +))) 655 + 656 +((( 657 +(% style="color:blue" %)**b) DR1:**(%%) max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 658 +))) 659 + 660 +((( 661 +(% style="color:blue" %)**c) DR2:**(%%) total payload includes 11 entries of data 662 +))) 663 + 664 +((( 665 +(% style="color:blue" %)**d) DR3:**(%%) total payload includes 22 entries of data. 666 +))) 667 + 668 +((( 669 +If SW3L-LB doesn't have any data in the polling time. It will uplink 11 bytes of 0 670 + 671 + 672 +))) 673 + 674 +((( 675 +(% style="color:#037691" %)**Downlink:** 676 +))) 677 + 678 +((( 679 +0x31 64 92 C5 AC 64 92 C7 8C 05 680 +))) 681 + 682 +[[image:image-20230626093440-2.png||height="160" width="890"]] 683 + 684 + 685 +((( 686 +(% style="color:#037691" %)**Uplink:** 687 +))) 688 + 689 +((( 690 +41 00 01 00 00 00 08 64 92 C5 E4 40 00 01 00 00 00 08 64 92 C6 06 49 41 01 00 00 00 00 64 92 C6 8B 49 81 01 00 00 00 00 64 92 C7 34 4A 01 01 00 00 00 2D 64 92 C7 7C 691 + 692 + 693 +))) 694 + 695 +((( 696 +(% style="color:#037691" %)**Parsed Value:** 697 +))) 698 + 699 +((( 700 +[TDC_flag, Alarm, Calculate Flag, PA4_status, PB15_status, MOD, Total pulse or Last Pulse,** **Water Flow Value, TIME] 701 +))) 702 + 703 + 704 +((( 705 +[YES,FALSE,0,L,L, 0,8, 0.0,2023-06-21 09:41:56], 706 + 707 +[NO,FALSE,0,L,L, 0,8, 0.0,2023-06-21 09:42:30], 708 + 709 +[YES,FALSE,2,L,H,1,0, 0.0,2023-06-21 09:44:43], 710 + 711 +[YES,FALSE,2,H,L,1,0, 0.0,2023-06-21 09:47:32], 712 + 713 +[NO,TRUE ,2, L,L,1,45,0.7,2023-06-21 09:48:44], 714 + 715 + 716 +))) 717 + 718 +[[image:image-20230626093703-3.png||height="156" width="894"]] 719 + 720 + 721 + 468 468 == 2.4 Test Uplink and Change Update Interval == 469 469 470 470