I’m working on the security and forensics aspect of the smart home environment. I have a few ideas on modifying Zigbee protocol to incorporate forensic capabilities and test that on a real network. Any suggestions on how can make changes and build them into the openHAB platform.
@chris would be the expert here on much of that.
If you want to get into the lower layers of ZigBee, which is where the security is handled, then you will need to be working on the dongle software. This is where all the ZigBee protocol is handled, including security management etc.
The binding, and its associated libraries, handle the ZigBee Cluster Library (ZCL) level, and some of the management interfaces. This broadly provides the application layer and it doesn’t sound like it will be what you’re after.
I’m happy to try and answer questions if you want to provide more information about what you’re trying to do.
@chris Thank you for your reply. To be specific, I want to explore the application support sublayer(APS) of Zigbee to add a few modules to support forensic activities and accordingly the same in ZCL layer. Is it practically feasible to modify the source code and rebuild the protocol system? In that case, where can I get the source code of Zigbee protocol and what kind of development tools I need? I’m comfortable with Java language and willing to work on other languages to like C, C++, and Python.
Could you please throw some light on the above issues!
The APS layer is not really handled by openHAB binding - it’s mostly handled by the dongle ZigBee stack. I’m not sure if all the source for these are available - I don’t think that Silabs release all their source anyway - TI might and I’m not sure about Atmel or NXP.
The ZCL layer is handled by the Z-Smart Systems libraries -:
Is there any simulator(Preferably developed in Java) where I can design an end to end IoT application and test it. simulator must support major protocols like, 802.15.4, Zigbee, 6LowPAN, MQTT, RPL, CoAP, HTTP etc. I should be able to modify the protocols and test.