Have an account?

  •   Personalized content
  •   Your products and support

Need an account?

Create an account

Application Hosting on the Catalyst Access Points Deployment Guide 17.3.1/2.1.2

White Paper

Available Languages

Download Options

  • PDF
    (4.9 MB)
    View with Adobe Reader on a variety of devices
Updated:October 13, 2020

Available Languages

Download Options

  • PDF
    (4.9 MB)
    View with Adobe Reader on a variety of devices
Updated:October 13, 2020
 

 

Overview

Enterprise wireless networks are a rapidly growing part of today’s technology. They are becoming more mission-critical each day as new companies migrate to wireless solutions as a means to run their business. As wireless networks grow exponentially, we as a society are becoming more connected than ever before, giving us the ability to solve once seemingly complex problems with simple yet elegant solutions. However, these endless technological possibilities have also triggered a surge of both dependency and the expectation that technology must continue to better every aspect of our daily lives. The Internet of Things (IoT) has arisen, in part, as a result of these expectations, and Cisco’s state-of-the-art technology known as Application Hosting on Catalyst APs was created to help spearhead this movement.

Cisco’s Application Hosting on Catalyst Access Points feature provides users with the ability to load third-party containerized Cisco® IOx applications directly onto Cisco Catalyst® access points and to leverage them as an IoT gateway. Once loaded, the third-party application gains complete access to specific access point software and hardware resources. Depending on the IOx application developed, it is able to promptly communicate with third-party software through its internal VLAN, or with hardware through its external-facing USB port. A typical business running a Cisco powered wireless infrastructure will have access points deployed throughout all employee-inhabited facilities. Giving third-party vendors the ability to create applications and leverage these access points as IoT gateways has created endless possibilities for the IoT movement.

This document covers the deployment of Cisco’s Application Hosting on Catalyst APs feature with Cisco DNA Center.

Disclaimer: Cisco claims customer support for any application lifecycle management issues; however, for any problems related to a Cisco Partner’s IoT USB connector, application server, or IoT device, please reach out to them directly.

Supported software

Table 1.        Cisco DNA Center and Cisco IOS XE software compatibility matrix

Cisco DNA Center software release

Cisco IOS® XE WLC software release

2.1.2.x and above

17.3.1 and above

Supported hardware

Table 2.        Supported access points

Access point product ID

OS type

C9105AXI

AP-COS

C9105AXW

AP-COS

C9115AX

AP-COS

C9117AX

AP-COS

C9120AX

AP-COS

C9130AX

AP-COS

Table 3.        Supported wireless LAN controllers

Wireless LAN controller product ID

OS type

C9800-CL

Cisco IOS XE

C9800-L

Cisco IOS XE

C9800-40

Cisco IOS XE

C9800-80

Cisco IOS XE

Prerequisite: Installing the Application Hosting package from Cisco DNA Center

Cisco DNA Center provides the option to download a package called Application Hosting. You can download and install this package on top of the base Cisco DNA Center software.

1.     To install the Application Hosting package, log in to Cisco DNA Center and open the menu in the top left corner.

2.     Click System > Software Updates, then click Installed Apps on the left. Scroll down to Automation and you will find the package available for download or installation (Figure 1).

Location of the Application Hosting package

Figure 1.            

Location of the Application Hosting package

High-level deployment workflow

Steps for deploying Application Hosting

Figure 2.            

Steps for deploying Application Hosting

Day 0: Cisco DNA Center configurations

Note:     Skip to day 1 if you have already completed day-0 Cisco DNA Center configuration.

1.     Create a network hierarchy site (area, building, floors) via the Network Hierarchy page.

2.     Optional: Configure the network hierarchy settings via the Network Settings page.

3.     Discover the WLC and access points via the Discovery page.

4.     Assign the WLC and access points to the network hierarchy created via the Inventory page.

Day 1: Upload and deploy IOx applications

1.     Upload a third-party IOx application to Cisco DNA Center via the IoT Services page.

2.     Deploy the uploaded application to specific access points.

Day 2: Manage and monitor IOx applications

1.     Establish communication between the third-party application and its application server.

2.     Begin managing and monitoring the applications deployed on the access points.

Day N: Optimize management

1.     Validate how the deployed applications are performing in the field.

2.     Develop software enhancements based on analysis and upgrade your applications.

