開源物聯網(IoT)平臺對比

一些 開源物聯網(IoT)平臺,它們廣泛應用于設備管理、數據采集、遠程監控和邊緣計算等場景:


🌟 主流開源物聯網平臺

平臺描述技術棧許可證
ThingsBoard功能豐富,支持設備管理、遙測數據收集、規則引擎、告警等Java, Spring, Akka, Cassandra / PostgreSQLApache 2.0
EMQX高性能 MQTT 消息服務器,支持百萬級連接Erlang/OTPApache 2.0
Kaa IoT模塊化設計,支持設備管理、數據分析、設備集群Java, SpringApache 2.0
Mainflux現代、可擴展的平臺,支持 MQTT, HTTP, CoAPGo, NATS, PostgreSQL, RedisApache 2.0
Thingspeak適合快速原型和數據可視化(尤其是科研和教育)MATLAB, PHPGPLv3
OpenHAB專注智能家居物聯網的集成與自動化Java, OSGiEPL-1.0
Node-RED可視化編程工具,適合邊緣節點和輕量級 IoT 集成Node.jsApache 2.0

🚀 選擇建議

應用場景推薦平臺
工業物聯網、大規模部署ThingsBoard / Kaa / Mainflux
消息中間件、高并發EMQX
智能家居OpenHAB / Home Assistant
教育、科研、快速實驗Thingspeak / Node-RED

🌐 關鍵特性對比

特性ThingsBoardEMQXKaaMainfluxNode-RED
設備管理?????? (需集成)
數據持久化??? (需外部DB)???? (外部集成)
可視化儀表盤???? (部分)?? (需開發)?
高并發消息????????
多協議支持MQTT, CoAP, HTTPMQTT, WebSocketMQTT, CoAP, HTTPMQTT, CoAP, HTTPMQTT, HTTP, WebSocket
規則引擎??? (簡單規則)?????? (需編排)

ThingsBoard 部署

好的!下面是一個基于 TimescaleDBThingsBoarddocker-compose.yml 示例文件,適合在支持 x86_64 架構的筆記本或服務器上運行。這個示例包含了:

  • ThingsBoard 物聯網平臺(連接 postgresql)

services:postgres:restart: alwaysimage: "postgres:16"ports:- "5432"environment:POSTGRES_DB: thingsboardPOSTGRES_PASSWORD: postgresvolumes:- postgres-data:/var/lib/postgresql/datathingsboard-ce:restart: alwaysimage: "thingsboard/tb-node:4.0.1.1"ports:- "8080:8080"- "7070:7070"- "1883:1883"- "8883:8883"- "5683-5688:5683-5688/udp"logging:driver: "json-file"options:max-size: "100m"max-file: "10"environment:TB_SERVICE_ID: tb-ce-nodeSPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/thingsboarddepends_on:- postgresvolumes:postgres-data:name: tb-postgres-datadriver: local

說明

  • thingsboard

    • 使用 ThingsBoard 官方 PostgreSQL 版本鏡像(默認連接 PostgreSQL)
    • 環境變量配置數據庫連接信息
    • 映射 8080 端口用于 Web 訪問
    • 依賴 timescaledb 服務,保證先啟動數據庫

使用步驟

  1. 將上面內容保存為 docker-compose.yml 文件。
  2. 修改密碼環境變量 your_password 為你自己的安全密碼。
  3. 在目錄終端執行:
docker-compose up -d
  1. 等待容器啟動,瀏覽器訪問 http://localhost:8080 即可看到 ThingsBoard 界面。

  2. 第一次運行前,需要先初始化數據庫,

docker compose run --rm -e INSTALL_TB=true -e LOAD_DEMO=true thingsboard-ce
  1. demo默認登陸用戶名和密碼
  • System Administrator: sysadmin@thingsboard.org / sysadmin
  • Tenant Administrator: tenant@thingsboard.org / tenant
  • Customer User: customer@thingsboard.org / customer

后續可以寫更復雜的配置(比如加密、備份、日志管理)

如果出現錯誤,使用下面的命令查看

docker logs timescaledb | grep -i "error"

示例 docker-compose 配置

  • timescaledb 版本

    • 使用官方 TimescaleDB 鏡像(基于 PostgreSQL 14)
    • 創建數據庫 thingsboard,用戶密碼都設為 thingsboardyour_password(你可以修改)
    • 端口映射到宿主機的 5432
    • 數據卷持久化數據庫數據
