我在设计系统时遇到问题,需要帮助。
我的系统包括:
Zigbee module
Sensor
Raspberry pi
Website
SMS Gateway
zigbee,传感器和覆盆子pi之间的连接都已整理好。
(zigbee,传感器覆盆子pi)包有多个集合,每个集合都应在网站上管理。每当树莓派检测到破坏时,它应该发送某种通知,这些通知将发送给预先确定的用户,这些用户必须接收带有链接的SMS,该链接向他们提供有关哪些树莓派报告了破坏以及覆盆子pi属于谁的信息。
到目前为止,我已经使用asp.net mvc5设计了一个网站,运行正常,您可以创建新的覆盆子pi,将它们分配给房屋等等。因此,完成了对数据库的所有简单插入/删除/编辑。
我使用Web API使raspberry pi能够更改数据库中的数据,因此每当它检查是否可以找到属于它的传感器时,它将产生如下所示的PUT:
public HttpResponseMessage Put([FromBody] ICollection<Sensor> changedSensors )
{
ICollection<Sensor> sensorsNotRecognized = new Collection<Sensor>();
if (_repo.ChangeSensors(changedSensors) && _repo.Save())
{
foreach (var sensor in changedSensors)
{
if (sensor.Recognized == false)
sensorsNotRecognized.Add(sensor);
}
if (sensorsNotRecognized.Count > 0)
{
//REACT (SOME SENSORS NOT RECOGNIZED)
//TODO react
}
return Request.CreateResponse(HttpStatusCode.OK);
}
return Request.CreateResponse(HttpStatusCode.BadRequest, changedSensors);
}
我现在想要的是,如果其中一个传感器尚未设置为已识别,我需要通知属于使数据库更新的树莓派的用户。
我目前没有实施任何类型的会员制度,我想知道的是: 我已经研究过SignalR,可以用来通知用户吗?如果是这样,怎么样? 我应该使用asp.net会员系统还是实现自己的?
项目的git在这里:https://github.com/Niclassg/lenio
答案 0 :(得分:1)
我使用服务总线:http://azure.microsoft.com/en-us/documentation/articles/fundamentals-service-bus-hybrid-solutions/
我正在使用&#34;主题&#34;