merakiProVision

merakiProVision is a Python based WebEx Teams bot that can provision Meraki network devices by uploading pictures of the device placards.

Caveats

This is a single-threaded Flask application for demo/sample-code purposes. Running this as-is locally and using a reverse-proxy tool like ngrok will only allow for a single bot interaction at a time and multiple interactions at one time could result in confusing results.

When sending pictures, for best results make sure they are right side up and the serial number of the Meraki device is clear.

Requirements:

  1. Installation of Tesseract
  2. Meraki administrator dashboard access and accompanying X-Cisco-Meraki-API-Key
  3. WebEx Teams account with bot integration created

Installation and run

$ python3 -m venv meraki_proVision_bot
$ pip install -r requirements.txt
$ python meraki_proVision_bot.py -u <url of webserver>

Usage

In WebEx teams, find the bot you've created and direct Message it "Hi" or "Help". Messaging prompts should allow follow on activities.

TODO

  1. Improved error handling
  2. Implement creating SSID when MR device is shown
  3. Implement "Add" device
  4. Implement "Remove" device
  5. Implement "Delete" network

Use Case

Imagine you are a large scale retailer and you have hundreds, if not thousands, of sites where you need to deploy identical Wi-Fi networks. Network programmability enables you to scale and replicate that deployment, but running those scripts and the access control requires a network engineer onsite or available through phone for every single deployment. Managing the serial numbers of Meraki devices at the different sites presents an enormous challenge as well.

Meraki ProVision enables you to solve both problems. Physical networking and serial number management can be performed by a knowledgeable user on site, and the information can be relayed to central administrators—through pictures, no less.

This bot takes pictures of the Meraki device placard, runs it through an OCR filter called Tesseract, extracts the serial number of each device, and adds it to the network! No typing, no dashboard access, no flying network engineers all over the place. Thousands of network deployments can be delegated to the "boots on the ground".

Business Summary
Delegate site network deployments to the "boots already on the ground" by using a mobile application and pictures
View code on GitHub

Code Exchange Community

Get help, share code, and collaborate with other developers in the Code Exchange community.View Community
Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.