matjaz / Spencer-Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spencer Library

Arduino library for programming Spencer, your DIY voice assistant.

Spencer is a DIY voice assistant that talks, lights-up, connects to the internet, and understands simple voice commands. You can learn more here.

Spencer is also a part of CircuitMess STEM Box - a series of fun electronic kits to help children and adults understand the basics of technologies everybody's talking about.

Installation

The library is automatically installed when you install the CircuitMess ESP32 Arduino platform, which contains the Spencer board. More info on CircuitMess/Arduino-Packages.

Development setup

The library uses several dependency libraries:

These libraries are automatically installed when you install the CircuitMess ESP32 Arduino platform.

Using Arduino IDE

Simply open Spencer-Library.ino using Arduino IDE, set the board to Spencer, and compile.

Using CMake

To run a test compilation you need to have CMake and arduino-cli installed. You also need to have both of them registered in the PATH.

In the CMakeLists.txt file change the port to your desired COM port (default is /dev/ttyUSB0):

set(PORT /dev/ttyUSB0)

Then in the root directory of the repository type:

mkdir cmake
cd cmake
cmake ..
cmake --build . --target CMBuild

This will compile the binaries, and place the .bin and .elf files in the build/ directory located in the root of the repository.

To compile the binary, and upload it according to the port set in CMakeLists.txt, run

cmake --build . --target CMBuild

in the cmake directory.

Used libraries and copyright notices

See NOTICE

Meta

CircuitMess - https://circuitmess.com/

Facebook - https://www.facebook.com/thecircuitmess/

Instagram - https://www.instagram.com/thecircuitmess/

Twitter - https://twitter.com/circuitmess

YouTube - https://www.youtube.com/channel/UCVUvt1CeoZpCSnwg3oBMsOQ


Copyright © 2021 CircuitMess

Licensed under GPLv3 License.

About

License:GNU Lesser General Public License v3.0


Languages

Language:C++ 93.7%Language:CMake 5.5%Language:C 0.8%