小编and*_*yne的帖子

.NET访问802.15.4无线收发器

亲爱的Stack Overflow社区,

我写信希望你能帮我连接到使用C#或C++的802.15.4无线收发器.让我解释一下我的项目.本学期,我花了一些时间开发出一种无线传感器板,可以每隔8秒将光,温度,湿度和运动检测水平传输到USB无线收发器.现在,我没有开发USB收发器.该课程的其中一个TA是,他在我的传感器板的整个开发过程中帮助了我(这是我的第一个真正的PCB).

现在,我已经对传感器板进行了编程,我知道它正在将数据发送到收发器.我知道这个的原因是这个TA编写了一个简单的python模块,可以从收发器中获取最新的信息包(无论何时收到),解压缩十六进制消息,并将一些传感器数据转换为工作单元(如度摄氏度,%相对湿度等)

问题是python模块在他的计算机(Mac)上运行,但在我的计算机上运行(Windows 7).基本上,他正在使用一个名为zigboard的库来解压传感器消息,以及草图中的pyusb和pyserial库.802.15.4无线收发器在Mac上自动枚举,但在PC上运行时会遇到更大的问题.基本上,我认为问题在于缺乏签名的驱动程序.我正在使用libusb为这个特定的设备生成.inf文件......我知道它在我的机器上工作,因为我的传感器板和收发器上有一个LED,当发送/接收消息时它会闪烁.但是,当我运行这个TA在他的机器上运行的相同python模块时,我收到一条错误消息,指出错过了一些Windows后端二进制文件,因此,它从未真正进入返回数据的阶段.

但是,更大的问题不在于这个python模块.更大的问题是我不想使用Python.这个传感器板将成为一个大型项目的一部分,我将在其中设计一个C#或C++的软件接口来做许多不同的事情(其中一些是处理这个传感器数据).因此,最终我希望能够在.NET中工作,以便从此收发器访问数据.但是,我必须要做的就是这个python草图(它甚至不能在我的机器上运行).我知道最简单的事情就是问这个TA更多关于如何在我的机器上工作的问题...但是我已经在这个学期关于这个项目垄断了大量的时间,而且他目前已经离开镇.此外,他的偏好是python,因为我最喜欢C#或C++,并希望将此环境用于此项目.现在,我会说我在电子和编程方面很有能力(但肯定不是专家......我的背景实际上是建筑学).但是,如果有人可以帮助我开发一些代码,以便我可以解开从板发送的传感器消息,我将不胜感激.我已经附上了下面的Python草图,这是TA用来在他的机器上解压缩传感器信息的内容(但就像我说的......我的Windows机器上有问题).有没有人有什么建议?

再次感谢.

from zigboard import ZigBoard
from struct import unpack
from time import sleep, time

zb = ZigBoard()
lasttime = time()

while True:
    pkt = zb.receive()
    if pkt is None:
        sleep(0.01)
        continue
    if len(pkt.data) < 10:
        print "short packet"
        sleep(0.01)
        continue

    data = pkt.data[:10]
    cmd, bat, light, SOt, SOrh, pir = unpack("<BBHHHH", data)
    lasttime = time()

    d1 = -39.6
    d2 = 0.01 

    c1 = -2.0468
    c2 = 0.0367
    c3 = -1.5955E-6

    t1 = 0.01 …
Run Code Online (Sandbox Code Playgroud)

c# c++ python

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

序列化运行脚本文件

我有一个项目正在使用Sequelize来管理一组 MySQL 数据库。到目前为止,我已经能够运行简单的查询来创建新数据库、将参数插入表中并选择数据...但是,我有一个很长的 .sql 文件(+1,700 行),执行时将设置一个具有特定模式(即表、视图等)的数据库。问题是我无法弄清楚如何使用sequelize 执行这样的脚本。我知道该脚本适用于新数据库,因为我可以从 MySQL Workbench 执行 sql 文件,但是我不知道如何使用续集从 javascript 文件执行脚本。我搜索过论坛,但似乎也找不到任何资源。这可以做到吗?

mysql node.js sequelize.js

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

WIX在安装时运行vcredist_x64.exe

我有一个在VS 2015中编译的应用程序,需要VC++ Redistributable包才能正常运行.在此最新版本之前,我们使用的是旧版本的VS,只是使用合并模块来处理相应redist文件的安装.但是,我注意到在2015年使用最新版本的合并模块(Microsoft_VC140_CRT_x64.msm)时,我的应用程序仍然无法开箱即用. 我做了一些挖掘,看来有些东西已经改变了最新版本的合并模块.看来Microsoft现在建议直接安装vcredist_x64.exe软件包而不是使用合并模块.

所以,我正在尝试创建一个自定义操作来执行此操作.我在这里遵循类似的教程,尽管它适用于VC Redistributable可执行文件.我需要做的第一件事是设置安装后将放置.exe文件的位置:

<Directory Id='APPLICATIONROOTDIRECTORY' Name='MyApp'>
  <Directory Id="VCREDISTDIR" Name="VCRedist">
  </Directory>
