User:Duggabe: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
mNo edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Understanding ZMQ Blocks =
Barry Duggan is a graduate of Georgia Tech in Electrical Engineering and is a career computer programmer specializing in real-time control, data communication systems, and email security. He has been an amateur radio operator since 1953.


<b>This tutorial is under construction.</b>
Barry started working on the GNU Radio project in 2019 and now devotes most of his time doing Wiki documentation, and development of amateur radio applications. He is a member of the GRCon24 Organizing Committee.


This tutorial presents the GNU Radio ZMQ blocks. It is a set of six Source Blocks and six Sink Blocks. The naming convention follows other source and sink blocks in that a source block provides data entering a GNU Radio flowgraph and a sink block sends data out of the flowgraph. It is a flowgraph-oriented perspective.
Summary of programming languages used (roughly in chronological order):
 
* FORTRAN
From the [https://zeromq.org/ ZeroMQ] website: "ZeroMQ (also known as ØMQ, 0MQ, or zmq) looks like an embeddable networking library but acts like a concurrency framework. It gives you sockets that carry atomic messages across various transports like in-process, inter-process, TCP, and multicast."
* assembly languages of various computers
 
* COBOL
== Prerequisites ==
* C
 
* Pascal
* [[Guided_Tutorial_GRC|'''Intro to GR usage: GRC and flowgraphs''']]
* HTML5
* [[Sample_Rate_Tutorial|'''Understanding sample rate''']]
* CSS3
 
* XML
== Types of ZMQ Blocks ==
* JavaScript
 
* JSON
The two basic groups of ZMQ blocks are those which transport stream data, and those which transport text strings. They are described below.
* node.js
 
* PHP
ZMQ blocks come in pairs:
* Python
* PUB - SUB
* PUSH - PULL
* REQ - REP
 
The PUB, PUSH, and REP blocks are always sink blocks; the others are source blocks. Choosing which pair to use depends on your system architecture.
* The PUB - SUB pair can be compared to broadcasting. The PUBlish sink sends out data which can be received by one or many SUBscribers.
* The PUSH - PULL is a point to point link of equal peers.
* REQuest - REPly pair is a point to point link which operates in lock-step: one REQ in gives one REP out. This case changes the perspective somewhat in that the flowgraph is acting as a server for a remote client.
 
=== Data Blocks ===
 
=== Message Blocks ===
 
== Using ZMQ Blocks ==
 
=== Separate GR flowgraphs on Same Computer ===
 
=== Separate GR flowgraphs on Different Computers ===
 
=== Python Program as Destination of ZMQ Block ===
 
=== Python Program as Source to ZMQ Block ===

Latest revision as of 16:37, 26 October 2023

Barry Duggan is a graduate of Georgia Tech in Electrical Engineering and is a career computer programmer specializing in real-time control, data communication systems, and email security. He has been an amateur radio operator since 1953.

Barry started working on the GNU Radio project in 2019 and now devotes most of his time doing Wiki documentation, and development of amateur radio applications. He is a member of the GRCon24 Organizing Committee.

Summary of programming languages used (roughly in chronological order):

  • FORTRAN
  • assembly languages of various computers
  • COBOL
  • C
  • Pascal
  • HTML5
  • CSS3
  • XML
  • JavaScript
  • JSON
  • node.js
  • PHP
  • Python