version: '3.8'services:timescaledb:image: timescale/timescaledb:2.11.0-pg14container_name: timescaledbenvironment:POSTGRES_USER: thingsboardPOSTGRES_PASSWORD: 1234POSTGRES_DB: thingsboardports:- "5432:5432"volumes:- ./timescaledb-data:/var/lib/postgresql/datarestart: unless-stoppedtb-redis:image: redis:7-alpinecontainer_name: tb-redisports:- "6379:6379"restart: unless-stoppedthingsboard:image: thingsboard/tb-node:4.0.1.1container_name: thingsboarddepends_on:- timescaledb- tb-redisenvironment:SPRING_DATASOURCE_URL: jdbc:postgresql://timescaledb:5432/thingsboardSPRING_DATASOURCE_USERNAME: thingsboardSPRING_DATASOURCE_PASSWORD: 1234#      TB_QUEUE_TYPE: redis
#      TB_QUEUE_REDIS_HOST: tb-redis
#      TB_QUEUE_REDIS_PORT: 6379ports:- "8081:8080"- "1883:1883"- "8883:8883"restart: unless-stopped

支持 Redis 隊列

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909954.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909954.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909954.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

插值與模板字符串

背景。表單渲染需要獲取對象中屬性進行賦值操作。 插值錯誤使用。以下方舉例。其中的placeholder不能被正確渲染。因為Vue 不會解析 {{ }} 在屬性中的內容;如果這樣寫編譯會出問題,而且比較難找出是哪的問題 模板字符串。正確做法時使用。模板字符串用…

Luckfox Pico Pi RV1106學習<4>:RV1106的幀率問題

Luckfox Pico Pi RV1106學習<4>:RV1106的幀率問題 1. 背景2. 問題 1. 背景 接上篇。我在應用中創建3個線程: CAM線程,使用V4L2驅動,從 /dev/video11 獲取圖像。ENC線程,使用硬件編碼器&#x…

內測分發平臺應用的異地容災和負載均衡處理和實現思路?

在軟件開發過程中,內測分發平臺扮演著至關重要的角色。它不僅幫助開發者將應用程序傳播給內部測試人員,還負責收集反饋、跟蹤錯誤并改進產品。然而,為了確保一個平穩、連貫的內測過程,對內測分發平臺實施異地容災和負載均衡機制是…

國內用戶如何高效升級npm:使用阿里云鏡像加速指南

文章目錄 引言為什么需要升級npm?環境檢查使用阿里云鏡像安裝nvm配置阿里云鏡像加速npm使用nvm安裝最新Node.js驗證安裝結果升級npm到最新版本解決常見問題1. 權限問題2. 鏡像源驗證3. 項目創建失敗創建測試項目總結引言 作為前端開發者,npm(Node Package Manager)是我們日…

LeetCode--34.在排序數組中查找元素的第一個和最后一個位置

解題思路: 1.獲取信息: 給定一個非遞減順序的整數數組,要求找出給定元素在該數組中從左往右第一次出現的位置和最后一個出現的位置,即:最右邊的位置和最左邊的位置 如果不存在該元素,則返回{ -1 , -1 } 限制…

低秩分解的本質是通過基矩陣和系數矩陣的線性組合,以最小的存儲和計算代價近似表示復雜矩陣

低秩分解的本質是通過基矩陣和系數矩陣的線性組合,以最小的存儲和計算代價近似表示復雜矩陣 flyfish 一、最基礎起點:數字與數組 數字與標量(Scalar) 單獨的數,如 1 , 2.5 , ? 3 1, 2.5, -3 1,2.5,?3,…

SVN本地使用--管理個人倉庫

1.SVN官網下載鏈接 Download – TortoiseGit – Windows Shell Interface to Git 一路安裝即可,安裝后在桌面空白處右鍵菜單可以看到選項即安裝成功。 2.建立個人SVN數據庫 選擇一個磁盤新建一個文件夾,在文件夾中右鍵創建數據庫。 3.上傳文件到SVN…

Cloud Automation-Resource optimization, cleanup and dashboard

如何使用Automation Account Run Book實現自動化 1. 什么是 Runbook? Azure Automation Account 中的 Runbook 是一套自動化腳本,用于在云中或混合環境中執行常規任務。Runbook 支持多種腳本語言,包括 PowerShell、Python、Graphical、Powe…

leetcode_3583 統計特殊三元組

1. 題意 求給定數組中下標 ( i , j , k ) (i,j,k) (i,j,k)的對數&#xff0c; 且滿足 i < j < k , 2 a [ j ] a [ i ] a [ k ] i < j <k,2 a[j]a[i]a[k] i<j<k,2a[j]a[i]a[k] 2. 題解 2.1 枚舉中間 三個數枚舉中間那個數&#xff0c;再存前綴和后綴個數…

Sentinel(一):Sentinel 介紹和安裝

