标签: windows-10-iot-core

为什么从计时器引发PropertyChanged事件会导致COMException?

我正在使用在Raspberry Pi下运行的XAML开发通用Windows平台应用程序Windows 10 IoT Core.该应用程序驱动I2C总线上的温度传感器.传感器类是MLX90614Thermometer.传感器使用a DispatcherTimer每100毫秒(大约)获取读数并更新移动平均值.当移动平均值变化超过指定阈值时,传感器会引发ValueChanged事件并在事件args中提供新值.

在我的ViewModel类中TemperatureSensorViewModel,我订阅了传感器的ValueChanged事件并使用它来更新命名的绑定属性Ambient,Channel1Channel2.这些属性绑定到XAML UI中的文本块.这是事件处理程序:

    void HandleSensorValueChanged(object sender, SensorValueChangedEventArgs e)
    {
        switch (e.Channel)
        {
            case 0:
                Ambient = e.Value;
                break;
            case 1:
                Channel1 = e.Value;
                break;
            case 2:
                Channel2 = e.Value;
                break;
        }
    }
Run Code Online (Sandbox Code Playgroud)

...这里是一个示例数据绑定Ambient...

    <TextBlock x:Name="Ambient"  Grid.Row="1" Text="{Binding Path=Ambient}" Style="{StaticResource FieldValueStyle}" />
Run Code Online (Sandbox Code Playgroud)