3.     Repeat the deployment workflow from day 1.

Topology

IOx Application Hosting general topology

Figure 3.            

IOx Application Hosting general topology

IOx Application Hosting network topology

Figure 4.            

IOx Application Hosting network topology

Day 0: Set up the Cisco DNA Center configuration

This section provides step-by-step instructions for the day-0 configuration necessary to begin using Application Hosting on Catalyst Access Points.

Note:     Skip to the day-1 section if you have already completed day-0 Cisco DNA Center configuration.

Part 1: Day-0 configuration – Building a site hierarchy

Description: Cisco DNA Center’s Design page provides a robust design application that allow customers of every size and scale to easily define their physical sites and common resources.

Section goals: Create and configure network hierarchy sites and settings to define shared services, device credentials, and Simple Network Management Protocol (SNMP) community strings.

Step 1: Navigate to the Network Hierarchy page

1.     Option 1: Log in to Cisco DNA Center. Scroll down to the Network Configuration section and choose Design (Figure 5).

Option 2: Click on the menu in the top left-hand corner of the screen. Click Design and then Network Hierarchy (Figure 6).

Location of the Design page on Cisco DNA Center’s homepage

Figure 5.            

Location of the Design page on Cisco DNA Center’s homepage

Location of Network Hierarchy from the menu

Figure 6.            

Location of Network Hierarchy from the menu

Step 2: Create sites, building, and floors

To allow Cisco DNA Center to group devices based on location, begin by laying out a hierarchy of areas, building, and floors as required to accurately represent the location of your network. A site hierarchy lets you enable unique network settings and IP spaces for different groups of devices.

1.     Option 1: To create a site, click the Add Site button (Figure 7). A menu will open up providing an option to create a child area, building, or floor within a desired site.

Option 2: To create a site, click the gear icon (Figure 8) next to the site under which you would like to create a child site.

2.     When creating a floor, click Upload file to upload a floor of a building (Figure 9).

      Floor plans must be in the DXF, DWG, JPG, GIF, or PNG format.

The behavior of Cisco DNA Center is to inherit settings from the global level into subsequent levels in the hierarchy. This enables consistency across large domains while providing administrators the flexibility to adapt and change an individual building or floor.

Notes:

      You can create areas and buildings only within the Global site or other areas, and can create floors only within buildings.

      When creating a building within a design hierarchy, it is critical that you use a real physical street address for your sites. Cisco DNA Center uses the street address to select the country codes for the wireless implementation.

Clicking Add Site within the Design – Network Hierarchy page

Figure 7.            

Clicking Add Site within the Design – Network Hierarchy page

Clicking the gear icon next to an area within the Design – Network Hierarchy page

Figure 8.            

Clicking the gear icon next to an area within the Design – Network Hierarchy page

Location of the Upload file button to upload a floor plan during floor creation

Figure 9.            

Location of the Upload file button to upload a floor plan during floor creation

Step 3: Navigate to the Network Settings page

Cisco DNA Center lets you save common resources and settings with the Network Settings application. Information pertaining to the enterprise can be stored and reused across the network.

1.     To navigate to the Network Settings page, open the menu in the top left corner of the screen. Click Design and then Network Settings (Figure 10).

Location of Network Settings from the menu

Figure 10.         

Location of Network Settings from the menu

Step 4: Configure network settings and device credentials

This is where you configure all device-related network settings. By default, Cisco DNA Center’s IP address is pre-populated in the Syslog Server and SNMP Server fields. This will enable syslog and SNMP traps to be sent to Cisco DNA Center from network devices when a WLC is added to Cisco DNA Center.

1.     Click the Device Credentials sub-tab to view the existing device Command-Line Interface (CLI) credentials and SNMP community strings (Figure 11).

2.     Click the Add button to create new credential entries using the CLI Credentials form (Figure 12). Cisco DNA Center uses these credentials to discover the network devices.

Adding device credentials to the network settings

Figure 11.         

Adding device credentials to the network settings

CLI Credentials form

Figure 12.         

CLI Credentials form

Part 2: Day-0 configuration – Discovery and inventory

Description: Cisco DNA Center’s Discovery application allows a network administrator to add their network device to the platform.

Section goals: Discover the WLC and access points and assign them to the site created in the previous section.

Step 1: Navigate to the Discovery application

