我正在使用在Raspberry Pi下运行的XAML开发通用Windows平台应用程序Windows 10 IoT Core.该应用程序驱动I2C总线上的温度传感器.传感器类是MLX90614Thermometer.传感器使用a DispatcherTimer每100毫秒(大约)获取读数并更新移动平均值.当移动平均值变化超过指定阈值时,传感器会引发ValueChanged事件并在事件args中提供新值.
在我的ViewModel类中TemperatureSensorViewModel,我订阅了传感器的ValueChanged事件并使用它来更新命名的绑定属性Ambient,Channel1和Channel2.这些属性绑定到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
我正在尝试创建一个初始化树莓和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) 我有一个程序,希望从我的UWP App中启动本地应用程序(例如Spotify)。我已经在网上搜索了一种解决方案,因为(Process.Start())无法正常工作。据我了解,出于安全性和稳定性的原因,UWP应用程序是一种沙盒。但是,有没有一种(简单的)方法可以解决此问题。
我只希望能够在自己的框架/窗口内启动和关闭程序。无需在我的应用程序和外部程序之间进行交互/发送/接收数据
多个 C# 应用程序能否在 raspberry pi 2 模型 b 上并行运行?设置默认启动应用程序很容易,但有没有办法同时运行多个应用程序?如果是这样,我如何在 UI 中在它们之间切换?
是否可以向Windows IoT Core添加语言包?我正在使用SpeechRecognizer API,并希望添加其他语言.从我在代码中看到的情况来看,只有en-US是默认安装的可用语言.
我的 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) 似乎与此相关: 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"为目标的项目中,但该软件包不包含任何与该文件兼容的程序集引用或内容文件.有关更多信息,请与软件包作者联系.
但我不知道如何解决它.我也看到一个网站建议删除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
我做了一个简单的性能比较,侧重于使用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# ×3
uwp ×3
xaml ×2
asynchronous ×1
intel ×1
launcher ×1
mvvm-toolkit ×1
powershell ×1
raspberry-pi ×1
winapi ×1