一、Sentinel 介紹 1、什么是 Sentinel&#xff1f; 一句話來說&#xff0c;Sentinel就是&#xff1a;分布式系統的流量衛兵&#xff08;官網&#xff09;。 隨著微服務的普及&#xff0c;服務調用的穩定性變得越來越重要。Sentinel以“流量”為切入點&#xff0c;在流量 控制…

pyspark 初試

1、安裝jdk sudo apt-get install openjdk-17-jdk 2、安裝spark curl -o spark.tgz https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-4.0.0/spark-4.0.0-bin-hadoop3.tgz tar -xvf spark.tgz mv spark-4.0.0-bin-hadoop3 /opt/spark修改 /etc/profile 添加 exp…

深入解析select模型:FD_SET機制與1024限制的終極指南

在Linux網絡編程中&#xff0c;select函數是最經典的I/O多路復用技術之一&#xff0c;但其核心機制FD_SET的1024限制常成為高并發系統的瓶頸。本文將深入剖析FD_SET實現原理&#xff0c;并提供突破限制的實戰方案。 一、FD_SET底層結構解析 FD_SET本質是固定長度的位圖數組&am…

C函數基礎.go

前言&#xff1a; 在Go語言中&#xff0c;函數是構成程序的基本模塊&#xff0c;它封裝了一段具有特定功能的代碼&#xff0c;使得代碼更易讀&#xff0c;更易維護和重用。熟練掌握函數的定義、調用以及相關特性是成為Go語言開發者的必經之路。 目錄 函數定義&#xff1a;給代…

什么是池化

池化是深度學習中用于降低數據維度、提取核心特征的一種操作&#xff0c;主要應用于卷積神經網絡&#xff08;CNN&#xff09;。其核心思想是通過對局部區域進行聚合統計&#xff08;如取最大值、平均值&#xff09;&#xff0c;保留關鍵信息的同時減少計算量。 池化的作用 降維…

C++ 性能分析工具:Valgrind 與 perf

在 C 開發中&#xff0c;性能優化是提升軟件質量的關鍵環節。內存泄漏和 CPU 資源消耗是最常見的性能瓶頸&#xff0c;而 Valgrind 和 perf 作為專業的性能分析工具&#xff0c;能幫助開發者精準定位這些問題。下面將從工具原理、使用方法、實戰案例等方面進行詳細介紹。 一、…

ABP VNext + MongoDB 數據存儲:多模型支持與 NoSQL 擴展

&#x1f680; ABP VNext MongoDB 數據存儲&#xff1a;多模型支持與 NoSQL 擴展&#xff08;生產級實踐&#xff09; 目錄 &#x1f680; ABP VNext MongoDB 數據存儲&#xff1a;多模型支持與 NoSQL 擴展&#xff08;生產級實踐&#xff09;&#x1f3af; 引言&#x1f9f0…

Cursor Rules 的核心定位與作用 DevOps是

Cursor Rules 是 AI 編程工具 Cursor IDE 中的核心功能&#xff0c;用于約束 AI 生成代碼的行為&#xff0c;確保其符合項目規范、編碼風格或特定技術需求。它本質上是一套持久化、可復用的指令集&#xff0c;會動態插入到 AI 模型的上下文提示中&#xff0c;指導其生成代碼的邏…

Qt事件處理機制

事件的概念 在Qt中&#xff0c;以事件驅動UI工具集&#xff0c;包括信號和槽都依賴于Qt的事件處理機制。通常事件是由窗口系統或Qt自身產生的&#xff0c;用以響應所發生的各類事情。如&#xff1a;用戶按下并釋放鍵盤或鼠標、窗口縮放后重繪、定時器到時等。如下圖&#xff1…

【慧游魯博】【11】小程序端·游覽畫卷修改·支持圖片url格式·結合圖床上傳和加載·數據對接

文章目錄 需求修改細節前端主要修改點說明&#xff1a;前端傳遞格式 后端ArtifactItem 類&#xff1a;ScrollServiceImpl 類&#xff1a;修改 InfoPanel 結構重構 ScrollHorizontalRollComposer修改后的 ScrollHorizontalRollComposer移除冗余代碼修改總結 數據流圖片格式兼容性…

攻克SQL審核“最后堡壘”!PawSQL首發T-SQL存儲過程深度優化引擎

為什么存儲過程審核那么難&#xff1f; 存儲過程將數據操作邏輯固化在數據庫層&#xff0c;一次編譯、多次執行&#xff0c;既能大幅提升性能&#xff0c;也能通過權限隔離增強安全。然而&#xff0c;正因其邏輯復雜、分支眾多&#xff0c;存儲過程內部的 SQL 審核與優化常常成…