1.     Option 1: From the homepage, scroll down to the bottom and click Discovery and then Add Discovery (Figures 13 and 14).

Option 2: Click on the menu in the top left corner of the screen. Click Tools and then Discovery (Figure 15).

Location of Discovery button on the Cisco DNA Center homepage

Figure 13.         

Location of Discovery button on the Cisco DNA Center homepage

Location of Add Discovery button on the Tools – Discovery page

Figure 14.         

Location of Add Discovery button on the Tools – Discovery page

Location of Discovery within the menu

Figure 15.         

Location of Discovery within the menu

Step 2: Discover controllers and access points and add them to Cisco DNA Center

To discover a WLC and add it to Cisco DNA Center, follow the steps below (Figure 16):

1.     Enter a Discovery name (any unique name for purpose of classification on the Discovery page).

2.     Enter either a single IP address or a range of IP addresses via one of the protocols (Cisco Discovery Protocol, range, or Link Layer Discovery Protocol [LLDP]).

      Warning: The WLC and access points must be on a routable network to Cisco DNA Center for Application Hosting on Catalyst Access Points to work. Network Address Translation (NAT) networks are NOT supported, and neither are fabric networks.

3.     Enter the SSH username and password and SNMP read and write credentials (by clicking Add Credentials).

4.     If you’re discovering a Cisco IOS XE controller, enter the NETCONF port as 830 and run the following commands on the controller CLI:

      aaa new-model

      aaa authentication login default local

      aaa authorization exec default local

5.     When the details are filled in, click the Discover button.

Notes:

      When you discover a WLC, all of its joined access points will also be discovered and added to Cisco DNA Center’s inventory.

      All the CLI credentials defined in the Design section are displayed here on the Discovery page.

Discovery page with credentials filled in and ready for discovery

Figure 16.         

Discovery page with credentials filled in and ready for discovery

6.     After the discovery process completes, ensure that the status of ICMP (Internet Control Message Protocol), SNMP, and CLI is green for every device that has been discovered (Figure 17).

Successful discovery of a WLC as shown on the Discovery page

Figure 17.         

Successful discovery of a WLC as shown on the Discovery page

Step 3: Navigate to and manage inventory

After the discovery process is complete, navigate to the Inventory application, where your discovered devices will be listed.

1.     Open up the menu and click Provision and then Inventory (Figure 18).

Location of Inventory within the menu

Figure 18.         

Location of Inventory within the menu

2.     Click Unassigned Devices on the left and ensure that all devices are Reachable and that the Manageability is Managed (Figure 19).

      It is critical for all devices to be in the Managed state for App Hosting functionalities to work. If any are not, check the reachability of the devices.

Reachability and Last Sync Status of discovered devices

Figure 19.         

Reachability and Last Sync Status of discovered devices

3.     Optional: If you would like to manually add a controller to the inventory, click the Add Device button and provide the same information as was given in the Discovery application (Figure 20).

Add Device form

Figure 20.         

Add Device form

Step 4: Assign discovered devices to the site hierarchy

After discovery and site assignment, Cisco DNA Center will have automatically pushed/enabled the following configuration to the WLC and access points. This configuration is required for Application Hosting on Catalyst Access Points to work.

      Pushed a Cisco DNA Center certificate

      Configured Cisco DNA Center as an SNMP trap receiver

      Configured Cisco DNA Center as a syslog server

1.     Click the check box next to a device that you would like to assign to a site (Figure 21).

2.     Hover your cursor over Actions and then Provision, then click Assign Device to Site (Figure 21).

Assigning a WLC to a site on the Inventory page

Figure 21.         

Assigning a WLC to a site on the Inventory page

3.     Click Choose a Site (Figure 22).

Assign Device to Site menu

Figure 22.         

Assign Device to Site menu

4.     Click on the site to which you would like to assign the WLC and then click Save (Figure 23).

Choosing a site

Figure 23.         

Choosing a site

5.     Click Next and then Assign.

6.     Repeat the same steps for your access points.

Step 5: Place your access points onto the floor map

The purpose of placing your access points onto your floor map is to provide you with a heat map visualization of the RF environment surrounding your access points.

Note:     This step is not required for Application Hosting on Catalyst Access Points but is recommended to complete your day-0 configuration.

