我想学习.NET Microframework,发现有(尤其)Netduino与Arduino有某种兼容性.最近.NET Gadgeteer上市.有很多热情,所以它看起来像.NET Microframework的重要一步.
有可能以某种方式比较它们吗?我不确定哪些任务更好Netduino以及Gadgeteer的任务.或者他们实际上是完全不同的野兽?
我无法从主页上的信息中读到这些内容,因为主要是营销材料.
如果您想知道如何使用32feet.NET库与蓝牙设备通信,请阅读解决方案
我目前正在尝试通过蓝牙在计算机和自建的.NET Gadgeteer原型之间进行通信.
Gadgeteer原型包括主板,电源和蓝牙模块.模块处于可发现模式.
在计算机上,基于32feet .NET蓝牙的自定义蓝牙程序正在运行.程序检测范围内的所有蓝牙设备并尝试与它们配对.但是,目前还没有自动完成,我必须输入设备的配对代码.
如何在不输入配对代码的情况下配对设备?
找到设备,问题是配对部分.我做了很多实验,但没有找到解决方案......
foreach (BluetoothDeviceInfo device in this.deviceList)
{
try
{
//BluetoothClient client = new BluetoothClient(this.CreateNewEndpoint(localAddress));
//BluetoothEndPoint ep = this.CreateNewEndpoint(device.DeviceAddress);
EventHandler<BluetoothWin32AuthenticationEventArgs> handler = new EventHandler<BluetoothWin32AuthenticationEventArgs>(HandleRequests);
BluetoothWin32Authentication auth = new BluetoothWin32Authentication(handler);
BluetoothSecurity.PairRequest(device.DeviceAddress, null);
}
}
Run Code Online (Sandbox Code Playgroud)
此代码块启动配对并且它可以工作,但Windows要求我输入设备的配对代码.我读到了关于BluetoothWin32Authentication以防止这种情况,但我没有把它弄好.
private void HandleRequests(object that, BluetoothWin32AuthenticationEventArgs e)
{
e.Confirm = true;
}
Run Code Online (Sandbox Code Playgroud)
这是事件处理程序的代码(http://32feet.codeplex.com/wikipage?title=BluetoothWin32Authentication)
如果你只想让SSP设备连接时允许配对继续,那么处理回调和设置e.Confirm = True就足够了 - 但这有点不安全......
我很困惑-.-目标是应用程序和gadgeteer模块可以在没有任何用户干扰的情况下向两个方向发送数据.
没有用户交互,我无法自动配对设备吗?
是否真的如果两个设备已经配对,他们可以在没有用户交互的情况下交换数据?
基于什么是公开的,有人可以使用.NET Gadgeteer与Kinect进行交互吗?
可能需要对司机做什么(如果有的话)?
如果您有兴趣,这里有一个Channel9视频,向您展示如何使用VS2010创建嵌入式应用程序.它将于2011年春季发布.
我想使用蓝牙智能协议/ GATT构建物联网(IOT)设备.我有点困惑,我是如何使这符合BLE规范. 列出的所有配置文件似乎都专注于健康问题,而我在实现其他应用程序的概念上也遇到了麻烦.
假设这个设备是咖啡机,我想:
题
我正在使用以下代码读取发送到串行端口(即COM3)的数据:
_serialPort.PortName = "COM3";
_serialPort.BaudRate = 9600;
_serialPort.Parity = Parity.None;
_serialPort.DataBits = 8;
_serialPort.StopBits = StopBits.One;
_serialPort.ReadTimeout = 500;
_serialPort.WriteTimeout = 500;
_serialPort.DataReceived += new SerialDataReceivedEventHandler(_serialPort_DataReceived);
_serialPort.Open();
Run Code Online (Sandbox Code Playgroud)
来自该串行端口的数据是命令,可以是以'\ 0'结尾的任何长度的字符串.我正在寻找有关如何有效读取此类数据的最佳实践.我认为生产者/消费者模式可能是最好的,其中:
这是处理这个问题最有效的方法吗?是否有任何类型的阻塞串行读取功能不依赖于dataReceived事件?
我目前正在尝试将 .NET JSON 编码器转换为 NETMF,但遇到了问题,Convert.ToString()
因为 NETMF 中没有这样的东西。
编码器的原始行如下所示:
Convert.ToString(codepoint, 16);
Run Code Online (Sandbox Code Playgroud)
在查看了文档后,Convert.ToString(Int32, Int32)
它说它是int32
通过提供 int 作为第一个参数和提供基数作为第二个参数来将 an 转换为 int 2、8、10 或 16。
有哪些低级代码可以说明如何执行此操作或者我将如何执行此操作?
正如您从代码中看到的,我只需要从 an 转换Int32
为Int16
。
编辑
啊,编码器接下来也想做:
PadLeft(4, '0');
Run Code Online (Sandbox Code Playgroud)
在字符串上,这只是在字符串的开头添加 4 '0' + '0' + '0' + '0' 吗?