我正在使用MVVM Light Toolkit,因此我的属性就像这样实现(仅Ambient显示,但除了名称之外其他都是相同的):

    public double Ambient
    {
        get { return ambientTemperature; …
Run Code Online (Sandbox Code Playgroud)

xaml inotifypropertychanged mvvm-toolkit windows-10-iot-core uwp

1
推荐指数
1
解决办法
1170
查看次数

为什么我的异步方法不等待"serialPort = await SerialDevice.FromIdAsync()"?

我正在尝试创建一个初始化树莓和arduino之间串行连接的类.该类还应该能够通过已建立的串行连接进行读写.

我使用的代码来自微软开发者网站.

using Windows.Storage.Streams;
using Windows.Devices.Enumeration;
using Windows.Devices.SerialCommunication;

public async void Serial()
{
    /* Find the selector string for the serial device   */
    string aqs = SerialDevice.GetDeviceSelector("UART0");
    /* Find the serial device with our selector string  */
    var dis = await DeviceInformation.FindAllAsync(aqs);
    /* Create an serial device with our selected device */
    SerialDevice SerialPort = await SerialDevice.FromIdAsync(dis[0].Id);
    /* Configure serial settings */
    SerialPort.WriteTimeout = TimeSpan.FromMilliseconds(1000);
    SerialPort.ReadTimeout = TimeSpan.FromMilliseconds(1000);
    SerialPort.BaudRate = 9600;
    SerialPort.Parity = SerialParity.None;
    SerialPort.StopBits = SerialStopBitCount.One;
    SerialPort.DataBits …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous windows-10-iot-core raspberry-pi3

1
推荐指数
1
解决办法
655
查看次数

从UWP应用运行外部exe,解决方法为沙盒模式

我有一个程序,希望从我的UWP App中启动本地应用程序(例如Spotify)。我已经在网上搜索了一种解决方案,因为(Process.Start())无法正常工作。据我了解,出于安全性和稳定性的原因,UWP应用程序是一种沙盒。但是,有没有一种(简单的)方法可以解决此问题。

我只希望能够在自己的框架/窗口内启动和关闭程序。无需在我的应用程序和外部程序之间进行交互/发送/接收数据

c# xaml launcher windows-10-iot-core uwp

1
推荐指数
1
解决办法
2103
查看次数

并行运行多个应用程序?

多个 C# 应用程序能否在 raspberry pi 2 模型 b 上并行运行?设置默认启动应用程序很容易,但有没有办法同时运行多个应用程序?如果是这样,我如何在 UI 中在它们之间切换?

raspberry-pi2 windows-10-iot-core

0
推荐指数
1
解决办法
941
查看次数

将语言包添加到Windows IoT Core

是否可以向Windows IoT Core添加语言包?我正在使用SpeechRecognizer API,并希望添加其他语言.从我在代码中看到的情况来看,只有en-US是默认安装的可用语言.

windows-10-iot-core

0
推荐指数
1
解决办法
2146
查看次数

脚本通过计划任务运行速度非常慢

我的 PowerShell 脚本从 IP 摄像头拍摄快照,它在带有 Windows 10 IoT Core 的 Raspberry Pi3 上运行。

当我从 PowerShell(仅输入c:\scripts\snapshot.ps1)运行脚本时,它运行良好。但是当我从 cmd 运行它时powershell -File c:\scripts\snapshot.ps1(我需要它来从任务调度程序运行),它运行了太多时间并占用了整个 CPU 内核,运行几分钟后我将其杀死。

当我从 powershell 运行此命令时也是如此(不是来自 cmd)。脚本将在Invoke-WebRequest -Uri $url -Headers $Headers -OutFile "$dir\$outFile". 该文件$outFile已创建,但没有内容并且仍在运行和运行。我观察到整个脚本太慢了,当只用 2 运行脚本时Write-Output,它在 2 个写入的字符串之间有延迟。我试过-MTA-NoProfile一些下一个powershell.exe论点,但没有运气。

我的脚本:

$user = 'operator'
$pass = 'password'
$url = 'http:\\url.jpg'
$dir = "c:\outputdir"

$date = Get-Date
$date = $date.ToString("yyyy-MM-dd_HH-mm-ss")

$outFile = "snapshot_$date.jpg"

$pair = "$($user):$($pass)"

$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair)) …
Run Code Online (Sandbox Code Playgroud)

powershell windows-10-iot-core

0
推荐指数
1
解决办法
3754
查看次数

无法安装Microsoft.NETCore.UniversalWindowsPlatform

似乎与此相关: Nuget错误安装包Microsoft.NETCore.UniversalWindowsPlatform 但它不是,因为默认情况下在vs2017中选中了复选框.我正在运行创建者更新,一切都是最新的.

我刚刚开始了一个新的C#后台物联网项目,并得到了这个:

在此输入图像描述

在包控制台中手动安装包时,我得到了这个:

...

成功将"Microsoft.Net.Native.Compiler 1.6.0"安装到projectnamehere

安装失败.滚回来...

程序"Microsoft.NETCore.Jit.1.0.3"在项目中不存在

...

文件夹中不存在包"Microsoft.NETCore.Jit.1.0.3"

...

Install-Package:无法安装包'Microsoft.NETCore.Jit 1.0.3'.您正在尝试将此软件包安装到以".NETCore,Version = v5.0"为目标的项目中,但该软件包不包含任何与该文件兼容的程序集引用或内容文件.有关更多信息,请与软件包作者联系.

似乎与此相关https://connect.microsoft.com/VisualStudio/feedback/details/1617801/newly-created-universal-app-projects-dont-work

但我不知道如何解决它.我也看到一个网站建议删除project.json文件,我做了但没有解决它.

我还关闭了vs2017并修改了安装以验证创建者更新sdk是否已经过检查和安装.

我已经降低了项目道具中的目标版本,但这也没有帮助.

在此输入图像描述

编辑手动安装jit包也不起作用:

无法安装包"Microsoft.NETCore.Jit 1.1.1".您正在尝试将此软件包安装到以".NETCore,Version = v5.0"为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件.有关更多信息,请与软件包作者联系.

edit2有趣的是,解决方案资源管理器告诉我有一个project.json而Windows资源管理器中没有:

在此输入图像描述

我通过点击vs2017安装的修改按钮来验证sdk安装,然后尝试创建一个新项目,但又得到了完全相同的问题.

winapi windows-10-iot-core uwp windows-10-universal visual-studio-2017

0
推荐指数
1
解决办法
1202
查看次数

Rasberry Pi 3与英特尔酷睿i7(浮点运算)相比的性能

我做了一个简单的性能比较,侧重于使用C#的浮点运算,针对带有Windows 10 IoT的Raspberry Pi 3 Model 2,我将它与Intel Core i7-6500U CPU @ 2.50GHz进行了比较.

Raspberry Pi 3 Model B V1.2 - 测试结果 - 图表

英特尔酷睿i7-6500U CPU @ 2.50GHz - x64测试结果 - 图表

英特尔酷睿i7 比Raspberry Pi 3 快十二倍(x64)! - 根据那些测试.

准确度为11.67,并计算每个平台在这些测试中实现的最佳性能.两个平台在并行运行的四个线程中实现了最佳性能(非常简单,独立的计算).

问题:测量和比较这些平台的计算性能的正确方法是什么?目的是比较优化算法,机器学习算法,统计分析等领域的计算性能.因此,我的重点是浮点运算.

有一些基准测试(如MWIPS)和MIPS或FLOPS等测量.但我没有找到一种方法来比较不同的CPU平台的计算能力.

我找到了Roy Longbottom的一个比较(谷歌"Roy Longbottom的Raspberry Pi,Pi 2和Pi 3基准" - 我不能在这里发布更多链接)但根据他的基准测试,Raspberry Pi 3的速度只比英特尔酷睿i7快4倍(x64)建筑,MFLOPS比较).与我的结果非常不同.

以下是我执行的测试的详细信息:

测试是围绕应该迭代执行的简单操作构建的:

    private static float SingleAverageCalc(float seed, long nTimes)
    {
        float x1 = seed, x2 = …
Run Code Online (Sandbox Code Playgroud)

c# intel raspberry-pi windows-10-iot-core raspberry-pi3

-1
推荐指数
1
解决办法
8841
查看次数