1.     Navigate to the Network Hierarchy page by opening the menu in the top left corner of the screen. Click Design and then Network Hierarchy (Figure 24).

Location of Network Hierarchy in the menu

Figure 24.         

Location of Network Hierarchy in the menu

2.     Expand Global > [the building you created], then click on the floor you’ve assigned access points to.

3.     Observe the blue flag on the right, which indicates the number of access points that are ready to be placed onto the map (Figure 25).

Network Hierarchy page, with an access point ready to be positioned

Figure 25.         

Network Hierarchy page, with an access point ready to be positioned

4.     Click Edit and then Position to place access points onto the map (Figure 26).

Network Hierarchy page – Floor elements menu

Figure 26.         

Network Hierarchy page – Floor elements menu

5.     After placing the access points on the floor map, click Save to commit the change (Figure 27).

Network Hierarchy page, with access points placed on the floor map

Figure 27.         

Network Hierarchy page, with access points placed on the floor map

6.     At this point, a color-coded heat map should show up on the floor map, depicting the access points’ surrounding RF environment (Figure 28).

Network Hierarchy page, with heat map displayed after access points are positioned

Figure 28.         

Network Hierarchy page, with heat map displayed after access points are positioned

Day 1: Upload and deploy an IOx application

This section provides step-by-step instructions for uploading an IOx application to Cisco DNA Center and then deploying it to the desired access points.

Part 1: Day-1 configuration – Uploading an IOx application

Description: Cisco DNA Center’s IoT Services page provides an intuitive way to upload and manage third-party applications that you would like to deploy on your access points.

Section goals: Upload an IOx application into Cisco DNA Center’s repository so it can be ready for deployment to the desired network hierarchy location or access point.

Step 1: Navigate to the IoT Services page

1.     Open the menu and click Provision and then IoT Services to enter the App Hosting page (Figure 29).

Location of IoT Services within the menu

Figure 29.         

Location of IoT Services within the menu

Step 2: Upload the IOx application to Cisco DNA Center

1.     Click New Application on the right side of the screen (Figure 30).

Location of the New Application button on the App Hosting page

Figure 30.         

Location of the New Application button on the App Hosting page

2.     Click the Type drop-down menu and select an application type (Figure 31).

      Option 1: Docker

    Choose this option if the app you are uploading is a Docker app saved as a tar file using the Docker Save command.

      Option 2: Cisco Package

    Choose this option if the app you are uploading has been packaged using the Cisco app-packaging toolchain.

      For more information regarding the package types above, visit the following link: https://developer.cisco.com/docs/iox/

Choosing an application type

Figure 31.         

Choosing an application type

3.     Click the Category drop-down menu and select an application category (Figure 32).

      The categories are Monitoring, Security, IoT, and Others.

Choosing an application category

Figure 32.         

Choosing an application category

4.     Click the Select button and select a file to upload, then click Upload to upload the file (Figure 33).

Location of Select and Upload buttons

Figure 33.         

Location of Select and Upload buttons

5.     Ensure that the application you’ve uploaded now appears within the App Hosting page (Figure 34).

      IOx applications can be discovered and downloaded via the following link: https://developer.cisco.com/ecosystem/spp/

6.     Optional: If you would like to manage the application, click on it to enter the application’s management page (Figure 34).

Location of an application after being uploaded

Figure 34.         

Location of an application after being uploaded

7.     (a) To update the application, click the Update Application button. (b) To delete the application, click the Delete Application button. (c) To edit the application’s description, click the Edit button (Figure 35).

Application management page.

Figure 35.         

Application management page.

Part 2: Day-1 configuration – Deploying an IOx application

Description: Cisco DNA Center’s Enable IoT Services workflow allows you to easily deploy your application to either a location or a specific access point.

Section goals: Deploy an IOx application to all devices within a network hierarchy site created earlier.

Step 1: Navigate to the Enable IoT Services workflow

1.     Open the menu, then click Workflows (Figure 36).

Location of Workflows on the menu.

Figure 36.         

Location of Workflows on the menu.

2.     Scroll down and click on the grid labeled Enable IoT Services to begin the deployment workflow (Figure 37). Click the Let’s Do It button in the modal box that appears (Figure 38).

Location of the Enable IoT Services option

Figure 37.         

Location of the Enable IoT Services option

Modal box for the Enable IoT Services option

