Je veux écrire une application de console qui écrit le message de périphérique au cloud. J'ai écrit une application de cloud2-périphérique à l'aide de HUB iOT et préconfig tous mes identifiants de périphérique HUB et fonctionne.
Voici mon code d'échantillon pour connecter-2-Cloud-Message à l'aide de C # dans Visual Studio. P>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Input;
using System.Diagnostics.Tracing;
using Microsoft.Azure.Devices.Client;
namespace Device2CloudApp
{
class Program
{
// private our own fields for connection to IOT.
private DeviceClient deviceClient;
// use the device specific connection string.
private const string IOT_HUB_CONN_STRING = "HostName=eNstaHub.azure-devices.net;DeviceId=GcobaniNumber1;SharedAccessKey="";
private const string IOT_HUB_DEVICE = "GcobaniNumber1";
private const string IOT_HUB_DEVICE_LOCATION = "West US";
/*
* We calling all method inside the constructor for memory allocation.
*/
public Program ()
{
SendMessageToIOTHubAsync(deviceClient).Wait();
}
private async Task SendMessageToIOTHubAsync(DeviceClient deviceClient)
{
try
{
var payload = "{" +
"\"deviceId\":\"" + IOT_HUB_DEVICE + "\", " +
"\"location\":\"" + IOT_HUB_DEVICE_LOCATION + "\", " +
"\"localTimestamp\":\"" + DateTime.Now.ToLocalTime() + "\"" +
"}";
var msg = new Message(Encoding.UTF8.GetBytes(payload));
System.Diagnostics.Debug.WriteLine("\t{0} > Sending message:[{1}]", DateTime.Now.ToLocalTime(), payload);
await deviceClient.SendEventAsync(msg);
}catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine("!!!" + ex.Message);
}
}
static void Main(string[] args)
{
DeviceClient deviceClient = DeviceClient.CreateFromConnectionString(IOT_HUB_CONN_STRING);
// creating a Constructor here for method declarion.
Program prg = new Program();
}
}
}
3 Réponses :
Vous avez un Supprimer celui-là et créer l'instance que vous avez dans la classe à la place. p> Deviceclient local code> dans la méthode code> MAIN code> qui n'est pas celui utilisé lors de la communication avec Azure. P>
Il devrait fonctionner comme code suivant.
Merci équipe, le premier exemple a fait l'astuce que j'avais réussi à se connecter de l'appareil au message Cloud. TelemetryData Point est un bon champ constant à utiliser dans votre classe. Comme il envoie une référence à votre hub IoT pour la surveillance. J'exclure d'autres champs tels que la température, etc., car ne faisaient pas partie de ma portée à ce problème.
S'il vous plaît essayez ceci .hope cela aide.
déclarer les constantes d'abord. p> puis créer une chaîne de connexion en fonction de symétrickey p> échantillon code de simulateur: p>