Skip to content

Latest commit

 

History

History
119 lines (83 loc) · 6.84 KB

README.md

File metadata and controls

119 lines (83 loc) · 6.84 KB

Step-by-Step Tutorials

License: MIT Support badge

This is an umbrella repository which holds collections of NGSI-v2 and NGSI-LD tutorials for developers wishing to learn about the FIWARE ecosystem and allow users and developers to easily navigate to the relevant source code, documentation and Docker images.


Note

Should I be using NGSI-v2 or NGSI-LD?

FIWARE offers two flavours of the NGSI interfaces:

  • NGSI-v2 offers JSON based interoperability used in individual Smart Systems
  • NGSI-LD offers JSON-LD based interoperability used for Federations and Data Spaces

NGSI-v2 is ideal for creating individual applications offering interoperable interfaces for web services or IoT devices. It is easier to understand than NGSI-LD and does not require a JSON-LD @context.

However, NGSI-LD and Linked Data is necessary when creating a data space or introducing a system of systems aproach, and in situations requiring interoperability across apps and organisations.


Smart Supermarket

This is a collection of tutorials for the FIWARE ecosystem designed for NGSI-v2 developers. Each tutorial, based around a Smart Supermarket consists of a series of exercises to demonstrate the correct use of individual FIWARE components using NGSI-v2 interfaces and shows the flow of context data within a simple Smart Solution either by connecting to a series of dummy IoT devices or manipulating the context directly or programmatically.

🎥 Introduction
to NGSI-v2
📚 NGSI-v2 Tutorial
Documentation

🇯🇵 このチュートリアルは日本語でもご覧いただけます。

Smart Farm

This is a collection of tutorials for the FIWARE ecosystem designed for NGSI-LD developers. Linked data concepts are explained using the entities from a Smart Farm. Each tutorial then demonstrates the correct use of individual FIWARE components via the NGSI-LD interface and shows the flow of context data within a simple Smart Solution either by connecting to a series of dummy IoT devices or manipulating the context directly or programmatically.

🎥 Introduction
to Linked Data
🎥 Introduction
to NGSI-LD
📚 NGSI-LD Tutorial
Documentation

Install

To download the full set of tutorials, simply clone this repository:

git clone https://github.com/FIWARE/tutorials.Step-by-Step.git
cd tutorials.Step-by-Step/
git submodule update --init --recursive

The NGSI-v2 and NGSI-LD tutorials are then available under the NGSI-v2 and NGSI-LD directories respectively.

Docker and Docker Compose

Each tutorial runs all components using Docker. Docker is a container technology which allows to different components isolated into their respective environments.

  • To install Docker on Windows follow the instructions here
  • To install Docker on Mac follow the instructions here
  • To install Docker on Linux follow the instructions here

Docker Compose is a tool for defining and running multi-container Docker applications. A series of *.yaml files are used configure the required services for the application. This means all container services can be brought up in a single command. Docker Compose is installed by default as part of Docker for Windows and Docker for Mac, however Linux users will need to follow the instructions found here

You can check your current Docker and Docker Compose versions using the following commands:

docker-compose -v
docker version

Please ensure that you are using Docker version 24.0.x or higher and Docker Compose 2.24.x or higher and upgrade if necessary.

Postman

The tutorials which use HTTP requests supply a collection for use with the Postman utility. Postman is a testing framework for REST APIs. The tool can be downloaded from www.getpostman.com. All the FIWARE Postman collections can downloaded directly from the Postman API network

Apache Maven

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. Maven can be used to define and download our dependencies and to build and package Java or Scala code into a JAR file.

Windows Subsystem for Linux

We will start up our services using a simple bash script. Windows users should download the Windows Subsystem for Linux to provide a command-line functionality similar to a Linux distribution on Windows.


License

MIT © 2018-2024 FIWARE Foundation e.V.