UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 

Harnessing Python Power: The Simplest Way to Make Your Product Smart and Connected

Xilinx Employee
Xilinx Employee
1 0 11.6K

By Chetan Khona, Xilinx Industrial IoT Strategy

 

The Psychology behind Smart and Connected Products

If you are someone that wonders, with a healthy dose of cynicism, why seemingly everything is touting as being smart and connected these days, you might ask yourself, “Does that really need to be connected?” (I’m looking at you Bluetooth toothbrush with companion app—I manage to brush my teeth twice a day and scrub them all quite well without your help, thank you very much.) The actual answer is found in human psychology, not technology—or at least it was for me (cue flashback music): in the spring of 2011, Wired Magazine published an article on feedback loops, and not the kind you use in designing latches and flip-flops.

 

The article makes the argument for four stages in a feedback loop: 1) the capture, measurement, and storage of data; 2) data must be delivered, not in raw form, but in a persuasive way relevant to the context of the situation; 3) the information should be tied to practical options to address; 4) action should be taken that can then be fed back into the process again and again. This fairly well-understood paradigm, when applied to real-life situations as covered in the article, where nature and nurture often obscure the facts of the matter, was an eye-opener for me.

 

A Python Powered Framework for Smart and Connected Embedded Electronics

Fast-forward to today. The application of artificial intelligence, through analytics and machine learning techniques and in the context of the Internet of Things, follows this feedback concept quite rigorously. However, few frameworks encompass all elements of this process and even fewer make it relatively simple and easy. Xilinx has created one that delivers the goods—Python on Zynq, or PYNQ. You may have seen a pink-colored board at some point, but PYNQ is not limited to single target hardware, it is a framework that can work with any Zynq or Zynq UltraScale+ board, including your custom design.

 

Chetan_small_90.png

 

The PYNQ framework offers you:

  • An unrivaled approach for capture and processing of multiple, heterogenous data streams, heavily leveraging the best parts of FPGA technology, parallelism, and determinism
  • The ability to visualize the on-chip data the same way some folks are only able to accomplish by shipping everything to the cloud or using expensive mathematical computing software
  • Support for a wide variety of libraries and packages under the control of the world’s most popular computer programming language, Python, such as ROS for robotics, Sci-Kit Learn for data mining and analysis, among many others
  • In a single device (the Zynq SoC portfolio), the entirety of the feedback loop: sensing, analyzing, deciding, and applying corrective action—all with best-in-class determinism and low latency
  • A built-in embedded web server that enables remote monitoring and updates, cloud co-processing, and is a key part of a software-friendly infrastructure

Learn More in as Little as 4 Minutes

All this capability is open-source, ready for prime-time, and available at no-charge. If you have 4 minutes, watch the SPYN motor control quick take video; if you have 15 minutes, read the PYNQ white paper; if you have 40 minutes, watch the recent webinar on PYNQ and SPYN on demand. If you have an hour, you can learn an incredible amount by doing all of the above, and you’ll be glad you did. Furthermore, you can leverage lots of community design examples ranging from machine vision to motor control to implementation of neural networks and much more. Go to: http://www.pynq.io/community.html

Tags (2)