The goal of the project is to implement the IETS's RFC for CoAP publish-subscribe as an API/library for general use, and then build a front-end client app to show live data published from a network of sensors through a broker to subscribed clients using the aforementioned API. The project is commissioned by the KTH Network Systems Laboratory. You can read more about it here and visit our Github page here.
Petr Kocián (Scrum master)
Zainab Al-Saadi
Matias Carlander-Reuterfelt Gallo
Tuna Gersil
Ismail Hilal
Ahmad Hussaein
Wajd Tohme
The app takes one input, namely the IP-address of a Broker. You can use a public Broker or a local one that can be running on your machine. The IP-address is used to discover the Broker and have access to its contents.
The app supports the following functions:
Discover: Discovers a CoAP pub/sub Broker by using CoAP Simple Discovery or through a Resource Directory (RD). If a discovery is successful, it shows the contents of the Broker, else it returns NOT FOUND.
Create: Used to add new topics to the Broker. A topic has a specific lifetime inside the Broker unless it gets updated or subscribed to. You can create a main topic or a sub-topic inside a topic. The Broker returns a response code of “2.01 CREATED” if the topic is created
Publish: Uses PUT or POST methods to publish state updates to the Broker. The Broker returns a response code of "2.04 Changed" if the publish is accepted
Subscribe: Used to subscribe to a topic on the Broker using CoAP observe. The Broker adds the subscribers to a list of observers and frequently gives them updates of the recently published value.
Unsubscribe: Allows clients to unsubscribe from topics on the Broker using the CoAP Cancel Observation operation.
Remove: Removes a topic from the Broker using CoAP Delete. The Broker returns "2.02 Deleted" if the removal is successful. After a topic is removed, the Broker removes all its subscribers from the list of observers. If the removed topic has sub-topics, then all of them should be recursively removed.
kocian@kth.se