17、利用Node - RED和数据库工具实现家庭自动化与数据展示

利用Node - RED和数据库工具实现家庭自动化与数据展示

1. Node - RED实现自动化

1.1 Node - RED基础特性

Node - RED是一个强大的工具,它有一些特性可简化编程。比如子流(subflows),它是节点的集合,在工作区中可折叠成单个节点。工作区编辑器提供了多种实用功能,如选择工具、节点排列工具和搜索工具等。还能使用JSON格式导入或导出流,可通过文件操作或在导入区域直接复制粘贴来完成。另外,可通过主菜单访问调色板管理器(Palette Manager)来安装新的节点集。

除了家庭自动化,Node - RED常见的应用场景还包括物联网应用、工作流自动化、工业自动化以及云服务和Web服务集成。

1.2 利用Node - RED重现自动化示例

下面我们通过一个具体例子,来看看如何使用Node - RED重现一个自动化场景:当车库检测到汽车移动且日落之后,打开车库灯;两分钟后关闭车库灯。

1.2.1 配置mqtt in节点
  • 由于设备通过Wi - Fi和MQTT通信,我们要监听MQTT消息。在Node - RED的网络组(Network group)中找到“mqtt in”节点,将其拖到工作区。
  • 双击“mqtt in”节点进行配置,关键的两个字段如下:
    • Topic字段:填写“sensor/Garage_Temp_PIR/PIR1”。
    • Server字段:点击Server字段旁边的铅笔按钮进行配置。在连接选项卡(Connection tab)中,Server字段内容填“h

相关推荐

智能家居本地化进阶:MQTT架构优化与多源状态融合实践

智能家居系统从‘能用’迈向‘稳定可用’,核心在于摆脱云依赖、构建可生长的本地化架构。其底层逻辑是通过协议分层(Zigbee/Wi-Fi/红外隔离)、通信治理(MQTT多实例+QoS分级)和状态建模(Node-RED显式上下文)解决设备膨胀导致的卡顿、误触发与扩展失效问题。技术价值体现在毫秒级响应、配置可版本化、故障域隔离及零云调用的确定性控制。典型应用场景包括多传感器融合判断‘是否有人’、电力波动智能干预、离线语音唤醒与安防原子操作。本文聚焦真实部署中MQTT内存泄漏、Zigbee信道冲突、Home Ass

clugcpne10995的博客 478

Linux自建家庭自动化系统:从硬件选型到稳定落地的完整实践

智能家居的核心是一个可靠的家庭自动化中枢,它负责采集设备状态、执行规则和联动控制。在众多实现方式中,基于Linux的自建方案凭借其高可控性和可维护性,成为不少技术爱好者的选择。MQTT作为轻量级消息协议,能够将传感器、开关、红外遥控等异构设备统一成标准消息流,配合树莓派或x86迷你主机等硬件,即可搭建起属于自己的自动化系统。相比现成平台,自建方案更强调链路透明、规则可控,并能在断网场景下保持本地核心功能。从设备接入、规则引擎设计,到数据沉淀和告警降噪,本文结合真实经验,分享了一套可长期无人值守的Linux

weixin_33796205的博客 339

17、利用 Node - RED 和数据库工具实现家庭自动化与数据展示

本文介绍了如何利用 Node-RED 实现家庭自动化,结合 InfluxDB 进行时间序列数据存储,并通过 Grafana 实现数据可视化。详细讲解了 Node-RED 的节点配置与流程设计,展示了 InfluxDB 的安装与数据查询方法,以及 Grafana 在家庭数据图表展示中的应用。通过三者协同工作,构建一个高效、直观的家庭自动化数据处理系统,帮助用户提升智能家居的管理与体验。

lll78的博客 61

17、无 Home Assistant 情况下使用 Node-RED 进行自动化及数据库工具应用

本文介绍了在无 Home Assistant 情况下,如何使用 Node-RED 实现家庭自动化场景,包括车库灯光的自动化控制,并结合 MQTT、日出节点、函数节点等完成复杂逻辑处理。此外,还详细说明了 InfluxDB 和 Grafana 这两个工具在时间序列数据存储与可视化方面的应用,通过具体操作步骤展示了它们的安装、配置及使用方法。最后总结了 Node-RED 的优势及拓展应用场景,为构建智能、高效的家庭自动化系统提供了完整的技术方案。

wind6的博客 111

32、树莓派物联网与家庭自动化实用指南

本文详细介绍了树莓派在物联网和家庭自动化领域的多种应用场景及实现方法。内容涵盖使用Node-RED进行可视化编程、通过IFTTT和ThingSpeak发送通知、利用MQTT搭建消息代理、参与CheerLights项目、使用Dweet响应推文、以及通过智能手机远程控制家庭设备等实用技术。通过这些工具与技术,用户可以构建个性化的低成本、低功耗智能家居系统,实现数据采集、实时通信和远程控制等功能。

