Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sigfox/sensit-sdk
Everything you need to change Sens'it behaviors
https://github.com/sigfox/sensit-sdk
Last synced: about 5 hours ago
JSON representation
Everything you need to change Sens'it behaviors
- Host: GitHub
- URL: https://github.com/sigfox/sensit-sdk
- Owner: sigfox
- License: other
- Created: 2018-12-14T13:36:47.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-24T16:09:20.000Z (about 5 years ago)
- Last Synced: 2023-10-20T23:07:48.372Z (about 1 year ago)
- Language: C
- Size: 420 KB
- Stars: 10
- Watchers: 4
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Sens'it SDK
The Sens'it is a multi-sensor device that uses the Sigfox Network to communicate.
It embeds a button, two LEDs, a temperature & relative humidity sensor, an ambient light sensor, an accelerometer, a magnetometer and a reed switch.The Sens'it SDK makes it possible for you to change the behavior of the device to match your needs.
## Getting Started
### Download the SDK
Go to [Sigfox Build](https://build.sigfox.com/sensit-for-developers#sensit-sdk) to download the full Sens'it SDK.
**Note:** The GitHub repository does not contain the SDK library (required to build your firmware) & binary files.### Software Installation
To use the SDK, please install the following software:
- [GNU Arm Embedded Toolchain 7-2017-q4-major](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads)
- [dfu-util 0.9](http://dfu-util.sourceforge.net/)
### Sens'it 2 Upgrade
The Sens'it SDK was created with the the Sens'it 3 as its main target.
**If you use a Sens'it 2, follow the steps below to upgrade your device and make it compatible with the SDK.**1. Set your Sens'it 2 on Standby/Button mode: keep the button pressed until the main LED is off and the secondary LED is on.
2. Connect Sens'it to your computer.
3. Do 4 short presses on the button.
4. When the secondary LED starts blinking, do a long press on the button.
5. If both LEDs become white, your device is in bootloader mode; otherwise go back to step 3.
6. Run the following command to do a backup of your device memory in case of an upgrade failure:
```
dfu-util -a 0 -s 0x08000000:32768 -U backup.bin
```
7. Program your Sens'it with the firmware `upgrade.bin` using the following command:
```
dfu-util -a 0 -s 0x08000000:leave -D bin/upgrade.bin
```
8. If the main LED is:
- **BLUE**, your device was already compatible with the SDK and the upgrade was not needed.
- **GREEN**, the upgrade was successful.
- **YELLOW**, the upgrade has failed.
- **RED**, your device cannot be upgraded.
9. To put your device back in bootloader mode, redo step 3 to 5.
10. If the upgrade was successful you can now program your device with your custom firmware. If not, run the following command to restore your device to its initial state:
```
dfu-util -a 0 -s 0x08000000:leave -D backup.bin
```## Develop your firmware
Many functions are available to help you develop your custom application:
- [Sens'it APIs](sdk/inc/sensit/sensit_api.h)
- [Sigfox Radio](sdk/inc/radio/radio_api.h)
- [Temperature sensor](sdk/inc/sensors/hts221.h)
- [Ambient light sensor](sdk/inc/sensors/ltr329.h)
- [Accelerometer](sdk/inc/sensors/fxos8700.h)The API documentation is available in the full SDK archive, in the /doc/html/modules.html file.
You can also consult the [F.A.Q.](doc/FAQ.md) section, and the list of [reserved prefixes](doc/reserved-prefix.md) that you should not use for your functions.To start your development, use the [main](sdk/src/main.c) template.
### Sample codes
Here is the list of available sample codes that may help you:
| Use case | Doc |
|---------------------------------------------|----------------------------|
| Temperature & relative humidity measurement | [here](doc/temperature.md) |
| Ambient light measurement | [here](doc/light.md) |
| Movement detection | [here](doc/vibration.md) |
| Magnet detection | [here](doc/magnet.md) |
| AT commands parser | [here](doc/modem.md) |## How to Build
A Makefile is provided to ease the building of all sources.
You can edit the following fields to match your need:
- **TOOL_PATH**: to add the path to the toolchain.
- **OUTPUT_NAME**: to change the name of the firmware binary.
- **CC_INC**: to add new headers directories.
- **VPATH**: to add new sources directories.
- **OBJ_LIST**: to add new object targets to build.
- **CC_FLAGS**: to add some compilation flags.By default, the firmware will use the Radio Configuration (RC) set in your device.
If you need another RC, use one of these flags: `-DUSE_RC1`, `-DUSE_RC2`, `-DUSE_RC3`, or `-DUSE_RC4`.
Then, use the command `make` to build your firmware.The size of a Sens'it firmware can be up to 29 kB.
**Do not modify the Linker Script to increase the firmware size, otherwise you may erase critical data from the device.**## Program your Sens'it
To program your Sens'it you will need to put it in bootloader mode:
1. Connect your device to your computer.
2. Reset your device. With one of the provided firmwares, you can do this with 4 short presses on the button.
3. When the secondary LED starts blinking, do a long press on the button.
4. If both LEDs become white, your device is in bootloader mode.Then, use the `make prog` command to program your Sens'it.
If you want to return to the original firmware of the Sens'it 3, use the following command to program it:
```
dfu-util -a 0 -s 0x08000000:leave -D bin/sensit_discovery_vX.X.X.bin
```
Replace `X.X.X` with the current version of the Discovery firmware available in the `bin` folder of the full SDK archive.## Version
- v2.0.0
## Authors
- Sens'it Team
## Copyright
- Copyright (c) 2018 Sigfox, All Rights Reserved.