0

我需要做一些相当简单的(至少在表面上)数据采集和记录。在偏远地区(如在另一个大陆),将有一些使用专有协议的 RS-485 设备(我们的定制硬件产品),以及一个气象站(风速计和风向标)。对于气象站,我有两个选择:一个将风速输出为方波频率,将方向输出为模拟电压;另一个使用 HID 接口通过 USB 进行通信。这些设备连接的机器需要收集数据、记录数据,并通过 WiFi 连接定期在 Internet 上传输数据。这种传输可以是推或拉——也就是说,我可以定期远程访问机器以获取最新数据,或者机器可以定期将数据上传到 FTP 站点或 Web 服务。

我有一个 .NET 应用程序,它已经完成了大部分工作,针对 .NET 4 编写。它是一个 GUI 交互式应用程序,可显示测量数据并将其记录到文件中。(实际上,我有两个版本的细微差别——一个基于 Winforms,另一个 WPF。)

我有大约一周的时间来开发远程安装解决方案,包括识别和购买任何必要的设备、进行任何必要的编码并使其工作。哦,它必须很便宜。(比如,低于 500 美元会很好。任何超过 1,000 美元的东西都不会启动。)

我想到或建议给我的一些事情:

  • 使用带有 RS-485 转 USB 接口的廉价上网本。好吧,也许……但我真的不希望这会在环境中成立。例如,硬盘驱动器不会喜欢过热或过冷。SSD 是一种选择,但至少还要再花 100 美元,而且我仍然不相信这台机器能承受住湿度和小动物。我可以把它放在一个外壳里,但那是另一项费用。总而言之,我只是觉得这种方法比它需要的更昂贵和复杂,而且不太可能那么可靠。
  • 使用小型单板或工业计算机。这些通常是坚固耐用的,并且许多具有 RS-485 端口和内置的看门狗定时器。有些甚至具有通用数字 I/O。到目前为止,我还没有找到任何带有模拟电压输入的东西,但那些可能也存在。此外,它们通常使用 CompactFlash 卡进行存储。这感觉是正确的近期方法,但运行 Windows 的通常运行它的一些嵌入式版本(如 Windows CE 或 Windows XP Embedded)——这可能很棒,除了我没有这些经验并且不知道启动并运行我的软件需要做多少工作。此外,它们通常具有非常低功率的处理器,我真的不知道我需要什么样的功率。我的应用在现代桌面上运行良好;我不知道它是否也能在这些低端 CPU 上正常工作。其中一些宣称它们与 .NET 2.0 兼容,但我没有看到任何过去的东西,所以至少我可能不得不将所有内容向后移植到 .NET 2.0。哦,到目前为止,我发现的许多计算机都非常昂贵。
  • 使用无线串行服务器这些东西在网络上放置了一个串行端口。您可以远程连接到它,并且串行端口似乎是本地 COM 端口,即使它可能位于世界任何地方。这是RS-485的一种选择。它避免了必须远程管理 PC 并使我的软件远程工作的问题。但是,我担心到世界另一端的 Internet 连接的带宽和可靠性,这对 USB HID 设备没有帮助。(不过,如果事实证明这是一个好方法,我也许可以找到该设备的 RS-485 版本。)
  • 使用数据记录器。这些似乎也相当昂贵——尤其是那些有 WiFi 的——而且我还没有找到任何可以满足我需要的东西。特别是,我们的 RS-485 设备的高数据速率和专有协议似乎是一个障碍。(其中许多设计用于 MODBUS 设备。)基于 USB HID 的气象站不适用于这种方法,所以我必须使用输出频率和电压的气象站。
  • 使用低成本的嵌入式微控制器解决方案。长期(例如未来的项目),这可能是最好的方法。它很便宜,我可以对其进行编程以完全满足我的需要。不过,我不认为自己会在一周内完成这项工作。这是对我的软件的完全重写,并在新的 CPU 和开发环境上加速。

有没有人有这种问题的经验?你能想到的最简单、最便宜、最可靠的方法是什么?我应该看哪些产品或方法?

4

2 回答 2

1

也许NetDuino+可能会有所帮助。它很便宜,但您必须考虑电源、RS232<>RS485 转换器、WiFi 和外壳。它支持 .NET Micro Framework,因此您可以重用大量 C# 代码。它还具有模拟和数字 IO。 GESBC-9260S具有内置 RS485、可选 WiFi、模拟和数字 IO。上面有 Linux,所以你可能会使用 Mono 来使用你的 .NET 代码。

于 2011-06-07T10:56:24.690 回答
0

我最终选择了运行Windows Embedded Standard 7的CompuLab fit-PC2。对于 RS-485 输入,我使用了B &B Electronics的隔离式 RS-485 转 USB 接口。我最终跳过了风速计和风向标的接口,这大大简化了问题,因为现在我只需要与我的 RS-485 串行设备进行通信。

事实证明,fit-PC 是一个很好的解决方案:

事实证明,Windows Embedded 也很容易处理。我将我的应用程序移植到 Windows 服务,该服务在系统启动时自动运行并将数据输出到远程 MySQL 数据库。Windows Embedded 不包含 .Net 4 的功能,因此我必须单独安装它,否则一切都可以完美地从我的开发系统移植到嵌入式系统。

于 2011-06-27T20:14:31.550 回答