This chapter is a kind of a checklist to go through when deploying the IQMESH network with DPA. Please note, that some steps might not be obligatory as they are already fulfilled (e.g. installed devices are already preloaded with DPA plug‑in and Custom DPA Handler). We suppose IQRF IDE is used as a tool.
1. Plan your network in terms of size, the number of (non-)routing devices, etc. If non-routing devices are present then it is recommended to assign them the logical addresses from the compact address interval at the top of the address space during bonding. This allows us to effectively using the parameter MaxAddr at Discovery.
2. Download required DPA plug-ins based on Interface, and (DC)TR type used. Upload them to the devices.
3. Get ready your Custom DPA Handlers for all devices. Make sure the handler code states the unique HWPID of the device. Some handlers do not have any internal application logic code except stating HWPID but also contain IO Setup. Upload the handlers to the devices.
4. Configure the devices:
a. The configuration very often differs between [C] and [N]s and even between various [N]s.
b. Start with a default configuration offered by IQRF IDE.
c. We recommend setting a unique access password for each network.
d. Do frequency planning, i.e. set the working channel that is not used and jammed.
e. Enable all needed peripherals (do not forget to enable FRC at [C] and disable it at [N]s).
f. Make sure to enable the correct SPI/UART peripheral/interface.
g. Enable IO Setup, Custom DPA Handler, disable routing, etc. as needed.
5. Bond [N]s to the [C]. This process depends on the used devices as it might be implemented differently at every handler. Also, Autonetwork is available. In general, the process is somehow initiated at [C] and [N] sides (e.g. by pressing a button). Sometimes devices are bonded before their physical installation, sometimes at the final place. Before the bonding of the new network, it is recommended to execute Clear all bonds at [C]. Of course, [N]s must not be already bonded before bonding. Also, CATS from IQRF IDE can be used for (un)bonding.
6. Run Discovery after all devices are successfully bonded and installed:
a. Use a lower RF output power than the one used during normal network operation.
b. The duration of the discovery process depends on the network size and its topology. In the case of complicated networks, it might take 1 hour.
c. In the case of a homogeneous network, it is not always necessary to discover all devices (e.g. 95 from out of 100 might be OK) but all devices must be accessible.
d. When the network contains non-routing devices then all routers must be discovered.
e. After the discovery is finished, test communication with all devices.
f. Discovery result (number of discovered devices, the number of zones, parents) varies at the time because of an actual RF environment.
g. Discovery must be repeated every time the topology (new, removed, and/or moved router) and/or RF conditions (e.g. a new RF obstacle) change.
h. Note: discovery is an integral part of the Autonetwork feature.
7. Enumerate the network and save information (IQRF OS and DPA versions, configuration, etc.) into separate files for future reference.
8. Backup the network data from all devices ([C] and [N]s). The backup is required for an optional future cloning of the damaged device.
9. To protect your device from unauthorized CATS access you can set your own access password.