Popis: |
IoT devices need to be frugal with their network connections, which includes using efficient communication protocols, concise data encoding and optimizations in the business logic. Several tools are available that help with some or all of these, but they are generally too complex or limited in their design. This work presents a set of libraries and architectural patterns that greatly simplify the optimization of IoT devices' data usage while maximizing flexibility and maintaining expandability as a key focus. It can be added to most applications as a layer between the business logic and networking. There, it efficiently serializes and batches application data and optionally provides networking-related guarantees that the underlying communication protocols may not. In testing, an IoT application using this tool directly over UDP achieved an 88 % reduction in data rate and 98 % reduction in packet rate compared to an application using CoAP with identical business logic and no loss in network guarantees. IoT naprave morajo biti kar se da varčne s svojo komunikacijo. To vključuje tudi uporabo učinkovitih komunikacijskih protokolov, stisnjenih kodiranj podatkov in optimizacij v poslovni logiki. Obstaja nekaj orodij, ki pomagajo s temi zahtevami, a so na splošno preveč kompleksna ali preveč omejujoča. Ta naloga vsebuje sklop knjižnic in arhitekturnih vzorcev, ki olajšajo optimizacijo komunikacij IoT naprav, brez da bi žrtvovali fleksibilnost in razširljivost sistema. Primerni so za večino aplikacij kot dodaten sloj med aplikacijsko logiko in omrežno povezavo, ki učinkovito kodira in pakira podatke, ter doda garancije v zvezi z omrežjem, ki jih omrežni protokol mogoče ne. Med testiranjem je IoT aplikacija, zgrajena s temi orodji čez UDP prenesla 88 % manj podatkov in 98 % manj sporočil kot aplikacija, ki je uporabljala CoAP, z enako aplikacijsko logiko in zanesljivo komunikacijo. |