Silk
Silk is a free (as in free beer) firmware for a number of smartphones based on the open-source Android operating system with a nodejs layer on top of it that makes it possible to write programs and get access to hardware aspects using only simple JavaScript. We offer a wide range of APIs that make developing for the Internet of Things world using web technologies a present reality.
What is Silk?
Silk is an IoT platform that aims to making programming and developing Internet of Things applications as easy as writing JavaScript via its modern JavaScript/node/npm environment.
How to get started?
Silk CLI
First off you need to install the Silk Command Line Interface, with which you will be able to push your Silk programs to the device or emulator.
Install Silk CLI by running
npm install -g silk-cli
Silk ROMs for devices
If you have one of the devices supported by Silk, you can flash it with a Silk rom. See Compatibility and Roms to find out what devices we support and links to download ROMs for them.
Silk emulator
If you don't have a compatible device, you can still run Silk using our emulator.
Just run
npm install -g silk-emulator
Write code
All you have to do then is create a new program with the Silk CLI by running
silk init <program_name>
It will create a new node package you can start hacking on immediately. Here's the full list of Silk commands that you can use with the CLI: Silk Command Line Interface Reference.
We offer a robust set of API you can use in your Silk program. Check them all out: Silk API reference.
Also don't forget to check out the links in the Resources
of this page for all the code examples you can try right away.
Push code to Silk, see it live
Done with the code? Time to try your code. Simply push your program to the device/emulator.
First make sure it's connected:
adb devices
And if it shows up, just type
silk run
You're now good to go, if you've done everything correctly, your program should be up and running!
Release notes
Silk is updated on a regular basis, make sure to check out the Release notes
Contributing
Nice to hear you want to help! If you are interested in fixing issues and contributing directly to the code base, please see the document How to the contribute.
Building
If you like, you can build Silk from the source we offer. It also helps to start here if you are planning to port Silk to a device. Head out to Building instructions for Linux and OS X, or for Windows (using a Virtual Machine).
Resources
Useful links:
- All about Downloading and Installing Silk
- Quick start with Silk
- Silk Command Line Interface Reference
- Silk APIs reference
Examples to follow:
FAQ and Feedback
- Ask a question, request a feature, bring us feedback or check the FAQ in our forums
- File a bug in GitHub Issues
Disclaimer
Silk is still in its early stages and constantly evolving. Don't grow attached to the current APIs. They will likely change and there will be bugs.
License
MIT License. See LICENSE for full text.
Files reused from other 3rd party projects may be licensed under other Open Source licenses. Please refer to individual files for details.