[NF] Sensor hinzugefügt
This commit is contained in:
parent
c634625f0e
commit
452db11a92
54
Mqtt-Dashboard/Form1.Designer.cs
generated
54
Mqtt-Dashboard/Form1.Designer.cs
generated
@ -23,12 +23,16 @@
|
|||||||
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
|
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent() {
|
private void InitializeComponent() {
|
||||||
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
||||||
System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
|
System.Windows.Forms.DataVisualization.Charting.Legend legend2 = new System.Windows.Forms.DataVisualization.Charting.Legend();
|
||||||
System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
System.Windows.Forms.DataVisualization.Charting.Series series2 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||||
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
|
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
|
||||||
this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart();
|
this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart();
|
||||||
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
|
this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit();
|
||||||
|
this.panel1.SuspendLayout();
|
||||||
|
this.flowLayoutPanel2.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// statusStrip1
|
// statusStrip1
|
||||||
@ -41,31 +45,49 @@
|
|||||||
//
|
//
|
||||||
// chart1
|
// chart1
|
||||||
//
|
//
|
||||||
chartArea1.Name = "ChartArea1";
|
chartArea2.Name = "ChartArea1";
|
||||||
this.chart1.ChartAreas.Add(chartArea1);
|
this.chart1.ChartAreas.Add(chartArea2);
|
||||||
legend1.Name = "Legend1";
|
legend2.Name = "Legend1";
|
||||||
this.chart1.Legends.Add(legend1);
|
this.chart1.Legends.Add(legend2);
|
||||||
this.chart1.Location = new System.Drawing.Point(62, 21);
|
this.chart1.Location = new System.Drawing.Point(3, 3);
|
||||||
this.chart1.Name = "chart1";
|
this.chart1.Name = "chart1";
|
||||||
series1.ChartArea = "ChartArea1";
|
series2.ChartArea = "ChartArea1";
|
||||||
series1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
|
series2.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
|
||||||
series1.Legend = "Legend1";
|
series2.Legend = "Legend1";
|
||||||
series1.Name = "Series1";
|
series2.Name = "Series1";
|
||||||
this.chart1.Series.Add(series1);
|
this.chart1.Series.Add(series2);
|
||||||
this.chart1.Size = new System.Drawing.Size(324, 166);
|
this.chart1.Size = new System.Drawing.Size(183, 136);
|
||||||
this.chart1.TabIndex = 1;
|
this.chart1.TabIndex = 1;
|
||||||
this.chart1.Text = "chart1";
|
this.chart1.Text = "chart1";
|
||||||
//
|
//
|
||||||
|
// panel1
|
||||||
|
//
|
||||||
|
this.panel1.Controls.Add(this.chart1);
|
||||||
|
this.panel1.Location = new System.Drawing.Point(3, 3);
|
||||||
|
this.panel1.Name = "panel1";
|
||||||
|
this.panel1.Size = new System.Drawing.Size(201, 155);
|
||||||
|
this.panel1.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// flowLayoutPanel2
|
||||||
|
//
|
||||||
|
this.flowLayoutPanel2.Controls.Add(this.panel1);
|
||||||
|
this.flowLayoutPanel2.Location = new System.Drawing.Point(12, 12);
|
||||||
|
this.flowLayoutPanel2.Name = "flowLayoutPanel2";
|
||||||
|
this.flowLayoutPanel2.Size = new System.Drawing.Size(819, 289);
|
||||||
|
this.flowLayoutPanel2.TabIndex = 3;
|
||||||
|
//
|
||||||
// Dashboard
|
// Dashboard
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(843, 326);
|
this.ClientSize = new System.Drawing.Size(843, 326);
|
||||||
this.Controls.Add(this.chart1);
|
this.Controls.Add(this.flowLayoutPanel2);
|
||||||
this.Controls.Add(this.statusStrip1);
|
this.Controls.Add(this.statusStrip1);
|
||||||
this.Name = "Dashboard";
|
this.Name = "Dashboard";
|
||||||
this.Text = "Dashboard";
|
this.Text = "Dashboard";
|
||||||
((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit();
|
||||||
|
this.panel1.ResumeLayout(false);
|
||||||
|
this.flowLayoutPanel2.ResumeLayout(false);
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
@ -75,6 +97,8 @@
|
|||||||
|
|
||||||
private System.Windows.Forms.StatusStrip statusStrip1;
|
private System.Windows.Forms.StatusStrip statusStrip1;
|
||||||
private System.Windows.Forms.DataVisualization.Charting.Chart chart1;
|
private System.Windows.Forms.DataVisualization.Charting.Chart chart1;
|
||||||
|
private System.Windows.Forms.Panel panel1;
|
||||||
|
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,14 +8,21 @@ using System.Text;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Dashboard.Connector;
|
using Dashboard.Connector;
|
||||||
|
using Dashboard.Sensor;
|
||||||
|
using Dashboard.Tracings;
|
||||||
|
|
||||||
namespace Dashboard {
|
namespace Dashboard {
|
||||||
public partial class Dashboard : Form {
|
public partial class Dashboard : Form {
|
||||||
public Dashboard() {
|
public Dashboard() {
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
Mqtt.Instance.Connect();
|
Mqtt.Instance.Connect();
|
||||||
|
ATracings g = new Graph();
|
||||||
|
ASensor s = new Power();
|
||||||
|
s.SetMqttTopic("zway/wohnzimmer/thinkpad/power");
|
||||||
|
Mqtt.Instance.MessageIncomming += s.IncommingMqttMessage;
|
||||||
|
g.SetSensor(s);
|
||||||
|
this.flowLayoutPanel2.Controls.Add(g.GetTracing());
|
||||||
this.chart1.ChartAreas[0].AxisX.Maximum = 100;
|
this.chart1.ChartAreas[0].AxisX.Maximum = 100;
|
||||||
Mqtt.Instance.MessageIncomming += this.Instance_MessageIncomming;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Instance_MessageIncomming(Object sender, uPLibrary.Networking.M2Mqtt.Messages.MqttMsgPublishEventArgs e) {
|
private void Instance_MessageIncomming(Object sender, uPLibrary.Networking.M2Mqtt.Messages.MqttMsgPublishEventArgs e) {
|
||||||
|
18
Mqtt-Dashboard/Sensor/ASensor.cs
Normal file
18
Mqtt-Dashboard/Sensor/ASensor.cs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
using uPLibrary.Networking.M2Mqtt.Messages;
|
||||||
|
|
||||||
|
namespace Dashboard.Sensor {
|
||||||
|
public abstract class ASensor {
|
||||||
|
private String topic;
|
||||||
|
|
||||||
|
public void SetMqttTopic(String topic) {
|
||||||
|
this.topic = topic;
|
||||||
|
}
|
||||||
|
public delegate void UpdatedValue(Object sender, EventArgs e);
|
||||||
|
public event UpdatedValue Update;
|
||||||
|
internal abstract void IncommingMqttMessage(Object sender, MqttMsgPublishEventArgs e);
|
||||||
|
public abstract Int32 GetInt();
|
||||||
|
public abstract Single GetFloat();
|
||||||
|
public abstract Boolean GetBool();
|
||||||
|
}
|
||||||
|
}
|
10
Mqtt-Dashboard/Sensor/Power.cs
Normal file
10
Mqtt-Dashboard/Sensor/Power.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Dashboard.Sensor {
|
||||||
|
class Power : ASensor {
|
||||||
|
}
|
||||||
|
}
|
@ -1,10 +1,17 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using Dashboard.Sensor;
|
||||||
|
|
||||||
namespace Dashboard.Tracings {
|
namespace Dashboard.Tracings {
|
||||||
public abstract class ATracings {
|
public abstract class ATracings {
|
||||||
|
private ASensor sensor;
|
||||||
public abstract Int32 ElementWidth { get; }
|
public abstract Int32 ElementWidth { get; }
|
||||||
public abstract Int32 ElementHeight { get; }
|
public abstract Int32 ElementHeight { get; }
|
||||||
|
public void SetSensor(ASensor sensor) {
|
||||||
public abstract void SetSensor(ASensor s);
|
this.sensor = sensor;
|
||||||
|
this.sensor.Update += this.SensorUpdate;
|
||||||
|
}
|
||||||
|
protected abstract void SensorUpdate(Object sender, EventArgs e);
|
||||||
|
public abstract Panel GetTracing();
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user