Figure 38.         

Modal box for the Enable IoT Services option

Step 2: Deploy the application to access points on a floor

1.     Select a floor within the network hierarchy where you’d like to deploy the application, then click Next (Figure 39).

Selecting a floor

Figure 39.         

Selecting a floor

2.     Select the image that you would like to deploy to devices on that floor, then click Next (Figure 40).

Selecting an application to deploy

Figure 40.         

Selecting an application to deploy

3.     Select one or more access points on this floor that you would like to deploy the image to, then click Next (Figures 41 and 42).

      By default, the page will show an access point list view (Figure 41); however, this can be toggled by clicking on the map icon to show a network hierarchy floor view (Figure 42).

      Note: Make sure the Readiness column indicates Ready for the access points you select.

Selecting access points from the list

Figure 41.         

Selecting access points from the list

Selecting access points from the map

Figure 42.         

Selecting access points from the map

4.     On the Summary page, check that the application is being deployed to the intended site and access points, then click Next (Figure 43).

Summary page

Figure 43.         

Summary page

5.     Note the task name for reference, then click Provision (Figure 44).

Generated provisioning task name

Figure 44.         

Generated provisioning task name

6.     The application deployment process will begin (Figure 45).

Track Provisioning Status page

Figure 45.         

Track Provisioning Status page

7.     If all steps were followed, you will see a Provisioned message (Figure 46).

Warning: If you attempt to deploy an application with a dependency on a USB attachment and the attachment is not detected, you will see a Failed message (Figure 46).

8.     After verifying the provisioning status of your application deployment, click Next (Figure 46).

Success case when deploying an application to an access point

Figure 46.         

Success case when deploying an application to an access point

9.     Click the Manage IoT Application button to continue to the application’s management page (Figure 47).

Enable IoT Service workflow summary page

Figure 47.         

Enable IoT Service workflow summary page

10.  On this application management page, you’re able to manage the status of the applications deployed on your access points (Figure 48).

Application management page

Figure 48.         

Application management page

Note:     The App Status column enables you to monitor the status of your application.

11.  To manage the application deployed to the access points, click the Actions drop-down menu (Figure 49).

Actions drop-down menu within the application management page

Figure 49.         

Actions drop-down menu within the application management page

Notes:

      Start App: If you stopped your app via the Stop App button, you can start it again via this button.

      Stop App: You can stop the loaded application from running. (Stopping an application does not delete or uninstall it.)

      Edit App Config: If your application requires additional configuration, you can edit it via this button.

      Upgrade App: If you’ve uploaded a newer version of your application through the initial IoT Services workflow, you can click the Upgrade App button to upgrade the version running on the access points to the new version.

      Uninstall App: Click this button to remove the application from your access points entirely.

12.  At this point, your application should be deployed successfully to your access points. If desired, you can verify this via the access point CLI command shown in Figure 50.

Verifying the status of the IOx application deployed to the access point

Figure 50.         

Verifying the status of the IOx application deployed to the access point

Notes (refer back to Figure 4):

      Your application will by default receive an IP address from 192.168.11.x/27 through DHCP, and can communicate externally from the access point through NAT. This means that the IOx app will by default have the same IP address as the access point, from the perspective of external applications.

    A maximum of two IOx applications can be loaded on each access point (refer to question 8 in the Common Questions section below).

      If required, you can configure an IOx application’s traffic to route over a VLAN by configuring the aux client interface (app host interface) using the following command:

    configure ap apphostintf vlan [0-4094] address [static/dhcp] <ip> <nm> <gw>

Day 2: Monitor the IOx application (example)

At this point, your application should be successfully loaded onto your desired access points and ready for communication with your third-party management and monitoring system. This next part of the process varies from application to application, as it’s completely dependent on the design created by the third-party application developers for managing and monitoring their loaded application.

