finds.dev← search

// the find

blinker-iot/blinker-js

★ 4,383 · TypeScript · MIT · updated Mar 2025

Blinker node.js library for hardware. Works with Raspberry Pi, Banana Pi, linux, windows, macos.

A TypeScript/Node.js SDK for hooking up Linux, Windows, macOS or Raspberry Pi devices to Blinker, a Chinese consumer IoT app that lets you build a control panel and trigger hardware over LAN or MQTT. It's aimed at hobbyists building DIY smart-home gadgets who already use (or are willing to install) the Blinker mobile app, not general MQTT/IoT developers.

The widget abstraction (ButtonWidget, NumberWidget, etc.) wraps message parsing into an observable/subscribe API that's noticeably cleaner than hand-rolling MQTT topic handling. It automatically falls back between local LAN discovery (mDNS, port 81) and remote MQTT depending on whether the phone and device share a network, which developers would otherwise have to build themselves. Example coverage is unusually broad — voice assistant integrations for Aligenie, DuerOS and Mi-oT are included as working code, not just docs.

The README and most inline guidance are Chinese-only, which will stop non-Chinese-reading developers cold despite the English topic tags. There's a hard dependency on Blinker's proprietary app and cloud broker — this isn't a standalone MQTT client, it's a client for one vendor's ecosystem, and its usefulness tracks that company's product lifecycle rather than an open protocol. Examples are run directly via `ts-node` with no build step or published npm package workflow visible, and there's no test suite or CI beyond a deploy workflow, so correctness is unverified.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →