This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Need guidance implementing 802.15.4-MAC/Ethernet gateway

Other Parts Discussed in Thread: EK-TM4C1294XL, CC2531EMK, TIMAC, CC2531, Z-STACK, CC2538

I have an immediate need for an 802.15.4-MAC to Ethernet gateway and future need for a Zigbee/Ethernet gateway.  As near as I can determine, my best options for a host platform are the EK-TM4C1294XL or BeagleBone Black.  The BBB seems like extreme overkill for the task at hand.  I see no need for a full-blown OS.  With that in mind, I'm leaning towards the TM4C1294XL unless the ease of implementation makes the BBB more attractive.

My plan is to use the CC2531EMK dongle as my MAC/Zigbee interface unless someone has a better solution.  A solution with a higher power transmitter and a real antenna would certainly be attractive.

After downloading and perusing the TIMAC documentation and code, I get the impression that all examples are targeted at specific CCxxxx modules rather than host application processors (with the possible exception of the Linux example).  I see nothing specifically targeted at the TM4C129xxx.

My initial assessment seems to indicate that I want to use the CC2531 loaded with the MAC_COP image.

Any thoughts, suggestions, caveats?

Thanks for looking.

  • If you need something usable quickly (and preferably cheap), a Zigbee USB dongle with BBB, or Rapsberry Pi,  may be your best options. I am sure you can find some open-sourced projects that do exactly what your are looking for.

    CC2531EMK + EK-TM4C1294XL is fine but you may have to deal things like the communications between the two module, which probably involves z-stack's MT commands on top of the USB driver.  

    Why would a "full-blown OS" be a problem if it fit you need ( low cost, short development time ) ?  

  • Nekko Ko said:
    If you need something usable quickly (and preferably cheap), a Zigbee USB dongle with BBB, or Rapsberry Pi,  may be your best options. I am sure you can find some open-sourced projects that do exactly what your are looking for.

    I've had no luck finding any open-source projects that resemble my needs.  I did run across a Zigbee gateway project once, but now I can't find it.  And I need an 802.15.4-MAC gateway, not Zigbee.  As far as price goes, either way I need to buy a CC2531EMK and a CC Debugger with which to reprogram it.  Both require an external power supply.  The only additional requirement of the TM4C1294 is a USB micro A to USB A adapter.

    .

    Nekko Ko said:
    CC2531EMK + EK-TM4C1294XL is fine but you may have to deal things like the communications between the two module, which probably involves z-stack's MT commands on top of the USB driver.  

    Since this is an 802.15.4-MAC device, I won't be dealing with Z-Stack.  Instead, I believe I need to deal with the MAC-COP interface.  I am probably better equipped to deal with the bare-metal approach using the TM4C1294 since I have the tools already installed and have some experience with the similar TM4C123G.  I do have a BBB sitting here, but that's part of the problem - it's just been sitting here; I have no experience programming Linux systems and have barely had time to turn on the BBB.  This makes me wonder about which learning curve would actually be steeper.

  • Hi Clark,

    To develop the IEEE 802.15.4 MAC to Ethernet gateway, you can look at the TIMAC-1.5.2 here. After installing the TIMAC-1.5.2, the installer for the MAC Linux sample application is located at C:\Texas Instruments\TIMAC 1.5.2.43299\Projects\mac\TI-MAC_LinuxSampleApp\installer.

    You can install the MAC Sample Application on the Linux Machine, it comes with complete documentation including quick start guide and sample application user guide. This should reduce the time involved in the getting started process. The sample application can communicate with the CC2531 running the MAC-COP where either BBB or x86 Machine can be the application processor. The sample application documents should provide you a quick start towards starting your development. You can then quickly create an application Ethernet interface on top of the existing sample application.This approach should save you time of writing the application interface to the MAC CoP which is already implemented and explained in the application user guide and you can then focus on developing the Ethernet interface for the application.

    For developing ZigBee Gateway application please refer to the following web link: http://www.ti.com/tool/CC2531EM-IOT-HOME-GATEWAY-RD. The web-page provides the software, hardware design files, and other resources to develop your ZigBee Home Gateway product. In addition, the software package contains all the relevant documentation to get to you quickly started on developing the Zigbee home gateway applications. 

    Hope this helps. 

    Regards

  • The "Linux Machine" in question is a BeagleBone Black. I don't, however, want to do my development on the BBB. I want to do the development on my Windoze (8.1) machine, preferably with CCS6, since I already have it installed. Can I get the source code in a Windoze-friendly form? Do you have any guidance for cross-platform development and debugging?

    Also, I'm not looking for a Home Automation gateway. My application is geared toward commercial applications. Therefore, I believe Building Automation and possibly Lighting and Smart Energy profiles will be necessary. Will this be an issue? Can several Zigbee profiles co-exist? Would I eventually run the stack in the USB dongle and not the host?

    I'm really trying to develop several product lines around the TI ecosystem, but I'm finding the documentation and tools a bit underwhelming. I hope technical support will be available.
  • Hi Clark,

    If you want to use the EK-TM4C1294XL you can use the ZNP Host Framework as a starting point for your development. It supports the EK-TM4C1294XL development board.
    Although the ZNP host Framework supports the layers above the MAC layer as it is designed for ZigBee you can tailor it and implement the MT-MAC and MT-Util interface API's as described in the MAC CoP Interface Guide.pdf document located at C:\Texas Instruments\TIMAC 1.5.2.43299\Documents. Please refer to the figure 4 in section 4 of the document ZNP Host Framework Design guide at www.ti.com/.../tidu757.pdf for the software architecture of the ZNP Host Framework. You would need to implement the MT-MAC and MT-Util Layers for your development.

    You can download the ZNP Host Framework software and associated document from the web-page: www.ti.com/.../TIDC-ZNP-HOST-SW3. Also, you can find the software under the Related Tools and Software category on that page. Also there are various other useful document on that page.

    The ZNP Host frameworks comes with Sample Applications as well, so to start you can use the Zigbee ZNP as a starting point to start your development and getting an understanding of the ZNP Host Framework. And then implement the MT-MAC and MT-UTIL interface required for the MAC CoP and develop the application for the MAC.

    Also, you can use the ZNP host framework for your development of ZigBee Gateway as well.

    I hope this helps. Please let me know if you have any questions.

    Regards

  • Thank you, Suyash. This gives me a starting point. I'm sure I will have many more questions.

    So, do I understand correctly that the ZNP Host Framework is designed to work with a Network Processor which runs the stack?
    If I want to support Zigbee Building Automation, Lighting, and Smart Power, is that an issue? This might not be directly related to the gateway, which I see as profile-neutral, but would impact potential end-points I wish to implement in other devices.
  • 1. Yes, you are correct. ZNP host is designed to work with ZNP which runs Zigbee stack.
    2. There is no problem to support Building Automation, lighting or Smar Energy Profile with ZAP+ZNP architecture.
  • Hi,
    just to clarify one thing. Though the ZNP host framework runs in combination with ZNP 'embedded devices', as Suyash explained the serial logical interface is the same (MT serial format) as if you would connect the system with the MAC-CoP. Hence, you can re-use the MT component SW layer on the host (which has been ported to TIVA-C in the ZNP host framework code tree). There is lot of code that you can leverage from for your application if you pull that git repository, this is why we are encouraging you to take a look at that.

    Basically, since MAC-CoP firmware is available and you already have basic SW components you can extract from the ZNP host framework, the work on your side to build a MAC-only gateway should be relatively straightforward.

    Thanks,
    TheDarkSide
  • What about Building Automation, Lighting, AND Smart Energy?
  • Suyash Jain said:
    You can download the ZNP Host Framework software and associated document from the web-page: www.ti.com/.../TIDC-ZNP-HOST-SW3. Also, you can find the software under the Related Tools and Software category on that page. Also there are various other useful document on that page.

    I don't see anywhere on that page to download software.

  • I'm not having much luck finding any of the stuff to which you refer. No definition of MT serial format. No ZNP host framework code tree. No 'that git repository'. Scratching my head...
  • After finally perusing the ZNP Host Framework Design Guide, I found a link to the git repository. So now I have to learn all about git...

    Can you explain to me what these several layers of apparently redundant code do? It looks, at first glance, like more obfuscation and complexity. With only vague descriptions and block diagrams to go by, it's really kind of difficault to tell.

    There seems to be very little mention (if any) of ZNPs other than the CC2538. Is there a problem with using the CC2531EM dongle? Any reason I can't use it with either the BBB or TM4C1294?
  • Really? A gz file? Did I mention I'm doing all my development work on a Windoze 8.1 machine with CCSv6?
  • Hi Clark, 

    If you scroll down on the web-link  you should see the following section (I am pasting the image for your reference). Also, when using the ZNP host framework to make a ZigBee Gateway, since the application resides on the host application processor you should be able to implement different applications such as building automation, home automation...

  • I guess I should have known that the "GZ" meant it was something other than a PDF file, as indicated by the icon next to the link.  Stoopid me.

  • Hi Clark,

    the host framework can run on TIVA-C devices as well as Linux. So you can take it an migrate it to BBB very easily.

    Also, while in the documentation we describe the CC2538EM as embedded ZigBee network processor, yes you can use CC2531 dongle as ZNP instead.

    The host-device interface is the same and we tested the framework against the CC2531 dongle as well.

    I am sorry you got confused by the PDF icon alongside the link to get the software, while it is actually a compressed package containing all source code and documentation. 

    Just FYI, there is no need to learn git if you don't want to: please go to https://git.ti.com/znp-host-framework/znp-host-framework/trees/master 

    and then click on 'Download master as tar.gz' to get a tarball of the tip of the master branch of this repository.

    Thanks,

    TheDarkSide

  • I do want to learn git - at some point. I just don't want to get overloaded and have my brain explode.
    Just trying to wrap my head around Zigbee, and CC25xx blah blah blah, on top of the real application my devices are supposed to handle seems to be quite enough at the moment. Along with all this, of course, comes learning CCSv6/Eclipse, the TM4C micros, etc, etc. Gak.