Disclaimer: The SES-imagotag ESL application discussed in this section should be used purely as a reference. If you are deploying an actual SES-imagotag ESL solution, please contact SES-imagotag for their vendor-specific deployment guide. (https://www.ses-imagotag.com/en/contact/)

Day-2 configuration – Establishing communication between the IOx application and the management server

Description: This section provides an example of how a specific application called SES-imagotag ESL communicates with its third-party management and monitoring system.

Section goals: Understand how the SES-imagotag ESL application begins communicating with its third-party monitoring and management system.

Prerequisite: Understanding the SES-imagotag ESL solution and third-party management system

Background

At a high level, the SES-imagotag ESL application uses the USB port on an access point to communicate with electronic shelf labels (ESLs) through a USB Bluetooth dongle. ESLs are used in retail stores, where they’re deployed in place of regular price tags.

The advantage of ESLs is that item prices can be updated remotely and users can easily locate any item through a mobile application. These features are accomplished by allowing the ESLs deployed throughout the store to communicate with the various SES-imagotag ESL applications loaded onto Cisco access points, which are also deployed throughout the store through a USB Bluetooth dongle. All of the deployed SES-imagotag ESL applications are managed by a central ESL management system (VUSION Cloud), allowing for an organized, end-to-end solution.

Related image, diagram or screenshot

Figure 51.         

SES-imagotag ESL solution topology

Step 1: Setting up the SES-imagotag ESL IOx application to connect to VUSION Cloud

1.     Log into VUSION Cloud.

2.     Add the SES-imagotag ESL IoT Connector into VUSION Cloud via their AP ID.

3.     Add the ESLs into VUSION Cloud via their label ID.

4.     After the SES-imagotag access point application is deployed onto your access point, SSH into the AP and run the following commands to enter into the application’s config_package.ini file.

a.       connect iox application

b.       vi /data/package_config.ini

5.     Edit the following fields within the package_config.ini file.

a.      [config]

b.          APC_ADDRESS=seshfteusp001t001hfcoredns.eastus2.cloudapp.azure.com

c.      APC_PORT=7354

d.      CHANNEL=<channel # you would like your ESL connector to broadcast>

e.      VCLOUD=false

Step 2: Verify that the SES-imagotag application on the AP has connected to VUSION Cloud

6.     After some time, verify on VUSION Cloud that the access point has discovered VUSION Cloud (Figure 52.).

Step 3: Verify that the SES-imagotag ESLs have connected to VUSION Cloud

7.     After a few more minutes, verify on VUSION Cloud that the electronic shelf labels have been discovered by the access point (Figure 52.).

a.  Note: The LCD screens of the ESLs should now be showing the item that they’re assigned to within VUSION Cloud.

VUSION Cloud with one AP and two ESLs connected successfully

Figure 52.         

VUSION Cloud with one AP and two ESLs connected successfully

Notes:

      The USB IoT connector hardware has an “AP ID” printed directly on it.

      The ESLs have a label ID printed directly on it.

Sample use cases

Cisco’s Application Hosting on Catalyst Access Points provides endless possibilities to developers working in the field of IoT. This section offers some ideas of use cases as inspiration.

Use case 1: Healthcare

Background: A pandemic hit the world in 2020, caused by a virus identified as COVID-19. Due to its contagious nature, the virus has caused devastating effects throughout the globe.

Pain points: Infected individuals must be quarantined immediately to prevent further spread of the virus. The contagiousness of this virus has caused immense impacts on both patients’ well-being and medical facilities’ ability to manage operations.

How Application Hosting can address the pain points: With Application Hosting on Catalyst Access Points, you can create applications that respond to external stimuli such as voice control devices (i.e., Google Home, Amazon Echo). Your IOx application can use these received external parameters to trigger actions such as calling for a nurse, changing the temperature, adjusting the bed, etc. Such technology increases the convenience of bedridden patients and helps medical facility staff maintain maximum social distancing during COVID-19.

The figures below illustrate these examples.

Application Hosting healthcare use cases

Figure 53.         

Application Hosting healthcare use cases

Using speech-to-text software to control IoT devices

Figure 54.         

Using speech-to-text software to control IoT devices

Using Application Hosting on Catalyst Access Points in a patient room

Figure 55.         

Using Application Hosting on Catalyst Access Points in a patient room

Use case 2: Building management system

Background: A sizable multi-regional enterprise is looking for smarter ways to manage facilities spread through multiple countries.

Pain points: Managing these facilities and ensuring 24/7 security can be a difficult task. Often a large team of facilities managers must be onsite to ensure the safety and security of employees. Such a manual process increases personnel costs for the company and leaves security vulnerable to potential human error.

How Application Hosting can address the pain points: With Application Hosting on Catalyst Access Points, you can create applications that directly communicate with smart building management devices throughout all facilities in multiple regions at once. You can have all devices report information back to a central management server, creating a convenient command center for facilities management.

The figures below illustrate these examples.

Building management system sample use cases

Figure 56.         

Building management system sample use cases

Smart devices communicating to a building management system through Catalyst access points

Figure 57.         

Smart devices communicating to a building management system through Catalyst access points

Leveraging Application Hosting to monitor multiple buildings

Figure 58.         

Leveraging Application Hosting to monitor multiple buildings

Use case 3: Retail stores

Background: The CEO of a large retail chain that directly competes with other e-commerce platforms such as Amazon is seeking ways to reduce overhead.

Pain points: It is difficult for in-store retailers to compete with the flexible management of an e-commerce platform. Tasks such as changing the prices of items, helping customers locate items in-store, and even showing the availability of specific items all require significantly higher overhead in a physical store than online.

How Application Hosting can addresses the pain points: With Application Hosting, you can create applications that directly communicate with electronic shelf labels. ESLs are used in place of standard price tags and enable in-store retailers to update item prices remotely from a computer, and to discover the availability and physical location of any item in the store through a web or mobile application.

The figures below illustrate these use cases.

Retail store IoT use cases

Figure 59.         

Retail store IoT use cases

Retail store IoT ESL experience

Figure 60.         

Retail store IoT ESL experience

Useful CLI commands

Access point commands

1.     View the status of the application loaded onto the access point

Nolan_AP#show iox applications

Total Number of Apps : 1

--------------------------

App Name : communication_daemon

App Ip : 192.168.11.2

App State : RUNNING

App Token : 0f690ed5-c341-4342-b5f3-7ab39ade8ea1

App Protocol : usb

App Grpc Connection : Down

Rx Pkts From App : 0

Tx Pkts To App : 0

Tx Pkts To Wlc : 0

Tx Data Pkts To DNASpaces : 0

Tx Cfg Resp To DNASpaces : 0

Rx KeepAlive from App : 0

Dropped Pkts : 0

App keepAlive Received On : NA

2.     View access point information as well as the information of any device connected via USB

Nolan_AP#show inventory

NAME: C9130AX, DESCR: Cisco Catalyst 9130AX Series Access Point

PID: C9130AXI-B , VID: V01, SN: FJC240511KH

 

 

Entity Name         : USB Module

Detected            : Yes

Status              : Enabled

Product ID          : ea60

Vendor ID           : 10c4

Manufacturer        : Silicon Labs

Description         : CP2102N USB to UART Bridge Controller

Serial Number       : 0cd351d9f35

Max Power           : 100 mA

3.     Verify the IOx status on the access point

Nolan_AP#show iox status

IOx Status             : Enabled

CAF Status             : Up

CAF Token              : 9e054a32-d1ff-464e-aadd-6c5934959310

CAF Port               : 8443

Cisco IOS XE WLC commands

1.     View the status of the USB modules connected to all joined access points

Nolan_eWLC#show ap module summary

 

Output of show ap module summary:

 

 

AP Name               External Module       External Module PID   External Module Description  

-----------------------------------------------------------------------------------------------

Nolan_AP1             Enable                10c4/ea60/100         CP2102N USB to UART Bridge C 

Nolan_AP2            Enable                10c4/ea60/100         CP2102N USB to UART Bridge C 

2.     View the USB module state of each joined access point, along with other information

      Note: Below is only a snippet of the show command output.

Nolan_eWLC #show ap config general         

USB Module Type                                 : USB Module

USB Module State                                : Enabled

USB Operational State                           : Enabled

USB Override                                    : Disabled

3.     View the application hosting status of each joined access point

Nolan_eWLC#show ap apphost summary

 

AP Name                        AP Mac               Apphost Status                 CAF Port          Apphost HW capable

-----------------------------------------------------------------------------------------------------

SS-2027                        00ee.ab18.b620       Up                             8443              Yes             

Axel-2036                      04eb.409f.a000       Up                             8443              Yes             

Common questions

1.     What are the requirements for the access point’s USB port?

A.   USB serial: 115200 baud

i.e., ttyUSB

2.     Does the access point need to be in a specific mode for the IOx application to operate?

A.   The access point can be in either local or Cisco FlexConnect® mode. However, regardless of the access point’s forwarding mode, the IOx application will always be switched locally from the access point’s Ethernet port.

3.     Is Application Hosting on Catalyst Access Points supported on AireOS controller platforms?

A.   No.

4.     What licenses are required for Application Hosting on Catalyst Access Points?

A.   From the Cisco DNA Center perspective, a subscription to a Cisco DNA Advantage license is required.

From the IOx application server’s perspective, the license is required separately from Cisco DNA Center and varies depending on the vendor.

5.     Is Cisco DNA Center mandatory for deployment and management of Application Hosting on Catalyst Access Points?

A.   Yes, during actual IOx application management, Cisco DNA Center is mandatory; however, during the IOx application development phase, just an access point and WLC are required.

6.     Can a WLC/AP setup connect to Cisco DNA Center via NAT?

A.   No, a direct connection is required for Application Hosting on Catalyst Access Points to work.

7.     Are there specific TCP ports that must be open for Application Hosting on Catalyst Access Points to work?

A.   Yes, the TCP port 8443 is used by Cisco DNA Center to deploy the IOx application to the access point.

8.     What are the power consumption specifications for each of the supported access points?

Family

PoE-in

DC Mode

Consumption at PD

Consumption at PSE with the worst-case cable

USB Status and Power Output

C9105AXI

.3af/at

11

12.5

N/A

C9105AXW

.3af

13

14.9

N

.3at

18.5

21.4

Y (4.5W)

.3at

25.5

30

N

C9115AXI

.3af

13

15.4

N

.3at

16.0

18.9

N

.3at

20.4

24.1

Y (3.75W)

C9115AXE

.3af

13

15.4

N

.3at

17.0

20.1

N

.3at

21.4

25.3

Y (3.75W)

.3af

13.8

15.4

N

.3at

20.5

23.2

N

.3at

25.5

30.0

Y (4.5W)

C9117

.3af

13.5

15.4

N

.3at

25.0

29.3

N

.3at

24.1

28.0

Y (4.5W)

.3bt/UPoE

30

32.7

Y (4.5W)

.3at/.3bt/UPoE

22.4

25.7/23.8/23.8

Y (4.5W)

C9120AXI/E

.3af

13.8

15.4

N

.3at

20.5

23.2

N

.3at

25.5

30.0

Y (4.5W)

C9130AXI/E

.3af

13.8

15.4

N

.3af

25.5

30.0

Y (4.5W)

.3bt

30.5

33.3

Y (4.5W)

9.     What are the hardware specifications for each of the supported access points?

AP

CPU architecture

CPU allocated (MFLOPS)

Max memory allocated (RAM)

Application type

Max number of apps

Max cores for IOx app

Max storage

USB support for IOx

C9105AXI

ARM 32 bit

1200

200 MB

Docker

2

2

~20 MB

No

C9105AXW

ARM 32 bit

1200

200 MB

Docker

2

2

~20 MB

Yes

C9115AX

ARM 64 bit

4800

400 MB

Docker

2

2

~20 MB

Yes

C9117AX

ARM 64 bit

4800

400 MB

Docker

2

2

~20 MB

Yes

C9120AX

ARM 64 bit

4800

400 MB

Docker

2

2

~20 MB

Yes

C9130AX

ARM 64 bit

4800

400 MB

Docker

2

2

~20 MB

Yes

Useful links

All Cisco DNA Center guides

      https://www.cisco.com/c/en/us/support/cloud-systems-management/dna-center/products-installation-guides-list.html

IOx application guides

      https://developer.cisco.com/docs/app-hosting-ap/

      https://developer.cisco.com/docs/iox/#!introduction-to-iox/what-is-iox

      https://developer.cisco.com/docs/iox/#!what-is-ioxclient

      https://developer.cisco.com/docs/iox/#!tutorial-build-sample-docker-type-iox-app-using-docker-toolchain/tutorial-build-sample-docker-type-iox-app-using-docker-toolchain

Application Hosting video guides

      The Internet of Things – Application Hosting Overview and Use Cases

    https://www.youtube.com/watch?v=ZDRkKOTLat8&ab_channel=CiscoWLAN

      The Internet of Things – Application Hosting Deployment and Technical Deep Dive

    https://www.youtube.com/watch?v=0u3FGlRrdhU&ab_channel=CiscoWLAN

Learn more