{"id":275332,"date":"2022-06-16T15:05:27","date_gmt":"2022-06-16T15:05:27","guid":{"rendered":"https:\/\/link4s.pt\/project\/pps1-cps-framework\/"},"modified":"2023-06-16T09:38:23","modified_gmt":"2023-06-16T09:38:23","slug":"pps1-cps-framework","status":"publish","type":"project","link":"https:\/\/link4s.pt\/en\/project\/pps1-cps-framework\/","title":{"rendered":"PPS1 &#8211; CPS Framework"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.19.2&#8243; _module_preset=&#8221;default&#8221; background_enable_image=&#8221;off&#8221; background_blend=&#8221;multiply&#8221; min_height_tablet=&#8221;35vh&#8221; min_height_phone=&#8221;25vh&#8221; min_height_last_edited=&#8221;off|desktop&#8221; custom_margin=&#8221;41px||||false|false&#8221; bottom_divider_style=&#8221;ramp&#8221; bottom_divider_color=&#8221;#FFFFFF&#8221; bottom_divider_flip=&#8221;vertical|horizontal&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.17.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.17.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.19.2&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Fira Sans Condensed Light||||||||&#8221; text_text_color=&#8221;#281E79&#8243; text_font_size=&#8221;18px&#8221; text_line_height=&#8221;1.8em&#8221; header_text_color=&#8221;#92CEE9&#8243; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Under PPS1, Aa framework was designed to be included in a data transmission chain for IoT devices, with the focus of this framework being to allow, in a seamless way, the development of platforms that can interact with different IoT devices, regardless of the communication protocol they use.<\/p>\n<p>It is possible to define at runtime which devices are allowed to communicate and where their data is routed to. The data sent by IoT devices is forwarded by the framework to its consumers, which can be any application capable of receiving that data, such as databases, processing algorithms (e.g. AI), data visualization platforms, etc.<\/p>\n<p>Just as devices can be added to the framework, ecosystems, consumers, and endpoints can be added, changed, or removed in real time.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/link4s.pt\/wp-content\/uploads\/2022\/12\/PPS1-1.png&#8221; title_text=&#8221;PPS1&#8243; align=&#8221;center&#8221; force_fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.19.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.19.2&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Fira Sans Condensed Light||||||||&#8221; text_text_color=&#8221;#281E79&#8243; text_font_size=&#8221;18px&#8221; text_line_height=&#8221;1.8em&#8221; header_text_color=&#8221;#92CEE9&#8243; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>In a &#8220;traditional&#8221; situation, developers would have to create a way to connect each of the ecosystems to each of the <em>endpoints<\/em> receiving data\/sending commands. In order to simplify the entire development and production process, this <em>framework<\/em> provides a way to connect all these devices and <em>endpoints<\/em> in a simple and fast way.<\/p>\n<p>The <em>framework<\/em> developed is based on microservices, which will allow, in an easy way, the integration of new functionalities. It will thus be possible to develop platforms that will allow in the future the addition of not only the devices foreseen in this project, but also other solutions that may be developed in the future.<\/p>\n<p>Besides the integration of various types of devices, the integration of various types of consumers is also possible, allowing the connection to platforms (already existing or developed around this <em>framework<\/em>) developed according to the intended business model.<\/p>\n<p>The central part of this <em>framework<\/em> includes a fully configurable &#8220;Mediator&#8221; that is intended to forward the information coming from the devices (e.g. GPS coordinates) to the consumers of that information and to send commands to the devices.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/link4s.pt\/wp-content\/uploads\/2022\/12\/PPS1-1-1.png&#8221; title_text=&#8221;PPS1-1&#8243; align=&#8221;center&#8221; force_fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.19.2&#8243; _module_preset=&#8221;default&#8221; module_alignment=&#8221;center&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.19.2&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Fira Sans Condensed Light||||||||&#8221; text_text_color=&#8221;#281E79&#8243; text_font_size=&#8221;18px&#8221; text_line_height=&#8221;1.8em&#8221; header_text_color=&#8221;#92CEE9&#8243; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>The interaction between this module and the other (distributed) services will be done through well-defined interfaces. These interfaces have specified the type of messages that can be exchanged between the various players and are reflected, in practice, in APIs, which allow in a secure way (with authentication and <em>end-to-end<\/em> encryption) the exchange of information between &#8220;Mediator&#8221; and the other modules, using gRPC.<\/p>\n<p>In addition to gRPC, for nodes internal to the <em>Framework<\/em>, it is also planned to use REST for interaction with external elements, or elements focused on data visualization and user iteration.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.19.2&#8243; _module_preset=&#8221;default&#8221; bottom_divider_height=&#8221;50px&#8221; bottom_divider_flip=&#8221;vertical|horizontal&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.17.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.17.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_button button_url=&#8221;https:\/\/link4s.pt\/en\/?page_id=275291#implementations&#8221; button_text=&#8221;go back to&#8221; button_alignment=&#8221;center&#8221; _builder_version=&#8221;4.19.4&#8243; _module_preset=&#8221;default&#8221; button_text_size=&#8221;18px&#8221; button_font=&#8221;Fira Sans Condensed Light|||on|||||&#8221; hover_enabled=&#8221;0&#8243; custom_css_main_element=&#8221;font-family: fira-sans-condensed-2, sans-serif;||font-weight: 800;||font-style: normal;&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The framework was designed to be included in a data transmission chain for IoT devices, with the focus of this framework being to allow, in a seamless way, the development of platforms that can interact with different IoT devices, regardless of the communication protocol they use.<\/p>\n","protected":false},"author":1,"featured_media":275233,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"project_category":[34],"project_tag":[],"class_list":["post-275332","project","type-project","status-publish","has-post-thumbnail","hentry","project_category-cyber-physical-system-framework"],"_links":{"self":[{"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/project\/275332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/project"}],"about":[{"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/types\/project"}],"author":[{"embeddable":true,"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/comments?post=275332"}],"version-history":[{"count":9,"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/project\/275332\/revisions"}],"predecessor-version":[{"id":275371,"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/project\/275332\/revisions\/275371"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/media\/275233"}],"wp:attachment":[{"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/media?parent=275332"}],"wp:term":[{"taxonomy":"project_category","embeddable":true,"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/project_category?post=275332"},{"taxonomy":"project_tag","embeddable":true,"href":"https:\/\/link4s.pt\/en\/wp-json\/wp\/v2\/project_tag?post=275332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}