C#WPF中MQTT客户端开发与应用(二)

开发MQTT客户端介绍

        前言:本人亦处于开发学习阶段,若有纰漏欢迎指出。项目开发完后会开源至GitHub/Gitee,需要可以关注,每周会进行更新,本次开发主要以个人记录MQTT通讯协议的学习过程和应用过程为主。由于个人本职工作为上位机开发,在后续也会利用该工具继续开发开源物联网系统:有关各类工业设备的数据采集控制、业务逻辑实现,包括但不限于Modbus设备、PLC设备、仪器仪表、机器人等。

        内容:完成一个类似MQTTX的个人使用MQTT客户端测试工具,完成对服务器的连接、主题订阅、事件的接收、Josn数据收发、日志记录等功能。以便加深对于MQTT通讯协议的理解,并在后续基于该工具继续开发其他开源物联网系统,会采用用MQTT通讯协议作为传输。

开发环境准备

注:如果只是简单做一个工具,无需要用到MVVM设计模式和Sqlsugar,此处为了后续的易扩展性和易维护性采用MVVM的设计模式和SqlSugar的ORM。

  •         开发工具:Visual Studio 2022 Community
  •         开发语言:C#
  •         开发框架/设计模式:WPF/MVVM(Prism)
  •         开发数据库/ORM:Mysql/SqlSugar
  •         数据库管理工具:HeidiSql

环境创建过程:

1、创建一个Prism Blank App用于新建项目(此处需要安装扩展,自行百度,否则只能手动创建)。

2、创建完成后工程结构如图。

3、采用HeidiSql作为Mysql数据库的可视化管理工具,自行安装,当然别的可视化工具也可以。

开发引用Nuget

注:此处不包含上述Prism引用及SqlSugar引用,其他引用会在开发过程中会不断进行补充......

  •         页面UI引用:HandyControl
  •         MQTT引用:MQTTNet
  •         Josn收发引用:Newtonsoft Json
  •        日志功能引用:Log4Net
  •        数据库功能引用:SqlSugar

Nuget工具包引用过程:

1、打开工具-->选择Nuget包管理器-->选择管理解决方案的Nuget程序包

2、完成HandyControl的安装引用

  • 搜索HandyControl,根据图中选择,安装最新版

  • 打开App.xmal在其中添加如下代码
 <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml"/>
            <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>

  • 在界面中添加命名空间:xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:hc="https://handyorg.github.io/handycontrol"

3、完成MQTTNet的安装引用

4、完成Newtonsoft Json的安装引用

5、完成Log4Net的安装引用

6、完成SqlSugar的安装引用

7、最终完成效果如下,选择已安装进行查看。

        

        

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值