Table of Contents:

1. Introduction

1.1 What is AIS01-LB

AIS01-LB is a LoRaWAN AI Image End Node. AIS01-LB has a camera and AI processor in the probe. It can take photo , analyze the photo to get digital reading and send the info to IoT server via LoRaWAN Network.

AIS01-LB is pre-trained to support image recognized of water meter, gas meter and power meter. It can be trained to support more image recognized for different application.

AIS01-LB can send the digital reading after recognized and it can also send the original photo via LoRaWAN as well.

AIS01-LB is fully compatible with LoRaWAN v1.0.3 protocol, it can work with standard LoRaWAN gateway.

1.2 ​Features

  • LoRaWAN v1.0.3 Class A protocol.
  • Low power consumption
  • AI Image Sensor.
  • Send image to IoT server
  • Recognize digits from Image and send data to IoT server
  • Trained for common reading for Water Meter, Gas Meter, Power Meter
  • Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915
  • Support Interrupt uplink
  • Support Bluetooth v5.1 and LoRaWAN remote configure
  • Support wireless OTA update firmware
  • AT Commands to change parameters
  • Uplink on periodically
  • Downlink to change configure
  • 8500mAh Li/SOCl2 Battery

1.3 Specification

Common DC Characteristics:

  • Supply Voltage: Built-in Battery , 2.5v ~ 3.6v
  • Operating Temperature: -40 ~ 85°C

I/O Interface:

  • Battery output (2.6v ~ 3.6v depends on battery)
  • +5v controllable output
  • 3 x Interrupt or Digital IN/OUT pins
  • 3 x one-wire interfaces
  • 1 x UART Interface
  • 1 x I2C Interface

LoRa Spec:

  • Frequency Range,  Band 1 (HF): 862 ~ 1020 Mhz
  • Max +22 dBm constant RF output vs.
  • RX sensitivity: down to -139 dBm.
  • Excellent blocking immunity

Battery:

  • Li/SOCI2 un-chargeable battery
  • Capacity: 8500mAh
  • Self-Discharge: <1% / Year @ 25°C
  • Max continuously current: 130mA
  • Max boost current: 2A, 1 second

Power Consumption:

  • Sleep Mode: 5uA @ 3.3v
  • LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm

1.4 Sleep mode and working mode

Deep Sleep Mode: Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.

Working Mode: In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.

1.5 Button & LEDs

1675071855856-879.png

Behavior on ACTFunctionAction
Pressing ACT between 1s < time < 3sSend an uplink

If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, blue led will blink once.
Meanwhile, BLE module will be active and user can connect via BLE to configure device.

Pressing ACT for more than 3sActive Device

Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network.
Green led will solidly turn on for 5 seconds after joined in network.
Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network.

Fast press ACT 5 times.Deactivate DeviceRed led will solid on for 5 seconds. Means device is in Deep Sleep Mode.

1.6 BLE connection

AIS01-LB supports BLE remote configure.

BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:

  • Press button to send an uplink
  • Press button to active device.
  • Device Power on or reset.

If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.

1.7 Pin Definitions

AIS01-LB use the mother board which as below.

image-20230610163213-1.png

1.7.1 Jumper JP2

Power on Device when put this jumper.

1.7.2 BOOT MODE / SW1

1) ISP: upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run.

2) Flash: work mode, device starts to work and send out console output for further debug

1.7.3 Reset Button

Press to reboot the device.

1.8 Mechanical

1.8.1 for LB version

1675143884058-338.png1675143899218-599.png

1675143909447-639.png

2. Configure AIS01-LB to connect to LoRaWAN network

2.1 How it works

The AIS01-LB is configured as 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 AIS01-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.

2.2 ​Quick guide to connect to LoRaWAN server (OTAA)

Following is an example for how to join the TTN v3 LoRaWAN Network. Below is the network structure; we use the LPS8v2  as a LoRaWAN gateway in this example. 

The LPS8v2 is already set to connected to TTN network , so what we need to now is configure the TTN server.

image-20240509173207-1.png

Step 1: Create a device in TTN with the OTAA keys from AIS01-LB.

Each AIS01-LB is shipped with a sticker with the default device EUI as below:

图片-20230426084152-1.png

You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:

Register the device

1654935135620-998.png

