Skip to content

Commit 35c4be3

Browse files
authored
Adjusting sample for NetworkHelper (#105)
1 parent 1479f81 commit 35c4be3

File tree

66 files changed

+795
-2098
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+795
-2098
lines changed

samples/AMQP/Azure-IoT-Hub/Azure-IoT-Hub.nfproj

+22-15
Original file line numberDiff line numberDiff line change
@@ -18,58 +18,65 @@
1818
</PropertyGroup>
1919
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
2020
<ItemGroup>
21-
<Compile Include="..\Azure-ServiceBus-Sender\NetworkHelpers.cs" Link="NetworkHelpers.cs" />
2221
<Compile Include="Program.cs" />
2322
<Compile Include="Properties\AssemblyInfo.cs" />
2423
</ItemGroup>
2524
<ItemGroup>
2625
<Reference Include="Amqp.nanoFramework, Version=2.1.0.0, Culture=neutral, PublicKeyToken=905a7b1e6458e0c3">
27-
<HintPath>..\packages\AMQPNetLite.nanoFramework.2.4.3-preview.230\lib\Amqp.nanoFramework.dll</HintPath>
26+
<HintPath>..\packages\AMQPNetLite.nanoFramework.2.4.3-preview.235\lib\Amqp.nanoFramework.dll</HintPath>
2827
<Private>True</Private>
2928
<SpecificVersion>True</SpecificVersion>
3029
</Reference>
31-
<Reference Include="mscorlib, Version=1.10.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
32-
<HintPath>..\packages\nanoFramework.CoreLibrary.1.10.1-preview.11\lib\mscorlib.dll</HintPath>
30+
<Reference Include="mscorlib">
31+
<HintPath>..\packages\nanoFramework.CoreLibrary.1.10.5-preview.10\lib\mscorlib.dll</HintPath>
32+
</Reference>
33+
<Reference Include="nanoFramework.NetworkHelper, Version=1.3.2.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
34+
<HintPath>..\packages\nanoFramework.NetWorkHelper.1.3.2-preview.44\lib\nanoFramework.NetworkHelper.dll</HintPath>
3335
<Private>True</Private>
3436
<SpecificVersion>True</SpecificVersion>
3537
</Reference>
3638
<Reference Include="nanoFramework.ResourceManager, Version=1.1.2.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
37-
<HintPath>..\packages\nanoFramework.ResourceManager.1.1.2-preview.27\lib\nanoFramework.ResourceManager.dll</HintPath>
39+
<HintPath>..\packages\nanoFramework.ResourceManager.1.1.2-preview.39\lib\nanoFramework.ResourceManager.dll</HintPath>
3840
<Private>True</Private>
3941
<SpecificVersion>True</SpecificVersion>
4042
</Reference>
41-
<Reference Include="nanoFramework.Runtime.Events, Version=1.9.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
42-
<HintPath>..\packages\nanoFramework.Runtime.Events.1.9.0-preview.14\lib\nanoFramework.Runtime.Events.dll</HintPath>
43+
<Reference Include="nanoFramework.Runtime.Events, Version=1.9.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
44+
<HintPath>..\packages\nanoFramework.Runtime.Events.1.9.1-preview.1\lib\nanoFramework.Runtime.Events.dll</HintPath>
4345
<Private>True</Private>
4446
<SpecificVersion>True</SpecificVersion>
4547
</Reference>
4648
<Reference Include="nanoFramework.Runtime.Native, Version=1.5.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
47-
<HintPath>..\packages\nanoFramework.Runtime.Native.1.5.1-preview.30\lib\nanoFramework.Runtime.Native.dll</HintPath>
49+
<HintPath>..\packages\nanoFramework.Runtime.Native.1.5.1-preview.44\lib\nanoFramework.Runtime.Native.dll</HintPath>
4850
<Private>True</Private>
4951
<SpecificVersion>True</SpecificVersion>
5052
</Reference>
5153
<Reference Include="nanoFramework.System.Collections, Version=1.2.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
52-
<HintPath>..\packages\nanoFramework.System.Collections.1.2.0-preview.29\lib\nanoFramework.System.Collections.dll</HintPath>
54+
<HintPath>..\packages\nanoFramework.System.Collections.1.2.0-preview.65\lib\nanoFramework.System.Collections.dll</HintPath>
5355
<Private>True</Private>
5456
<SpecificVersion>True</SpecificVersion>
5557
</Reference>
5658
<Reference Include="nanoFramework.System.Text, Version=1.1.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
57-
<HintPath>..\packages\nanoFramework.System.Text.1.1.1-preview.29\lib\nanoFramework.System.Text.dll</HintPath>
59+
<HintPath>..\packages\nanoFramework.System.Text.1.1.1-preview.57\lib\nanoFramework.System.Text.dll</HintPath>
5860
<Private>True</Private>
5961
<SpecificVersion>True</SpecificVersion>
6062
</Reference>
61-
<Reference Include="System.Math, Version=1.3.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
62-
<HintPath>..\packages\nanoFramework.System.Math.1.3.1-preview.29\lib\System.Math.dll</HintPath>
63+
<Reference Include="System.Math, Version=1.4.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
64+
<HintPath>..\packages\nanoFramework.System.Math.1.4.1-preview.3\lib\System.Math.dll</HintPath>
6365
<Private>True</Private>
6466
<SpecificVersion>True</SpecificVersion>
6567
</Reference>
66-
<Reference Include="System.Net, Version=1.6.3.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
67-
<HintPath>..\packages\nanoFramework.System.Net.1.6.3-preview.33\lib\System.Net.dll</HintPath>
68+
<Reference Include="System.Net, Version=1.6.5.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
69+
<HintPath>..\packages\nanoFramework.System.Net.1.6.5-preview.31\lib\System.Net.dll</HintPath>
6870
<Private>True</Private>
6971
<SpecificVersion>True</SpecificVersion>
7072
</Reference>
7173
<Reference Include="Windows.Devices.Gpio, Version=1.5.2.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
72-
<HintPath>..\packages\nanoFramework.Windows.Devices.Gpio.1.5.2-preview.24\lib\Windows.Devices.Gpio.dll</HintPath>
74+
<HintPath>..\packages\nanoFramework.Windows.Devices.Gpio.1.5.2-preview.43\lib\Windows.Devices.Gpio.dll</HintPath>
75+
<Private>True</Private>
76+
<SpecificVersion>True</SpecificVersion>
77+
</Reference>
78+
<Reference Include="Windows.Devices.Wifi, Version=1.3.2.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
79+
<HintPath>..\packages\nanoFramework.Windows.Devices.Wifi.1.3.2-preview.42\lib\Windows.Devices.Wifi.dll</HintPath>
7380
<Private>True</Private>
7481
<SpecificVersion>True</SpecificVersion>
7582
</Reference>

samples/AMQP/Azure-IoT-Hub/Program.cs

+26-12
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
using Windows.Devices.Gpio;
1212
using AmqpTrace = Amqp.Trace;
1313

14+
#if HAS_WIFI
15+
using Windows.Devices.WiFi;
16+
#endif
17+
1418
namespace AmqpSamples.AzureIoTHub
1519
{
1620
public class Program
@@ -25,6 +29,11 @@ public class Program
2529
const string _deviceId = "COFEEMACHINE001";
2630
const string _sasToken = "SharedAccessSignature sr=contoso.azure-devices.net%2Fdevices%2FCOFEEMACHINE001&sig=tGeAGJeRgFUqIKEs%2BtYNLmLAGWGHiHT%2F2TIIsu8oQ%2F0%3D&se=1234656789";
2731

32+
#if HAS_WIFI
33+
private static string MySsid = "ssid";
34+
private static string MyPassword = "password";
35+
#endif
36+
2837
/////////////////////////////////////////////////////////////////////
2938

3039
private static AutoResetEvent sendMessage = new AutoResetEvent(false);
@@ -37,12 +46,23 @@ public class Program
3746

3847
public static void Main()
3948
{
40-
// setup and connect network
41-
NetworkHelpers.SetupAndConnectNetwork(true);
42-
43-
// wait for network and valid system date time
44-
NetworkHelpers.IpAddressAvailable.WaitOne();
45-
NetworkHelpers.DateTimeAvailable.WaitOne();
49+
Debug.WriteLine("Waiting for network up and IP address...");
50+
bool success;
51+
CancellationTokenSource cs = new(60000);
52+
#if HAS_WIFI
53+
success = NetworkHelper.ConnectWifiDhcp(MySsid, MyPassword, setDateTime: true, token: cs.Token);
54+
#else
55+
success = NetworkHelper.WaitForValidIPAndDate(true, System.Net.NetworkInformation.NetworkInterfaceType.Ethernet, cs.Token);
56+
#endif
57+
if (!success)
58+
{
59+
Debug.WriteLine($"Can't get a proper IP address and DateTime, error: {NetworkHelper.ConnectionError.Error}.");
60+
if (NetworkHelper.ConnectionError.Exception != null)
61+
{
62+
Debug.WriteLine($"Exception: {NetworkHelper.ConnectionError.Exception}");
63+
}
64+
return;
65+
}
4666

4767
// setup user button
4868
// F769I-DISCO -> USER_BUTTON is @ PA0 -> (0 * 16) + 0 = 0
@@ -72,12 +92,6 @@ public static void Main()
7292

7393
private static void WorkerThread()
7494
{
75-
// need to wait for network connection...
76-
NetworkHelpers.IpAddressAvailable.WaitOne();
77-
78-
// ... and valid date time
79-
NetworkHelpers.DateTimeAvailable.WaitOne();
80-
8195
// parse Azure IoT Hub Map settings to AMQP protocol settings
8296
string hostName = _hubName + ".azure-devices.net";
8397
string userName = _deviceId + "@sas." + _hubName;
+12-10
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="AMQPNetLite.nanoFramework" version="2.4.3-preview.230" targetFramework="netnanoframework10" />
4-
<package id="nanoFramework.CoreLibrary" version="1.10.1-preview.11" targetFramework="netnanoframework10" />
5-
<package id="nanoFramework.ResourceManager" version="1.1.2-preview.27" targetFramework="netnanoframework10" />
6-
<package id="nanoFramework.Runtime.Events" version="1.9.0-preview.14" targetFramework="netnanoframework10" />
7-
<package id="nanoFramework.Runtime.Native" version="1.5.1-preview.30" targetFramework="netnanoframework10" />
8-
<package id="nanoFramework.System.Collections" version="1.2.0-preview.29" targetFramework="netnanoframework10" />
9-
<package id="nanoFramework.System.Math" version="1.3.1-preview.29" targetFramework="netnanoframework10" />
10-
<package id="nanoFramework.System.Net" version="1.6.3-preview.33" targetFramework="netnanoframework10" />
11-
<package id="nanoFramework.System.Text" version="1.1.1-preview.29" targetFramework="netnanoframework10" />
12-
<package id="nanoFramework.Windows.Devices.Gpio" version="1.5.2-preview.24" targetFramework="netnanoframework10" />
3+
<package id="AMQPNetLite.nanoFramework" version="2.4.3-preview.235" targetFramework="netnanoframework10" />
4+
<package id="nanoFramework.CoreLibrary" version="1.10.5-preview.10" targetFramework="netnanoframework10" />
5+
<package id="nanoFramework.NetWorkHelper" version="1.3.2-preview.44" targetFramework="netnanoframework10" />
6+
<package id="nanoFramework.ResourceManager" version="1.1.2-preview.39" targetFramework="netnanoframework10" />
7+
<package id="nanoFramework.Runtime.Events" version="1.9.1-preview.1" targetFramework="netnanoframework10" />
8+
<package id="nanoFramework.Runtime.Native" version="1.5.1-preview.44" targetFramework="netnanoframework10" />
9+
<package id="nanoFramework.System.Collections" version="1.2.0-preview.65" targetFramework="netnanoframework10" />
10+
<package id="nanoFramework.System.Math" version="1.4.1-preview.3" targetFramework="netnanoframework10" />
11+
<package id="nanoFramework.System.Net" version="1.6.5-preview.31" targetFramework="netnanoframework10" />
12+
<package id="nanoFramework.System.Text" version="1.1.1-preview.57" targetFramework="netnanoframework10" />
13+
<package id="nanoFramework.Windows.Devices.Gpio" version="1.5.2-preview.43" targetFramework="netnanoframework10" />
14+
<package id="nanoFramework.Windows.Devices.Wifi" version="1.3.2-preview.42" targetFramework="netnanoframework10" />
1315
</packages>

samples/AMQP/Azure-ServiceBus-Sender/Azure-ServiceBus-Sender.nfproj

+24-15
Original file line numberDiff line numberDiff line change
@@ -18,58 +18,67 @@
1818
</PropertyGroup>
1919
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
2020
<ItemGroup>
21-
<Compile Include="NetworkHelpers.cs" />
2221
<Compile Include="Program.cs" />
2322
<Compile Include="Properties\AssemblyInfo.cs" />
2423
</ItemGroup>
2524
<ItemGroup>
2625
<Reference Include="Amqp.nanoFramework, Version=2.1.0.0, Culture=neutral, PublicKeyToken=905a7b1e6458e0c3">
27-
<HintPath>..\packages\AMQPNetLite.nanoFramework.2.4.3-preview.230\lib\Amqp.nanoFramework.dll</HintPath>
26+
<HintPath>..\packages\AMQPNetLite.nanoFramework.2.4.3-preview.235\lib\Amqp.nanoFramework.dll</HintPath>
2827
<Private>True</Private>
2928
<SpecificVersion>True</SpecificVersion>
3029
</Reference>
31-
<Reference Include="mscorlib, Version=1.10.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
32-
<HintPath>..\packages\nanoFramework.CoreLibrary.1.10.1-preview.11\lib\mscorlib.dll</HintPath>
30+
<Reference Include="mscorlib, Version=1.10.5.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
31+
<HintPath>..\packages\nanoFramework.CoreLibrary.1.10.5-preview.10\lib\mscorlib.dll</HintPath>
32+
<Private>True</Private>
33+
<SpecificVersion>True</SpecificVersion>
34+
</Reference>
35+
<Reference Include="nanoFramework.NetworkHelper, Version=1.3.2.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
36+
<HintPath>..\packages\nanoFramework.NetWorkHelper.1.3.2-preview.44\lib\nanoFramework.NetworkHelper.dll</HintPath>
3337
<Private>True</Private>
3438
<SpecificVersion>True</SpecificVersion>
3539
</Reference>
3640
<Reference Include="nanoFramework.ResourceManager, Version=1.1.2.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
37-
<HintPath>..\packages\nanoFramework.ResourceManager.1.1.2-preview.27\lib\nanoFramework.ResourceManager.dll</HintPath>
41+
<HintPath>..\packages\nanoFramework.ResourceManager.1.1.2-preview.39\lib\nanoFramework.ResourceManager.dll</HintPath>
3842
<Private>True</Private>
3943
<SpecificVersion>True</SpecificVersion>
4044
</Reference>
41-
<Reference Include="nanoFramework.Runtime.Events, Version=1.9.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
42-
<HintPath>..\packages\nanoFramework.Runtime.Events.1.9.0-preview.14\lib\nanoFramework.Runtime.Events.dll</HintPath>
45+
<Reference Include="nanoFramework.Runtime.Events, Version=1.9.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
46+
<HintPath>..\packages\nanoFramework.Runtime.Events.1.9.1-preview.1\lib\nanoFramework.Runtime.Events.dll</HintPath>
4347
<Private>True</Private>
4448
<SpecificVersion>True</SpecificVersion>
4549
</Reference>
4650
<Reference Include="nanoFramework.Runtime.Native, Version=1.5.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
47-
<HintPath>..\packages\nanoFramework.Runtime.Native.1.5.1-preview.30\lib\nanoFramework.Runtime.Native.dll</HintPath>
51+
<HintPath>..\packages\nanoFramework.Runtime.Native.1.5.1-preview.44\lib\nanoFramework.Runtime.Native.dll</HintPath>
4852
<Private>True</Private>
4953
<SpecificVersion>True</SpecificVersion>
5054
</Reference>
5155
<Reference Include="nanoFramework.System.Collections, Version=1.2.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
52-
<HintPath>..\packages\nanoFramework.System.Collections.1.2.0-preview.29\lib\nanoFramework.System.Collections.dll</HintPath>
56+
<HintPath>..\packages\nanoFramework.System.Collections.1.2.0-preview.65\lib\nanoFramework.System.Collections.dll</HintPath>
5357
<Private>True</Private>
5458
<SpecificVersion>True</SpecificVersion>
5559
</Reference>
5660
<Reference Include="nanoFramework.System.Text, Version=1.1.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
57-
<HintPath>..\packages\nanoFramework.System.Text.1.1.1-preview.29\lib\nanoFramework.System.Text.dll</HintPath>
61+
<HintPath>..\packages\nanoFramework.System.Text.1.1.1-preview.57\lib\nanoFramework.System.Text.dll</HintPath>
5862
<Private>True</Private>
5963
<SpecificVersion>True</SpecificVersion>
6064
</Reference>
61-
<Reference Include="System.Math, Version=1.3.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
62-
<HintPath>..\packages\nanoFramework.System.Math.1.3.1-preview.29\lib\System.Math.dll</HintPath>
65+
<Reference Include="System.Math, Version=1.4.1.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
66+
<HintPath>..\packages\nanoFramework.System.Math.1.4.1-preview.3\lib\System.Math.dll</HintPath>
6367
<Private>True</Private>
6468
<SpecificVersion>True</SpecificVersion>
6569
</Reference>
66-
<Reference Include="System.Net, Version=1.6.3.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
67-
<HintPath>..\packages\nanoFramework.System.Net.1.6.3-preview.33\lib\System.Net.dll</HintPath>
70+
<Reference Include="System.Net, Version=1.6.5.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
71+
<HintPath>..\packages\nanoFramework.System.Net.1.6.5-preview.31\lib\System.Net.dll</HintPath>
6872
<Private>True</Private>
6973
<SpecificVersion>True</SpecificVersion>
7074
</Reference>
7175
<Reference Include="Windows.Devices.Gpio, Version=1.5.2.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
72-
<HintPath>..\packages\nanoFramework.Windows.Devices.Gpio.1.5.2-preview.24\lib\Windows.Devices.Gpio.dll</HintPath>
76+
<HintPath>..\packages\nanoFramework.Windows.Devices.Gpio.1.5.2-preview.43\lib\Windows.Devices.Gpio.dll</HintPath>
77+
<Private>True</Private>
78+
<SpecificVersion>True</SpecificVersion>
79+
</Reference>
80+
<Reference Include="Windows.Devices.Wifi, Version=1.3.2.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
81+
<HintPath>..\packages\nanoFramework.Windows.Devices.Wifi.1.3.2-preview.42\lib\Windows.Devices.Wifi.dll</HintPath>
7382
<Private>True</Private>
7483
<SpecificVersion>True</SpecificVersion>
7584
</Reference>

0 commit comments

Comments
 (0)