bacnet
Version, currently 1.0.116 versions
- 1.0.1latestJul 31, 2026
- 1.0.0not indexedJul 31, 2026
- 0.11.0not indexedJul 31, 2026
- 0.10.10not indexedJul 31, 2026
- 0.10.9not indexedJul 31, 2026
- 0.10.8not indexedJul 31, 2026
- 0.10.7not indexedJul 31, 2026
- 0.10.6not indexedJul 31, 2026
- 0.10.5not indexedJul 31, 2026
- 0.10.4not indexedJul 31, 2026
- 0.10.3not indexedJul 31, 2026
- 0.10.2not indexedJul 31, 2026
- 0.10.1not indexedJul 31, 2026
- 0.10.0not indexedJul 31, 2026
- 0.9.2not indexedJul 31, 2026
- 0.9.1not indexedJul 31, 2026
github.com/spider-gazelle/crystal-bacnet
BACnet Support for Crystal Lang
0 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
bacnet:
github: spider-gazelle/crystal-bacnet
version: ~> 1.0.1Then run:
shards installshard.yml
- Crystal
>= 0.36.1
Dependencies
Runtime Dependencies
Development Dependencies
- ameba*github: veelenga/amebadev
README
BACnet Support for Crystal Lang
it supports
- the IPv4 data link layer (BACnet/IP)
- the websocket data link layer (BACnet/SC)
Installation
Add the dependency to your shard.yml:
dependencies:
bacnet:
github: spider-gazelle/crystal-bacnet
Usage
require "bacnet"
require "socket"
# ======================
# Create transport layer
# ======================
server = UDPSocket.new
server.bind "0.0.0.0", 0xBAC0
# ======================
# Hook up the client to the transport
# ======================
client = BACnet::Client::IPv4.new
client.on_transmit do |message, address|
if address.address == Socket::IPAddress::BROADCAST
# Broadcast this message, might need to be a unicast to a BBMD
else
server.send message, to: address
end
end
spawn do
# Feed data to the client
loop do
break if server.closed?
bytes, client_addr = server.receive
message = IO::Memory.new(bytes).read_bytes(BACnet::Message::IPv4)
client.received message, client_addr
end
end
# ======================
# Collect device information
# ======================
registry = BACnet::Client::DeviceRegistry.new(client)
registry.on_new_device do |device|
puts "FOUND NEW DEVICE: #{device.vendor_name} #{device.name} #{device.model_name}"
end
# broadcast a who_is out onto the network
client.who_is
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
1.0.1- Tagged
- Jul 31, 2026
- Commit
769af5b8ee6e- Crystal
>= 0.36.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/spider-gazelle/crystal-bacnet
Metadata
- Created
- Oct 3, 2026
- Updated
- Oct 24, 2026
- Synced
- Oct 24, 2026
- Versions
- 16