eqmx上读取数据处理以后添加到数据库中
目录
定义一些静态变量
定时器事件的处理器
订阅数据的执行器
处理json格式数据和将处理好的数据添加到数据库中
要求和最终效果
总结一下
定义一些静态变量
// 在这里都定义成全局的 一般都定义成静态的private static MqttClient mqttClient; // mqtt客户端 private static string mqttServer = "121.37.84.114"; // mqtt服务器地址private static string mqttClientId = "frank_writer"; // 客户端id 随便写private static string SubscribedTopic = "fb5756"; // 订阅主题//连接数据库字符串private static string connectionString = "Data Source=MOGFPLQEEJOTGON\\SQLEXPRESS;Initial Catalog=frank;User ID=frank;Password=root123";// JObject用来生成一个JSON对象,简单来说就是生成”{}”,// JArray用来生成一个JSON数组,也就是”[]”,// JProperty用来生成一个JSON数据,格式为key/value的值,// 而JValue则直接生成一个JSON值private static JObject jsonObject; //private Timer timer;// 添加一个定时器
定时器事件的处理器
private void File_access_date(object sender, EventArgs e) {//public MqttClient(string brokerHostName, int brokerPort, bool secure, X509Certificate caCert);// 四个参数 服务器ip 端口号 不需要 网络传输证书mqttClient = new MqttClient(mqttServer, 1883, false, null); // 连接服务器// 给客户端订阅数据 添加事件执行器mqttClient.MqttMsgPublishReceived += MqttClient_MqttMsgPublishReceived;// 给mqtt添加事件执行器mqttClient.Connect(mqttClientId); // 添加连接服务的id// 订阅主题,连接质量为2 ,这个两个数组目前就两个参数mqttClient.Subscribe(new string[] { SubscribedTopic }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });}
订阅数据的执行器
// 事件具体处理器,处理具体读取的数据private static void MqttClient_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e){// Handle the message, e.g., write to SQL 获取json格式的数据string message = System.Text.Encoding.UTF8.GetString(e.Message);
//MessageBox.Show("Subscribed to " + e.Message); 查看内容WriteToDatabase(message);// 写到数据库里面}
处理json格式数据和将处理好的数据添加到数据库中
private static void WriteToDatabase(string data){// sql语句string sql = "INSERT INTO FLF800(REG001,REG002,REG003,REG004,REG005,REG006,REG007) VALUES (@REG001,@REG002,@REG003,@REG004,@REG005,@REG006,@REG007) ";string newDate = data.Replace("08", ""); //去掉多余的字符string endDate = newDate.Replace("-","");//去掉'-'字符JObject jsonObject = JObject.Parse(endDate);// 将字符串重新转为JSON格式的数据
string senserDatas = jsonObject["sensorDatas"].ToString();//获取json数据的第一个元素
// 转为json数据,转之前数据格式必须是一样的不可以又多余的格式,不然就会报错JArray jsonArray = JArray.Parse(senserDatas); // 将json其转化为数据int sum = jsonArray.Count; // 获取数据的大小Dictionary<string, string> dictionary = new Dictionary<string, string>();// 字典来存储数据// for (int i = 0; sum > 0;i++){jsonObject = jsonArray[i] as JObject;// 将每一个json元素重新转为json对象dictionary.Add(jsonObject["flag"].ToString(), jsonObject["value"].ToString());sum--;}
//power = JsonConvert.DeserializeObject<PowerData>(endDate);
using (SqlConnection conn = new SqlConnection(connectionString)){conn.Open();using (SqlCommand cmd = new SqlCommand(sql, conn)){cmd.Parameters.AddWithValue("@REG001", dictionary["REG001"]);cmd.Parameters.AddWithValue("@REG002", dictionary["REG002"]);cmd.Parameters.AddWithValue("@REG003", dictionary["REG003"]);cmd.Parameters.AddWithValue("@REG004", dictionary["REG004"]);cmd.Parameters.AddWithValue("@REG005", dictionary["REG005"]);cmd.Parameters.AddWithValue("@REG006", dictionary["REG0061"]);cmd.Parameters.AddWithValue("@REG007", dictionary["REG0062"]);cmd.ExecuteNonQuery();}}//MessageBox.Show("数据添加成功");}
要求和最终效果

总结一下
// JObject用来生成一个JSON对象,简单来说就是生成”{}”,调用静态方法,重新变成json对象JObject jsonObject = JObject.Parse(endDate);// 将字符串重新转为JSON格式的数据string senserDatas = jsonObject["sensorDatas"].ToString();//获取json数据的第一个元素// JArray用来生成一个JSON数组,也就是”[]”,// 转为json数据,转之前数据格式必须是一样的不可以又多余的格式,不然就会报错JArray jsonArray = JArray.Parse(senserDatas); // 将json其转化为数据int sum = jsonArray.Count; // 获取数据的大小// 这两个没有用到,但在百度上查到了,在这里也提一下 // JProperty用来生成一个JSON数据,格式为key/value的值,// 而JValue则直接生成一个JSON值
相关文章:
eqmx上读取数据处理以后添加到数据库中
目录 定义一些静态变量 定时器事件的处理器 订阅数据的执行器 处理json格式数据和将处理好的数据添加到数据库中 要求和最终效果 总结一下 定义一些静态变量 // 在这里都定义成全局的 一般都定义成静态的private static MqttClient mqttClient; // mqtt客户端 private s…...
【中项】系统集成项目管理工程师-第5章 软件工程-5.3软件设计
前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…...
C++学习笔记-内联函数使用和含义
引言 内联函数是C为了优化在函数的调用带来的性能开销而设计的,特别是当函数体很小且频繁调用时,内联函数可以让编译器在调用点直接展开函数体,从而避免了函数调用的开销。 一、内联函数的定义与含义 1.1 定义 内联函数是通过在函数声明或…...
数据库(MySQL)-视图、存储过程、触发器
一、视图 视图的定义、作用 视图是从一个或者几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。但是视图只能用来查看表,不能做增删改查。 视图的作用:①简化查询 ②重写格式化数据 ③频繁访问数据库 ④过…...
js 优雅的实现模板方法设计模式
在JavaScript中,优雅地实现模板方法设计模式通常意味着我们要遵循一些最佳实践,如清晰地定义算法的骨架(模板方法),并确保子类能够灵活地扩展或修改这些算法中的特定步骤。由于JavaScript是一种动态语言,我…...
C语言——输入输出
C语言——输入输出 输入输出函数的类型getcharputcharprintf占位符的分类 scanf 什么是输入输出呢? 所谓输入输出是以计算机为主机而言的,往内存中输入数据为输入,反之从内存中输出数据为输出。 输入输出的功能 C语言本身是不提供输入输出功能…...
【微软蓝屏】微软Windows蓝屏问题汇总与应对解决策略
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
OpenCV图像滤波(2)均值平滑处理函数blur()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在OpenCV中,blur()函数用于对图像应用简单的均值模糊(mean blur)。这种模糊效果可以通过将图像中的每个像素替…...
Android lmkd机制详解
目录 一、lmkd介绍 二、lmkd实现原理 2.1 工作原理图 2.2 初始化 2.3 oom_adj获取 2.4 监听psi事件及处理 2.5 进程选取与查杀 2.5.1 进程选取 2.5.2 进程查杀 三、关键系统属性 四、核心数据结构 五、代码时序 一、lmkd介绍 Android lmkd采用epoll方式监听linux内…...
linux shell(中)
结构化命令 if语句 if-then 最基本的结构化命令是 if-then 语句。if-then 语句的格式如下: if command thencommands ifif command; then # 通过把分号(;)放在待求值的命令尾部,可以将 then 语句写在同一行commands ifbash sh…...
VMware三种网络模式---巨细
文章目录 目录 ‘一.网络模式概述 二.桥接模式 二.NAT模式 三.仅主机模式 四.案例演示 防火墙配置: 虚拟电脑配置 前言 本文主要介绍VMware的三种网络模式 ‘一.网络模式概述 VMware中分为三种网络模式: 桥接模式:默认与宿主机VMnet0绑…...
力扣高频SQL 50 题(基础版)第一题
文章目录 力扣高频SQL 50 题(基础版)第一题1757.可回收且低脂的产品题目说明思路分析实现过程准备数据:实现方式:结果截图: 力扣高频SQL 50 题(基础版)第一题 1757.可回收且低脂的产品 题目说…...
2.1.卷积层
卷积 用MLP处理图片的问题:假设一张图片有12M像素,那么RGB图片就有36M元素,使用大小为100的单隐藏层,模型有3.6B元素,这个数量非常大。 识别模式的两个原则: 平移不变性(translation inva…...
网易《永劫无间》手游上线,掀起游戏界狂潮
原标题:网易《永劫无间》手游上线,网友:发烧严重 易采游戏网7月26日消息:自网易宣布《永劫无间》手游即将上线以来,广大游戏玩家的期待值就不断攀升。作为一款拥有丰富内容和极高自由度的游戏,《永劫无间》…...
RNN(一)——循环神经网络的实现
文章目录 一、循环神经网络RNN1.RNN是什么2.RNN的语言模型3.RNN的结构形式 二、完整代码三、代码解读1.参数return_sequences2.调参过程 一、循环神经网络RNN 1.RNN是什么 循环神经网络RNN主要体现在上下文对理解的重要性,他比传统的神经网络(传统的神…...
php 根据位置的经纬度计算距离
在开发中,我们要经常和位置打交道,要计算附近的位置、距离什么的。如下: 一.sql语句 SELECT houseID,title,location,chamber,room,toward,area,rent,is_verify,look_type,look_time, traffic,block_name,images,tag,create_time,update_time, location->&g…...
17 Python常用内置函数——基本输入输出
input() 和 print() 是 Python 的基本输入输出函数,前者用来接收用户的键盘输入,后者用来把数据以指定的格式输出到标准控制台或指定的文件对象。无论用户输入什么内容,input() 一律作为字符串对待,必要时可以使用内置函数 int()、…...
【Web】LitCTF 2024 题解(全)
目录 浏览器也能套娃? 一个....池子? 高亮主题(划掉)背景查看器 百万美元的诱惑 SAS - Serializing Authentication exx 浏览器也能套娃? 随便试一试,一眼ssrf file:///flag直接读本地文件 一个....池子? {…...
家政项目小程序的设计
管理员账户功能包括:系统首页,个人中心,用户管理,家政人员管理,家政服务管理,咨询信息管理,咨询服务管理,家政预约管理,留言板管理,系统管理 微信端账号功能…...
electron TodoList网页应用打包成linux deb、AppImage应用
这里用的是windows的wsl的ubuntu环境 electron应用打包linux应用需要linux下打包,这里用windows的wsl的ubuntu环境进行操作 1)linux ubuntu安装nodejs、electron 安装nodejs: sudo apt update sudo apt upgrade ##快捷安装 curl -fsSL http…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
DAY 26 函数专题1
函数定义与参数知识点回顾:1. 函数的定义2. 变量作用域:局部变量和全局变量3. 函数的参数类型:位置参数、默认参数、不定参数4. 传递参数的手段:关键词参数5 题目1:计算圆的面积 任务: 编写一…...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
