Jul 12, 2013
The network key is one of the channel configuration parameters that must be set correctly for devices to communicate. It is used to identify which network the device will operate on, and for ANT devices the radio will not hear transmissions occurring on other networks. The newest ANT devices can store up to 8 network keys at a time (older ANT devices can typically store up to 3) as network numbers 0 - 7 (or 0 - 2). Each ANT channel is then configured to use a specific network number.
You can change the network key using command 0x46: Set Network Key (network_number, network_key). This works for all valid network keys, but is ignored if you try to set an invalid network key. Then use command 0x42: Assign Channel (channel_number, channel_type, network_number) to set which network should be used by each channel.
You can find the public, ANT+, and ANT-FS network keys on the network keys page (note that you need to be logged in as an adopter to access them).
IMPORTANT!! When setting network keys, NEVER use the ANT+ Network Key, or the ANT+ Frequency (2457MHz) for non-ANT+ communication. Anything on the ANT+ managed network must be fully compliant with the ANT+ device profiles.
Using different networks is a great way to keep devices that aren't intended to communicate, separate. This makes it possible for companies to define their own way of setting and interpreting the 8 byte ANT payload without getting confused by other devices that are setting the values differently. It becomes possible to distinguish the device that you intend to communicate with and understand the data that is transmitted. On the ANT+ managed network these rules are contained in the ANT+ device profiles and ANT+ Common Pages document.
To illustrate the importance of defining consistent network rules, consider this example:
Imagine you've developed a pet food dispenser that responds to the weight of the food bowl to automatically top up the food after the bowl has been empty for a certain length of time. The food bowl uses the ANT+ network, but does not use an ANT+ device profile (!!). The food bowl sends an ANT broadcast signal where byte 1 indicates the weight of the remaining food in grams. The sensor goes to sleep when there is no change in the weight of the food for 1 minute or more, and wakes up on detecting a change. You didn't worry about any smart pairing techniques because you don't have any other ANT+ devices around.
A few months later you decide to buy a new ANT+ gadget. It uses a new ANT+ device profile and broadcasts an ANT+ signal to automatically adjust the blinds when the TV is switched on:
Consider what would happen the device types of the food bowl and blind controller matched: you'd probably end up with a very fat cat! This is why it's so important that devices communicating on the same network use a consistent way of setting and interpreting the 8 byte data payload and channel parameters; to avoid chaos.
Talk to us! We can discuss your idea and let you know the options. If it looks like a good candidate for a new ANT+ device profile we'll ask you to become an ANT+ member (if you aren't one already), and then will work with you to define the new device profile. Once defined the new profile would be published so that all ANT+ Adopters could also develop using the same definitions.
For companies who prefer to use a strictly proprietary system, a private network key can be purchased. Alternatively you can use the 'anything goes' public network, but if you do, then keep an eye on your cat.
ANT Message Protocol and Usage Document