• Skip to primary navigation
  • Skip to main content
  • Skip to footer
Scinonova logo
  • Start
  • Om oss
  • Karriär
  • Blogg
  • Kontakt
  • Svenska

IoT

Android Auto vs Android Automotive

6 maj, 2021 by Scionova

The use of smartphones has been observed to be on a constant rise among the car and truck drivers. A recent survey conducted by Zendrive revealed that 88% of the three million drivers under study used their phones for at least three and half minutes every hour¹. It reveals the potential rise in the popularity and connectivity of in-vehicle infotainment (IVI).

The current trend is the augmentation of third party applications with IVI, which will pave ways for the collection and sharing of data on vehicle sensors and events with third party applications. To make this possible, Google has been working on the amalgamation of standard IVI operating systems with their Android Automotive system, which is specifically designed to run on such vehicular IVI platforms.

In contrast to Android Auto, which only facilitate the integration of display of a few applications from smartphones on the vehicular IVI, the Android Automotive is designed to have access to the in-vehicle network (IVN) making possible the gain of diverse vehicular data (Pese et al., 2020)². The differences between Android Auto and Android Automotive from the user’s perspective are summarized here with respect to their applicability and adoption.

 

Android Auto

This system enables the user to use the features of his smartphone and integrate its display on his car’s infotainment screen allowing access and control to a range of infotainment features. To use it, a phone with Android 10 and a compatible vehicle is required. For phones with lower versions of Android, a specific application requires to be installed.

Android Auto is easy to use by just plugging in the phone and running the auto app, and is supported by a range of vehicle companies. The most prominent vehicle companies that support Android Auto include Toyota, Honda, Fiat, Ford, Citroen, Hyundai, Lamborghini, Ferrari and Koenigsegg³.

Android Auto when integrated with the vehicle, allows user to access various music oriented, navigation, podcasts, streaming and communication apps with hands free features with very simple usage just like phone.

 

Android Automotive

In this system, the infotainment system of the vehicle is fitted out with the Android Automotive, which is a totally specific version of Android developed dedicatedly for this purpose and hence no phone is required for it².

This system was introduced by Google in 2018 in partnership with a collaboration of Car manufacturers including Renault, Mitsubishi and Nissan. The Android Automotive was planned to be incorporated into millions of cars by these manufacturers in 2021². However, this is not entirely new because the Land Rover and Jaguar are already employing a BlackBerry based system.

The Android Automotive is a codebase operating system that enable the manufacturers of developing a dedicated operating system for their vehicles. Its additional difference from Android Auto is that it will not only facilitate the user with music, navigation and messages features, but will also enable him to control the vehicle centered functions like air conditioning, heating, speed control and steering, seat control and audio functioning.

The future of Android Automotive is complex as the car manufacturers are having their reservations over car and user’s data security. There is also a threat to users as the car can be entirely hijacked. However, Google has been focusing on augmenting the safety and security features and car manufacturers have agreed on data sharing and collaboration².

However, the future holds many possibilities for users based on the Android Automotive including economy and safety oriented driving control, home and garage based charging management system and insurance premium management system based on the driving data obtained through sensors. Moreover, information about driving behavior like speeding, maneuvering and braking can be obtained and controlled or customized.

 

Written by Sahil Lakhe

Engineer Sahil Lakhe writes about the differences regarding android auto and android automotive

 


References
1. Mandal, A. K., Panarotto, F., Cortesi, A., Ferrara, P. & Spoto, F. 2019. Static
analysis of Android Auto infotainment and on-board diagnostics II apps. Software:
Practice and Experience, 49, 1131-1161.

2. Pese, M., Shin, K., Bruner, J. & Chu, A. 2020. Security Analysis of Android Automotive.
SAE Int. J. Adv. & Curr. Prac. in Mobility, 2, 2337-2346

3. Mandal, A. K., Cortesi, A., Ferrara, P., Panarotto, F. & Spoto, F. 2018.
Vulnerability analysis of Android auto infotainment apps. Proceedings of the 15th ACM
International Conference on Computing Frontiers. Ischia, Italy: Association for
Computing Machinery.

IoT interview P.4 – Matz Larsson

17 december, 2020 by Scionova

At Scionova, we strive to make the world a little bit better. But what does that mean in practice? To give you an insight into our daily work, we have performed an interview series asking our consultants about their experiences within IoT.

What does software developer Matz Larsson work with in his current assignment? Continue your read and find out!