Add APP EUI and DEV EUI

图片-20220611161308-4.png

Add APP EUI in the application

图片-20220611161308-5.png

Add APP KEY

图片-20220611161308-6.png

Step 2: Activate AIS01-LB

Press the button for 5 seconds to activate the AIS01-LB.

Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network. Green led will solidly turn on for 5 seconds after joined in network.

After join success, it will start to upload messages to TTN and you can see the messages in the panel.

2.3 ​Uplink Payload

2.3.1 Device Status, FPORT=5

Users can use the downlink command(0x26 01) to ask AIS01-LB to send device configure detail, include device configure status. AIS01-LB will uplink a payload via FPort=5 to server.

The Payload format is as below.

Device Status (FPORT=5)
Size (bytes)12112
ValueSensor ModelFirmware VersionFrequency BandSub-bandBAT

Example parse in TTNv3

Sensor Model: For AIS01-LB, this value is 0x1C

Firmware Version: 0x0100, Means: v1.0.0 version

Frequency Band:

0x01: EU868

0x02: US915

0x03: IN865

0x04: AU915

0x05: KZ865

0x06: RU864

0x07: AS923

0x08: AS923-1

0x09: AS923-2

0x0a: AS923-3

0x0b: CN470

0x0c: EU433

0x0d: KR920

0x0e: MA869

Sub-Band:

AU915 and US915:value 0x00 ~ 0x08

CN470: value 0x0B ~ 0x0C

Other Bands: Always 0x00

Battery Info:

Check the battery voltage.

Ex1: 0x0B45 = 2885mV

Ex2: 0x0B49 = 2889mV

2.3.2 Timing upload the identified number and time FPORT=2

The uplink payload includes totally 14 bytes. Uplink packets use FPORT=2 and every 20 minutes send one uplink by default. 

Size(bytes)2444
ValueBATSysTimeCurrentIntegerDecimal

1715151321029-626.png

Payload Example(FPort=2):0D 32 66 29 AF E0 00 00 00 02 00 05 E3 B0

2.3.2.1 BAT- Battery information

These two bytes of BAT include the battery state and the actual voltage.

image-20240508154119-3.png

Ex:0x0B32 = 3378mV

2.3.2.2 SysTimeCurrent

These four bytes contain the year, month, day, hour, minute, and second of the time.

1715303592596-930.png

AI Sensor use Unix TimeStamp format based on:

1715151333259-453.png

Users can get this time from the link:  https://www.epochconverter.com/ :

Below is the converter example.

Ex:6629AFE0=2024-04-25 01:20:32

1715151350766-598.png

1715151357542-785.png

So, we can use AT+TIMESTAMP=1714012723 or downlink 6629C233 to set the current time 2024 – April -- 25 Thursday 02:38:41

2.3.2.3 Integer

These four bytes display the integers in the digital wheel face.

1715151366157-113.png

Read table integer:0x00000002=2

2.3.2.4 Decimal

These four bytes display decimals on the digital wheel.

1715151372577-656.png

Read table decimals:0x005E3B0/1000000= 0.385968

2.3.3 Image upload function FPORT=3

Size(bytes)4211200
ValueSysTimeCurrentBATtotal_packagessubcontracting_countImage_date

Send the graph command 0B 01,AIS01 starts sending the picture data packet after sending the next data.

1715151066947-928.png

Example of the first payload(FPort=3):

663095C00BBE1000FFD8FFE000104A46494600010101004800480000FFDB0043001B12141714111B1716171E1C1B2028422B28252528513A3D3042605565645F555D5B6A7899816A7190735B5D85

B586909EA3ABADAB6780BCC9BAA6C799A8ABA4FFDB0043011C1E1E2823284E2B2B4EA46E5D6EA4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4

A4A4A4A4A4A4A4A4A4A4A4A4A4A4FFC0000B0800F0014001012200FFC4001F00000105010101010101000000000000000001020304050607

2.3.3.1 SysTimeCurrent

These four bytes contain the year, month, day, hour, minute, and second of the time.

AI Sensor use Unix TimeStamp format based on.

1715151098879-295.png

Users can get this time from the link:  https://www.epochconverter.com/ :

Below is the converter example

EX: 663095C0=2024-04-30 06:54:57.

1715151112941-527.png

