【发布时间】:2014-10-09 10:10:34
【问题描述】:
我在设计系统时遇到问题,需要帮助。
我的系统包括:
Zigbee module
Sensor
Raspberry pi
Website
SMS Gateway
zigbee、sensor和raspberry pi的连接都搞定了。
(zigbee、sensor raspberry pi)包有多个集合,每个集合都应在网站上进行管理。每当树莓派检测到入侵时,它应该发送某种通知,这些通知将发送给预先确定的用户,这些用户必须接收带有链接的短信,该链接向他们提供有关哪个树莓派报告了入侵以及树莓派属于谁的信息.
到目前为止,我已经使用 asp.net mvc5 设计了一个网站,它运行正常,您可以创建新的树莓派,将它们分配给房屋等等。这样就完成了对数据库的所有简单插入/删除/编辑。
我使用 Web API 使树莓派能够更改数据库中的数据,因此每当它检查是否可以找到属于它的传感器时,它都会生成如下所示的 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
【问题讨论】: