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>