OpenHAB+MQTT+NodeMCU实现远程控制

OpenHAB+MQTT+NodeMCU实现远程控制

开发环境基于之前的VSCode环境

OpenHAB简介:
全称为open Home Automation Bus,即开放式家庭自动化总线,该项目旨在为家庭自动化构建提供一个通用的集成平台。其是一个纯Java打造的开源项目,完全基于OSGi(Open Service Gateway Initiative),并使用Jetty作为web服务器。Jetty和Equinox OSGi运行时一起构成了OpenHAB的核心基础。

nodemcu简介:
很便宜的wifi开发版,可以使用Arduino的库以及IDE编程,本教程使用之前搭好的VSCode来进行测试。

MQTT协议:(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,

NodeMCU开发版通过MQTT协议与外界通信。以下测试中用到了两个mqtt客户端的库,一个是.Net Core的,一个是ESP8266的。然后OpenHAB托管在Myopenhab上,实现远程控制。

MQTT服务端选择(以win系统为例)

MQTT的服务端选择国内的开源实现方案——EMQ,官网上下载下来开箱即用,默认不开启验证,下载后解压,命令行运行emqttd console即可开始运行。
E:\emqttd\bin>emqttd console #以控制台启动emqttd服务

在这之前,先把其中一个Emqtt HTTP API服务占用的端口改成8081,与OpenHAB默认的web管理端口冲突,否则后面OpenHAB启动之后无法进入后台,反之改OpenHAB的配置也是可以的。
emqtt_start
EMQTT服务开启

服务启动后就可以进入EMQTT的控制台查看所有的后台控制,后台默认的地址是http://localhost:18083/默认用户名是admin密码是public
emqtt_dashboard

后面测试用到的基本上有Topics和Clients两个模块,非常简单的就可以监控到连接到的Mqtt的客户端。

既然是用VSCode,就干脆找一找有没有.net的mqtt客户端的实现,一找居然发现github上都已经有.Net Core通过.Net Core写个简单的测试来连接刚刚启动MQTT服务器。

很简单,直接命令行dotnet new console一个新的控制台应用(.Net Core的环境很简单,直接下一个SDK装下,然后装C#的插件,就可以了。),然后用Nuget插件,在VSCode中的命令面板里Add Package 搜索M2MqttDotnetCore,选择最新版本就可以了。然后detnet restore就完成了添加引用。

添加好引用后,按github中的介绍写一个pub和sub就能测试了。

//发布端
using System;
using System.Text;
using uPLibrary.Networking.M2Mqtt;
using uPLibrary.Networking.M2Mqtt.Messages;

namespace _1212
{
   
    class Program
    {
   
        <
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值