Barcelona, February 2018
At Worldsensing, the Python programming language is used from start to finish when developing products and solutions that are actively shaping Smart City ecosystems and pioneering the Industrial Internet of Things (IIoT). To share our experiences about how Fastprk2 project uses Python in an IoT context, Worldsensing hosted the February event of the Barcelona Python Meetup Group in our Barcelona office.
PyBCN organizes monthly meetups where members from the local Python community present different topics. The latest edition featured three talks: independent computer programmer Joan Vilaltella spoke about addressing a hard graph colouring problem in Python, and Cristóbal García, independent consultant, shared his insights about why a serverless framework is not needed with Python. Our own presentation was titled “Using Python for everything (PyoT)”. Albert Zaragozá, Head of Engineering at Worldsensing, and our in-house Python experts, Carles Pey, Héctor Canto and Pau Beltran, shared how our scrum teams integrate Python in the whole IoT development chain.
“Here at Worldsensing we consider ourselves very fortunate to have such a diverse product range, tech stack and team skill-set.”, Albert Zaragozá remarked during the opening of the event. “Our Engineering team is in charge of the hardware and electrical design, mechanical aspects of the sensors, embedded code, low power communication protocols, software development, infrastructure and data analytics, which is pretty unusual to find in a single company.”, he added.
Worldsensing’s firmware department is in charge of designing and building two of the company’s core products: Loadsensing and Fastprk. Loadsensing is used for wirelessly monitoring operations in mines, construction or geotechnical projects. The wireless monitoring system can connect to up to five 3rd party sensors such as piezometers and sends all sensor data to a nearby gateway using a long-range, low-power radio (LoRa) network. The gateway displays this data on a website and sends it to the cloud. Fastprk, the leading outdoor Parking Management System, includes parking sensors which use magnetic and infrared technology for parking detection.
“As a team, we decided to use Python to interact with our devices through the serial interface, thus the pySerial library is so helpful.”, Embedded Software Engineer Carles Pey points out. “Our nodes send data encoded in bytes, therefore we use the Struct library for this. It allows us to specify how each byte will be interpreted, resulting in easy to handle Python objects. We also rely on Libraries such as Matplotlib and Pandas to debug and test our devices and support the development.”
In general, our software engineering team applies Python to a vast amount of areas: from microservices, clients, middlewares, QA, simulators and interfaces to our devices.
“We craft our architecture bearing in mind the constant stream of data that we receive from our sensors and 3rd party systems which are used to manage infrastructures and operations in cities.”, Software Engineer Héctor Canto explains.”As we gather all the data, we use many different tools to provide our customers with real-time visibility of their operations, allowing cities to react to events much faster than they used to.”
While both Carles and Héctor dived into how Python can work with firmware IoT developments, Data Lead Pau Beltran gave insights into how Big Data and Python are connected at Worldsensing:
“Thanks to our sensors and software solutions, we’ve compiled a huge amount of historical data that we cross-reference to understand further and to help predict future behaviours, in order to help cities and companies work more efficiently and prepare earlier for specific issues.”
At Worldsensing, our engineers use Python as the central piece to analyze, craft and deploy models onto production, with libraries such as matplotlib, Scikit-Learn, Keras or TensorFlow amongst others.
“We are currently training those models to predict traffic flow deviation and parking occupancy by using Deep Learning and AI techniques.”, Pau closes.
To find out more about how Deep Learning is used to predict parking occupancy, have a look at our innovation team’s article “Deep Learning and Smart Parking”.
Are you a woman in tech who is interested in Python? Keep your eyes open for the next meetup to be hosted at our Barcelona office by PyLadies BCN in March. This meetup is an international mentorship group with the aim to help women become active participants and leaders in the Python open-source community.
In 2016, Worldsensing was granted funding by the European Commission for Fastprk2, an initiative to develop the next-generation of parking detection systems equipped with Intelligent Transport Services (ITS) for cities and citizens, all merged in a single mobility platform. The sensors will combine both magnetic and infrared detection technologies and will pioneer the use of deep learning methodologies to increase data accuracy to almost 100%.
Check out the Fastprk2 website for more details about the project.
Worldsensing is a widely recognized global IoT pioneer. Founded in 2008, the Barcelona-based technology provider delivers Operational Intelligence to traditional industries and cities. With over 80 employees in Barcelona, London and Los Angeles, Worldsensing is globally active and has customers in over 50 countries across 5 continents.