As an alternative to using the HiveMQ test page to publish on the MQTT topic, we can configure an mqtt output node. This is the mirror of the mqtt input node and allows you to configure an MQTT service and the topic you are publishing on. Continue reading “Node-RED: Lecture 3 – Example 3.6 Using an mqtt output node to test the flow”
When dealing with real world input from sensors and other devices, an ability to scale input data is often required. Node-RED provides the scale node to support this and allows you to scale (linearly) an input value. Continue reading “Node-RED: Lecture 3 – Example 3.5 Scaling input with the range node”
In this example, you’ll continue your message analysis theme and add nodes to the part of the flow that is used when you determine that the flow should be analyzed. You’ll be using the rbe (report by exception) node which only passes on data if it has changed. Continue reading “Node-RED: Lecture 3 – Example 3.4 Using the rbe (report by exception) node”
Another useful node is the change node, which will allow you to change a message payload or add new properties. You can use this node to affect the properties in a message, either by changing existing ones, deleting them or adding new properties. Continue reading “Node-RED: Lecture 3 – Example 3.3 Using a change node to change or manipulate a message payload”
This example continues to use the MQTT node we setup in Example 3.1. If you aren’t following these examples sequentially you may want to review example 3.1 as it shows how to use the free MQTT broker, HiveMQ which is needed for the MQTT node. Continue reading “Node-RED: Lecture 3 – Example 3.2 Using the switch node to handle a JSON object”
This example builds on the mqtt node, which provides a convenient way to take input from an MQTT broker. For those not familiar with MQTT, it is an example of a publish/subscribe system (usually shortened to pub/sub system) which lets sensors publish updates that all delivered to client subscribed to that sensor. Continue reading “Node-RED: Lecture 3 – Example 3.1: Receiving JSON via an MQTT message”
A list of examples used in the lectures
|Examples Lecture 1|
|1.1||Using Twitter to control a Raspberry PI|
|1.2||Using Node-RED to alert you when you’re falling behind on your exercise schedule|
|1.3||Building a simple web service using Node-RED’s built-in HTTP nodes|
|Examples Lecture 2|
|2.1||Building your first flow: Hello World|
|2.2||A second flow: weather alerts|
|Examples Lecture 3|
|3.1||Receiving JSON via an MQTT message|
|3.2||Using the switch node to handle a JSON object|
|3.3||Using a change node to change or manipulate a message payload|
|3.4||Using the rbe (report by exception) node|
|3.5||Scaling input with the range node|
|3.6||Using an mqtt output node to test the flow|
|3.7||Using Websockets with Node-RED|
|3.8||Sending TCP requests.|
|Examples Lecture 5|
|5.1||Creating and returning a new message in a function node|
|5.2||Creating and returning multiple messages in a function node|
|5.3||Using Context in a function node|
|5.4||Using Global Context|
|5.5||Creating a sub-flow|
|5.6||Packaging Function nodes using subflows|
|5.7||Creating a Slack Bot to query data|
|Examples lecture 6|
|6.1||Retrieving data from a web page|
|6.2||Counting words in a string|
|6.3||Using Context to generate rolling averages|
|6.4||Using the context element to share a function and make it accessible to all functions in the canvas.|
|6.5||Defining and using an iterator sub flow|
|6.6||Getting earthquake data from an external API and returning it as multiple messages.|
|6.7||Multiple Inputs on a Function Node|
|6.8||Letting a Function Node Send Multiple Messages on a single output|
|Examples in lecture 7|
|7.1||Using the FreeBoard dashboard node|
|7.2||Using the nodered.contrib.ui nodes|
|Misc dashboard examples|
|Tutorial||Multiple lines on a chart|
|Tutorial||Creating your own UI widget – textual|
|Tutorial||Creating your own UI widget – using an external graph library|
|Tutorial||Using the SQL lite node|
This lecture is a set of links to advanced tutorials we have written. These include:
- Tutorial: Using FRED (Cloud Node-RED) to build an AI chatbot using IBM Watson
- Tutorial: Using FRED (Cloud Node-RED) with the GE Predix Timeseries Microservice
- Tutorial: Using OPC-UA with FRED (Cloud Node-RED)
- Monitor a Pi Zero hosted security camera with Node-RED & MQTT
Making sense of Smart City standardization activities
Update: For a fuller discussion of Smart City technologies, including standards, read Smart City Technology Trends
Last year I was asked to write an article on Smart City standards for the IEEE standards magazine. This blog post was the basis for that article, but also acts as an evolving document as I update it as standards activities evolve.
First step – get some sort of framework to understand where different standards fit
The amount of activity in Smart City standardization is truly overwhelming – this is partly due to the breadth and scope of Smart City activities – from water pipes to people – and partly because it is early in the process and the standards bodies are still trying to understand how best to contribute.
After spending several days drowning in standards, I decided to step back and try and find a way of categorizing the different standards. I came across a useful framework from the UK’s standards body, the British Standards Institute (BSI), which is part of an excellent (and free) report they’ve written on Smart Cities (PD 8100 Smart city overview)
The Framework categorizes standards into 3 main levels, Strategic, Process and Technical
- Level 1: Strategic: These are smart city standards that aim to provide guidance to city leadership and other bodies on the “process of developing a clear and effective overall smart city strategy”. They include guidance in identifying priorities, how to develop a roadmap for implementation and how to effectively monitor and evaluate progress along the roadmap.
- Level 2: Process: Standards in this category are focused on procuring and managing smart city projects – in particular those that cross both organizations and sectors. These essentially offer best practices and associated guidelines.
- Level 3: Technical: This level covers the myriad technical specifications that are needed to actually implement Smart City products and services so that they meet the overall objectives
As the BSI state: “Strategic-level standards are of most relevance to city leadership and process-level standards to people in management posts. However, even technical specifications are relevant to people in management posts as they need to know which standards they need to refer to when procuring technical products and services.”
Using the Framework to position and group standards activities
Once we have a usable framework, the process of trying to fit standards into the levels can begin. The BSI folks have made a useful start – highlighting a number of ongoing international activities that they, as the UK’s standards body, collaborate on – and placing them in the framework.
The main international bodies are:
- ISO: International Organization for Standards . The main global body that national standards bodies work with and with which many of us are familiar with via “ISO certified”
- CEN/CENELEC/ETSI: In Europe, standards are developed and agreed by the three officially recognized European Standardization Organisations: the European Committee for Standardization (CEN), the European Committee for Electrotechnical Standardization (CENELEC) and the European Telecommunications Standards Institute (ETSI).
- ITU: ITU is the United Nations specialized agency for information and communication technologies – ICTs
- IEC: Founded in 1906, the IEC (International Electrotechnical Commission) is the world’s leading organization for the preparation and publication of International Standards for all electrical, electronic and related technologies. These are known collectively as “electrotechnology”.
Placing major worldwide standards activities in BSI framework (Copyright BSI 2015)
It’s still a fairly daunting set of activities, but at least we now have a sense of where the major international standards groups are focused and we can begin to take a look at some of the more important activities. In the next section, I highlight a few activities that I’ve come across that I think are important and seem to have significant momentum. If you are looking for a more comprehensive list, then in the final section, I’ve listed up all the activities I’ve come across.
Note, most actual standards documents are expensive – unless you are a member of the standards body – so a casual browse isn’t an option. I’ve linked to official documents and summaries below and if I’ve come across a publicly accessible overview, I’ve added that – if you know of better public information, let me know.
If you are working on Smart Cities today – here’s some standards activities you should at least be aware of
STRATEGIC – AIMED AT THE PROCESS OF DEVELOPING A CLEAR AND EFFECTIVE OVERALL SMART CITY STRATEGY
- ISO 37120 Sustainable development of communities — Indicators for city services and quality of life. This standard, part of a suite by ISO’s Technical Committee 268 identifies 100 indicators that cities should track to allow them to benchmark progress. Actually there are 17 areas, 46 core and 54 supporting indicators that cities either “shall” (core) or “should” (supporting) track and report. The World Council on City Data (WCCD) has been set up by cities to benchmark cities and has certified 17 global cities. Worth taking a look.
- From the BSI, BS 8904 has a focus on sustainable communities and “provides a framework as recommendations and guidance that assist communities to improve. The recommendations and guidance are intended to be applied by communities of any size, structure and type.”
- Two draft ISO standards also looking at sustainable communities are ISO 37101: Sustainable development & resilience of communities – Management systems – General principles & requirements and ISO 37102: Sustainable development & resilience of communities – Vocabulary. An overview of this ongoing work is here
PROCESS – PROCURING AND MANAGING SMART CITY PROJECTS
- The development by the BIS of a Smart city framework standard (PAS 181) falls into the Process category: “It provides practical, ‘how-to’ advice, reflecting current good practice as identified by a broad range of public, private and voluntary sector practitioners engaged in facilitating UK smart cities”
- The development of a Data concept model for smart cities (PAS 182). This is probably worth a look at if you are interested in data hubs and data interoperability issues as it bases some of its work on the UK’s HyperCat IoT interoperability standard.
TECHNICAL – IMPLEMENTING SMART CITY PROJECTS
- Two technical standards that are still under development, (from the ISO/IEC JTC1 group) but worth tracking are ISO/IEC AWI 30145 Information technology – Smart city ICT reference framework and the associated ISO/IEC AWI 30146 Information technology – Smart city ICT indicators which are both looking at the ICT infrastructure needed for Smart Cities. Need a publicly available overview for these. Draft versions of these documents are available here
- ISO: Report from JTC1 – looking at ICT for smart cities: A 2014 document that lays out the Smart City space from a technical point of view. There’s a useful diagram (fig 4) that highlights the technical areas that ISO, IEC and ITU are working on as well as details of their standards work and of the overall activities of JTC1 – great info but heavy going.
- IEEE P2413 (http://standards.ieee.org/develop/project/2413.html) is a developing standard from the Institute of Electrical and Electronic Engineers (IEEE) for an architectural framework for the Internet of Things (IoT). The standard is being designed, when completed, to offer a reference model defining relationships among various IoT verticals such as transportation and healthcare (the same verticals that are being transformed in the world’s transition to smart cities) and their common architecture elements.
It’s also worth taking a look at the full set of BSI standards for Smart Cities. Although these are national standards, the UK seems to have developed a comprehensive set of Smart City activities quite early and they appear to be feeding in to ongoing international organizations.
- The development of a standard on Smart city terminology (PAS 180)
- The development of a Smart city framework standard (PAS 181)
- The development of a Data concept model for smart cities (PAS 182)
- A Smart city overview document (PD 8100)
- A Smart city planning guidelines document (PD 8101)
- Mapping research and modelling for Smart Cities
- Guidance on the Economic Assessment and Funding of Smart City Initiatives
A somewhat more nascent effort by the US National Institute of Standards (NIST) can be found here – this seems to be more of a ‘call to action’ than actual NIST endorsed standards, but worth taking a look at if you are USA based.
A more comprehensive list of the standards activities in the various International groups
Don’t read any further if you are already feeling overwhelmed – but for those who care (or just like this stuff) here’s a more comprehensive list of standards I’ve come across – returning to the BSI framework:
Placing major worldwide standards activities in BSI framework (Copyright BSI 2015)
- ISO 37120: Sustainable development & resilience of communities – Indicators for city services & quality of life
- ISO/TR 37150: Smart community infrastructures – Review of existing activities relevant to metrics
- ISO 37101: Sustainable development & resilience of communities – Management systems – General principles & requirements
- ISO 37102: Sustainable development & resilience of communities – Vocabulary
- ISO/TR 37121: Inventory & review of existing indicators on sustainable development & resilience in cities
- ISO/TS 37151: Smart community infrastructure metrics – General principles & requirements 7.
- ISO/TR 37152: Smart community infrastructures — Common framework for development & operation
- A useful slide deck describing activities of ISO JTC1 – Working group on Smart Cities (WG 11) is here
- IEC/SEG 1: Systems Evaluation Group on Smart Cities – Most of their activities seem to be working group reports, a list that reference ‘Smart Cities’ can be found here
- ITU-T SG5 FG-SSC: Focus group on smart sustainable cities
- SSC-0100-Rev 2: Smart Sustainable cities – Analysis of Definitions
- SSC-0110: Technical Report on Standardization Activities and Gaps for SSC and suggestion to SG5, ITU-T
- SSC 162: Key performance indicators (KPIs) definitions for smart sustainable cities
CEN-CENELE-ETSI (aka European) activities
- CEN-CENELEC-ETSI SSCC-CG: Smart and Sustainable Cities and Communities Coordination Group
While not directly related to Smart Cities, the following technical standards will play a part because they focus on constituent parts of the smart city:
- General – IEEE has a document that lists up their standards that they think are related to Smart Cities – available here.
- The National Institute of Standards and Technology (NIST) released a preliminary discussion draft of its Framework for Cyber-Physical Systems. The draft has an ambitious goal: to create an integrated framework of standards that will form the blueprint for the creation of a massive interoperable network of cyber-physical systems (CPS), also known as the “Internet of Things.” In 2014, NIST established the cyber-physical systems public working group(CPS PWG)—an open public forum.
You may be interested in my article on Technology Trends affecting Smart Cities which includes a discussion of Smart City Standards.
This blog has been turned into an article for the IEEE standards online Magazine, read it here