2.3.3.2 BAT- Battery information

These two bytes of BAT include the battery state and the actual voltage.

image-20240508154232-4.png

Ex:0X0BBE= 3006 mv

2.3.3.3 total_packages

This byte represents the total number of packets for the image fetched this time.

image-20240508145333-1.png

2.3.3.4 subcontracting_count

This byte represents the data number of the image packet retrieved.

image-20240508145403-2.png

2.3.3.5 Image_date

Apart from the eight bytes mentioned above, the next 200 bytes are all image data.

Example: Payload: 663095C00BBE1000FFD8FFE000104A46494600010101004800480000FFDB0043001B12141714111B1716171E1C1B2028422B28252528513A3D3042605565645F555D5B6A789981

6A7190735B5D85B586909EA3ABADAB6780BCC9BAA6C799A8ABA4FFDB0043011C1E1E2823284E2B2B4EA46E5D6EA4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A

4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4FFC0000B0800F0014001012200FFC4001F00000105010101010101000000000000000001020304050607

Image_date=FFD8FFE000104A46494600010101004800480000FFDB0043001B12141714111B1716171E1C1B2028422B28252528513A3D3042605565645F555D5B6A7899816A7190735B5D85B58690

9EA3ABADAB6780BCC9BAA6C799A8ABA4FFDB0043011C1E1E2823284E2B2B4EA46E5D6EA4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A

4A4A4A4A4A4A4A4A4A4A4FFC0000B0800F0014001012200FFC4001F00000105010101010101000000000000000001020304050607

2.3.4 Image upload function FPORT=4

Size(bytes)2444444......
ValueBATSysTimeCurrentIntegerDecimalSysTimeCurrentIntegerDecimal

FPORT 4 is somewhat similar to FPORT 2 in that how many packets you will receive depends on your CLOCKLOG Settings.

For example:
The AT + CLOCKLOG = 1,65535,1,5
AT+TDC=30000
Five minutes after AIS01-LB is connected to the network, You will receive a payload containing a battery, five times and five meter readings corresponding to the time.

1715308821451-790.png

1715308829315-478.png

Example: Payload:

0A8C 663C66C6 02000000 3CAE0100 663C65D6 02000000 7A0F0200 663C6612 02000000 3CAE0100 663C664E 02000000 3CAE0100 663C668A 02000000 3CAE0100

2.3.4.1 BAT- Battery information

These two bytes of BAT include the battery state and the actual voltage.

Ex: 0x0A8C= 2700 mv

2.3.4.2 SysTimeCurrent

Because this is data from five different times being combined together, it needs to be distinguished.

Ex:

0x663C66C6E="2024-05-09 06:01:42",

0x663C65D6= "2024-05-09 05:57:42",

0x663C6612="2024-05-09 05:58:42",

0x663C664E="2024-05-09 05:59:42",

0x663C668A="2024-05-09 06:00:42"

2.3.4.3 Integer

The five data points of Integer are: 02 00 00 00

Notice that the packet order is reversed here.

image-20240510102914-2.png

Ex:0x02000000=0x00000002=2

2.3.4.4 Decimal

Notice that the packet order is reversed here.

image-20240510103409-3.png

Ex:

0x3CAE0100=0x0001AE3C=11014

0x7A0F0200=0x00020F7A=135034

0x3CAE0100=0x0001AE3C=11014

0x3CAE0100=0x0001AE3C=11014

0x3CAE0100=0x0001AE3C=11014

2.3.5 Datalog FPORT=6

After turning on the ACK function, AIS01-LB will store every piece of data. When AIS01-LB is unable to upload data to the platform at the set time due to network fluctuations at certain times, AIS01-LB will store the collected data into flash. When AIS01-LB joins the network, the data will be packaged and sent to the platform.

Size(bytes)444444......
ValueSysTimeCurrentIntegerDecimalSysTimeCurrentIntegerDecimal

FPORT 6 is somewhat similar to FPORT 4 with only two bytes less data about the battery.

image-20240518163158-1.png
Example of Device Status: 664809FC000000020006BF6F 66480A38000000020007A120

2.3.5.1 SysTimeCurrent

These four bytes contain the year, month, day, hour, minute, and second of the time.

AI Sensor use Unix TimeStamp format based on.

