我刚刚开始用XBee S2和Arduino进行一些研究,我不确定我是否正在做我实际计划的事情。
我的想法是只使用一个Arduino和一个XBee(协调器),它将从路由器XBee接收DHT11数据(没有另一个arduino来处理DHT数据)并将协调器的温度和湿度保存在数据库中。 搜索一些结果我发现XBee无法将DHT11传感器信号发送到另一个XBee(我以为我可以通过某个路由器XBee Pin发送DHT数据)。
那么你们对我如何解决这个问题有任何想法吗?因为在我的路由器XBee中使用另一个arduino会浪费电池,失去传感器网络的目的吗?你们建议我改变传感器或者什么?
此外我使用的是Arduino Uno,Libellium XBee Shield,XBee S2,当然还有DHT11。
答案 0 :(得分:0)
根据DHT11 Adafruit page,我说你需要一个额外的处理器来读取数据:
...并在数据引脚上吐出数字信号(无模拟输入 需要的针脚)。它使用起来相当简单,但需要仔细计时 抓住数据。
您可能需要考虑Digi的Programmable XBee产品之一,其中包括无线电模块上的额外8位Freescale处理器,您可以编程读取DHT11并将其数据传输到您的协调。当然比使用Arduino进行转换的解决方案更便宜。
或者,切换到具有不需要数字转换的模拟输出的湿度传感器。 SparkFun的Honeywell HIH-4030 Breakout board看起来合适。
如果你的目标只是拥有一个远程湿度传感器,最后一个选择就是从Digi购买一个独立的电池供电传感器。他们有一个light/temperature/humidity sensor(这里是datasheet),里面有一个XBee,应该很容易与你的Arduino接口。它被设计为在电池上长时间有效运行。我的理解是它使用XBee的模拟输入来传递传感器读数。