使用Xabre从BLE 4.0接收数据

时间:2018-09-10 19:51:04

标签: c# xamarin bluetooth-lowenergy

当前,我有一个相当简单的Arduino项目,可以执行以下操作:

if (BTSerial.available())
{
  c = BTSerial.read();
  Serial.print(c);

if (c == 1) {
  digitalWrite(ledpin, HIGH);
  delay(100);
  BTSerial.write("Hello");
}

上面的代码一旦从连接的设备接收到字节,就返回一个字符串。 我已经使用LightBlue Explorer测试了此功能,并确认它可以正常工作!

但是,我打算自己制作的Xamarin应用程序并非如此。 目前,我已经编写了以下代码:

public UtilityPage()
{
        Scan_Page();
        InitializeComponent();

        //Method for updating characteristic   
        MyDevice.characteristic.ValueUpdated += (sender, e) =>
        {
            var text_returned = e.Characteristic.Value;
        };
}

//Push page on top of this in order to connect to pheripheral 
async void Scan_Page()
{
        await Navigation.PushModalAsync(new MainPage());
}

上面发生的事情是,我在UtilityPage顶部推了一个模态,其中包含一个listview以及要连接的设备。连接设备后,将弹出模态。

当我按下手机上的一个按钮(代码遗漏)时,它应该发送一个字节字符串,反之亦然从Arduino那里收到一个。它发送字节字符串,但没有接收到字节字符串,这意味着主要问题是MyDevice.characteristic.ValueUpdated,它显然没有侦听来自连接的外围设备的任何通知。

我正在使用的Xamarin插件称为Xabre

0 个答案:

没有答案