move Iot to Iot-Interfaces
This commit is contained in:
commit
5c182b95dd
20
Iot-Interfaces/IMqtt.cs
Normal file
20
Iot-Interfaces/IMqtt.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BlubbFish.Utils.IoT.Interfaces {
|
||||
public interface IMqtt {
|
||||
/// <summary>
|
||||
/// Gibt einen JSON-String der Eigenschaften eines Objekts zurück
|
||||
/// </summary>
|
||||
/// <returns>JSON-String</returns>
|
||||
String ToJson();
|
||||
/// <summary>
|
||||
/// Gibt das MQTT-Topic als String zurück unter dem die Daten des Objekts Publiziert werden sollen
|
||||
/// </summary>
|
||||
/// <returns>MQTT-Topic</returns>
|
||||
String MqttTopic();
|
||||
}
|
||||
}
|
20
Iot-Interfaces/ISenml.cs
Normal file
20
Iot-Interfaces/ISenml.cs
Normal file
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BlubbFish.Utils.IoT.Interfaces {
|
||||
public interface ISenml {
|
||||
/// <summary>
|
||||
/// Gibt einen Senml-JSON-String der Eigenschaften eines Objekts zurück
|
||||
/// </summary>
|
||||
/// <returns>Senml-JSON-String</returns>
|
||||
String ToSenml();
|
||||
/// <summary>
|
||||
/// Gibt das Senml-Topic als String zurück unter dem die Daten des Objekts Publiziert werden sollen
|
||||
/// </summary>
|
||||
/// <returns>Senml-Topic</returns>
|
||||
String SenmlTopic();
|
||||
}
|
||||
}
|
50
Iot-Interfaces/Iot-Interfaces.csproj
Normal file
50
Iot-Interfaces/Iot-Interfaces.csproj
Normal file
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{4DAADA29-C600-4CF3-8AD3-9C97C8D7F632}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>BlubbFish.Utils.IoT.Interfaces</RootNamespace>
|
||||
<AssemblyName>Iot-Interfaces</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ISenml.cs" />
|
||||
<Compile Include="IMqtt.cs" />
|
||||
<Compile Include="Language\Senml.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
62
Iot-Interfaces/Language/Senml.cs
Normal file
62
Iot-Interfaces/Language/Senml.cs
Normal file
@ -0,0 +1,62 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Reflection;
|
||||
|
||||
namespace BlubbFish.Utils.IoT.Interfaces.Language {
|
||||
public abstract class Senml {
|
||||
#pragma warning disable IDE1006 // Benennungsstile
|
||||
public String n { get; }
|
||||
public String u { get; }
|
||||
public Int32 t { get; }
|
||||
#pragma warning restore IDE1006 // Benennungsstile
|
||||
|
||||
public enum Units {
|
||||
[Description("%")]
|
||||
Percent,
|
||||
[Description("count")]
|
||||
CounterValue,
|
||||
[Description("W")]
|
||||
Watt,
|
||||
[Description("J")]
|
||||
Joule,
|
||||
[Description("Cel")]
|
||||
Celsius,
|
||||
[Description("lx")]
|
||||
Lux
|
||||
}
|
||||
|
||||
public Senml(String name, Units unit) {
|
||||
this.n = name;
|
||||
this.u = this.GetEnumDescription(unit);
|
||||
this.t = 0;
|
||||
}
|
||||
|
||||
private String GetEnumDescription(Enum value) {
|
||||
FieldInfo fi = value.GetType().GetField(value.ToString());
|
||||
|
||||
DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
|
||||
|
||||
if (attributes != null && attributes.Length > 0) {
|
||||
return attributes[0].Description;
|
||||
} else {
|
||||
return value.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
public class SenmlBool : Senml {
|
||||
#pragma warning disable IDE1006 // Benennungsstile
|
||||
public Boolean bv { get; }
|
||||
#pragma warning restore IDE1006 // Benennungsstile
|
||||
public SenmlBool(String name, Units unit, Boolean level) : base(name, unit) {
|
||||
this.bv = level;
|
||||
}
|
||||
}
|
||||
public class SenmlDouble : Senml {
|
||||
#pragma warning disable IDE1006 // Benennungsstile
|
||||
public Double v { get; }
|
||||
#pragma warning restore IDE1006 // Benennungsstile
|
||||
public SenmlDouble(String name, Units unit, Double level) : base(name, unit) {
|
||||
this.v = level;
|
||||
}
|
||||
}
|
||||
}
|
36
Iot-Interfaces/Properties/AssemblyInfo.cs
Normal file
36
Iot-Interfaces/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
// die einer Assembly zugeordnet sind.
|
||||
[assembly: AssemblyTitle("Iot-Interfaces")]
|
||||
[assembly: AssemblyDescription("Interfaces for IoT-Stuff")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("BlubbFish")]
|
||||
[assembly: AssemblyProduct("Iot-Interfaces")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018 - 02.05.2018")]
|
||||
[assembly: AssemblyTrademark("BlubbFish")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
|
||||
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||
[assembly: Guid("4daada29-c600-4cf3-8ad3-9c97c8d7f632")]
|
||||
|
||||
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
//
|
||||
// Hauptversion
|
||||
// Nebenversion
|
||||
// Buildnummer
|
||||
// Revision
|
||||
//
|
||||
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
// indem Sie "*" wie unten gezeigt eingeben:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
Loading…
Reference in New Issue
Block a user