All Projects → kyberpunk → openthread-mqttsn

kyberpunk / openthread-mqttsn

Licence: BSD-3-Clause license
This repository contains examples using MQTT-SN client implementation for Thread network based on OpenThread SDK.

Projects that are alternatives of or similar to openthread-mqttsn

cellabox
Air quality modules with Nordic nRF52840. Thread network (OpenThread). TheThingsIO. Sensirion. SPEC Sensors. ST Microelectronics.
Stars: ✭ 27 (+22.73%)
Mutual labels:  openthread, thread-network
ot-nrf528xx
OpenThread on Nordic nRF528xx examples.
Stars: ✭ 31 (+40.91%)
Mutual labels:  openthread
Nevercrash
🌍 全局捕获Crash。信NeverCrash,永不Crash。
Stars: ✭ 170 (+672.73%)
Mutual labels:  thread
Gear Lib
Gear-Lib, C library for IOT Embedded Multimedia and Network
Stars: ✭ 2,381 (+10722.73%)
Mutual labels:  thread
Java Concurrency Examples
Java Concurrency/Multithreading Tutorial with Examples for Dummies
Stars: ✭ 173 (+686.36%)
Mutual labels:  thread
Refire Forum
Serverless discussion forum built with React, Redux and Firebase
Stars: ✭ 206 (+836.36%)
Mutual labels:  thread
Microjob
A tiny wrapper for turning Node.js worker threads into easy-to-use routines for heavy CPU loads.
Stars: ✭ 1,985 (+8922.73%)
Mutual labels:  thread
youtube-dl-nas
youtube download queue websocket server with login for private NAS.
Stars: ✭ 136 (+518.18%)
Mutual labels:  thread
python-PooledProcessMixIn
Fast Concurrent Pool of preforked-processes and threads MixIn for python's socket server
Stars: ✭ 31 (+40.91%)
Mutual labels:  thread
Adi
ADI(Android Debug Intensive) 是通过 JVMTI 实现的 Android 应用开发调试的增强工具集,目前主要提供性能相关的监控能力。
Stars: ✭ 194 (+781.82%)
Mutual labels:  thread
React Native Multithreading
🧵 Fast and easy multithreading for React Native using JSI
Stars: ✭ 164 (+645.45%)
Mutual labels:  thread
Useworker
⚛️ useWorker() - A React Hook for Blocking-Free Background Tasks
Stars: ✭ 2,233 (+10050%)
Mutual labels:  thread
Wasm Worker
Move a WebAssembly module into its own thread
Stars: ✭ 215 (+877.27%)
Mutual labels:  thread
Sobjectizer
An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
Stars: ✭ 172 (+681.82%)
Mutual labels:  thread
CorePartition
Universal Cooperative Multithread Lib with real time Scheduler that was designed to work, virtually, into any modern micro controller or Microchip and, also, for user space applications for modern OS (Mac, Linux, Windows) or on FreeRTOS as well. Supports C and C++
Stars: ✭ 18 (-18.18%)
Mutual labels:  thread
Kommander Ios
A lightweight, pure-Swift library for manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand.
Stars: ✭ 167 (+659.09%)
Mutual labels:  thread
Q
A platform-independent promise library for C++, implementing asynchronous continuations.
Stars: ✭ 179 (+713.64%)
Mutual labels:  thread
Preact Worker Demo
Demo of preact rendering an entire app in a Web Worker.
Stars: ✭ 204 (+827.27%)
Mutual labels:  thread
jstackSeries.sh
Script for capturing a series of thread dumps from a Java process using jstack (on Linux and Windows)
Stars: ✭ 28 (+27.27%)
Mutual labels:  thread
Thread
type safe multi-threading made easier
Stars: ✭ 34 (+54.55%)
Mutual labels:  thread

OpenThread MQTT-SN Examples

This repository contains C/C++ examples of using MQTT-SN client on Thread network. Feature is implemented in fork of OpenThread SDK released by Google.

Before using MQTT-SN client in Thread network you must install OpenThread Border Router and MQTT-SN Gateway. For more information about building and running CLI application with MQTT-SN client see kyberpunk/openthread.

Border Router and MQTT-SN gateway setup

It is recommended to use all examples including SEARCHGW and ADVERTISE messages with IPv6 MQTT-SN gateway. Gateway is attached directly to Border Router wpan0 interface and can receive and send broadcast messages directly to Thread network. Border Router and MQTT-SN gateway may be run as Docker images. See full guide for more information about required services.

Run OpenThread border router container. No custom network is needed in this case:

sudo docker run -d --name otbr --sysctl "net.ipv6.conf.all.disable_ipv6=0 \
        net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" -p 80:8080 \
        --dns=127.0.0.1 -v --radio-url spinel+hdlc+uart:///dev/ttyACM0 --privileged \
        openthread/otbr --ncp-path /dev/ttyACM0

If needed replace /dev/ttyACM0 in -v and --ncp-path parameter with name under which appear NCP device in your system (/dev/ttyS0, /dev/ttyUSB0 etc.).

Then run IPv6 MQTT-SN gateway:

sudo docker run -d --name paho --net "service:otbr" kyberpunk/paho6 \
        --broker-name <mqtt-broker> --broker-port 1883

Replace <mqtt-broker> with MQTT broker IPv4 address or hostname. Gateway container uses the same network stack as Border Router container and is able to listen to wpan0 interface.

C API Examples

C++ Examples

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].