A minimalistic IoT framework for super-rapid prototyping.


Licenses
CC0-1.0/MIT
Install
npm install makestack@2.0.2

Documentation

MakeStack

Build Status

A minimalistic JavaScript IoT framework for rapid prototyping.

What is MakeStack?

MakeStack is a server-side/device-side software framework focused on developer experience for rapid connected device protoyping. It offers out-of-the-box features that frees you from troublesome settings and allows you write less code.

Warning

MakeStack is in the very early stage. There's a lot of unimplemented language features, APIs, and issues. Help me improve this by filing bugs and submitting Pull requests!

const app = require("makestack")
const SlackWebClient = require("@slack/web-api").WebClient

app.onEvent("my-sensor-data", async (value) => {
    /* Server-side: post received sensor data on Slack. */
    const slack = new SlackWebClient("XXXXXXXXXXXXXXX")
    cosnt channelId = "C123456"
    await slack.chat.postMessage({
        channel: channelId,
        text: `sensor data: ${value}`,
    })
})

app.onReady((device) => {
    /* Device-side: send sensor data every 15 minutes. */
    while (1) {
        const value = device.analogRead(pin)
        device.publish("my-sensor-data", value)
        device.delayMinutes(15)
    }
})

Features

  • Single-file server-side/device-side programming in modern JavaScript powered by the JavaScript to C++ transpiler.
  • Simplified development workflow: just remember flash, dev, and deploy command.
  • No user registration required: deploy everything to your Firebase with just one command.
  • Intuitive JavaScript API.
  • Remote deivce firmware update.
  • Remote device log collection.

Documentation

Examples

License

CC0 1.0 or MIT License. Choose whichever you prefer.