FIWARE / tutorials.Getting-Started

:blue_book: FIWARE 101: An Introduction to the FIWARE Platform
https://www.fiware.org/developers/
MIT License
42 stars 44 forks source link

How to provision an IoT Agent #16

Closed wmmihaa closed 5 years ago

wmmihaa commented 5 years ago

As I've been going through the tutorial (great postman samples btw), I got stuck on how to register an IoT Agent, meaning how do I get/generate tokens etc?

jason-fox commented 5 years ago

I assume that this issue should have been raised under the IoT Agent tutorial. The Getting Started tutorial only includes the context broker.

Could you provide further details by raising a separate issue over there - it is unclear which tutorial and which step you are referring to and which token are you talking about.

wmmihaa commented 5 years ago

I (perhaps wrongly) assumed that the IoT Agent needed to be registered in the context broker prior to connecting to it...

jason-fox commented 5 years ago

The IoT Agent registers itself with the context broker on startup using the IOTA_CB_HOST environment variable - An example can be found it the docker-compose

Manual registration of commands is in the context broker is no longer necessary. Later versions of the IoT Agents are able automatically register devices into the context broker - see https://github.com/FIWARE/tutorials.IoT-Agent/issues/20 - the tutorial still keeps the redundant step at the moment.

jason-fox commented 5 years ago

Closing this issue, as further discussion should be raised against another tutorial.

wmmihaa commented 5 years ago

Sorry...for not understanding just yet...

I understand that there would be some environment variable pointing to the uri of the context broker, but surly there must be some provisioning process allowing the agent to connect?

I do appreciate your quick answers, and I apologize if they are stupid. I come from a background of AWS and Azure and assumes an IoT agent is the equivalent of a Thing/Device.

jason-fox commented 5 years ago

IoT Agents are not devices, they are a middleware which connects to devices. Basically you're confusing the two ports of the IoT Agent.

The South Port can be kind of vague as well, as the IoT Agent-to-device communication does not necessarily have to be HTTP. If it is HTTP, the flow of HTTP requests is kind of obvious:

But it could be that the IoT Agent is just listening to topics on an MQTT broker or accepting COAP requests from LightweightM2M or listening to a LoRa server or whatever.

Depending on your data flow you could also look at the Node Red connector.