新手问题 使用 Ruby on Rails 實現收取工業設備資訊

neo0988 · 2016年05月06日 · 最后由 bastengao 回复于 2016年05月12日 · 2830 次阅读

使用 ruby on rails 實現收取工業設備資訊

請問各位先進 我想在 ruby on rails 實現收取工業設備上的資訊 列如:類比 or 數位 資料擷取模組、轉換模組 (RS-232 轉 RS-422/485 模組)、工控機、PLC 資料收入資料庫再用 ruby on rails 網頁呈現 主要是想要呈現 目前&歷史紀錄 溫度、濕度、電壓之類的訊息 不知是否可行? 或是有處理過相關案列的範例可以提供參考?

謝謝

只是要存储&展示信息?

#1 楼 @cysh 及時展示信息 => 趨勢流量圖 + 大塊警示方塊 存儲 => 歷史資料備查&分析 目前能做到這些就可以滿足需求了

有 wifi 模块吗?或者带 wifi 的设备?

下位机用 Arduino 的话甚至可以用 ruby 进行数据采集,无缝衔接 AD。

http://artoo.io/documentation/platforms/arduino/

Web 显示方面 rails 是强项,特别是这种不存在大量并发的情况。

设备 <-----> 设备,之间的通讯方式有很多,自己封装或者用现成的模块/库都行,需要一个带网卡的网关,把采集上来的数据传输给云端。

设备 <-----> 服务器,设备上报信息给服务器是一个难点,如果你的设备量小、实时性低、不需要服务器实时操作设备的话,可以直接用 http 协议。如果量大,而且需要用服务器远程控制设备,可以用 MQTT 协议,很多国内厂商的模块都支持。但是 Ruby 的 MQTT client 库只支持 MQTT 协议中的 QOS0 发送方式,可能需要根据自己业务调整用其他完善的 MQTT client。或者说自己有精力,也可以自己封装一个自己私有 socket 协议。

总的来说就是设备不断的 publish 消息到服务器,然后服务器收到消息后将数据持久化。

最后将持久化的数据展示到网页上去。如果网页也需要实时显示的话,可以用 Websocket 连接 MQTT Server,监听相应设备的消息。

网页图表显示之类的,github js 库很多了。

自己写 snmp 的 mib

不太明白你具体的情况,只能给出我之前的经验。设备通过移动网络传输二进制数据到服务器,服务器端通过 eventmachine 获取二进制数据,然后将二进制数据转换为 asscii 码展现到网页上。

宝岛友人? RS232 我是用过的,貌似是 serial_port gem,反正没感觉有什么不能做

#4 楼 @adamshen 我對 Arduino 沒接觸過,只是有看過一些介紹,不知是否適合放在機房使用? 外加一些溫濕度感應器,(環控DIY),再轉成用 Ruby on Rails 網頁呈現,以後就可以不用每天抄表了!?

#9 楼 @alex_l_zhang 我想我們講的是同一件事,可以麻煩給我一些範例跟建議嗎?

#10 楼 @mizuhashi 是的,我在台灣,初接觸 RoR 讓我躍躍欲試 一直想把有興趣的工控結合 ROR 做出一點作品呈現

#7 楼 @liwei78 自己寫 snmp 的 mib!? 這對我實在有難度呀!

#11 楼 @neo0988 采集温湿度会比较简单。硬件只需要一个温度传感器、一个湿度传感器再加上一个 WIFI Shield(可以解决网络的问题)。然后把 Arduino 写个简单的 Web 服务器,访问 Arduino 就可以获取温湿度信息。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号