使用DA14531简单多线程

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
9个帖子/ 0新
最后发表
joachimkr
离线
最后看到:3周11小时前
加入:2018-07-06 08:58
使用DA14531简单多线程

你好,

我用Keil IDE编写了一个应用程序,通过通知订阅节点来传输RFID阅读器结果。阅读器是我的硬件系统的一部分。在客户端请求读取器上的值更改通知后,启动硬件处理。
这是有效的,但它阻止了任何其他活动。
现在,我需要一个提示/简单的例子,我可以做到以下几点:

另一个相同的节点可以被指示使用这个作为继电器。这是网格的替代品,也需要适应小的RAM。因此,我想构建一棵树,其中根附近的节点具有某种优先级,但允许转发源并读取结果信息。DA14531不支持MESH,这对我来说完全没问题。我只需要使用相同的连接为多个GATT服务通道提供服务。而且,我需要支持3个或更多的连接,我用一个节点来监督网络,这个节点使用GATT服务来指导连接。没有自动,我想控制连接,并接受相应的优先级。
我想,我需要能够,使用另一个gatt通道/服务,将我的参数和开始活动放在那里,而我的主要活动仍在继续。
我已经观察到的是,在启动我的主循环后,在启动RFID后,没有其他GATT服务则再工作。
我用LED开关打开或关闭了它。直到我开始我的通知,它正常工作。启动时,LED切换GATT服务不再可到达。
我注意到,服务的广告也停止了——这在原则上是好的。但我认为这表明,其他任何活动都是不可能的。我的连接数被设置为1。但这是最引人注目的,还是还有更多?
这两种服务都使用了相同的连接,但我的RFID循环消耗了任何东西。我怎样才能暂停它,继续为关贸总协定服务?
为什么我的第一个通知服务占用了整个系统?(代码具有轮询性质,来自RFID前端的中断目前不可用)
作为第一步,我希望能够在RFID阅读器运行时使用我的LED开关服务。

谢谢你的帮助和提示!
joachim.

背景:任何节点,如PC或树莓,似乎限制连接的数量。有些人已经发现,这是在7个连接的范围内,同时。我需要连接大约100个设备。交通将足够小,以传递来自配偶的通知。

设备:
PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨Joachimm,

嗨Joachimm,

感谢您在线的问题,并享受您对我们的乐趣产品的兴趣。亚博电竞菠菜

让我检查一下,我会回复你。

DA14531是作为中心还是作为外围?

同时,请看看DA14585 / DA14586 - DA14531多级示例西南的例子。

此示例演示了单个外设如何连接到多个中心。DA14531能够支持最多3.此外,它还展示了如何根据不同的连接保持不同的特征值。

谢谢,PM_Dialog

joachimkr
离线
最后看到:3周11小时前
加入:2018-07-06 08:58
你好,

你好,
这实际上是一个有趣的例子,它显示了SDK ROM功能过载的预期困难。我的第一个答案是:
我的设备可以采用外围角色作用,广告所有服务和一个(完全有能力的)设备,如覆盆子PI,然后可以向所有设备写下整个管弦乐队的连接参数,因此任何将构建并保持最多3个连接。一个向上,2向下。从向下接收的数据被向上转发。
这能解释我的想法吗?两个向下的设备连接到向上的设备。

您是否看到我的设备的单线行为难以?我需要一种方法来将控件返回到库代码,因此它将提供多个GATT服务,我的某种方式轮询代码,目前将永远运行和独占。

非常感谢,
joachim.

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨,约阿希姆,

嗨,约阿希姆,

>>然后可以向所有设备编写整个管弦乐队的连接参数,因此任何将构建并保持最多3个连接。

关于这句话,你能澄清一下吗?因此,单个外围设备将同时连接到3个居民。因此,外围设备应将连接参数更新到所有3个连接的中心?

谢谢,PM_Dialog

嗨,约阿希姆,

>>然后可以向所有设备编写整个管弦乐队的连接参数,因此任何将构建并保持最多3个连接。

关于这句话,你能澄清一下吗?因此,单个外围设备将同时连接到3个居民。因此,外围设备应将连接参数更新到所有3个连接的中心?

谢谢,PM_Dialog

joachimkr
离线
最后看到:3周11小时前
加入:2018-07-06 08:58
你好,

你好,

您误解了一下,我的意图是,每个设备都有3个并发连接。2作为中央,为了将信息从下面的订购外围设备中转发,1中的一个外围的角色到下一个上层。结果是一系列树结构,其中我具有“网格”的基本功能 - 在较高的级别将其消息快速发送到最终中心。
正如我发现的那样,限制似乎在最高级别的7个并发连接附近。这意味着,我可以构建二叉树。
这个树形结构的建立需要一个掌握设备,它只是组织网络。

任何DA14531都需要支持两个外围设备和一个上中心节点。
配置(根据蓝牙MAC地址)将由专用应用程序设置,并将保存在非易失性内存中。

这更清晰吗?
谢谢您的支持,
joachim.

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨joachimkr,

嗨joachimkr,

是否有可能共享您的应用程序的高级框图,以便我们可以更好地理解它?

谢谢,PM_Dialog

joachimkr
离线
最后看到:3周11小时前
加入:2018-07-06 08:58
你好,

你好,
是的,当然。DA14531不支持网格,所以我寻找一个规避。我可以和一棵设备树一起生活,一些在中心附近,一些是树叶。叶子发送他们的事件,值变化到上一层。在那里,它被转发到下一个,以此类推。最后,消费(非da14531)设备旁边的设备发送来自较低级别的任何东西——它自己的值会发生变化。我的规避实现需要一个配置,在网络设置。管理设备将此设置中的连接数据和角色发送到任何设备。它们将其存储在非易失性存储器中。这是可以接受的,因为通常只做一次。 Does this make sense ?

问候,
joachim.

PM_Dialog
离线
最后看到:3天14小时前
工作人员
加入:2018-02-08 11:03
嗨joachimkr,

嗨joachimkr,

为延迟道歉。DA14531能够支持最多3个连接。但是,它不可能同时起到外围和中央。您可以执行角色切换。

谢谢,PM_Dialog

joachimkr
离线
最后看到:3周11小时前
加入:2018-07-06 08:58
你好,

你好,
感谢您对角色交换机的建议。我可能会发现,这意味着什么。

目前,我的计划是提供允许叶节点的GATT服务,将事件/值传递到两个服务,左右,其中值被接受,另一个服务,父节点(两者都具有相同的角色)可以注册待通知。
结果是一个二叉树,其中根节点为/所有子树单元发送/in权限通知。

每个单元充当转发器,可以通过通知生成自己的值。
带宽不是问题。我还可以将每个通知的数据压缩到20字节。

这棵树的设置可能需要切换,但我假设(请告诉我,如果我错了)所有树单元都可以保持外围模式,除了连接建立。我想要一个解决方案,在设置阶段分发树单位的mac,并触发树单位存储这些永久。我有一个闪光装置。

顺便提一句。TI有一个应用笔记,具有类似的想法。但我不明白设置阶段,并希望我自己的详细信息,以某种方式手动设置。

最好的祝福,
joachim.