Giter Club home page Giter Club logo

cc1310_6_axis_solar_power_asset_tracker_example_gcc's Introduction

6-Axis Sub-G LongRang Solar Power Asset Tracker



The 6-Axis Sub-G LongRang Solar Power Asset Tracker collects key information required for asset tracking such as acceleration, angular velocity, temperature, atmospheric pressure, and GPS location, and charges the battery using solar charging.

This is an example that provides quick testing of various service scenarios that require long-distance communication of 1Km or more.


Device can be purchased from the Naver Smart Store.

Purchase Link : naver smart store

You can purchase it by contacting [email protected]


Key feature and functions

MCU Description
CC1310 Sub-G SoC
Sensors Description
L76 GPS sensor
MAX2659 GPS LNA
LSM6DSl 6 Axis Accelerometer, Gyroscope
MS560702BA03 Barometric Pressure sensor (Tempeature, Air Pressure)
Si7201 Hall Sensor
SPV1050 Solar battery charger (Max charge current 80mA)
Solar On board
Battery 3.7V Lithium Battery

It is a solar power asset tracker capable of Sub-G communication.

Sub-G wireless communication is performed using CC1310 SoC

It can be turned on and off using Si7201 hall sensor and magnet.

Collect location information using L70+MAX2659 / GPS+LNA.

Charge the battery using the SPV1050 and solar panels built into the board.

Use LSM6DSL to collect acceleration and gyro sensor values.

MS560702 is used to collect information on temperature, air pressure, and altitude.

It operates for 5 years using a battery.


Note

This program is not suitable for mass production and commercialization as an example program.

B2B customers should contact [email protected].

For B2B customers, we develop firmware optimized for customers' purposes, such as low power, stabilization, and communication with gateways, for free.

Top Bottom

Pinmap can be found in the file board_define.h


#define LED_RED_GPIO IOID_1
#define LED_BLUE_GPIO IOID_0

#define HALL_SENSOR_GPIO IOID_2

#define BAT_EN_GPIO IOID_7
#define BAT_LEVEL_ADC IOID_6

#define GPS_POWER_EN_GPIO IOID_5

#define I2C_SDA IOID_8
#define I2C_SCL IOID_9

#define UART_RX IOID_4
#define UART_TX IOID_3


Sub-G communication-related settings can be found in the RadioTask.c file.


EasyLink_Params easyLink_params;
EasyLink_Params_init(&easyLink_params);
easyLink_params.ui32ModType = EasyLink_Phy_5kbpsSlLr;

if (EasyLink_init(&easyLink_params) != EasyLink_Status_Success)
{

    SysCtrlSystemReset();

}

EasyLink_getIeeeAddr(mac_address);

if (EasyLink_setFrequency(920000000) != EasyLink_Status_Success)
{

    SysCtrlSystemReset();

}

if (EasyLink_enableRxAddrFilter(mac_address, 8, 1)
        != EasyLink_Status_Success)
{

    SysCtrlSystemReset();

}

radio_packet_protocol.Packet.company_id[0] = COMPANY_ID >> 8;
radio_packet_protocol.Packet.company_id[1] = COMPANY_ID;

radio_packet_protocol.Packet.device_id[0] = DEVICE_TYPE >> 8;
radio_packet_protocol.Packet.device_id[1] = DEVICE_TYPE;

memcpy(radio_packet_protocol.Packet.mac_address, mac_address, 8);

radio_packet_protocol.Packet.control_number = 0;

SensorTask_registerPacketSendRequestCallback(sendPacketCallback);

while (1)
{

    Semaphore_pend(radioAccessSemHandle, BIOS_WAIT_FOREVER);

    EasyLink_setRfPower(TX_POWER);

    radio_sensor_data_packet_send(radio_packet_protocol);

    uint32_t events = Event_pend(radioEventHandle, 0,
    RADIO_TASK_EVENT_ALL,
                                 BIOS_WAIT_FOREVER);

    if (events == RADIO_TASK_EVENT_ACK)
    {

        recv_error_count = 0;

    }
    else if (events == RADIO_TASK_EVENT_ACK_TIMEOUT)
    {

        recv_error_count += 1;

        if (recv_error_count > RECV_ERROR_MAX_COUNT)
        {

            collection_cycle_timeout_count += 3;
            recv_error_count = 0;

        }

    }

}


cc1310_6_axis_solar_power_asset_tracker_example_gcc's People

Contributors

axden-development avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.