by Nahuel Defossé for
SCADA are real time monitoring and controlling systems, they generally control remote processes. They’re usually tied to proprietary protocols and even network stacks and generally end up being very expensive. Recent Open Hardware boards provide a very cheap alternative for home and small business applications, and Python has a very appealing ecosystem of libraries and frameworks to be the language of choice if we plan to use the web as the main interface, and develop an open solution.
Django is a popular framework in the web applications world, but it still lacks some features for “real time web”. ZMQ is a very popular library for asynchronous communication which provides some very handy abstractions over plain UNIX sockets that can be used as a very effective IPC transport for any application. Web Sockets is one of the W3C standards for server to client updates. These three pieces of technology get along very well.
The goal of this talk is to give an overview and design principles about how can we integrate Django, WebSockets, ZMQ and other libraries to provide real time web based SCADA solution.