All Projects → SmartThingsCommunity → st-device-sdk-c

SmartThingsCommunity / st-device-sdk-c

Licence: other
SmartThings SDK for Direct Connected Devices for C

Programming Languages

c
50402 projects - #5 most used programming language
CMake
9771 projects
CSS
56736 projects
HTML
75241 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to st-device-sdk-c

st-device-sdk-c-ref
SmartThings SDK Reference for Direct Connected Devices for C
Stars: ✭ 70 (-6.67%)
Mutual labels:  wifi, iot-device, smartthings-sdk
Blinker Library
An IoT Solution,Blinker library for embedded hardware. Works with Arduino, ESP8266, ESP32.
Stars: ✭ 1,095 (+1360%)
Mutual labels:  mqtt, wifi
Mqtt via esp01
TCP/UDP Applicaton for UNO/MEGA/STM32 using ESP8266's AT firmware.
Stars: ✭ 23 (-69.33%)
Mutual labels:  mqtt, wifi
Blinker Doc
blinker中文文档
Stars: ✭ 139 (+85.33%)
Mutual labels:  mqtt, wifi
Homepoint
Espressif ESP32 Based Smarthome screen for MQTT
Stars: ✭ 391 (+421.33%)
Mutual labels:  mqtt, wifi
Androbd
Android OBD diagnostics with any ELM327 adapter
Stars: ✭ 573 (+664%)
Mutual labels:  mqtt, wifi
Awtrix1.0
(Outdated) Smart RGB Matrix Clock
Stars: ✭ 99 (+32%)
Mutual labels:  mqtt, wifi
Esphelper
A library to make using WiFi & MQTT on the ESP8266 easy.
Stars: ✭ 310 (+313.33%)
Mutual labels:  mqtt, wifi
Espmqttclient
Wifi and MQTT handling for ESP8266 and ESP32
Stars: ✭ 169 (+125.33%)
Mutual labels:  mqtt, wifi
Wthermostatbeca
Replaces original Tuya firmware on Beca thermostat with ESP8266 wifi module
Stars: ✭ 204 (+172%)
Mutual labels:  mqtt, iot-device
Basecamp
An Arduino library to ease the use of the ESP32 in IoT projects
Stars: ✭ 251 (+234.67%)
Mutual labels:  mqtt, iot-device
Freedomotic
Open IoT Framework
Stars: ✭ 354 (+372%)
Mutual labels:  mqtt, opensource
Heatpump
Arduino library to control Mitsubishi Heat Pumps via connector cn105
Stars: ✭ 327 (+336%)
Mutual labels:  mqtt, wifi
Blinker Py
Blinker python library for hardware. Works with Raspberry Pi, Banan Pi, Linux devices
Stars: ✭ 680 (+806.67%)
Mutual labels:  mqtt, wifi
Esp Mqtt Json Multisensor
(OBSOLETE) ESP MQTT JSON Multisensor for Home Assistant. Supported sensors include the TEMT6000 light, AM312 PIR, DHT22 temperature/humidity sensors. RGB led supports flash, fade, and transition. Over-The-Air (OTA) uploading, too!
Stars: ✭ 323 (+330.67%)
Mutual labels:  mqtt, wifi
Esp8266 aliyun mqtt app
基于ESP8266官方SDK快速接入阿里云物联网平台
Stars: ✭ 81 (+8%)
Mutual labels:  mqtt, wifi
Cicada-FW
IoT Communications Module for Energy Access. An easy way to get production ready, bi-directional communications for your IoT embedded device. Proiect supported by the EnAccess Foundation - https://enaccess.org
Stars: ✭ 12 (-84%)
Mutual labels:  mqtt, wifi
Kmansonoff
Firmware for ESP8266 based itead Sonoff switches for use with HomeAssistant / mqtt
Stars: ✭ 282 (+276%)
Mutual labels:  mqtt, iot-device
Esp32 Projects
ESP32 好玩、有趣、实用的项目
Stars: ✭ 142 (+89.33%)
Mutual labels:  mqtt, wifi
Pedalino
Smart wireless MIDI foot controller for guitarists and more.
Stars: ✭ 105 (+40%)
Mutual labels:  wifi, iot-device

SmartThings SDK for Direct Connected Devices for C

License

The SmartThings SDK for Direct Connected Devices for C is the IoT core device library that allow device applications to securely connect to the SmartThings Cloud. To facilitate the development of device application in your original chipset SDK that installed before, we provide this core device library as a separate repository. You may simply link it to develop a device application in your existing development environment.

We also provide the additional Reference repository so that you can refer to how this core device library can be linked in existing original chipset SDKs and device applications can be developed.

  • Reference : There are sample device applications under the apps directory.

It is distributed in source form and written in C99 for the purpose of portability to most platforms.

Main features

This core device library provides the following features :

  • Customized MQTT in order to reduce memory consumption and enhance stability
  • Easy and efficient APIs
    • Connection APIs : You can do onboarding & MQTT connection by just calling only a few these APIs.
    • Capability APIs : More than hundred different capabilities can be implemented as only a few APIs.

How to get started?

This core device library includes platform-dependent parts that should be built in a specific toolchain or SDK. That is, if you do NOT use the pre-porting environment, you must first port them to the appropriate environment.

After porting, you can use this library completely under the specific environment. Therefore, it is better to refer to one of the pre-supplied example device applications in the Reference repository. For more information on detailed workflow below, please refer to the Getting Started. Maybe, we think it's more helpful to you

  • Setup Environment
  • Register a Device
  • Develop a Device Application

Porting SmartThings SDK for Direct Connected Devices for C

This core device library has platform-dependent directories. In current SDK version, those that must be ported are present in src/port/bsp, src/port/net and src/port/os. By default, we have already provided several implementations based on some operating systems(e.g. FreeRTOS) and chipsets(e.g. ESPRESSIF, REALTEK). These porting examples in those directories make it easier for you to port to additional chipsets and operating systems. As of now, this release can also be cross-compiled directly through several chipset SDK environments that have already been ported in the Reference repository.

For instructions on how to port this SDK, please see the Porting Guide.

Building SmartThings SDK for Direct Connected Devices for C

This core device library should be built according to the chipset development environment to be applied. If this environment is not ready yet, you can build it in the POSIX environment based on Ubuntu as shown below.

But, unlike the resource limited MCU devices, you can NOT check the onboarding process in the POSIX environment because it does not support a SoftAP function by default. Therefore, as a starting point of this SDK, we strongly recommend that you build one of the MCU device examples provided in the Reference repository to use all features without limitations.

Prerequisites

Basically, you can build this core device library through make in the Ubuntu.

  • sudo apt-get install libssl-dev libpthread-stubs0-dev

Build

  1. Clone the source code.

    • Download the source code via git clone.

      $ cd ~
      $ git clone https://github.com/SmartThingsCommunity/st-device-sdk-c.git
      $ cd st-device-sdk-c
  2. Build the core device library.

    • This build process moves the core device library to ~/st-device-sdk-c/output/ location.

      $ cd ~/st-device-sdk-c/
      $ make
  3. Build a POSIX example application.

    • Go to a example directory and then build.

      $ cd ~/st-device-sdk-c/example
      $ make

Learn more

For more information, please review the following documents:

License

This library is licensed under the Apache License Ver2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].