您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Ryan Voots 417d48d2ac Updated to 4 layer pcb 1年前
smarkant-alexa fix: add default intents 2 年前
smarkant-arduino feat: add Arduino firmware files 2 年前
smarkant-case feat: add 123d and STL files 2 年前
smarkant-esp fix: update example config variables 2 年前
smarkant-kicad Updated to 4 layer pcb 1年前
LICENSE.hardware chore: add license files 2 年前
LICENSE.software chore: add license files 2 年前
README.md docs: add more readme content 2 年前
smarkant-architecture.png docs: add more readme content 2 年前
test2.pl Updated to 4 layer pcb 1年前

README.md

Smarkant - Convert your IKEA Bekant table into an IoT device

This work extends the IKEA-Hackant project from Robin Reiter, who reverse engineered the controller board of an IKEA Bekant motorized adjustable table. He added an Arduino board and four buttons to the controller, so that you can store two table positions and easily recall them.

You can find Robin’s work in his GitHub repository. This Video shows his project development and the operation of the modified table.

In the Smarkant project i added an ESP-12E to the ATmega328P and communication between the ESP8266 and the ATmega328P is done through I2C (I first tried to compile the Arduino code targeting the ESP8266 platform, but since the LIN bus code directly accesses the ATmega hardware, i’ve canceled this approach). The ESP8266 gives us WiFi and quite some processing power to implement a REST API to control our table remotely. This REST interface could be used to implement a smartphone app or a desktop widget for controlling the table. We could also implement a web app directly on the ESP8266.

In this project the ESP8266 establishes an MQTT connection to the Amazon IoT backend and listens for changes to the Smarkant device shadow object.

This project also contains an Alexa skill and an AWS Lamda function that sends a REST message to the AWS IoT device which in turn sends a message to the table. This allows us to control the table with voice commands (one can certainly argue about whether this is more convenient than pressing a button).

The following image shows an overview of this system architecture:

alt tag

smarkant-arduino

This directory contains the firmware code for the ATmega328P microcontroller. The firmware uses the Arduino framework and was developed with the PlatformIO development environment. It uses the libraries Bounce2 and LinProcessor, which are contained in the lib sub-directory.

smarkant-esp

This directory contains the firmware code for the ESP8266 (ESP-12E) microcontroller. The firmware uses the Arduino framework and was developed with the PlatformIO development environment. It uses the libraries ArduinoJson, AWSSDK, AWSWebSockets, and Paho MQTTClient, which are contained in the lib sub-directory.

smarkant-alexa

This directory contains an Alexa skill definition (intent schema and sample utterances) and a Lambda function, written in JavaScript. The Lambda function controls the AWS IoT shadow object of the Smarkant thing.

smarkant-kicad

This directory contains KiCad schematic files for the Smarkant controller.

smarkant-case

This directory contains 123D Design and STL files of a case for the Smarkant controller.