• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Codemotion Magazine

We code the future. Together

  • Discover
    • Events
    • Community
    • Partners
    • Become a partner
    • Hackathons
  • Magazine
    • Backend
    • Frontend
    • AI/ML
    • DevOps
    • Dev Life
    • Soft Skills
    • Infographics
  • Talent
    • Discover Talent
    • Jobs
    • Manifesto
  • Companies
  • For Business
    • EN
    • IT
    • ES
  • Sign in

Gabriele SabbatiniMarch 11, 2020

Smart City: IoT and Microservices to build Oracle Proxima City

IoT
facebooktwitterlinkedinreddit
Table Of Contents
  1. Introduction
  2. Smart City: the Proxima Project
  3. Development
  4. Smart Cities and Edge Computing
  5. Cloud Environment
  6. Conclusion

At Codemotion Rome 2019, Gabriele Provinciali, Oracle Solution Architect, presented Proxima City, a project focused on IoT and microservices to improve our city and lifestyle. Proxima City could be the new frontier of services for smart cities.

Introduction

On 22 and 23 March 2019, Codemotion hosted one of the most hotly-anticipated events regarding coding. During the conference, project managers, software architects and developers benefited from the fantastic panelists. Various industry professionals attended the conference as speakers to provide valuable knowledge on the subjects of IoT, software development, leadership and teamwork methods, blockchain, etc. Among many companies, Oracle presented several ideas, including its own solution for a programmable smart city.

Recommended article
IoT app
October 10, 2024

The IoT Journey: From Prototype to App

Matteo Crippa

Matteo Crippa

IoT

Smart City: the Proxima Project

The PROXIMA city project was created by software architect Gabriele Provinciali and his team. On a sultry day in July, perhaps thinking about the quickest, freshest route to the parking lot, an Oracle development team thought about the usefulness of developing an interconnected city prototype. Once the decision to start the project was taken, the team gave itself some well-defined rules:

  • If you proposed it, do it
  • If you do it, failure is accepted
  • If you don’t know how to do it, RTFM
  • If you aren’t having fun, don’t do it

Having set the general guidelines of the game, the team kicked off the project on August 2, delivering it less than four weeks later.

Provinciali and his team built a Lego model of an envisioned city that could improve the lifestyle of its citizens. Their goal was not simply the realisation of a prototype, but the development of both hardware and software that could be mobile and reallocated.

We asked the PM team what was the greatest difficulty they encountered:

“One of the obstacles we have faced is precisely the conception and realisation of integrated Use Cases, rooted in the real world, and in which people could recognize themselves as citizens, users or customers. People who visit Proxima City are attracted to Lego buildings, but at the end of the path they have a clearer idea of ​​the value that technology can generate for all interlocutors“

Development

After underlining the guidelines of the project, let’s move on to analysing its development.

In order to respond to concrete needs based on real data, the team immediately created an SDK useful in communicating actual physical world events.

In fact, the project would not have been effective had it been limited only to responding to simulated events.

Once the SDK was developed, Provinciali and his team decided that the most effective way to develop PROXIMA was to use a microservice architecture, rather than a monolith. For non-technicians, the microservices architecture involves a greater complexity in the development and a greater initial effort, favouring the scalability and the programmability of services, since everyone communicates autonomously.

To achieve this goal and foster the speed of communication between sensors and software and between software themselves, Provinciali decided to push forward an architecture with two separate environments:

  • An edge computing part useful for reducing latency in data processing that allows real-time responses and bandwidth saving
  • A cloud computing aspect for the storage and processing of actual data, which makes the dialogue of data different microservices possible

Smart Cities and Edge Computing

The edge computing environment was created with Arduino – small hardware made up of electronic cards with microcontrollers – planted in Lego. Each Arduino is connected with the relevant sensors. The hardware was used to generate events that could then be sent to the cloud for the purpose of enrichment. In addition, industrial sensors have also been added to offer the most holistic service possible. The communication protocol used to allow the Arduino and industrial sensors to exchange data with the Raspberry Pi is the common MQTT. In fact, the Arduino, given their minimal computational power, rely on a Raspberry Pi that acts as a gateway for the cloud environment. To offer a better monitoring service for the Edge environment, an analytical dashboard has also been designed.

Edge Computing architecture with an edge dashboard

The guidelines for the development of the Edge part were very clear; the team had to guarantee an architectural style:

  • Inspired by microservices
  • Independent
  • Heterogeneous

These guidelines have been fundamental to achieve the set objectives. The team had to avoid exposing itself to the domino effect of technical problems that would have caused huge scalability problems.

Cloud Environment

The cloud environment was managed with the implementations shown in the image:

  • Iot cloud service for data collection
  • Kafka for the creation of a chronological tape of events
  • Stream analytics: for data indexing
  • Autonomous DWH: for the creation of final reports
  • Visual Builder: to help create the User Interface
Cloud system architecture

Conclusion

The Oracle team succeeded in developing a programmable smart city in just one month. After taking a quick look at the software architecture, we can move on to interesting applications for citizens, city leaders and stakeholders.

In addition to the useful dashboards for reading data analysis, the designed microservices are useful to monitor temperature and air quality, managing parking lots and garbage, finding the nearest services and shaded areas and many other uses.

Model of PROXIMA, the programmable smart city

Although the project was born as a parallel activity, it was a huge success. The city of Lego was exhibited in Singapore, Dubai, London, Stockholm, Brussels and Paris. Soon it will be shown during the Oracle event to specify that its services are NOD: Not Only a Database.

Related Posts

This article shares essential IoT security best practices for developers. From encryption to user identity management.

IoT Security Best Practices for Developers

Gilad David Maayan
May 23, 2024
underwater IoT, wsense

Discover How an Italian Company is Breaking Ground in Underwater IoT

Codemotion
December 14, 2023
IoT security, AI Tools and security

This is How Mathematics Keeps Your IoT Device Safe

Norman Di Palo
January 26, 2023
web progressive apps, bluetooth, robots

Web Progressive Apps: Creating Bluetooth Robots

Codemotion
December 14, 2022
Share on:facebooktwitterlinkedinreddit

Tagged as:Codemotion Rome IoT

Gabriele Sabbatini
The Lifecycle of the Developer’s Career
Previous Post
Become a Mobile Developer and Connect the Virtual and Physical Worlds
Next Post

Footer

Discover

  • Events
  • Community
  • Partners
  • Become a partner
  • Hackathons

Magazine

  • Tech articles

Talent

  • Discover talent
  • Jobs

Companies

  • Discover companies

For Business

  • Codemotion for companies

About

  • About us
  • Become a contributor
  • Work with us
  • Contact us

Follow Us

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions