<
From version < 11.1 >
edited by Edwin Chen
on 2023/05/11 20:42
To version < 13.1 >
edited by Edwin Chen
on 2023/05/11 23:11
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -149,7 +149,7 @@
149 149  == 2.1 How it works ==
150 150  
151 151  
152 -The S31x-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
152 +The SN50v3-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
153 153  
154 154  
155 155  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -160,11 +160,11 @@
160 160  The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
161 161  
162 162  
163 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB.
163 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB.
164 164  
165 -Each S31x-LB is shipped with a sticker with the default device EUI as below:
165 +Each SN50v3-LB is shipped with a sticker with the default device EUI as below:
166 166  
167 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
167 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/S31-LB_S31B-LB/WebHome/image-20230426084152-1.png?width=502&height=233&rev=1.1||alt="图片-20230426084152-1.png" height="233" width="502"]]
168 168  
169 169  
170 170  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
... ... @@ -191,10 +191,10 @@
191 191  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]]
192 192  
193 193  
194 -(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
194 +(% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB
195 195  
196 196  
197 -Press the button for 5 seconds to activate the S31x-LB.
197 +Press the button for 5 seconds to activate the SN50v3-LB.
198 198  
199 199  (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
200 200  
... ... @@ -206,7 +206,7 @@
206 206  === 2.3.1 Device Status, FPORT~=5 ===
207 207  
208 208  
209 -Users can use the downlink command(**0x26 01**) to ask S31x-LB to send device configure detail, include device configure status. S31x-LB will uplink a payload via FPort=5 to server.
209 +Users can use the downlink command(**0x26 01**) to ask SN50v3 to send device configure detail, include device configure status. SN50v3 will uplink a payload via FPort=5 to server.
210 210  
211 211  The Payload format is as below.
212 212  
... ... @@ -218,11 +218,9 @@
218 218  
219 219  Example parse in TTNv3
220 220  
221 -[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]]
222 222  
222 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3, this value is 0x1C
223 223  
224 -(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
225 -
226 226  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
227 227  
228 228  (% style="color:#037691" %)**Frequency Band**:
... ... @@ -274,9 +274,263 @@
274 274  Ex2: 0x0B49 = 2889mV
275 275  
276 276  
277 -=== 2.3.2  Sensor Data. FPORT~=2 ===
275 +=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
278 278  
279 279  
278 +SN50v3 has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command AT+MOD to set SN50v3 to different working modes.
279 +
280 +For example:
281 +
282 + **AT+MOD=2  ** ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
283 +
284 +
285 +(% style="color:red" %) **Important Notice:**
286 +
287 +1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in **DR0**. Server sides will see NULL payload while SN50v3 transmit in DR0 with 12 bytes payload.
288 +1. All modes share the same Payload Explanation from HERE.
289 +1. By default, the device will send an uplink message every 20 minutes.
290 +
291 +
292 +==== 2.3.2.1  MOD~=1 (Default Mode) ====
293 +
294 +In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
295 +
296 +|**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2**
297 +|**Value**|Bat|Temperature(DS18B20)|ADC|Digital in & Digital Interrupt|Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor|Humidity(SHT20)
298 +
299 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627150949-6.png?rev=1.1||alt="image-20220627150949-6.png"]]
300 +
301 +
302 +==== 2.3.2.2  MOD~=2 (Distance Mode) ====
303 +
304 +This mode is target to measure the distance. The payload of this mode is totally 11 bytes. The 8^^th^^ and 9^^th^^ bytes is for the distance.
305 +
306 +|**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2**
307 +|**Value**|BAT|(((
308 +Temperature(DS18B20)
309 +)))|ADC|Digital in & Digital Interrupt|(((
310 +Distance measure by:
311 +1) LIDAR-Lite V3HP
312 +Or
313 +2) Ultrasonic Sensor
314 +)))|Reserved
315 +
316 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656324539647-568.png?rev=1.1||alt="1656324539647-568.png"]]
317 +
318 +**Connection of LIDAR-Lite V3HP:**
319 +
320 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656324581381-162.png?rev=1.1||alt="1656324581381-162.png"]]
321 +
322 +**Connection to Ultrasonic Sensor:**
323 +
324 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656324598488-204.png?rev=1.1||alt="1656324598488-204.png"]]
325 +
326 +For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
327 +
328 +|**Size(bytes)**|**2**|**2**|**1**|**2**|**2**|**2**
329 +|**Value**|BAT|(((
330 +Temperature(DS18B20)
331 +)))|Digital in & Digital Interrupt|ADC|(((
332 +Distance measure by:1)TF-Mini plus LiDAR
333 +Or 
334 +2) TF-Luna LiDAR
335 +)))|Distance signal  strength
336 +
337 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656376779088-686.png?rev=1.1||alt="1656376779088-686.png"]]
338 +
339 +**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
340 +
341 +Need to remove R3 and R4 resistors to get low power. Since firmware v1.7.0
342 +
343 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656376795715-436.png?rev=1.1||alt="1656376795715-436.png"]]
344 +
345 +**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
346 +
347 +Need to remove R3 and R4 resistors to get low power. Since firmware v1.7.0
348 +
349 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656376865561-355.png?rev=1.1||alt="1656376865561-355.png"]]
350 +
351 +Please use firmware version > 1.6.5 when use MOD=2, in this firmware version, user can use LSn50 v1 to power the ultrasonic sensor directly and with low power consumption.
352 +
353 +
354 +==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
355 +
356 +This mode has total 12 bytes. Include 3 x ADC + 1x I2C
357 +
358 +|=(((
359 +**Size(bytes)**
360 +)))|=**2**|=**2**|=**2**|=**1**|=2|=2|=1
361 +|**Value**|ADC(Pin PA0)|ADC2(PA1)|ADC3 (PA4)|(((
362 +Digital in(PA12)&Digital Interrupt1(PB14)
363 +)))|Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)|Humidity(SHT20 or SHT31)|Bat
364 +
365 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656377431497-975.png?rev=1.1||alt="1656377431497-975.png"]]
366 +
367 +
368 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
369 +
370 +This mode is supported in firmware version since v1.6.1. Software set to AT+MOD=4
371 +
372 +Hardware connection is as below,
373 +
374 +**( Note:**
375 +
376 +* In hardware version v1.x and v2.0 , R3 & R4 should change from 10k to 4.7k ohm to support the other 2 x DS18B20 probes.
377 +* In hardware version v2.1 no need to change R3 , R4, by default, they are 4.7k ohm already.
378 +
379 +See [[here>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H1.6A0HardwareChangelog]] for hardware changelog. **) **
380 +
381 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656377461619-156.png?rev=1.1||alt="1656377461619-156.png"]]
382 +
383 +This mode has total 11 bytes. As shown below:
384 +
385 +|**Size(bytes)**|**2**|**2**|**2**|**1**|**2**|**2**
386 +|**Value**|BAT|(((
387 +Temperature1
388 +(DS18B20)
389 +(PB3)
390 +)))|ADC|Digital in & Digital Interrupt|Temperature2
391 +(DS18B20)
392 +(PA9)|Temperature3
393 +(DS18B20)
394 +(PA10)
395 +
396 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656377606181-607.png?rev=1.1||alt="1656377606181-607.png"]]
397 +
398 +(% class="wikigeneratedid" %)
399 +=== ===
400 +
401 +==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
402 +
403 +This mode is supported in firmware version since v1.6.2. Please use v1.6.5 firmware version so user no need to use extra LDO for connection.
404 +
405 +
406 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378224664-860.png?rev=1.1||alt="1656378224664-860.png"]]
407 +
408 +Each HX711 need to be calibrated before used. User need to do below two steps:
409 +
410 +1. Zero calibration. Don't put anything on load cell and run **AT+WEIGRE** to calibrate to Zero gram.
411 +1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run **AT+WEIGAP** to adjust the Calibration Factor.
412 +1. (((
413 +Remove the limit of plus or minus 5Kg in mode 5, and expand from 2 bytes to 4 bytes, the unit is g.(Since v1.8.0)
414 +)))
415 +
416 +For example:
417 +
418 +**AT+WEIGAP =403.0**
419 +
420 +Response:  Weight is 401 g
421 +
422 +Check the response of this command and adjust the value to match the real value for thing.
423 +
424 +|=(((
425 +**Size(bytes)**
426 +)))|=**2**|=**2**|=**2**|=**1**|=**4**|=2
427 +|**Value**|[[Bat>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.1BatteryInfo]]|[[Temperature(DS18B20)>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.2Temperature28DS18B2029]]|[[ADC>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.4AnalogueDigitalConverter28ADC29]]|[[Digital Input and Digitak Interrupt>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.3DigitalInput]]|Weight|Reserved
428 +
429 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220820120036-2.png?width=1003&height=469&rev=1.1||alt="image-20220820120036-2.png" height="469" width="1003"]]
430 +
431 +(% class="wikigeneratedid" %)
432 +=== ===
433 +
434 +==== 2.3.2.6  MOD~=6 (Counting Mode) ====
435 +
436 +In this mode, the device will work in counting mode. It counts the interrupt on the interrupt pins and sends the count on TDC time.
437 +
438 +Connection is as below. The PIR sensor is a count sensor, it will generate interrupt when people come close or go away. User can replace the PIR sensor with other counting sensors.
439 +
440 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378351863-572.png?rev=1.1||alt="1656378351863-572.png"]]
441 +
442 +**Note:** LoRaWAN wireless transmission will infect the PIR sensor. Which cause the counting value increase +1 for every uplink. User can change PIR sensor or put sensor away of the LSN50 to avoid this happen.
443 +
444 +|=**Size(bytes)**|=**2**|=**2**|=**2**|=**1**|=**4**
445 +|**Value**|[[BAT>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.1BatteryInfo]]|(((
446 +[[Temperature(DS18B20)>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.2Temperature28DS18B2029]]
447 +)))|[[ADC>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.4AnalogueDigitalConverter28ADC29]]|[[Digital in>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/#H2.4.3DigitalInput]]|Count
448 +
449 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378441509-171.png?rev=1.1||alt="1656378441509-171.png"]]
450 +
451 +
452 +==== 2.3.2.7  MOD~=7 (Three interrupt contact modes) ====
453 +
454 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220820140109-3.png?rev=1.1||alt="image-20220820140109-3.png"]]
455 +
456 +|=(((
457 +**Size(bytes)**
458 +)))|=**2**|=**2**|=**2**|=**1**|=**1**|=1|=2
459 +|**Value**|BAT|Temperature(DS18B20)|ADC|(((
460 +Digital in(PA12)&Digital Interrupt1(PB14)
461 +)))|Digital Interrupt2(PB15)|Digital Interrupt3(PA4)|Reserved
462 +
463 +
464 +==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
465 +
466 +|=(((
467 +**Size(bytes)**
468 +)))|=**2**|=**2**|=**2**|=**1**|=**2**|=2
469 +|**Value**|BAT|Temperature(DS18B20)|(((
470 +ADC1(PA0)
471 +)))|(((
472 +Digital in
473 +& Digital Interrupt(PB14)
474 +)))|(((
475 +ADC2(PA1)
476 +)))|(((
477 +ADC3(PA4)
478 +)))
479 +
480 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823164903-2.png?rev=1.1||alt="image-20220823164903-2.png"]]
481 +
482 +(% class="wikigeneratedid" %)
483 +=== ===
484 +
485 +==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
486 +
487 +|=(((
488 +**Size(bytes)**
489 +)))|=**2**|=**2**|=**2**|=**1**|=**2**|=4|=4
490 +|**Value**|BAT|(((
491 +Temperature1(PB3)
492 +)))|(((
493 +Temperature2(PA9)
494 +)))|(((
495 +Digital in
496 +& Digital Interrupt(PA4)
497 +)))|(((
498 +Temperature3(PA10)
499 +)))|(((
500 +Count1(PB14)
501 +)))|(((
502 +Count2(PB15)
503 +)))
504 +
505 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220823165322-3.png?rev=1.1||alt="image-20220823165322-3.png"]]
506 +
507 +**The newly added AT command is issued correspondingly:**
508 +
509 +**~ AT+INTMOD1** ** PB14**  pin:  Corresponding downlink:  **06 00 00 xx**
510 +
511 +**~ AT+INTMOD2**  **PB15** pin:  Corresponding downlink:**  06 00 01 xx**
512 +
513 +**~ AT+INTMOD3**  **PA4**  pin:  Corresponding downlink:  ** 06 00 02 xx**
514 +
515 +**AT+SETCNT=aa,bb** 
516 +
517 +When AA is 1, set the count of PB14 pin to BB Corresponding downlink:09 01 bb bb bb bb
518 +
519 +When AA is 2, set the count of PB15 pin to BB Corresponding downlink:09 02 bb bb bb bb
520 +
521 +=== 2.3.10  ​Decode payload in The Things Network ===
522 +
523 +While using TTN V3 network, you can add the payload format to decode the payload.
524 +
525 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378466788-734.png?rev=1.1||alt="1656378466788-734.png"]]
526 +
527 +The payload decoder function for TTN V3 are here:
528 +
529 +LSN50 TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
530 +
531 +
280 280  Sensor Data is uplink via FPORT=2
281 281  
282 282  (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0