AlfaSat SBRD Commands

ACP Sensorboard Command List

Total Commands and their CRC16 Modbus Results:

4X 00 CMD CMD_LEN CRC16.

Where X should be replaced to one of the ACP Source Node regardingly.

Notes :

While sending:

[source]4 00 01 CMDHEX CRC16

While receiving:

[4][destination] 00 DLEN PAYLOAD_ID PAYLOAD CRC16

NDX CMD CMD Definition CMD HEX P_ID
1 04 00 01 01 C1 44 CMD_GET_CMD_LIST 0x01 0x01
2 04 00 01 02 81 45 CMD_STAT 0x02 0x02
3 40 00 01 03 54 75 CMD_GET_ALL 0x03  
4 04 00 01 04 01 47 CMD_GET_BME_ALL 0x04  
5 40 00 01 05 D4 77 CMD_GET_BNO_ALL 0x05  
6 04 00 01 06 80 86 CMD_GET_GG_ALL 0x06  
7 04 00 01 07 0F 44 CMD_GET_SI_ALL 0x07  
8 04 00 01 64 6F 9F CMD_BMET 0x64 0x03
9 40 00 01 65 D4 5F CMD_BMEP 0x65 0x04
10 40 00 01 66 94 5E CMD_BMEH 0x66 0x05
11 40 00 01 67 55 9E CMD_BMEG 0x67 0x06
12 40 00 01 68 15 9A CMD_BMEA 0x68 0x07
13 40 00 01 69 D4 5A CMD_BNOT 0x69 0x08
14 40 00 01 6A 94 5B CMD_BNOA 0x6A 0x09
15 40 00 01 6B 15 90 CMD_BNOM 0x6B 0x0A
16 40 00 01 6C 14 59 CMD_BNOGS 0x6C 0x0B
17 40 00 01 6D D5 99 CMD_BNOE 0x6D 0x0C
18 40 00 01 6E 95 98 CMD_BNOL 0x6E 0x0D
19 40 00 01 6F 54 58 CMD_BNOGR 0x6F 0x0E
20 40 00 01 78 14 56 CMD_GGC 0x78 0x0F
21 40 00 01 82 94 15 CMD_SIV 0x82 0x10
22 40 00 01 83 55 D5 CMD_SIR 0x83 0x11
23 40 00 01 84 14 17 CMD_SUV 0x84 0x12

Sample Responses for ACP SBRD CMDs

40 00 01 01 D5 B4 - CMD-LIST

This returns the available commands for sensor board in this software and hardware version. [19 byte]

image-20201007113332786

40 00 01 02 95 B5 - STATUS

This returns the sensor board sensors numbers and the I2C address of each existing sensors:

In response : 03 28 60 76.

03 means there are 3 I2C sensors on the sensor board now (or 3 of all the sensors working properly now)

28, 60, 76 are the addresses of those working sensors that mentioned above.

image-20201007115658393

Generally :

  • BME680 0x76
  • BNO055 0x28
  • SI1145 0x60

40 00 01 03 54 75 - GET ALL

This returns all the sensor board data together.

40 00 01 04 15 B7 - BME

This returns all the BME680 data together.

image-20201007145207585

The response payload has 20 bits.

Header: 04 00 ( From Sensorboard(0x04) to the OBC(0x00) )

Data Length: 14 (HEX 0x14 == DEC 20)

each for bit is respectivly for one BME680 parapeter in this order:

Temperature : 00 00 0D BA = 3514 = 35.14 ℃

Pressure: 00 01 7F 5A = 98138 = 981.38 Pa

Humidity: 00 00 2A 09 = 10761 = 10.761 %

Gas (resistance) : 00 01 18 44 = 71748 = 717.48 mΩ

Altitude: 00 00 68 FE = 26878 = 268.78 m

CRC: 8F 5F

40 00 01 05 D4 77 -BNO

This returns all the BNO055 data together

40 00 01 06 94 76 - GG

This returns all the Geiger data together

Geiger counter counts inturrupts at digital pin2 (interrupt 0) on arduino for 1 minute. This command returns the CPM (geiger count per minute) value.

The CPM is not an Instant quantity, when you call this command, it returns the most last tested CPM.

image-20201007200349479

Wait at least 15 seconds to get a newer data.

40 00 01 07 55 B6 - SI1145

This returns all the SI1145 Data Together

Visible light has a wave length that ranges from 380 nm – 750 nm on the electromagnetic spectrum while infrared light is just beyond it, ranging from 700 nm – 1 mm, the start of the non-visible portion of the spectrum.

The UV Index is a number linearly related to the intensity of sunlight reaching the earth and is weighted according to the CIE Erythemal Action Spectrum as shown in Figure 13. This weighting is a standardized measure of human skin’s response to different wavelengths of sunlight from UVB to UVA. The UV Index has been standardized by the World Health Organization and includes a simplified consumer UV exposure level as shown in Figure 14 and Figure 15.

image-20201007165649585

The SI1145 Sensor reads three parameters about light :

  • Visible
  • IR
  • UV Index

While Asking queries, a sample response can be like this:

2020-10-07-105850

01 06 : VIS = 262

00 FD: IR = 253

00 03: UV Index = 3

40 00 01 64 15 9F - BMET

This returns BME680 Temperature value.

image-20201007150421129

40 00 01 65 D4 5F -BMEP

This returns BME680 Pressure Value

image-20201007150440004

40 00 01 66 94 5E - BMEH

This returns BME680 Humidity value

image-20201007150506750

40 00 01 67 55 9E - BMEG

This returns BME680 gas resistance value

image-20201007150532773

40 00 01 68 15 9A - BMEA

This returns BME680 altitude value

image-20201007150635264

40 00 01 69 D4 5A - BNOT

The command returns the current ambient temperature in degrees celsius

image-20201008131939178

40 00 01 6A 94 5B - BNOA

This returns the 3-axis vector data for **ACCELEROMETER **(values in m/s^2)

image-20201008131638729

40 00 01 6B 15 90 - BNOM

This returns the 3-axis vector data for MAGNETOMETER (values in uT, micro Teslas)

40 00 01 6F 54 58 - BNOGS

This returns the 3-axis vector data for GYROSCOPE (values in rps, radians per second)

40 00 01 70 15 90 - BNOE

This returns the 3-axis vector data for EULER (values in Euler angles or ‘degrees’, from 0..359)

40 00 01 6E 95 98 - BNOL

This returns the 3-axis vector data for LINEARACCEL (values in m/s^2)

40 00 01 6F 54 58 CMD_BNOGR

This returns the 3-axis vector data for GRAVITY (values in m/s^2)

40 00 01 78 14 56 - GG-CPM

This returns the Geiger CPM value:

image-20201007200517287

40 00 01 82 94 15 -VIS

This returns the SI1145 Visiable Light Sensor Value:

40 00 01 82 94 15:

image-20201007170611967

40 00 01 83 55 D5 - IR

This returns SI1145 IR light sensor value :

40 00 01 83 55 D5:

image-20201007170736356

40 00 01 84 14 17 - UV

This returns the SI1145 UV index value :

40 00 01 84 14 17:

image-20201007170815619