<
From version < 100.6 >
edited by Xiaoling
on 2022/09/06 17:42
To version < 104.7 >
edited by Xiaoling
on 2022/09/15 15:02
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -73,7 +73,6 @@
73 73  
74 74  
75 75  
76 -
77 77  == 1.3  Specification ==
78 78  
79 79  
... ... @@ -82,8 +82,6 @@
82 82  * Supply Voltage: 2.1v ~~ 3.6v
83 83  * Operating Temperature: -40 ~~ 85°C
84 84  
85 -
86 -
87 87  (% style="color:#037691" %)**NB-IoT Spec:**
88 88  
89 89  * - B1 @H-FDD: 2100MHz
... ... @@ -93,8 +93,6 @@
93 93  * - B20 @H-FDD: 800MHz
94 94  * - B28 @H-FDD: 700MHz
95 95  
96 -
97 -
98 98  (% style="color:#037691" %)**Battery:**
99 99  
100 100  * Li/SOCI2 un-chargeable battery
... ... @@ -103,8 +103,6 @@
103 103  * Max continuously current: 130mA
104 104  * Max boost current: 2A, 1 second
105 105  
106 -
107 -
108 108  (% style="color:#037691" %)**Power Consumption**
109 109  
110 110  * STOP Mode: 10uA @ 3.3v
... ... @@ -112,7 +112,6 @@
112 112  
113 113  
114 114  
115 -
116 116  == ​1.4  Applications ==
117 117  
118 118  
... ... @@ -176,8 +176,6 @@
176 176  * The local NB-IoT network used the band that NDDS75 supports.
177 177  * Your operator is able to distribute the data received in their NB-IoT network to your IoT server.
178 178  
179 -
180 -
181 181  (((
182 182  Below figure shows our testing structure. Here we have NB-IoT network coverage by China Mobile, the band they use is B8.  The NDDS75 will use CoAP((% style="color:red" %)120.24.4.116:5683)(%%) or raw UDP((% style="color:red" %)120.24.4.116:5601)(%%) or MQTT((% style="color:red" %)120.24.4.116:1883)(%%)or TCP((% style="color:red" %)120.24.4.116:5600)(%%)protocol to send data to the test server.
183 183  )))
... ... @@ -215,13 +215,13 @@
215 215  [[image:image-20220709092052-2.png]]
216 216  
217 217  
218 -**Connection:**
208 +(% style="color:blue" %)**Connection:**
219 219  
220 - (% style="background-color:yellow" %)USB TTL GND <~-~-~-~-> GND
210 + (% style="background-color:yellow" %)**USB TTL GND <~-~-~-~-> GND**
221 221  
222 - (% style="background-color:yellow" %)USB TTL TXD <~-~-~-~-> UART_RXD
212 +**~ (% style="background-color:yellow" %)USB TTL TXD <~-~-~-~-> UART_RXD(%%)**
223 223  
224 - (% style="background-color:yellow" %)USB TTL RXD <~-~-~-~-> UART_TXD
214 +**~ (% style="background-color:yellow" %)USB TTL RXD <~-~-~-~-> UART_TXD(%%)**
225 225  
226 226  
227 227  In the PC, use below serial tool settings:
... ... @@ -259,10 +259,10 @@
259 259  (% style="color:blue" %)**AT+PRO=1**  (%%) ~/~/ Set to use CoAP protocol to uplink
260 260  )))
261 261  * (((
262 -(% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%)~/~/ to set CoAP server address and port
252 +(% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5683   ** (%%)~/~/  to set CoAP server address and port
263 263  )))
264 264  * (((
265 -(% style="color:blue" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/Set COAP resource path
255 +(% style="color:blue" %)**AT+URI=5,11,"mqtt",11,"coap",12,"0",15,"c=text1",23,"0" ** (%%) ~/~/  Set COAP resource path
266 266  
267 267  
268 268  
... ... @@ -270,6 +270,8 @@
270 270  
271 271  (((
272 272  For parameter description, please refer to AT command set
263 +
264 +
273 273  )))
274 274  
275 275  [[image:1657330452568-615.png]]
... ... @@ -278,6 +278,8 @@
278 278  
279 279  (((
280 280  After configure the server address and (% style="color:green" %)**reset the device**(%%) (via AT+ATZ ), NDDS75 will start to uplink sensor values to CoAP server.
273 +
274 +
281 281  )))
282 282  
283 283  [[image:1657330472797-498.png]]
... ... @@ -287,9 +287,9 @@
287 287  === 2.2.5 Use UDP protocol to uplink data(Default protocol) ===
288 288  
289 289  
290 -* (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/ Set to use UDP protocol to uplink
291 -* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/ to set UDP server address and port
292 -* (% style="color:blue" %)**AT+CFM=1       ** (%%) ~/~/ If the server does not respond, this command is unnecessary
284 +* (% style="color:blue" %)**AT+PRO=2   ** (%%) ~/~/  Set to use UDP protocol to uplink
285 +* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5601   ** (%%) ~/~/  to set UDP server address and port
286 +* (% style="color:blue" %)**AT+CFM=1       ** (%%) ~/~/  If the server does not respond, this command is unnecessary
293 293  
294 294  
295 295  
... ... @@ -303,16 +303,14 @@
303 303  === 2.2.6 Use MQTT protocol to uplink data ===
304 304  
305 305  
306 -* (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/Set to use MQTT protocol to uplink
307 -* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/Set MQTT server address and port
308 -* (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/Set up the CLIENT of MQTT
309 -* (% style="color:blue" %)**AT+UNAME=UNAME                                **(%%)~/~/Set the username of MQTT
310 -* (% style="color:blue" %)**AT+PWD=PWD                                         **(%%)~/~/Set the password of MQTT
311 -* (% style="color:blue" %)**AT+PUBTOPIC=NDDS75_PUB                 **(%%)~/~/Set the sending topic of MQTT
312 -* (% style="color:blue" %)**AT+SUBTOPIC=NDDS75_SUB          **(%%) ~/~/Set the subscription topic of MQTT
300 +* (% style="color:blue" %)**AT+PRO=3   ** (%%) ~/~/  Set to use MQTT protocol to uplink
301 +* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,1883   ** (%%) ~/~/  Set MQTT server address and port
302 +* (% style="color:blue" %)**AT+CLIENT=CLIENT       ** (%%)~/~/  Set up the CLIENT of MQTT
303 +* (% style="color:blue" %)**AT+UNAME=UNAME                                **(%%)~/~/  Set the username of MQTT
304 +* (% style="color:blue" %)**AT+PWD=PWD                                         **(%%)~/~/  Set the password of MQTT
305 +* (% style="color:blue" %)**AT+PUBTOPIC=NDDS75_PUB                 **(%%)~/~/  Set the sending topic of MQTT
306 +* (% style="color:blue" %)**AT+SUBTOPIC=NDDS75_SUB          **(%%) ~/~/  Set the subscription topic of MQTT
313 313  
314 -
315 -
316 316  [[image:1657249978444-674.png]]
317 317  
318 318  
... ... @@ -328,11 +328,9 @@
328 328  === 2.2.7 Use TCP protocol to uplink data ===
329 329  
330 330  
331 -* (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/ Set to use TCP protocol to uplink
332 -* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/ to set TCP server address and port
323 +* (% style="color:blue" %)**AT+PRO=4   ** (%%) ~/~/  Set to use TCP protocol to uplink
324 +* (% style="color:blue" %)**AT+SERVADDR=120.24.4.116,5600   **(%%) ~/~/  to set TCP server address and port
333 333  
334 -
335 -
336 336  [[image:image-20220709093918-1.png]]
337 337  
338 338  
... ... @@ -345,22 +345,31 @@
345 345  
346 346  User can use below command to change the (% style="color:green" %)**uplink interval**.
347 347  
348 -* (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/ Set Update Interval to 600s
338 +* (% style="color:blue" %)**AT+TDC=600      ** (%%)~/~/  Set Update Interval to 600s
349 349  
340 +(((
341 +
350 350  
351 351  
352 -(((
353 -(% style="color:red" %)**NOTE: By default, the device will send an uplink message every 1 hour.**
344 +(% style="color:red" %)**NOTE:**
345 +
346 +(% style="color:red" %)**1. By default, the device will send an uplink message every 1 hour.**
347 +
348 +(% style="color:red" %)**2. When the firmware version is v1.3.2 and later firmware:**
354 354  )))
355 355  
351 +(% style="color:red" %)**By default, the device will send an uplink message every 2 hours. Each Uplink Include 8 set of records in this 2 hour (15 minute interval / record).**
356 356  
357 357  
354 +
358 358  == 2.3  Uplink Payload ==
359 359  
360 360  
361 -In this mode, uplink payload includes in total 14 bytes
358 +=== 2.3.1  Before Firmware v1.3.2 ===
362 362  
363 363  
361 +In this mode, uplink payload includes in total 14 bytes
362 +
364 364  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:440px" %)
365 365  |=(% style="width: 60px;" %)(((
366 366  **Size(bytes)**
... ... @@ -376,7 +376,7 @@
376 376  
377 377  
378 378  (((
379 -The payload is ASCII string, representative same HEX:
378 +The payload is **ASCII** string, representative same HEX:
380 380  )))
381 381  
382 382  (((
... ... @@ -387,11 +387,11 @@
387 387  Device ID: 0x724031556159 = 724031556159
388 388  )))
389 389  * (((
390 -Version: 0x0064=100=1.0.0
389 +Version:  0x0064=100=1.0.0
391 391  )))
392 392  
393 393  * (((
394 -BAT: 0x0c6c = 3180 mV = 3.180V
393 +BAT:  0x0c6c = 3180 mV = 3.180V
395 395  )))
396 396  * (((
397 397  Signal: 0x19 = 25
... ... @@ -404,9 +404,43 @@
404 404  
405 405  
406 406  
406 +
407 407  
408 408  )))
409 409  
410 +=== **2.3.2  Since firmware v1.3.2** ===
411 +
412 +
413 +In this mode, uplink payload includes 69 bytes in total by default.
414 +
415 +Each time the device uploads a data package, 8 sets of recorded data will be attached. Up to 32 sets of recorded data can be uploaded.
416 +
417 +(% border="2" style="background-color:#ffffcc; color:green; width:896px" %)
418 +|(% style="width:95px" %)**Size(bytes)**|(% style="width:84px" %)**8**|(% style="width:44px" %)2|(% style="width:48px" %)2|(% style="width:123px" %)1|(% style="width:55px" %)1|(% style="width:80px" %)1|(% style="width:77px" %)2|(% style="width:94px" %)4|(% style="width:77px" %)2|(% style="width:116px" %)4
419 +|(% style="width:95px" %)**Value**|(% style="width:84px" %)Device ID|(% style="width:44px" %)Ver|(% style="width:48px" %)BAT|(% style="width:123px" %)Signal Strength|(% style="width:55px" %)MOD|(% style="width:80px" %)Interrupt|(% style="width:77px" %)Distance|(% style="width:94px" %)Timestamp|(% style="width:77px" %)Distance|(% style="width:116px" %)Timestamp.......
420 +
421 +If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NDDS75 uplink data.
422 +
423 +[[image:image-20220908175246-1.png]]
424 +
425 +
426 +The payload is ASCII string, representative same HEX:
427 +
428 +0x(% style="color:red" %)f867787050213317(% style="color:blue" %)0084(% style="color:green" %)0cf4(% style="color:red" %)1e(% style="color:blue" %)01(% style="color:green" %)00(% style="color:red" %)**//00396319bb32//**00396319baf0//**00396319ba3c**//00396319b988//**00396319b8d4**//00396319b820//**00396319b76c**//00396319b6b8//**00396319b604**//(%%) where:
429 +
430 +* (% style="color:green" %)Device ID: f867787050213317 = f867787050213317
431 +* (% style="color:red" %)Version: 0x0084=132=1.3.2
432 +* (% style="color:green" %)BAT: 0x0cf4 = 3316 mV = 3.316V
433 +* (% style="color:blue" %)Singal: 0x1e = 30
434 +* (% style="color:red" %)Mod: 0x01 = 1
435 +* Interrupt: 0x00= 0
436 +* Distance: 0x0039= 57 = 57
437 +* Time stamp : 0x6315537b =1662342011  ([[Unix Epoch Time>>url:http://www.epochconverter.com/]])
438 +* Distance,Time stamp : 00396319baf0
439 +* (% style="color:red" %) 8 sets of recorded data: Distance,Time stamp : //**00396319ba3c**//,.......
440 +
441 +
442 +
410 410  == 2.4  Payload Explanation and Sensor Interface ==
411 411  
412 412  
... ... @@ -424,7 +424,7 @@
424 424  )))
425 425  
426 426  (((
427 -**Example:**
460 +(% style="color:blue" %)**Example :**
428 428  )))
429 429  
430 430  (((
... ... @@ -432,11 +432,23 @@
432 432  )))
433 433  
434 434  (((
435 -The Device ID is stored in a none-erase area, Upgrade the firmware or run **AT+FDR** won't erase Device ID.
468 +The Device ID is stored in a none-erase area, Upgrade the firmware or run (% style="color:blue" %)**AT+FDR**(%%) won't erase Device ID.
436 436  )))
437 437  
438 438  
472 +(% style="color:red" %)**NOTE: When the firmware version is v1.3.2 and later firmware:**
439 439  
474 +(% style="color:red" %)**By default, the Device ID equal to the last 15 bits of IMEI.**
475 +
476 +User can use (% style="color:blue" %)**AT+DEUI**(%%) to set Device ID
477 +
478 +
479 +(% style="color:blue" %)**Example :**
480 +
481 +AT+DEUI=868411056754138
482 +
483 +
484 +
440 440  === 2.4.2  Version Info ===
441 441  
442 442  
... ... @@ -531,7 +531,7 @@
531 531  )))
532 532  
533 533  (((
534 -(% style="color:blue" %)**AT+INTMOD=3 **(%%) ~/~/(more info about INMOD please refer [[**AT Command Manual**>>url:https://www.dragino.com/downloads/downloads/NB-IoT/NBSN95/DRAGINO_NBSN95-NB_AT%20Commands_v1.1.0.pdf]])**.**
579 +(% style="color:blue" %)**AT+INTMOD=3 **(%%) ~/~/  (more info about INMOD please refer [[**AT Command Manual**>>url:https://www.dragino.com/downloads/downloads/NB-IoT/NBSN95/DRAGINO_NBSN95-NB_AT%20Commands_v1.1.0.pdf]])**.**
535 535  )))
536 536  
537 537  
... ... @@ -633,9 +633,52 @@
633 633  
634 634  
635 635  
636 -== 2.6  ​LED Indicator ==
681 +== 2.6  Distance alarm function(Since firmware v1.3.2) ==
637 637  
638 638  
684 +(% style="color:blue" %)** ➢ AT Command:**
685 +
686 +(% style="color:#037691" %)** AT+ LDDSALARM=min,max**
687 +
688 +² When min=0, and max≠0, Alarm higher than max
689 +
690 +² When min≠0, and max=0, Alarm lower than min
691 +
692 +² When min≠0 and max≠0, Alarm higher than max or lower than min
693 +
694 +
695 +(% style="color:blue" %)** Example:**
696 +
697 +**AT+ LDDSALARM=260,2000**  ~/~/ Alarm when distance lower than 260.
698 +
699 +
700 +
701 +== 2.7  Set the number of data to be uploaded and the recording time ==
702 +
703 +
704 +(% style="color:blue" %)** ➢ AT Command:**
705 +
706 +* (% style="color:#037691" %)** AT+TR=900** (%%) ~/~/ The unit is seconds, and the default is to record data once every 900 seconds.( The minimum can be set to 180 seconds)
707 +* (% style="color:#037691" %)** AT+NOUD=8**  (%%) ~/~/  The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
708 +
709 +
710 +
711 +
712 +== 2.8  Read or Clear cached data ==
713 +
714 +
715 +(% style="color:blue" %)** ➢ AT Command:**
716 +
717 +* (% style="color:#037691" %)** AT+CDP ** (%%) ~/~/  Read cached data
718 +* (% style="color:#037691" %)** AT+CDP=0**  (%%) ~/~/  Clear cached data
719 +
720 +[[image:image-20220908175333-2.png]]
721 +
722 +
723 +
724 +== 2.9  ​LED Indicator ==
725 +
726 +
639 639  The NDDS75 has an internal LED which is to show the status of different state.
640 640  
641 641  
... ... @@ -650,7 +650,7 @@
650 650  
651 651  
652 652  
653 -== 2.7  ​Firmware Change Log ==
741 +== 2.10  ​Firmware Change Log ==
654 654  
655 655  
656 656  (((
... ... @@ -667,10 +667,10 @@
667 667  
668 668  
669 669  
670 -== 2.8  ​Battery Analysis ==
758 +== 2.11  ​Battery Analysis ==
671 671  
672 672  
673 -=== 2.8.1  ​Battery Type ===
761 +=== 2.11.1  ​Battery Type ===
674 674  
675 675  
676 676  (((
... ... @@ -695,7 +695,7 @@
695 695  
696 696  
697 697  
698 -=== 2.8.2  Power consumption Analyze ===
786 +=== 2.11.2  Power consumption Analyze ===
699 699  
700 700  
701 701  (((
... ... @@ -734,7 +734,7 @@
734 734  
735 735  
736 736  
737 -=== 2.8.3  ​Battery Note ===
825 +=== 2.11.3  ​Battery Note ===
738 738  
739 739  
740 740  (((
... ... @@ -743,7 +743,7 @@
743 743  
744 744  
745 745  
746 -=== 2.8.4  Replace the battery ===
834 +=== 2.11.4  Replace the battery ===
747 747  
748 748  
749 749  (((
... ... @@ -778,74 +778,90 @@
778 778  See this link for detail:  [[https:~~/~~/www.dropbox.com/sh/aaq2xcl0bzfu0yd/AAAEAHRa7Io_465ds4Y7-F3aa?dl=0>>https://www.dropbox.com/sh/aaq2xcl0bzfu0yd/AAAEAHRa7Io_465ds4Y7-F3aa?dl=0]]
779 779  
780 780  
781 -AT+<CMD>?  : Help on <CMD>
869 +AT+<CMD>?  :  Help on <CMD>
782 782  
783 -AT+<CMD>         : Run <CMD>
871 +AT+<CMD>         :  Run <CMD>
784 784  
785 -AT+<CMD>=<value> : Set the value
873 +AT+<CMD>=<value> :  Set the value
786 786  
787 -AT+<CMD>=?  : Get the value
875 +AT+<CMD>=?  :  Get the value
788 788  
789 789  
790 790  (% style="color:#037691" %)**General Commands**(%%)      
791 791  
792 -AT  : Attention       
880 +AT  :  Attention       
793 793  
794 -AT?  : Short Help     
882 +AT?  :  Short Help     
795 795  
796 -ATZ  : MCU Reset    
884 +ATZ  :  MCU Reset    
797 797  
798 -AT+TDC  : Application Data Transmission Interval
886 +AT+TDC  :  Application Data Transmission Interval
799 799  
800 -AT+CFG  : Print all configurations
888 +AT+CFG  :  Print all configurations
801 801  
802 -AT+CFGMOD           : Working mode selection
890 +AT+CFGMOD           :  Working mode selection
803 803  
804 -AT+INTMOD            : Set the trigger interrupt mode
892 +AT+INTMOD            :  Set the trigger interrupt mode
805 805  
806 -AT+5VT  : Set extend the time of 5V power  
894 +AT+5VT  :  Set extend the time of 5V power  
807 807  
808 -AT+PRO  : Choose agreement
896 +AT+PRO  :  Choose agreement
809 809  
810 -AT+WEIGRE  : Get weight or set weight to 0
898 +AT+WEIGRE  :  Get weight or set weight to 0
811 811  
812 -AT+WEIGAP  : Get or Set the GapValue of weight
900 +AT+WEIGAP  :  Get or Set the GapValue of weight
813 813  
814 -AT+RXDL  : Extend the sending and receiving time
902 +AT+RXDL  :  Extend the sending and receiving time
815 815  
816 -AT+CNTFAC  : Get or set counting parameters
904 +AT+CNTFAC  :  Get or set counting parameters
817 817  
818 -AT+SERVADDR  : Server Address
906 +AT+SERVADDR  :  Server Address
819 819  
908 +AT+TR  :  Get or Set record time"
820 820  
910 +AT+APN     :  Get or set the APN
911 +
912 +AT+FBAND  :  Get or Set whether to automatically modify the frequency band
913 +
914 +AT+DNSCFG  : Get or Set DNS Server
915 +
916 +AT+GETSENSORVALUE   :  Returns the current sensor measurement
917 +
918 +AT+NOUD  :  Get or Set the number of data to be uploaded
919 +
920 +AT+CDP     :  Read or Clear cached data
921 +
922 +AT+LDDSALARM :  Get or Set alarm of distance
923 +
924 +
821 821  (% style="color:#037691" %)**COAP Management**      
822 822  
823 -AT+URI            : Resource parameters
927 +AT+URI            :  Resource parameters
824 824  
825 825  
826 826  (% style="color:#037691" %)**UDP Management**
827 827  
828 -AT+CFM          : Upload confirmation mode (only valid for UDP)
932 +AT+CFM          :  Upload confirmation mode (only valid for UDP)
829 829  
830 830  
831 831  (% style="color:#037691" %)**MQTT Management**
832 832  
833 -AT+CLIENT               : Get or Set MQTT client
937 +AT+CLIENT  :  Get or Set MQTT client
834 834  
835 -AT+UNAME  : Get or Set MQTT Username
939 +AT+UNAME  :  Get or Set MQTT Username
836 836  
837 -AT+PWD                  : Get or Set MQTT password
941 +AT+PWD  :  Get or Set MQTT password
838 838  
839 -AT+PUBTOPIC  : Get or Set MQTT publish topic
943 +AT+PUBTOPIC  :  Get or Set MQTT publish topic
840 840  
841 -AT+SUBTOPIC  : Get or Set MQTT subscription topic
945 +AT+SUBTOPIC  :  Get or Set MQTT subscription topic
842 842  
843 843  
844 844  (% style="color:#037691" %)**Information**          
845 845  
846 -AT+FDR  : Factory Data Reset
950 +AT+FDR  :  Factory Data Reset
847 847  
848 -AT+PWORD  : Serial Access Password
952 +AT+PWORD  :  Serial Access Password
849 849  
850 850  
851 851  
... ... @@ -941,5 +941,3 @@
941 941  
942 942  * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
943 943  * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]
944 -
945 -
image-20220908175246-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.David
Size
... ... @@ -1,0 +1,1 @@
1 +55.7 KB
Content
image-20220908175333-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.David
Size
... ... @@ -1,0 +1,1 @@
1 +31.1 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0