Users can get this time from the link:  https://www.epochconverter.com/ :

0x66482503="2024-05-18 01:53:00"

0x6648253F="2024-05-18 01:54:00"

2.3.5.2 Integer

image-20240518175221-2.png

The two data points of Integer are: 00000002

Ex:0x02000000=0x00000002=2

2.3.5.3 Decimal

image-20240520085144-1.png

These four bytes display decimals on the digital wheel.

Read table decimals:0x0007A120/1000000= 0.5

2.3.6  ​Decode payload

While using TTN V3 network, you can add the payload format to decode the payload.

1656378466788-734.png

The payload decoder function for TTN V3 are here:

AIS01-LB TTN V3 Payload Decoder:  https://github.com/dragino/dragino-end-node-decoder

2.4 Payload Decoder file

In TTN, use can add a custom payload so it shows friendly reading.

In the page Applications --> Payload Formats --> Custom --> decoder to add the decoder from: (To be added)

https://github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB

2.5 Frequency Plans

The AIS01-LB uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.

http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/

3. Configure AIS01-LB

3.1 Configure Methods

AIS01-LB supports below configure method:

3.2 General Commands

These commands are to configure:

  • General system settings like: uplink interval.
  • LoRaWAN protocol & radio related command.

They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:

http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/

3.3 Commands special design for AIS01-LB

These commands only valid for AIS01-LB, as below:

3.3.1 Set Transmit Interval Time

Feature: Change LoRaWAN End Node Transmit Interval.

AT Command: AT+TDC

Command ExampleFunctionResponse
AT+TDC=?Show current transmit Interval

30000
OK
the interval is 30000ms = 30s

AT+TDC=60000Set Transmit Interval

OK
Set transmit interval to 60000ms = 60 seconds

Downlink Command: 0x01

Format: Command Code (0x01) followed by 3 bytes time value.

If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.

  • Example 1: Downlink Payload: 0100001E       //  Set Transmit Interval (TDC) = 30 seconds
  • Example 2: Downlink Payload: 0100003C       //  Set Transmit Interval (TDC) = 60 seconds

3.3.2 Get Device Status

Send a LoRaWAN downlink to ask the device to send its status.

Downlink Payload: 0x26 01

Sensor will upload Device Status via FPORT=5. See payload section for detail.

3.3.3 Set Interrupt Mode

Feature, Set Interrupt mode for GPIO_EXIT.

AT Command: AT+INTMOD1,AT+INTMOD2

Command ExampleFunctionResponse
AT+INTMOD1=?Show current interrupt mode

0
OK
the mode is 0 =Disable Interrupt

AT+INTMOD1=2

Set Transmit Interval
0. (Disable Interrupt),
1. (Trigger by rising and falling edge)
2. (Trigger by falling edge)
3. (Trigger by rising edge)

OK
AT+INTMOD2=2Set Transmit Interval
0. (Disable Interrupt),
1. (Trigger by rising and falling edge)
2. (Trigger by falling edge)
3. (Trigger by rising edge)
OK

Downlink Command: 0x06

Format: Command Code (0x06) followed by 3 bytes.

This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.

  • Example 1: Downlink Payload: 06000000      --->  AT+INTMOD1=0
  • Example 2: Downlink Payload: 06000003      --->  AT+INTMOD1=3
  • Example 3: Downlink Payload: 06000102      --->  AT+INTMOD2=2

3.3.4 Request the server to send an ACK

AT Command: AT+PNACKMD

Command ExampleFunctionResponse
AT+PNACKMD=1If the node uploads the ACK as confirm, it will request the server to send an ACK. If the server ack is not received, the node will upload the packets that have not received the ACK the next time it receives the ACK1

OK

AT+PNACKMD=0off request the server to send an ACK

0
OK

  Downlink Command: 0x34

0X34 01    //Same As AT+PNACKMD=1

0x34 00    //Same As AT+PNACKMD=0

3.3.5 Print data entries base on page

Feature: Print the sector data from start page to stop page (max is 416 pages).

AT Command: AT+PDTA

Command ExampleFunction

AT+PDTA=1,3
Print page 1 to 3

Stop Tx events when read sensor data

8031000 2024/5/18 01:29:00 3054 2.442223

8031010 2024/5/18 01:30:00 3048 2.442223