–

Matz, tell us about your current role and what tasks you work with? 

The project I currently work in is a sort of flight recorder. We make an application for a vehicle company where the user has a configuration tool and can choose which specific signals from the car they want to listen to. The information gets pre-processed and can then be transferred to the hardware, which is the very core of the flight recorder. The hardware then gets plugged into the car and the measuring can start. 

When the tester is satisfied with the number of signals and information, the configuration tool is connected to the hardware. It can then download the collected data in order to inspect the value of the signals.  

Doing this, the testers can verify that ECUs are functioning as expected according to the different cases that are being investigated. If the results show that they don’t, the recorded data can be used in troubleshooting to investigate it further.   

My role is a classic developer role. I mainly work with the configuration tool, but I tend to also do a little work wherever it’s needed. Since, if you’re making some changes in the tool, you also have to make corresponding changes on the hardware side.  

 

What language and platform do you work in? 

I mainly work in Windows, with a mix of C++, C and a little bit of C#. And on the hardware side, we work in Linux.
 

What value, would you say, is created through your work and for whom? 

Our client is, as mentioned before, a vehicle company. What we do and create is used in order to verify the cars and examine their behavior, and is not found in the car that end customer drives. So, from our client’s perspective, the value is the fact that they get an easy and smart way of measuring.

There’s another similar product called CANalyzer, which can be used to make the same measurements. It’s big on the market, and has a lot of features, but it demands even more resources. Having the tool that we create, makes working more cost efficient and just easier. It also allows us to make features that are based on our client’s specific needs. And we can tweak them just as we please, unlike CANalyzer. 

But the main value has to be that the tool enables a way to verify that the car actually works as expected.   

 

Is there an overall problem that engineers try to solve within this field? If so, what is that? 

One of the things that we try to do, is to make it easier for our client’s testers. That means that everything has to be measured correctly, down to every little detail. Not only in terms of signal values but also in terms of timing and timeouts.  

If not, the outcome may be that the testers thinks that there’s something wrong with a product even though it’s not, and starts troubleshooting it in vain. Just because they’ve received an incorrect value from our measurement tool. 

Hence, the accuracy of the process is crucial and has to be on a high level. It’s also a big selling point for the project that I’m in, that we historically have had, and still have, a very stable product. It’s a little bit like with self-driving cars; the basic premise is that it should never go wrong.  

That’s why it’s so important that we ensure that combinations of different features work together. And that new features don’t affect the current product in a negative way.  And the larger the product gets, with all its features, the more complex it becomes. 

 

Can you see any trends in the nearby time, regarding the development of this? 

Generally, if you look at the current situation, the industry is about to change direction but not a whole lot. Traditionally, CAN-busses have been used to communicate between different ECUs but are gradually shifting over to Ethernet. Because of the fact that Ethernet can handle a higher speed. But this won’t change my tasks remarkably, it will just be a new medium to transfer the data through.  

However, what I think will change, is not only the fact that more data will be sent at a faster speed. I believe Ethernet will unlock new possibilities regarding how to use data and communication channels. Which will definitely affect my, and our, way of working.  

–

Want to continue your read further? Explore our blog!

Want to know more about the work of our consultants? Stay tuned for coming posts in the interview series! Follow us on social media to get notified.

 

IoT interview series P.3 – Daniel Andersson

6 oktober, 2020 by Scionova

At Scionova, we strive to make the world a little bit better. But what does that mean in practice? To give you an insight into our daily work, we have performed an interview series asking our consultants about their experiences within IoT.

What does cloud developer Daniel Andersson work with in his current assignment? Continue your read and find out!

–

Daniel, tell us about your current role and what tasks you work with.

– I’m currently in an assignment where I work with IT solutions for different vehicle companies (OEMs), in order to connect their vehicles to the cloud or other wireless communication. The project I’m working with now, is to create a service where the cars’ devices and software are being updated automatically through the cloud. As it is now, the vehicles have to go to the workshop for software updates, which demands a lot of time and resources.  

You could call my role “DevOps”. I work a lot with quality, testing for solutions, and also development for the service itself. 

.

What language and platform do you work in?

– Our main language is Java, but we also write some things in JavaScript. The platform we build in is AWS (Amazon Web Services), where a completely Serverless approach is taken. That allows us to write code and upload it, and it basically takes care of itself as AWS is maintaining all the underlying servers.

 

