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:
- Installation of Tesseract
- Meraki administrator dashboard access and accompanying X-Cisco-Meraki-API-Key
- 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
- Improved error handling
- Implement creating SSID when MR device is shown
- Implement "Add" device
- Implement "Remove" device
- 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