8031020 2024/5/18 01:31:00 3042 2.442223

8031030 2024/5/18 01:32:00 3036 2.442223

8031040 2024/5/18 01:33:00 3030 2.442223

8031050 2024/5/18 01:34:00 3024 2.442223

8031060 2024/5/18 01:35:00 3024 2.442223

8031070 2024/5/18 01:36:00 3018 2.442223

8031080 2024/5/18 01:37:00 3012 2.442223

8031090 2024/5/18 01:38:00 3000 2.442223

80310A0 2024/5/18 01:39:00 2994 2.442223

80310B0 2024/5/18 01:40:00 2988 2.442223

80310C0 2024/5/18 01:41:00 2982 2.442223

80310D0 2024/5/18 01:42:00 2976 2.442223

80310E0 2024/5/18 01:43:00 2970 2.442223

80310F0 2024/5/18 01:44:00 2964 2.442223

8031100 2024/5/18 01:45:00 2958 2.442223

8031110 2024/5/18 01:46:00 2952 2.442223

8031120 2024/5/18 01:47:00 2940 2.442223

8031130 2024/5/18 01:48:00 2940 2.442223

8031140 2024/5/18 01:49:00 2928 2.442223

8031150 2024/5/18 01:50:00 2922 2.442223

8031160 2024/5/18 01:51:00 2916 2.442223

8031170 2024/5/18 01:52:00 2904 2.442223

Start Tx events

OK

Downlink Command:

No downlink commands for feature

3.3.6 Clear Flash Record

Feature: Clear flash storage for data log feature.

AT Command: AT+CLRDTA

Command ExampleFunctionResponse
AT+CLRDTA Clear date record

Stop Tx events,Please wait for the erase to complete

Clear all stored sensor data...

Start Tx events

OK

Downlink Command: 

No downlink commands for feature

3.3.7 Clock logging

Sometimes when we deploy lots of end nodes in field. We want all sensors sample data at the same time, and upload these data together for analyze. In such case, we can use clock loging feature.

We can use this command to set the start time of data recording and the time interval to meet the requirements of the specific collection time of data.

  • AT Command: AT+CLOCKLOG=a,b,c,d

a: 0: Disable Clock logging.   1: Enable Clock Logging

b: Specify First sampling start second: range (0 ~ 3599, 65535)         // Note: If parameter b is set to 65535, the log period starts after the node accesses the network and sends packets.

c: Specify the sampling interval: range (0 ~ 255 minutes)

d:How many entries should be uplink on every TDC (max 32)

image-20240315141254-1.png

Example:

AT+CLOCKLOG=1,65535,1,5

After the node sends the first packet, data is recorded to the memory at intervals of 1 minute. For each TDC uplink, the uplink load will include: battery information + the last 5 memory records (payload + timestamp).

image-20240316163501-1.png

Note: Users need to synchronize the server time before configuring this command. If the server time is not synchronized before this command is configured, the command takes effect only after the node is reset.

4. Battery & Power Consumption

AIS01-LB use ER26500 + SPC1520 battery pack . See below link for detail information about the battery info and how to replace.

Battery Info & Power Consumption Analyze .

5. OTA Firmware update

User can change firmware AIS01-LB to:

  • Change Frequency band/ region.
  • Update with new features.
  • Fix bugs. 

Firmware and changelog can be downloaded from : Firmware download link

Methods to Update Firmware:

6. FAQ

6.1 Where can i find source code of AIS01-LB?(Uncertainty)

7. Order Info

Part Number: AIS01-LB-XX

XX: The default frequency band

  • AS923: LoRaWAN AS923 band
  • AU915: LoRaWAN AU915 band
  • EU433: LoRaWAN EU433 band
  • EU868: LoRaWAN EU868 band
  • KR920: LoRaWAN KR920 band
  • US915: LoRaWAN US915 band
  • IN865: LoRaWAN IN865 band
  • CN470: LoRaWAN CN470 band

8. ​Packing Info

Package Includes:

  • AIS01-LB LoRaWAN AI Image End Node

Dimension and weight:

  • Device Size: cm
  • Device Weight: g
  • Package Size / pcs : cm
  • Weight / pcs : g

9. Support

  • 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.
  • 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.cc
Tags:
    
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0