d3e4f的博客 103

32、树莓派物联网与家庭自动化指南

本博客详细介绍了如何利用树莓派进行物联网开发与家庭自动化控制。内容涵盖 Node-RED 的基础使用、通过 IFTTT 和 ThingSpeak 实现通知与数据推送、MQTT 协议在家庭自动化中的应用、以及 CheerLights 项目对 LED 的远程颜色控制。此外,还涉及远程控制、安全性优化、系统扩展等高级主题,并结合 Python 编程和可视化工具 Node-RED 提供了丰富的实战示例,帮助读者打造智能化、互联化的家居系统。

rain6的博客 69

32、树莓派物联网与家庭自动化实践指南

本文是一份关于使用树莓派进行物联网与家庭自动化的实践指南,涵盖了Node-RED的安装与自动启动、通过IFTTT和ThingSpeak实现通知与推文发送、利用CheerLights项目控制RGB LED颜色、将传感器数据上传至ThingSpeak绘图显示、结合Dweet与IFTTT响应推文触发动作,并深入介绍了基于MQTT协议的家庭自动化系统架构。通过Python代码示例和可视化工具Node-RED,帮助读者构建智能、互联的家庭自动化解决方案。

git9versioner的博客 48

Node.js-Node-RED用于连接物联网的可视化工具

Node-RED:用于连接物联网的可视化工具

手把手教你设计低噪声前置放大电路:从光电二极管到X射线探测器的实战配置

本文实战指南详细解析了低噪声前置放大电路的设计,重点针对光电二极管和X射线探测器等微弱信号源。文章深入对比了跨阻放大器与电荷灵敏放大器的核心架构、噪声优化策略及PCB布局技巧,手把手指导从电路选型、仿真验证到调试测试的全流程,助力工程师构建精准可靠的信号链。

tech5的博客 515

Stm32L0 STM32CUBE中UART和使用LPUART1以及串口不进中断问题解决

/* 开启串口1中断 */ LL_USART_EnableIT_RXNE(LPUART1); /* 开启串口2中断 */ LL_USART_EnableIT_RXNE(USART2);

シ❤゛甜虾的个人博客 7688

RexUniNLU零样本通用自然语言理解:nlp_deberta_rex-uninlu_chinese-base模型实战解析

本文深入解析了RexUniNLU零样本通用自然语言理解模型(nlp_deberta_rex-uninlu_chinese-base)的实战应用。通过详细的环境配置、模型加载及实战案例,展示了该模型在零样本场景下的强大能力,如实体识别和复杂关系抽取,显著提升NLP任务效率。

weixin_29088655的博客 251

告别TwinCAT:手把手教你用IgH EtherCAT Master在LinuxCNC上搭建实时运动控制平台

本文详细介绍了如何利用IgH EtherCAT Master和LinuxCNC搭建开源实时运动控制平台,替代商业软件TwinCAT。通过分步指南,包括实时Linux环境配置、EtherCAT主站安装、LinuxCNC集成及多轴同步控制实现,帮助开发者构建高性能、低成本的工业自动化解决方案。

weixin_42641741的博客 403

【多媒体交互】Unity+普通摄像头实现UI事件分析

利用摄像头捕捉用户的手势或动作,结合坐标映射与事件系统触发UI交互

qq_38350004的博客 1327

在armv8架构中,有哪些是serror

(3)、RAS(Reliability, Availability, and Serviceability)错误:一些对于系统的可靠性、可用性和可维护性有影响的错误可能会触发 SError。(2)、ECC(Error Correction Code)错误:在访问带有错误校验的内存(如ECC内存)时,如果发现错误校验失败,可能会产生SError。2、其实呢,大多数Serror都是实现定义的,真正实现的serror就没有多少个。Serror(也称System Error),是异步异常的一种,一般是来自。

baron-周贺贺-代码改变世界ctw 1013

AXI2APB_bridge 设计

此处研究AHB Slave到 APB master的桥接器,实现接口转化,例如下图之后是参数描述

Starry__的博客 4037

EtherCAT主站SOEM -- 19 --Qt-Soem通过CSP模式(周期同步位置模式)控制一个电机转圈圈

以上就是EtherCAT主站SOEM – 19 --Qt-Soem通过CSP模式(周期同步位置模式)控制一个电机转圈圈的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 1999

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: 27、智能家居项目开发指南
下一篇: 43、小样本葡萄品种识别与森林火焰显著目标检测研究
python9snake
博客等级 码龄1天 0粉丝 1724原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值