What value is created through your work, and for whom?

– For my client’s customers, the biggest value is that they save both time and resources on eliminating the need to update the vehicles on site. This also benefits the end user, who is the one driving the vehicle, not having to go to the workshop. But it also ensures that they always have the newest and most secure software.

 

What is the overall problem that engineers try to solve within this field?

– The important part when working with cars, is to ensure that you have the right code when updating their computers. That’s where a lot of the problems lie, it has to be safe. If something would go wrong with the software, people could get hurt. Both in- and outside the car.

 

What could happen if a car receives a faulty software, and how do you prevent that?

– In this case, computers control the vehicle entirely. It steers the wheels, the engine and so on. A typical problem is therefore the fear of the car steering in a way you haven’t told it to, which creates insecurities since it could cause disasters. We ensure that this doesn’t happen by always using secure communications, which includes making sure that we’re talking to the right server, and that all communication and storage are encrypted. Another important measure is to ensure a high code quality by thoroughly testing the solution. 

Working within this field, you have to think about all possible aspects regarding safety. Safety is important generally when working with computers, but especially when it comes to vehicles.  

–

Have you missed part 1 or 2 of this series? Click here and here to get to them!

Want to know more about the work of our consultants? Stay tuned for coming posts in the interview series! Follow us on social media to get notified.

IoT interview series P.2 – Joakim Ceder

1 september, 2020 by Scionova

At Scionova, we strive to make the world a little bit better. But what does that mean in practice? To give you an insight into our daily work, we have performed an interview series asking our consultants about their experiences within IoT. 

Find out below what Joakim Ceder, senior consultant and co-founder of Scionova, has to say about his current role and assignment:

–

Joakim, tell us about your current role and what tasks you work with.

– My role is called “Requirement Specialist”. I work with a customer who produces smart home devices and my task is to help them ensure that their products follow prevailing requirements in each market they want to work in. This means that I work towards authorized certification companies and authorities around the whole world. 

.

What value is created to the customer or end user through your work?

– For the customer, the main value is that their products are legal so that they can in fact be sold. And that this process, of certifying products, is as efficient as possible.  

The higher value is that the products are safe for the end user, so that they’re not hazardous in any way or disturb other devices. My work also ensures that the end user’s expectations of the products are being met, which is important in protecting the brand.

 

What is the overall problem within smart home products that engineers and developers try to solve?

– The overall problem that companies try to solve with smart home products, is to make people’s lives easier. But in order to do so, the products have to tick off the safety and security boxes! With privacy being a big part of it. So I would say that’s the fundamental problem that engineers and developers work with. 

I believe that, in the future, we are going to work a lot with intelligent actuation of our smart home devices. Instead of controlling our devices manually, they will start automatically when we need them to. Improving the intelligence of our smart home products will also enable them to let us know when they need to be maintained, before they might break. That will cause people less problems in their homes, and yet again make their lives easier.

 

How does this development benefit companies?

– For the companies that sell smart devices, data can help them develop their existing and future products. By analyzing data from sold products, they can learn about how they are being used. In that way, they can choose to develop the most used features, and remove others. With data it’s also possible for companies to predict when the products will break. With this information, they will be able to enhance the quality of their products where it’s needed.

 

Why is it important to optimize products in this way? 

– It’s mainly about making the end user as satisfied as possible. In a bigger perspective, if we are able to make sure that products last longer, by fixing them before they break, the impact on the environment will be less. Same thing with the possibility to update their software, the products will stay modern for a longer amount of time.

–

Have you missed part 1 of this series? Click here to get to it! 

Want to know more about the work of our consultants? Stay tuned for coming posts in the interview series! Follow us on social media to get notified.

IoT interview series P.1 – Peter Fredriksson

22 juli, 2020 by Scionova

At Scionova, we strive to make the world a little bit better. But what does that mean in practice? To give you an insight into our daily work, we have performed an interview series asking our consultants about their experiences within IoT. First out is Peter Fredriksson, senior consultant and co-founder of Scionova. Here is what he has to say:

–

First off, what is your current role and what tasks do you work with?

– The latest assignment I worked on was a system to make trucks smarter. Trucks that are used in big warehouses, both self-driving ones and those with drivers. The task was to create a more efficient inventory management and to better keep track of when a truck needs maintenance.

What I did was to manage the connection between the trucks and the Wi-Fi or 3G/4G/LTE network. Simply, to give the trucks access to the internet.

 