</Directory>
Run Code Online (Sandbox Code Playgroud)

然后,我需要将我的文件添加到一个组件组中,该组件组将作为隐藏功能的一部分进行安装(因为我希望自动安装).

<ComponentGroup Id="VCRedist" Directory="VCREDISTDIR">
  <Component Id="vcredist_x64.exe" Guid="-INSERT-GUID-HERE-" Win64="yes">
    <File Id="VCREDISEXE" Name="vcredist_x64.exe" KeyPath="yes" Source="$(var.VCRedistSourceDir)" Checksum="yes"></File>
  </Component>
</ComponentGroup>
Run Code Online (Sandbox Code Playgroud)

和...

<Feature Id="VCRedistributable" Title="Visual C++ Runtime" AllowAdvertise="no" Display="hidden" Level="1">
  <ComponentGroupRef Id="VCRedist" />
</Feature>
Run Code Online (Sandbox Code Playgroud)

此时,应将vcredist_x64.exe复制到最终用户的计算机.现在,我需要创建一个自定义操作以在安装后启动可执行文件.

<CustomAction Id="InstallVCRedistributable"
          FileKey="VCREDISEXE"
          Execute="deferred"
          ExeCommand="/silent"
          Impersonate="no"
          Return="check"/>

<InstallExecuteSequence>
  <Custom Action="InstallVCRedistributable" Before="InstallFinalize">
    <![CDATA[NOT REMOVE]]>
  </Custom>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

我还在我的UI中包含一条状态消息,以便我可以看到可执行文件的执行时间.

<UI>
  <ProgressText Action="InstallVCRedistributable">Installing Visual C++ Redistributable for Visual Studio 2015</ProgressText>
</UI>
Run Code Online (Sandbox Code Playgroud)

现在,当我运行我的安装程序时,它应该启动vcredist_x64.exe ......它确实......但是在安装该可执行文件期间它会被挂起.我收到一条弹出消息,指出此Windows …

wix vcredist visual-studio-2015

7
推荐指数
2
解决办法
5859
查看次数

Alamofire http请求到本地网络服务器

我正在开发一个iPhone应用程序,计划是每隔一段时间从应用程序向本地网络服务器发送一个JSON数据包.为此,我曾计划使用Alamofire.我的POST方法如下所示:

Alamofire.request(Alamofire.Method.POST, "http://XXX.XX.X.XX:3000/update", parameters: dictPoints, encoding: .JSON)
    .responseJSON {(request, response, JSON, error) in
    println(JSON)
}
Run Code Online (Sandbox Code Playgroud)

IP地址已标记出来,但我已确保这对应于本地服务器的IPv4无线地址.服务器设置为侦听端口3000.服务器配置如下所示:

var express = require('express');
var app = express();
var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/test');

var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function (callback) {
  console.log("MongoDB connection is open.");
});

// Mongoose Schema definition
var Schema = mongoose.Schema;
var LocationSchema = new Schema({
    //some schema here
});

// Mongoose Model definition
var LocationsCollection = mongoose.model('locations', LocationSchema);

