DCF255
DCF255
Lecture 10 | The Internet of Things (IoT)
Agenda
The Internet
Electronic Communication
How to Protect Yourself
IoT and It’s Components
IoT Applications
Smart Cities
Smart Home
Advantages and Disadvantages of the Smart Home
Robots and Driver-Less Cars
Current and Future Issues
How to Protect Yourself from IoT devices
3 Stumbling Blocks for IoT to overcome
7 Programming Languages for IoT
May require more than one slide
2
The Internet
And How to Prevent Them
3
Networking the Internet of Things
Network is a grouping of computers which allows applications to communicate
Internet enhanced the sharing of resources and information to a world wide level
Everything we do each day is affected by networked devices
The next stage is extension of the Internet using smart networked devices
This phrase called the Internet of Things (IoT)
We have defined a network as an organization of computers which allow network applications to communicate. The concept of a network is greatly enhanced with the development of the Internet.
The latter has allowed the sharing of resources and information at a world-wide level.
This sharing has had a profound effect on each of our lives. From the road we use to drive to work with synchronized traffic lights for maximize traffic flow, to development of new communities through social media. Clearly, the Internet has made the world seen smaller and simplified our lives.
This extension of the Internet into all facets of technology has coined a new term “The Internet of Things” (IoT).
4
Electronic Communication
The Good The Bad and The Ugly
5
Electronic Communication: The Good
Prior to the Internet mail was send and delivered on paper and required a postage stamp
Now send and receive messages through electronic communication
Instant communication
No postage stamp
Most Canadians bank online
No driving to bank and waiting in line
Flexibility in hours
Most Canadians shop online
No driving to the mall and waiting in line
Flexibility in hours
While the Internet has created many benefits, it has also brought its own set of problems, which negatively affect our lives. Let’s investigate the positive and negative effects of the Internet.
Electronic Communication
Before the Internet, communication with people, who lived far away, was limited to the telephone or postal mail. Now, we can send and receive messages through electronic mail instantly and without the need of a postage stamp. Today, most Canadians do their banking online. instead of driving to the bank and waiting in line to be served. Similarly, rather than driving to a mall and waiting in long lines to make a purchase, Canadians are shopping with a few clicks of the mouse any time day or night. Electronic communication has made it easier to work, bank and shop from home, simplifying and providing greater flexibility, but there has been a corresponding decline in personal security and privacy.
6
Electronic Communication: The Bad and The Ugly
Electronic communication is effective way for cybercriminals to distribute spam and malware.
Malware hides in email attachments – spyware or ransomware
Infect web site – Drive-by downloads on popular sites
Spoof web sites posing as legitimate site but is controlled by cybercriminals
Steal personal information to commit
Identify theft
Sell it on the back market
Electronic communication has proven an effective vehicle for cybercriminals to distribute spam and malware. Malware hiding in email attachments, can install spyware or ransomware. Cybercriminals can distribute malware through drive by downloads. This technique is very popular with high volume online shopping websites. The high volume makes the web site attractive to criminals to infect in order to distribute malware to visitors who click on an infected link. Or, cybercriminals can create fake websites that offer goods at unbelievable prices to attract individuals, or deceive individuals by posing as a legitimate site, such as a bank or PayPal. When users click on the spoofed web site or link they are redirected to a site controlled by the criminal to steal personal information. You might think you’re making a legitimate purchase, but the cybercriminal has just taken your personal information; the information will be used to commit identity theft or sold for profit on the black market.
7
To protect yourself:
Install and keep up to date antivirus and anti-phishing.
Don’t open any email attachment unless you checked the source, even if the email is sent from one of your contacts.
Never comparison shop using a search engine.
Never buy goods from an unknown retailer
To protect yourself always do the following:
Install and keep up to date antivirus and anti-phishing software on your personal PC. Cybercriminals can take advantage of vulnerabilities in outdated software and use it to infect your PC with malware that can steal your banking credentials, so be sure to have adequate PC security software and keep your operating system, Web browsers, and other applications up-to-date.
Don’t open any email attachment unless you checked the source, even if the email is sent from one of your contacts. Call by phone or email the source to ensure that they sent you an email with an attachment. If not delete it.
Never comparison shop using a search engine. This method will always bring criminal web sites to your browser. Go to the official web site and do your own comparison.
Never buy goods from an unknown retailer, regardless of how good the deal seems. Think before you click. Remember the adage, “If it seems too good to be true, it probably isn’t true” and you are being scamming by a criminal. Did you get an email indicating there was unusual activity with your account and that you should click on this link to verify? Or, did you receive an email confirmation of a flight you did not make? In either instance, do not panic. If you’re unsure whether the email is legitimate or not, the best way to find out is to log into your online account directly to check on the claim. As always, never open email attachments from a sender you do not know. In addition, make sure your PC has an antivirus and a good two-way firewall.
8
IoT and Its Components
9
IoT (Internet of Things)
Internet connects all people -> “Internet of People”
IoT connects all things -> “Internet of Things”
Things can be: sensors, actuators, home appliances, mobile devices, or anything that can communicate via internet
[1]
[1]https://bwn.ece.gatech.edu/presentations/IoT%20Trends%202017-04.pdf
Sensors
They transform analog data given from scanning the environment to digital data, but they merely do any processing. On the bright side, they don’t consume much power and can live on batteries for a long time. Sensors are present in everyday life more than you would expect. They improve industry, agriculture, homes, transportation or smart phones for example. They are tools which help monitoring the environment, collecting data about it and, with the help of computers, acting accordingly.
10
IoT Growth
How many IoT devices are installed worldwide:
In 2018—there were 7 billion IoT devices in 2018
In 2019—the number of active IoT devices reached 26.66 billion
Every second—127 new IoT devices are connected to the web
During 2020—experts estimate the installation of 31 billion IoT devices
By 2021—35 billion IoT devices will be installed worldwide
By 2025—more than 75 IoT devices billion will be connected to the web
[5]
General market structure of IoT technologies
11
IoT Components
Thing or Smart Device-Sensors and actuators
A “thing” is an object equipped with sensors that gather data which will be transferred over a network and actuators that allow things to act
Most of the modern smart devices and sensors can be connected to low power wireless networks like Wi-Fi, ZigBee, Bluetooth, Z-wave, LoRAWAN etc.
Gateway -Manages the bidirectional data traffic between by bridging the gap between the local environment and the destination environment.
Maintain inoperability between connected devices and sensors
In some IoT architectures it includes edge computing devices and fog devices that acts as a middle layer between thing the and the cloud. A microcontroller/raspberry pi/aurdino processors they can act as edge device
Edge Computing- It usually performs directly on the devices to which the sensors are attached or a gateway device that is physically “close” to the sensors.
[1]
[1]
[2] https://ocw.cs.pub.ro/courses/iot2015/courses/01
an actuator operates in the reverse direction of a sensor. It takes an electrical input and turns it into physical action.
IoT gateways manages the bidirectional data traffic by bridging the gap between the local environment and the destination environment. This is done by translating protocols running between the local and destination platform, to maintain interoperability between the two. The also perform the preprocessing of the collected data before transmitting it to the next intended destination
12
Fog- The data is processed within a fog node or IoT gateway which is situated within the LAN
Fog architecture uses edge devices to perform significant amounts of compute, storage, and networking functions locally and routed over the Internet.
The fog extends the cloud to be closer to the things that produce and act on IoT data
Cloud-a collection of compute, storage and networking gear available in a centralized location such as a data center. IoT cloud is a sophisticated high-performance network of servers optimized to perform high speed data processing of billions of devices, traffic management and deliver accurate analytics.
[2]
IoT Components
[4]
Analytics
It involves processing of the data collected by the sensor nodes, so that it can be interpreted and used for the detailed analysis which helps to find out thing’s researchers are looking for.
It enables in-depth processing, along with a follow-up revision for feedback. Major advantages of an efficient IoT system is real time smart analytics which helps engineers to find out irregularities in the collected data and act fast to prevent an undesired scenario, or help businesses to look for future opportunities etc.
User interface
The user interface is what you see in front of you and how you can control the IoT devices.
It engages customers with the data collected from their IoT devices and could be a mobile app, a website, a desktop application, or even a passive experience (something running at the back end) that no one interacts with directly
Designers will have to make sure a well-designed user interface for minimum effort for users and encourage more interactions.
Some of them include touch panel instead of mechanical knobs and switches in household appliances and managing those devices via mobile and web applications.
IoT Components
14
IoT Applications
15
IoT Applications
Smart city
Industry
Wearable gadgets & smart appliances
Smart home
Smart grid
Healthcare
Agriculture
transportation
[7]
16
IoT Applications
Smart Cities
Smart Cities
For smart cities efficient use of available technology, information and communication framework is necessary
It improves the quality of life by providing better services like water, electricity, traffic, waste management, transport management etc.
Some examples of smart city operations that are partly functional in parts of world includes:
City lighting system in London and Quebec
Waste management in Songdo district of South Korea that reduces noise pollution
Public transportation connected to google maps/ the city transport management systems that can provide information in real time.
[7]
Smart Cities Characteristics
Four attributes [10]
Sustainability- It is all about environment that includes climate change, pollution, energy and ecological systems
Quality of Life- This attributes seeks to improve the everyday life and well being of the citizens
Urbanization-It concerns with the technological, infrastructure, governing domains for the urban environment from the rural.
Smartness/Intelligence-It is the same as urbanization, which defines the desire to advance the social, environmental criteria of the city and its residents.
urbanization and intelligence
concerns the technological, infrastructural and governing domains of the
transformation of the rural environment towards an urban environment. Intelligence
is defined as the desire to advance the social, environmental and economic criteria of the city and its citizens.
20
Characteristics, Advantages and Challenges of Smart Cities
Public safety [9]
Faster commute
Economic prosperity
Greener environment
Technology challenges with coverage and capacity.
Digital security.
Legislation and policies.
Lack of confidence or reluctance shown by citizens (lack of clarity around benefits).
Funding and business models.
Interoperability.
Existing infrastructure for energy, water and transportation systems.
Smart Homes
Advantages and Disadvantages
22
Smart Homes
Laptops, smart phones and tables all communicate today using Wi-Fi
The next step is for these connected devices to use sensors and communicate with each other
Low power of the ARM processor will increase usage of IoT devices
Nest thermostat and LG Electronics have Internet enabled devices controlled by mobile app
The IoT is a revolution that promises to change people’s lives, from inside the home to right across society The Internet creates convenience in sharing and receiving information between devices. Right now, many smart devices like laptops, smart phones and tablets communicate with each other using Wi-Fi internet technology. The next step is IoT devices and sensors, which communicate with each other and automatically perform a designated task or function without user intervention. Household devices such as refrigerators, washing machines, microwave ovens, thermostat, door locks, among others, will all be part of a household local area network. Each device is equipped with a computer chips, software and access to the Internet making the “smart home” a reality. There is no doubt this it will happen; the lower cost computing today will be a boom for these smart devices. In fact, Steve Furber, who was the principal designer of the ARM processor, believes IoT will be the next big growth area for ARM.
One example is the Nest thermostat where it adjusts household temperature depending on usage patterns and billing rates. The Nest thermostat can be controlled using a mobile app. The company was recently bought by Google for $3.2 billion; Google plans to expand the product line to include smart smoke detector and other products as part of its “smart-home solutions”. LG Electronics, the South Korean firm, is also now offering users the ability to control their appliances by way of text messages. The company has also been marketing an Internet enabled fridge. Utility companies have long advocated for better thermostats to help reduce energy costs. Smart thermostats can do this by adjusting the temperature when it senses you have left the house. Additionally, it “learns” your heating and cooling preferences and adjusts them to your liking.
23
Advantages of Smart Home
Out-Patient health monitoring
Efficient use of electricity
Shopping convenience
Enhanced quality of life
Advantages and Disadvantages of a Smart Home
The advantage highly networked smart devices is an enhanced quality of life. For example, health monitoring of out-patient clients is easy with connected RX bottles and medicine cabinets. Doctors supervising patients can remotely monitor their medicine intake, blood pressure, sugar levels and alert them when something goes wrong. This new type of medical monitoring is shown in the TV series Pure Genius with a medical command centre monitoring out patients from the BunkerHill Hospital.
Smart refrigerators, on the other hand, can suggest food supplies that are low on inventory and need immediate replenishment. When at work, it would be convenient to scan the barcodes of the fridge’s contents and compare the result to a list of required items. The fridge would be able to tell you what to pick up on the way home. But, did you know that your local supermarket is also very interested in what is in your fridge and freezer? Based on historical purchasing, your local supermarket wants to send you a shopping list of things to buy, and coincidentally in store specials on those items. Is the latter, an intrusion of privacy, or a convenience? The answer has yet to be developed.
Utility companies have long wanted to use wireless power meters to remotely read household meters. This was accomplished in Ontario 3 years ago; utility companies want to create a “smart grid”. One of the devices in your home utility companies want to control is your freezer. Energy can be saved by monitoring the internal temperature of the freezer and turning it off for periods of time when the everything is frozen and turning it back on when the temperature rise above a specified level. A smart home would also allow you to control the stove and other devices via the internet; the stove can be turned on and a nice meal, with music playing, is waiting for you when you get home. Lastly, TV companies want to monitor what you watch, so they can deliver highly targeted advertising to you in a mutually agreed manner.
While a smart thermostat can aid in reducing your energy cost, the downside is that a hacker could exploit the hardware of the thermostat and use it to spy on home owners. Since smart thermostats have access to information such as when you’re home or away, your postal code, and your WiFi credentials, a hacker who compromises the thermostat has access to all of this information.
This is not an idle problem. According to a recent study, 70% of IoT devices are vulnerable to cyber-attacks. This list includes thermostats, TVs, webcams, sprinkler control systems, home alarms, and door locks- just to name a few. The truth of the matter is that we are developing networked devices with insecure software; most vendors are producing retail products with security loopholes and vulnerabilities because security is not a priority.
24
Disadvantages of Smart Home
Do you want the utility company controlling devices in your home in order to save energy?
Do you want your local supermarket monitoring your fridge to create a shopping list?
How much of your personal privacy are you prepared to give up for convenience?
Issues to be resolved!
Advantages and Disadvantages of a Smart Home
The advantage highly networked smart devices is an enhanced quality of life. For example, health monitoring of out-patient clients is easy with connected RX bottles and medicine cabinets. Doctors supervising patients can remotely monitor their medicine intake, blood pressure, sugar levels and alert them when something goes wrong. This new type of medical monitoring is shown in the TV series Pure Genius with a medical command centre monitoring out patients from the BunkerHill Hospital.
Smart refrigerators, on the other hand, can suggest food supplies that are low on inventory and need immediate replenishment. When at work, it would be convenient to scan the barcodes of the fridge’s contents and compare the result to a list of required items. The fridge would be able to tell you what to pick up on the way home. But, did you know that your local supermarket is also very interested in what is in your fridge and freezer? Based on historical purchasing, your local supermarket wants to send you a shopping list of things to buy, and coincidentally in store specials on those items. Is the latter, an intrusion of privacy, or a convenience? The answer has yet to be developed.
Utility companies have long wanted to use wireless power meters to remotely read household meters. This was accomplished in Ontario 3 years ago; utility companies want to create a “smart grid”. One of the devices in your home utility companies want to control is your freezer. Energy can be saved by monitoring the internal temperature of the freezer and turning it off for periods of time when the everything is frozen and turning it back on when the temperature rise above a specified level. A smart home would also allow you to control the stove and other devices via the internet; the stove can be turned on and a nice meal, with music playing, is waiting for you when you get home. Lastly, TV companies want to monitor what you watch, so they can deliver highly targeted advertising to you in a mutually agreed manner.
25
Disadvantages of Smart Home
Smart devices know a lot about you and your environment
Information could be misused by criminals if hack the IoT device
Ransomware –e.g. locking you out of your house, turning off your TV, until you pay a fee
Knowing when you are not home in order to rob you
Turn on cameras and sensors in order to spy on you
While a smart thermostat can aid in reducing your energy cost, the downside is that a hacker could exploit the hardware of the thermostat and use it to spy on home owners. Since smart thermostats have access to information such as when you’re home or away, your postal code, and your WiFi credentials, a hacker who compromises the thermostat has access to all of this information.
26
Robots and Driver-Less Cars
Advantage\Disadvantages
Current and Future Issues
How to Protect Yourself with IoT
27
Robots and Driver-Less Cars
Expand the concept of smart home and Strategically installed RFID sensors and you can use robots to clean the house, set the table, provide security
Will be common by end of 2020’s
Expand the concept of smart home to the neighbourhood and driver-less cars can operate (transportation robot)
Available now by Uber and Telsa, but fully automated driver-less cars will not be common until 2040
Figure 2: Uber Driverless Car
With the development of the smart home and RFID sensors strategically installed, robots to clean the house, set the table, serve meals, and provide security, will be common place by the end of the 2020’s. Expand the concept of smart home to the neighbourhood and robotic driver-less cars can operate. This may sound like something out of “The Jetsons”, but researchers believe we will soon be sharing our home and roadways with super-intelligent family robots. While some companies such as Uber and Tesla, have current drive-less models, fully automated driverless cars will not become common place until 2040..
28
Advantages
Help the aging and visually impaired maintain independence
Makes travel time productive time
Reduce Accidents
Robots and Driver-Less Cars operate using sensors designed to detect objects such as walls, stairs, or other vehicles
Sensors are combined with onboard cameras to help the robot interpret its surroundings
Software helps understand present location and predict what will happen next
Robots and driver-less cars will help the aging or visually impaired loved ones from giving up their independence. Time spent commuting could be time spent doing what you want to do. Deaths from traffic accidents—over 1.2 million worldwide every year—could be reduced dramatically, especially since 94% of accidents result from human error. As Elmo Telsa stated, in the future human driving may be outlawed because it is too dangerous. Robots and driver-less cars operate using sensors designed to detect objects such as walls, stairs, pedestrians and other vehicles. The sensors are combined with onboard cameras to help the robot interpret its surroundings. The software helps the robot understand its present location, and predicts what will happen next, so that the robot can make an intelligent decision to complete some function such as changing lanes on a street, or setting a table for dinner
29
Current and Future Issues
Smart systems are close to out-smarting humans
Speed
Perfect recall
Objectivity
Repeatability
What will be the social impact?
If a machine makes a decision and hurts a human, who is at fault?
Current legal system based on a legal entity, person, corporation being liable
Current and Future Issues
No Disadvantages because too early in development
Smart systems are getting smarter, such as IBM’s SuperComputer Watson. Clearly, machines, with the benefits of speed, perfect recall, objectivity, and repeatability, will greatly affect our lives and make many of the mundane day-to-day decisions. The social impact of this robotic revolution is not yet understood. However, using robots raises profound questions which have little to do with the technology. For example, if a machine makes a decision, and causes and accident, who is responsible? Our current legal environment is based on some legal entity, like a person or corporation, to bear the liability, even if the machine does the work (that’s why some jurisdictions, that have approved driverless cars, require a licensed person behind the wheel), but we are now starting to face a real dilemma
30
3 Stumbling Blocks Preventing IoT
Data Protection Security Cost
31
Lack of Data Protection
With increased use of IoT devices and in general no data protection laws for data collected via IoT devices, ‘Data protection’ becomes the topmost stumbling block of IoT
Data privacy laws vary from country to country, which can be challenging, there are countries where it is not at all available
There is a need of a common data protection plan available for countries round the globe
Example: If you are receiving a grocery item buying notification on your phone, then its because of IoT, but the downside is that someone knows lot about you.
Devices are collecting lot of data about us, but how data is being protected and used is one the main concerns.
32
Data Protection Issues Due to IoT (Examples) [12]
Telematics insurance systems
Smart wearables
Smart homes and security
Collecting video/image of people moving around where IoT enabled cameras are installed without consent
33
Data Protection Regulations
The minimal privacy regulation are already implemented in the digital world, but when information moves from one jurisdiction to another the law changes. It vary from country to country and that is a challenging situation for the vendors who operates in multiple regions
The Organization for Economic Co-operation and Development (OECD) recognizes this issue and asserted in their guidelines that “member countries have a common interest in protecting privacy and individual liberties” (OECD, 2013) regardless of countries having different policies.
The General Data Protection Regulation (GDPR), introduced by the European Union in May 2018, aims to return control of personal data to consumers.
As per, the National Conference of State Legislatures website, 31 states in US have data disposal laws and 47 states have security breach notification laws, but the laws are not uniform.
Personal Information Protection and Electronic Documents Act (PIPEDA) is the Canadian data protection law, that sets rules on how companies who collect personal data should protect it.
The law requires companies to do things like create a privacy management program, limit collection, use and retention of data, give users access to information that the company has about them and provide a way for users to file complaints with the company.
Lack of Security
An IoT is a dynamic system where data is being collected in real time, and in such system every poorly secured object can disturb the security and resilience of the entire system as they are connected like a chain [14]
Security has the equivalent importance as data protection. For secure IoT solutions, users need to be fully confident about the security of the device and application
Best practices to secure IoT Devices:
Hardware tamper resistance
Strong authentication
Firmware updates
Device identity spoofing
Dynamic testing
Failover design
IoT devices are Insecure
A recent study of IoT devices by security experts has shown that
Thermostats
TVs
Webcams
Sprinkler control systems
Home alarms
Door locks
How many devices failed the test?
IoT devices have insecure software because security is not a priority of the development process. We must make it a priority
This is not an idle problem. According to a recent study, 70% of IoT devices are vulnerable to cyber-attacks. This list includes thermostats, TVs, webcams, sprinkler control systems, home alarms, and door locks- just to name a few. The truth of the matter is that we are developing networked devices with insecure software; most vendors are producing retail products with security loopholes and vulnerabilities because security is not a priority.
36
IoT Cost Issues
The third stumbling block of IoT is the cost issues
The lack of security and data protection can cause an enterprise a huge losses.
The cost of IoT is based on hardware, software, maintenance increases with the level of secure solutions available to the consumers.
IoT-enabled products include technology and service components that add ongoing value.
37
Standard, Platforms, Programming Languages
For the Internet of Things
38
IoT Standardization
AllSeen Alliance 2013 –standard organization for IoT
Proposes devices be AllJoyn certified to enable interoperability
In 2016, AllSeen is merged with Open connectivity foundation (OCF).
In October 2016 they announced their merger into IoTivity.
With the merger devices running either AllJoyn or Iotivity will be interoperable and backward compatible.
AllJoyn provides several services that can be integrated with its core.
Onboarding Service
Configuration Service
Notification Service
Control Panel Service
Common Device Model (CDM) Service
The main stumbling block for IoT devices is the lack of connectivity standards. There are several proprietary networks, such as X10 and HomePNA. Wireless technologies also operate on a mix of spectrums, with the 2.4-2.5GHz band being used heavily by several non-compatible standards for data transfer and various remote controls. As we saw in Week 2, overarching standards must be in place for connectivity and interoperability to occur. Presently, only products from the same vendor can be networked – similar to network operating systems in the early 80’s. The new industry standard organization, AllSeen Alliance, was launched in December 2013, to improve interoperability. The AllSeen Alliance proposes to unite industry leaders with a shared vision, a common language and a collaborative path to advance the Internet of Everything. See youtube video https://www.youtube.com/user/AllSeenAlliance
Figure 4: AllSeen Alliance Logo
The AllSeen Alliance proposes devices be AllJoyn certified. The latter is an open source universal software framework and core set of system services that enable interoperability among connected products. It lets compatible devices and applications find each other, communicate and collaborate across the boundaries of product category, platform, brand, and connection type. Target devices include products in the Smart Home, but will later expand to Broadband Gateways and Driver-less cars. Presently, the communication layer (and thus hardware requirements) is limited to wi-fi.
39
IoT Platforms [3]
Amazon Web Services (AWS) IoT
Microsoft Azure IoT
Google Cloud Platform
ThingWorx IoT Platform
IBM Watson
Artik (Samsung)
Cisco IoT Cloud Connect
Universal of Things (IoT) Platform (HP)
Mindsphere by Siemens
Datav by Bsquare
Salesforce IoT Cloud
Bosch IoT Suite
Ayla Networkby Ayla
Oracle Integrated Cloud
Carriot
[3] https://internetofthingswiki.com/top-20-iot-platforms/634/
40
IoT and Programming Languages
New languages and new platforms are making it easier to engineer IoT projects
The AllSeen Alliance is an open source project which will support multiple languages and have a consistent hardware platform
Developer familiarity is a big factor in choosing a language, but there are other factors
Programming Languages for the IoT
Internet of Things (IoT) development projects are springing up at businesses all over the world. Choosing which language to use to write the project is as big a decision has which hardware platform to use. New languages and platforms are making it easier to engineer IoT projects than ever before. Once you’ve chosen the hardware platform, though, you still must develop the application software; here are some of the languages you should be familiar with.
Prior to the IoT, your choice of hardware platform dictated your choice of language. However, with the AllSeen Alliance open source project modern platforms can support multiple languages, increasing developer flexibility. How do you decide which programming language to use in a particular IoT project? Factors such as is the developer team familiar with the language or, whether it works within the environment used by other components of the project, or whether it produces code that is smaller, more efficient, or more rapidly written than that of other options.
Here are the top 6 languages that you should consider:
41
Top 6 IoT Programming Languages
C and C++
Available for all embedded system platforms
Uses low processing power
Ideal for programmers who write to software closest to hardware
C++ adds data abstraction, classes an objects
Used for over 30 years
C and C++
C was first developed to program telephone switches and it is still a contender for IoT projects. It’s available on nearly every advanced embedded system platform and requires little processing power. The language is ideal for programmers who write for the lowest layer of software, the one closest to the hardware. The language hides nothing from you, and that means you can fiddle with every part of the code to squeeze out the best performance from an underpowered device. Every bit can be flipped. Every value on the stack is available. C++ is an alternative if the IoT device requires more complex tasks, think thermostats and smart toasters rather than devices that detect moisture or heat. C++ adds data abstraction, classes, and objects. All of these features make C++ a popular choice for those who are writing embedded and IoT code with an interface. This programming language still is going strong after more than 30 years in the field.
42
Top 6 IoT Programming Languages
Java
Highly portable “Write once Run Anywhere”
Compiler has very few hardware dependencies built into it
Create programs on desktop and move to any device running the Java Virtual Machine
Java SE embedded designed for very small devices
Java training well established in computer science
Java
C and C++ were designed from the ground up to allow very direct control of the hardware on which they would run. That’s a good factor when you’re trying to do very fine-grained monitoring and control of that hardware, and it means that the code written is very specific to the hardware. In programming parlance, the code is not terribly portable. The mentor of Java “write once, run anywhere makes it an ideal choice for an IoT project. Also, the Java compiler has very few hardware dependencies built into it. Developers can create and debug code on their desktop and then move it to any chip with a Java Virtual Machine. That means the code can run not just on places where JVMs are common (servers and smartphones), but also on the smallest machines. Today, most of the focus is on Java SE Embedded, which is much closer in capability to the Standard Edition. Developers can use the latest features of the Java 8 platform and then move their code to a smaller, embedded device. All of this makes Java great from an economic standpoint: An investment in Java code can be paid back across many different platforms. Java is also taught as one of the primary programming languages in hundreds of computer science and electrical engineering degree programs, so finding someone with Java skills is not terribly difficult.
43
Top 6 IoT Programming Languages
Python
Preferred language for web development
Syntax simple and easy to read
Ideal if taking data and formatting it for a database
MicroPython designed for very small devices
Interpreted language but can also be pre-compiled for compact executable code
Python
Python started as a scripting language to glue together real code, but it’s increasingly used as the main language for many developers. It has become one of the “go-to” language in Web development, and its use has spread to the embedded control and IoT world. The syntax is clean and simple, which greatly improves readability. If the project requires taking data and putting it into any sort of database format, then draw upon the tables for control information, Python is a very real contender provided the device has the processing power for the application. For very small devices there is MicroPython and a software package for very small microcontrollers optimized to run Python on a small board that’s only a few square inches. Python is very flexible in many ways. For example, it is an interpreted language that can either be submitted to a run-time compiler or run through one of several pre-compilers so that compact executable code may be distributed.
44
Top 6 IoT Programming Languages
JavaScript
Started as a scripting language but grown into a full-featured language
Used extensively for building web front-end applications
Works well with Raspberry Pi
Requires more processing power because of its interpreted nature, but libraries are available for all common platforms
JavaScript
JavaScript is not an interpreted version of Java. It started as a scripting language, but has grown into a very full-featured language. The two languages were developed separately (JavaScript was developed by Netscape) and shares no syntax or semantics (however, there are libraries which allow Java and JavaScript to work together). JavaScript is heavily used for building Web-front-end applications. Forty-two percent of server based web applications use JavaScript. If you wanted to use the Apache server on a Raspberry Pi to gather data from a network of Arduino-based sensors, for example, JavaScript would be a good starting point for the effort. It’s not for lightweight embedded controllers because its interpreted structure requires more processing power, but it works well with RaspberryPi
45
Top 6 IoT Programming Languages
Swift
Apple programming language to replace Objective C
Good choice because many IoT devices will interact with iPhone or iPad
Apple wants its iOS to dominate the smart home network
Creating libraries and infra-structure to provide a programming framework called “HomeKit”
Less Development time because Swift does the hard work of integrating data feeds from a network of sensors
Swift
Swift is an Apple programming language, replacing Objective C. The fact that many IoT devices will need to interface with iPhone or iPad makes Swift a good choice for an IoT project. There are other good reasons to use this language, Apple wants to make its iOS devices the center of the smart home network of sensors, so it’s been creating libraries and infrastructure that handle much of the work. These libraries are the foundation of its “HomeKit” platform, which provides support for integrating the data feeds from a network of compatible devices. This means that programming an IoT project will take less time with Swift because you can concentrate on the application and leave the details of integration overhead to HomeKit.
46
Top 6 IoT Programming Languages
B#
Designed from the ground up to be very small and efficient embedded control language
The Embedded Virtual Machine (EVM) allows B# to run on different platforms
Only takes 24 k of memory.
Adds support for real-time control functions
Ideal for embedded platforms that are smaller than Raspberry Pi
B#
Where many of the languages mentioned here are large system languages that have been scaled down to fit into an embedded platform, B# was designed from the ground-up as a very small, very efficient embedded control language. The embedded virtual machine (EVM) that allows B# to run on a variety of different platforms only takes 24k of memory — much less than the overhead of other development languages. B# looks like C# (which will be familiar if you or your team is accustomed to working on Microsoft .NET projects), but it strips out many of the features not required for embedded projects and adds support for the real-time control functions that are critical when making things happen in the real world. If your project is going to live on embedded platforms that aren’t as big and complex as a Raspberry Pi, then B# is a language that you will want to consider.
47
Top 7 IoT Programming Languages
C#
For IoT devices Microsoft is linking them to the Azure cloud
Azure IoT Suite is used to collect data from IoT devices, analyzed it and act upon it
Suite acts as a bridge between customers’ devices and back-end applications
Scaled to handle billions of devices
Suite supports multiple protocols and languages
Microsoft using the cloud as an end-to-end solution for IoT devices making C# a good choice
C#
C# is a good choice for an IoT project. Microsoft’s strategy for IoT devices is to link them to the Azure cloud. Data collected from an almost limitless number of internet-connected sensors needs to be collated, analyzed and acted upon, and a public cloud is the logical route to do this. Presently, car companies such Corus, are using the cloud to provide mapping and integration to customers.
Microsoft has launched the Azure IoT Suite to aid developers in application development. The Suite acts as a bridge between customers’ devices and the back-end application for storing, analyzing and acting on IoT data in real time. The Suite is scaled to handle billions of devices. The Suite supports multiple protocols and languages including C, Python, Java and JavaScript. Microsoft is positioning itself to use the cloud as an interface for end-to-end solutions of IoT devices from multiple vendors. This makes C# and Visual Studio a real contender for IoT projects.
48
Summary
The Internet has fundamentally changed our lifes. Electronic communication is faster and cheaper than postal mail, but opens the door to lose of personal information and privacy
Smart Homes are built on the IoT (Internet of Things). The latter are smart devices, networked together and connected to sensors. These devices communicate with each other over the Internet and forward data to the user, or make routine decisions without user intervention.
Expand the concept of Smart Home to the neighbourhood combined with RFID sensors and you have an environment for robots, for cleaning the house, or driving to work automatically. All of these features are to improve human qualify of life, but it raises important legal and social questions which will need to be answered in the near future
The main stumbling blocks to full intregation of IoT are the lack of overarching standards , lack of Internet bandwidth and lack of security in IoT software
The top 7 programming languages are C/C++, Java, Swift, JavaScript, Python, B# and C#.
References
https://dzone.com/articles/iot-systems-sensors-and-actuators.
https://www.thetech.in/2019/02/differences-between-cloud-fog-and-mec.html
https://www.statista.com/statistics/471264/iot-number-of-connected-devices-worldwide/
https://securitytoday.com/articles/2020/01/13/the-iot-rundown-for-2020
Nizetic.S., Solic.P. b., Lopez-de-Ipi~na Gonzalez-de-Artaza c.D., Patrono.L., “Internet of Things (IoT): Opportunities, issues and challenges towards a smart and sustainable future”, Journal of Cleaner Production 274 (2020) 122877
https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/inspired/smart-cities
https://www.computerweekly.com/opinion/Smart-cities-face-challenges-and-opportunities
Saba. D., Sahli. Youcef. , Berbaoui.B., and Maouedj.R, “Towards Smart Cities: Challenges, Components, and Architectures”, Toward Social Internet of Things (SIoT): Enabling Technologies, Architectures and Applications pp 249-286
https://www.computerweekly.com/opinion/Smart-cities-face-challenges-and-opportunities
https://www.pwc.co.uk/issues/data-protection/insights/the-internet-of-things-is-it-just-about-gdpr.html
https://www.zdnet.com/article/privacy-laws-how-the-us-eu-and-others-protect-iot-data-or-dont/
Atlam H.F., Wills G.B. (2020) IoT Security, Privacy, Safety and Ethics. In: Farsi M., Daneshkhah A., Hosseinian-Far A., Jahankhani H. (eds) Digital Twin Technologies and Smart Cities. Internet of Things (Technology, Communications and Computing). Springer, Cham.