What platform and language did you work in?  

– We used a fairly standard Linux distribution for embedded systems and developed in C for the most the part. For some parts we did use Python.

 

What value was created to the customer or end user?

– The biggest value was created for the customer’s customer. Apart from making the work in the warehouse more efficient, the absolutely most important value was improved safety. One of the most dangerous situations in a warehouse is when two trucks go around a corner, both typically in a hurry. By using positioning and radar systems we could prevent these types of collisions to occur. In that way we saved lives or serious injury.

 

What is the overall problem that developers try to solve?  

– What is closest to my heart, is safety and improving it in different ways. It is also about making processes more efficient in order to save time and resources. I think making systems smarter will play a big role in meeting and mitigating the effects of the environmental and climate challenges we are facing. 

 

In what way do you think that connectivity can help lessen our impact on the environment?

– In the way that you can ensure to only use the amount of resources that is really needed, for example when we are talking about manufacturing and so on. Also in making each step in the process as efficient as possible. With more data you can definitely make better and smarter decisions.

It would be fun to work with projects like this in the future, where the main goal is to save resources.

 

Want to know more about the work of our consultants? Stay tuned for coming posts in the interview series!

An Introduction to AWS Cloud Development

22 oktober, 2019 by Scionova

My experience from Cloud Development

Roughly one year ago I began developing in AWS (Amazon Web Services). I could then immediately see what all the buzz was about. AWS, and other Cloud platform providers (Azure, GCP etc.), supplies an immense amount of services. These services include both managed and unmanaged, from completely serverless to a provided dedicated server. One where the customer has (almost) complete control. These services provide the tools to develop a scalable, secure, agile and cost-efficient application where hardware, servers and OS management can be abstracted away to allow more focus on the actual code of your application.

In the past year I have been involved in the development of a microservice in AWS, and the past month have been spent on preparation for, and later passing, the AWS Certified Solutions Architect – Associate exam.

 

What problems could be solved by using a Cloud Platform?

Imagine that you are part of a start-up aiming to develop a platform that provides a marketplace for autonomous car owners to make their vehicle available for hire when they are not using it themselves. Traditionally, starting the development of the application requires servers to run the application and databases, as well as other hardware, e.g. network equipment to enable connection to the internet.

As development continues, changes in requirements might need additional hardware to be purchased or existing hardware to be replaced. Building tools and other CI-related tools are required to ensure the quality of your platform, all which need their own servers. Moving the solution to production might require another set of equipment with capacity to handle spikes in the load of a production environment.

To minimize downtime of the platform, back-up servers will have to be purchased. All this equipment is associated with a capital investment which might not be available for your start-up without the assistance of an external investor. In the cloud, services are paid for in a pay-as-you-go model. No up-front investment is required, which better fits the financial situation of your start-up.

 

Serverless Architecture

For the last couple of years, ’Serverless’ has had a huge impact on the industry. But what does it really mean to have a Serverless Architecture? Traditionally, applications have been installed on a specific physical server, where everything from hardware to application requires maintenance. With a serverless architecture, the only concern for the developer is the code of the application. The rest is left to the cloud provider to maintain. Of course, this does not mean that code is not running on a server, only that it is not important which server the code runs on.

Other than reduced maintenance, a serverless architecture brings automated scaling of your environment, a cost model that depends on the actual utilization of the services and a more microservice-friendly infrastructure.

 

AWS Services