// URL management
app.get('/', function (req, …
Run Code Online (Sandbox Code Playgroud)

ios express alamofire

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

ML.NET 使用动态类创建预测引擎

我有一个 ML.NET 应用程序,我必须在编译后动态创建接口 IDataView 以用于训练。我找到了这个线程,并且我已经能够成功地为训练数据集创建动态接口,然后用它来训练模型。当我尝试使用相同的界面以便使用经过训练的模型创建预测时,我的问题就出现了。文档显示您应该创建一个预测引擎,您必须在其中定义输入和输出类类型才能创建引擎。就像是:

mlContext.Model.CreatePredictionEngine<TSrc,TDst>(ITransformer, DataViewSchema)
Run Code Online (Sandbox Code Playgroud)

其中TSrcTDst是编译时已知的类类型。我的问题是我在编译时不知道输入类类型的结构,并且必须为输入数据源创建动态接口。由于参数已知,因此可以定义输出类对象,但我不确定如何继续进行动态输入。

我想我可以尝试在接口上使用类似GetType()的东西,但它说“隐式类型变量不能有多个声明符”。我的简化示例如下所示:

public class ModelOutput
{
    public string PredictedLabel { get; set; }
    public float[] Score { get; set; }
}

public class MakePrediction
{
    protected void Solve(IDataView data, ITransformer model)
    {
        var mlContext = new MLContext();
        var engine = mlContext.Model.CreatePredictionEngine<data.GetType(), ModelOutput>(model, data.Schema);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# ml.net

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

在Swift中从Class创建JSON对象

我对iOS开发和Swift很新(所以请耐心等待).我有一个像这样定义的类对象:

class LocationPoint {
    var x: Double
    var y: Double
    var orientation: Double

    init(x: Double, y: Double, orientation: Double) {
        self.x = x
        self.y = y
        self.orientation = orientation
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的委托中,我创建了一个类的实例并将其附加到一个数组(在委托之外声明):

var pt = LocationPoint(x: position.x, y: position.y, orientation: position.orientation)
self.LocationPoints.append(pt)
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.我可以在viewcontroller中的textview对象中显示数组值,并且每次更新时肯定会添加值.

现在,我想要做的是在数组计数达到限制(比如说100个值)之后,然后将其打包为JSON对象,并使用HTPP请求将其发送到Web服务器.我最初的想法是使用SwiftyJSONAlamofire来帮助解决这个问题......但如果我试图将问题分解成更小的部分,那么我需要:

  1. 从LocationPoints数组创建JSON对象
  2. 创建HTTP请求以将JSON数据包发送到Web服务器

现在,我只是想解决第1步,但似乎无法开始.我已经使用CocoaPods安装了两个pod(SwiftyJSON和Alamofire),但我不知道如何在我的viewcontroller.swift文件中实际使用它们.任何人都可以提供有关如何从自定义类结构创建JSON对象的一些指导?

swift alamofire swifty-json

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

使用Jquery Draggable Div在拖动期间设置位置

我一直在研究一个脚本,它将可拖动div的限制限制为一个圆圈(而不是一个矩形的父div).我找到了这个主题:如何约束圆圈区域内的运动,这似乎解决了我的一些问题.我已经有了适当的函数,当我在drag函数中调用这些函数时,它将返回div的正确x和y位置.我知道这是因为我可以在拖动功能期间检查控制台日志并检查div的位置.但是,我的问题是我似乎无法在拖动事件期间设置实际位置.控制台报告正确的位置值,但div实际上从未被约束到圆形边界.例如,如果我将div拖动到圆的中心,然后将其垂直向上移过圆边界... div不会停在圆圈处,但是控制台会将位置固定到[0,50]// 50是X和Y轴上圆的中心.我读了一些其他线程,我可能不得不使用一个帮助器对象,但我似乎没有使用这种方法.我发布了一个简化的例子,希望有人可以提供帮助.谢谢.

this.light = document.createElement("div");
this.light.style.position='absolute';
this.light.style.left="20px";
this.light.style.top="40px";
this.light.style.width="20px";
this.light.style.height="20px";

$(parentdiv).append(this.light);

var circle_cenx = 50.0;
var circle_ceny = 50.0;
var circle_radius = 50.0;

$(this.light).draggable({ 
    drag: function( event, ui ){
        var position = $(that.light).position();
        var result = limit(position.left+10, position.top+10, circle_cenx, circle_ceny);
        $(that.light).css({'top': result.y, 'left': result.x});
        position = $(that.light).position();
        console.log(position);
    }
});

function limit(x, y, cenx, ceny) {
    var dist = distance([x, y], [cenx, ceny]);
    if (dist <= circle_radius) {
        return {x: x, y: y};
    } 
    else {
        x …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-ui-draggable

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

使用body-parser解析嵌套的JSON并表达

我有一个iOS应用程序,它将一个JSON数据包发送到网络服务器.网络服务器代码如下所示:

var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var app = express();
mongoose.connect('mongodb://localhost/test');

var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function (callback) {
  console.log("MongoDB connection is open.");
});

// Mongoose Schema definition
var Schema = mongoose.Schema;
var LocationSchema = new Schema({
    X: Number,
    Y: Number,
    Orientation: Number,
    UserID: String,
    Time: String
});

// Mongoose Model definition
var LocationsCollection = mongoose.model('locations', LocationSchema);

// create application/json parser
var jsonParser = bodyParser.json();

// URL management
app.get('/', …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js body-parser

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

ListView所选项目样式覆盖

我有一个WPF ListView,我也想应用自定义样式...主要是我想使listview框的背景透明而没有边框...并且我想覆盖突出显示和选定的项目样式。默认突出显示为半透明的蓝色,所选项目为灰色。我想覆盖这些以自定义它们。我跟着几个线程和教程......包括本一个,但是,我的高亮和选择项保留在默认的样式。这就是我所拥有的。

<UserControl.Resources>
    <ResourceDictionary>
        <Style x:Key="ListViewStyle" TargetType="ListView">
            <Setter Property="Background" Value="Transparent"></Setter>
            <Setter Property="BorderThickness" Value="0"></Setter>
            <Setter Property="BorderBrush" Value="Transparent"></Setter>
            <Style.Resources>
                <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Red" />
                <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Green" />
            </Style.Resources>
        </Style>
    </ResourceDictionary>
</UserControl.Resources>

....

<ListView Style="{StaticResource ListViewStyle}" ItemsSource="{Binding Path=Items}" ScrollViewer.VerticalScrollBarVisibility="Disabled" SelectedItem="{Binding Path=DataContext.Current" >
    <ListView.ItemTemplate>
        <DataTemplate DataType="local:Cases">
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                <!-- Some UI Controls Here  -->
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>
Run Code Online (Sandbox Code Playgroud)

wpf

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