14

We are exploring the different IoT use cases and solutions. In order to facilitate the exploration, experimentation, design, development and testing of possible solution, I am investigating the possibility of locally setting up a simple IoT server.

Therefore I would like to understand the underlying architecture of servers that service IoT devices. Broadly speaking IoT devices connect service which services data and make the information available of use by other devices. This is pretty straightforward.

For now the possible IoT edge devices will use Wi-Fi, but plan to migrate to a low data rate, low power protocol such as ZigBee, BLE, or might be Z-Wave, at which point I will require a some type of hub. The data payload will be about 100 bytes, at peak the transmission could as high as one transaction per minute. The IoT edge devices will mostly upload data, with an occasional download to the devices.

It has been suggested that I look into MQTT, and RabbitMQ as possible options. Also I have been directed to “Displaying MQTT messages in a browser in real time” to which I am looking into at the time of writing.

Here are a few questions I believe are related:

  • What makes an IoT server different from a webserver, mail server or FTP server?
  • What is the underlying architecture of a basic IoT server?
  • What characteristics are important when considering simple, lightweight IoT server?

2 Answers 2

6

I'm going to answer your first question. I think it would be better to ask just a single question per... question :)

What makes an IoT server different from a webserver, mail server or FTP server?

  • A web server talks HTTP to provide web pages.
  • A mail server talks POP/IMAP/SMTP to exchange email.
  • An FTP server talks the FTP protocol for file transfer.

Essentially they're just all ways of transferring information between a client and a server. An IoT server is no different, it just talks an 'IoT' protocol to communicate between the client and server. The information being passed isn't web pages, email or files, it is messages such as "current temperature is 20C". Example IoT protocols are MQTT and CoAP.

1
  • For example, your "IoT" server could be the "MQTT Broker" and that would make it an IoT server if you use MQTT to pass data around the devices in your IoT infrastructure.
    – m4l490n
    Nov 20, 2018 at 15:25
5

What makes an IoT server different from a webserver, mail server or FTP server?

As @ralight pointed, IoT server works with IoT protocol stack. This is not limited to one OSI layer, actually every stage is or can be optimized for IoT use and of course new protocols are needed.

Also it is possible that hardware is untypical: in little setup data collector device like Raspberry PI can hold the tasks of server in total or partially.

Partially means fog computing, where data is processed where it is collected and only end results go to main server.

What is the underlying architecture of a basic IoT server?

From this site some hardware specs:

In a hypothetical assumption of your case, let’s say 300 clients are kept open simultaneously on the server and each client sends 10 msgs/second, amounting to 3000 messages per second. Believe me, even a broker hosted on dual core with 2 GB RAM will not have any significant consumption.

So, basic server hardware.

What characteristics are important when considering simple, lightweight IoT server?

I don't have much insight to this, but I would be personally interested to know whether Raspberry PI is enough as some sort of MQTT server. I read somewhere in Quora that Esp8266 is not, but I have seen a normal desktop Linux working on RPI so why not it could act as server too.

What to consider before trying Raspberry though is the hardware requirements of selected service stack. With normal server hardware the nowadays memory amounts are so high that there won't be problem.

Mentioned 3000msg/sec is relatively high compared to IoT test cases, and RPI3 has 1G RAM. That is half, so it depends do the messages fill the memory in that case or how much the bare MQTT needs. That affects how suitable it would be.

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.