提问者:小点点

微软团队:机器人没有回调URL


我正在尝试使用Microsoft Teams来控制Raspberry Pi设备。

基本上,我想象我会编写一个应用程序在树莓派上运行。当它运行时,微软团队会出现Pi,并说“你好,我的IP地址是192.168. x.x”。Pi有灯,所以我想让他们听对话,并通过提及接受命令。例如@pi打开灯或类似的。

我一直在阅读微软团队机器人的API。https://msdn.microsoft.com/en-us/microsoft-teams/custombot

这一切都很有趣,但我不确定自定义机器人是否是我想要的:

  1. 自定义机器人需要回调url。我的Pi在防火墙后面,所以这是不可能的。他们需要在某个地方轮询并检索消息。
  2. 我不想开发(然后支付和维护)网关webapp来绕过1。

自定义机器人是正确的方法,还是我需要编写一个Microsoft团队客户端才能在Pi上运行?


共2个答案

匿名用户

实现这一点的一种方法是使用Azure IoT中心,而无需编写Web应用程序。在订阅中创建IoT中心并在服务中注册设备后,它将有一个消息队列的endpoint,您可以针对该endpoint与机器人进行通信。我使用Rasberry Pi模拟器的示例代码测试了设备通信,它运行良好。创建一个设备双胞胎,以便您可以在中心监控Rasberry Pi设备,然后继续学习Teams机器人教程。

匿名用户

由于Microsoft Teams是基于云的,因此您构建的任何扩展,无论类型如何(自定义机器人或机器人框架机器人),都必须是外部可寻址的。@sqlsolver有一个有趣的解决方案,我不能对此发表评论,但总的来说,您可以研究其他隧道解决方案,如Ngrok,以打开本地端口…这将为您提供一个外部可寻址的URL,用于您想要的任何功能。请记住,这不是生产级解决方案,但可以让您畅通无阻。