These are some AWS services which could provide an entry point for someone who wants to get acquainted with the AWS ecosystem:

 

  •       AWS CloudFormation (https://aws.amazon.com/cloudformation) – An effective tool to describe your AWS infrastructure resources as code (YAML, JSON) in CloudFormation templates. This enables you to store the specification of your entire infrastructure in version control. When changes are made to the template, CloudFormation will calculate the delta from the deployed set of resources into a change set and thereafter execute the change set. Having your infrastructure as code is also crucial when managing multiple staging environments (Dev, QA, Prod etc.) where it is important that the environments are identical to facilitate code and infrastructure quality assurance. An alternative to CloudFormation is Terraform, which is an open-source, platform independent tool to describe infrastructure (https://www.terraform.io).

 

  •       AWS Lambda (https://aws.amazon.com/lambda) – This is the core of any serverless application developed in AWS. A Lambda basically consists of the code that you want to execute and something that triggers it, e.g. an API is called, or a database table is updated. When the Lambda is triggered the supplied code is deployed and executed and shortly after the execution is finished the deployment will be removed. Any parallel triggering of a Lambda will result in multiple deployments of the code and this will scale infinitely. The cost of a Lambda is based on the number of executions and a combination of the execution time and the amount of memory that is allocated for the Lambda code.

 

  •       Amazon EC2 (https://aws.amazon.com/ec2) – Elastic Compute Cloud – EC2 is a service that provides a virtual machine, or ”instance”, on a server in AWS. When deploying an instance, it is possible to choose from an abundance of instance types and pre-configured operating systems with different application-setups. An instance type can be anything from cheaper general-purpose instances to more expensive instances, e.g. an instance equipped with more graphics resources to enable more graphics-intensive workloads or machine learning workloads. Each instance type also has several different sizes to support workloads of varying load.

 

  •       Amazon VPC (https://aws.amazon.com/vpc) – Virtual Private Cloud – VPC is used to set up a network in AWS. The network can then be equipped with subnets with different CIDRs, NAT gateways, Internet Gateways, Load Balancers, services to connect the network to an on-premise network etc. All without setting up any hardware yourself. EC2 instances can be deployed in public and private subnets to provide a tiered application setup where database instances and back-end instances (in the private subnet) are only accessible through the front-end instances (in the public subnet).

 

  •       Amazon ECS (https://aws.amazon.com/ecs) – Elastic Container Service – A container orchestration service provided by AWS that supports docker containers. The service is available in two modes, EC2 and Fargate. The EC2 mode requires the developer to manage the EC2 instances that the containers run on as well as the scaling of the number of the instances, while the Fargate mode is fully managed in this regard. An open-source alternative to Amazon ECS is Kubernetes (https://kubernetes.io).

 

  •       Amazon DynamoDB (https://aws.amazon.com/dynamodb) – DynamoDB is a fully managed NoSQL database that provides great performance and is highly scalable. DynamoDB together with AWS Lambda and Amazon API Gateway (https://aws.amazon.com/api-gateway) provides all the tools required to build a small, simple and completely serverless microservice. A NoSQL database is an excellent fit for applications with well-defined database access patterns, i.e. the queries that will be executed are known at the design phase and the NoSQL table(s) can be designed thereafter. However, for applications with more ad hoc database access patterns a SQL database would be a better choice. This session from AWS re:Invent 2018 (https://www.youtube.com/watch?v=HaEPXoXVf2k) makes a deep dive into DynamoDB and explains when a NoSQL database should be utilized.

 

  •       Amazon S3 (https://aws.amazon.com/s3) – Simple Storage Service – A managed object storage service which provides a whopping 99.999999999% of durability for any stored object, which is achieved by storing the objects in multiple data centers across a Region (a Region comprises a set of Availability Zones, which in turn comprises a set of data centers). S3 is used for storing different types of files, e.g. videos, images and documents. Some features of S3 includes versioning of objects, replication of objects to another AWS Region, archiving objects to cheaper storage options when the object is no longer frequently accessed (e.g. Amazon S3 Glacier https://aws.amazon.com/glacier), hosting static web content etc.

 

Some things to be aware of

As mentioned, cloud development offers lots of opportunities moving forward. However, there are some things to take into consideration when deciding on whether to move your solution to the cloud. Platform lock-in is one thing. Deciding on a cloud provider will most likely make you dependent on that company’s solution, which will make you vulnerable to any changes in price or functionality of the used services.

Another consideration is the difference in price model from traditional development. Services in the cloud, especially managed services, are often priced per invocation and/or per unit of data transferred/processed/stored. This model might not suit solutions that have an even, non-fluctuating load over time, in that case a fleet of EC2-instances could be a better fit. Neglecting this detail when designing a solution could result in unnecessarily high costs for the solution.

Being well-prepared when designing a solution is key to avoid these pitfalls. The AWS Well-Architected Framework (https://aws.amazon.com/architecture/well-architected) provides some guidelines on how to architect a solution with performance, security, cost etc. in mind.

 

If you are interested in starting your journey in the cloud in general and AWS in particular and are eager to learn more about the possibilities and risks of cloud development, do not hesitate to contact me at Daniel.Andersson@scionova.com.

 

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to Next Page »

Footer

Huvudkontor – Göteborg


Theres Svenssons Gata 13,
417 55 Göteborg

Varbergskontor


Kungsgatan 5,
432 45 Varberg

Gasell