Project

adam6050

0.0
No commit activity in last 3 years
No release in over 3 years
This library implements a server that emulates the functionality of the network connected Advantech ADAM-6050 digital IO module. Specifically the UDP protocol that the unit speaks has been reverse engineered. Since I don't have an actual device to test with the response messages from the server may differ from what they should be. It all works well enough for interfacing with Synology Surveillance Station which is the original intent.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.16
~> 5.0
~> 10.0
~> 3.4
~> 0.52
~> 0.16
~> 0.9
 Project Readme

ADAM6050

Gem Version Build Status Inline docs Documentation

Advantech ADAM-6050 IO module

This library implements a server that emulates the functionality of the network connected Advantech ADAM-6050 digital IO module. Specifically the UDP protocol that the unit speaks has been reverse engineered. Since I don't have an actual device to test with the response messages from the server may differ from what they should be. It all works well enough for interfacing with Synology Surveillance Station which is the original intent.

More information about the module can be found on the Advantech product page which among other things links to its manual.

Installation

Add this line to your application's Gemfile:

gem 'adam6050'

And then execute:

$ bundle

Or install it yourself as:

$ gem install adam6050

Usage

require 'adam6050'

server = ADAM6050::Server.new
server.run do |state, prev_state|
    # React to the new state
end

TODO

-[ ] Improve the reliability of the server tests that involve socket connections. Hard coded delays are no good.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/seblindberg/ruby-adam6050.

License

The gem is available as open source under the terms of the MIT License.