If you’ve been watching the technology world lately, chances are you have encountered numerous mentions of the term, the Internet of Things. Most media references and company advertisements label this or that as the Internet of Things but with little or no explanation about what it means. Even when you do find some depth of what it means, the text tends to focus on either the problems and challenges, or they focus on the promise of making our lives better in the future. Some suggest the Internet of Things will bring about the inevitable evolution of our society as we become more connected to the world around us every day.
However, you need not dive into such heady concepts or recite rhetoric to get started with the Internet of Things. In fact, through the efforts of many open source developers and vendors, you can explore the Internet of Things without intensive training or expensive hardware and software. Best of all, you can explore the Internet of Things without learning a lot about programming or spending months learning how to code!
This article is intended to be a guide to help you understand the Internet of Things and to begin building solutions that you can use to learn more about the Internet of Things. We will start by examining the programming language and environment followed by a detailed look at the hardware. We will also learn the basic knowledge of electronics and then explore several projects to help us understand how to work with the software. The final project will bring all the aspects together to help understand what the Internet of Things is, and even how to write custom software for building solutions for the Internet of Things. Best of all, we do so using one of the easiest to use programming languages and easy to use open source microcontroller boards.
So, what is this Internet of Things, hence IOT? Let’s begin by explaining what it isn’t. The IOT is not a new device or proprietary software or some new piece of hardware, nor is it a new marketing scheme to sell you more of what you already have by renaming it and pronouncing it “new and improved.” While it is true the IOT employs technology and techniques that already exist, the way they are employed, coupled with the ability to access the solution from anywhere in the world, makes the IOT an exciting concept to explore. Now let’s discuss what the IOT is.
The essence of the IOT is simply interconnected devices that generate and exchange data from observations, facts, and other data making it available to anyone. While there seems to be some marketing efforts attempting to make anything connected to the Internet an IOT solution or device – not unlike the shameless labeling of everything ‘cloud’, IOT solutions are designed to make our knowledge of the world around us more timely and relevant by making it possible to get data about anything from anywhere at any time.
As you can imagine, if we were to connect every device around us to the Internet and make sensory data available for those devices, it is clear there is potential for the number of IOT devices to exceed the human population of the planet and for the data generated to rapidly exceed the capabilities of all but the most sophisticated database systems. These concepts are commonly known as addressability and big data and are two of the most active and debated topics in IOT.
However, the IOT is all about understanding the world around us. That is, we can leverage the data to make our world and our understanding of it better.
How do we observe the world around us? The human body is a marvel of ingenious sensory apparatus that allows us to see, hear, taste, and even feel through touch anything we encounter. Even our brains can store visual and auditory events recalling them at will. IOT solutions mimic many of these sensory capabilities and therefore can become an extension of our own abilities. While that may sound a bit grandiose (and it is), IOT solutions can record observations in the form of data from one or more sensors and make them available for viewing by anyone anywhere via the Internet.
Sensors are devices that produce either analog or digital values. We can then use the data collected to draw conclusions about the subject matter. This could be as simple as a sensor to detect when a door, window, or mailbox is opened. In the case of a switch on a mailbox, the knowledge we gain from a simple switch opening or closing (depending on how it is implemented and interpreted) may be used to predict when incoming mail has arrived or when outgoing mail has been picked up. I use the term predict because the sensor (switch) only tells us the door was opened or closed, not that anything was placed in or removed from the mailbox itself – that would require additional sensors.
A more sophisticated example is using a series of sensors to record atmospheric data such as temperature, humidity, barometric pressure, wind speed, ambient light, rainfall, etc., to monitor the weather that allows us to perform analysis on the data to predict trends in weather. That is, we can predict within a reasonable certainty that precipitation is in the area.
Now, add the ability to see this data not only in real time (as it occurs), but also remotely from anywhere in the world, and the solution becomes more than a simple weather station. It becomes a way to observe the weather about one place from anywhere in the world. This example may seem to be a bit commonplace since you can tune into any number of television, web, and radio broadcasts to hear the weather from anywhere in the world. But consider the implications of building such a solution in your home. Now you can see data about the weather in your own home!
In the same way, but perhaps on a smaller scale, we can build solutions to monitor plants to help us understand how often they need water and other nutrients. Or perhaps we can monitor our pets while we are away at work. Further, we can record data about wildlife in our area to better understand our effect on nature.
IOT Is More Than Just Connected to the Internet
If a device is connected to the Internet, does that make it an IOT solution? That depends on whom you ask. Some believe the answer is yes. However, others (such as myself) contend that the answer is not unless there is some benefit from doing so. For example, if you connected your toaster to the Internet, what could be the benefit of doing so? It would be pointless (or at least extremely eccentric) to get a text on your phone from your toaster stating that your toast is ready. So, in this case, the answer is no.
However, if you have persons such as responsible teenagers or perhaps older adults whom you would like to monitor, it may be helpful to be able to check to see how often they use their toaster and when. That is, you can use the data to help you make decisions about their care and safety.
To me, if there is no use for the data, whether it is something that is viewed in real time or is stored for later processing, then simply connecting it to the Internet does not make it an IOT solution. There must be some gain in the use of the device. Thus, being connected to the Internet doesn’t make something IOT. Rather, IOT solutions must be those things that provide some meaning – however small that has benefit to someone or some other device or service.
More importantly, whatever we build IOT solutions to do, they allow us to sense the world around us and learn from those observations. The real tricky part is in how the data is collected, stored, and presented. We will see these in practice through examples in later chapters. See the sidebar for an example of a controversial IOT device - a common household appliance.
However, IOT solutions can often take advantage of companies that provide services that can help enhance or provide features you can use in your IOT solutions. These features are commonly called IOT Services and range from storage and presentation to the infrastructure services such as hosting.
Internet-Enabled Appliances: IOT or Marketing Hype?
One of the ideas or concepts that seems to becoming popular is the connecting of major household appliances to the Internet. While manufacturers may want you to believe this is a new and exciting IOT device, the truth is it is neither a new idea nor is it a world changing IOT solution .
I was fortunate to participate in a design workshop held on the Microsoft campus in the late 1990s. During our tour of the campus, we were introduced to the world’s first Internet-enabled refrigerator (also called a smart refrigerator or simply Internet refrigerator).3 There were sensors in the shelves to detect the weight of food. It was suggested that, with a little ingenuity, that one could use the sensors to notify your grocer when your milk supply ran low, which would enable people to have their grocery shopping not only online but also automatic.
Now, 20 years later, we’re seeing manufacturers building refrigerators that connect to the Internet. However, unlike the first smart refrigerator, these new devices are positioned to be a social media focal point for the household. Many don’t provide any meaningful data about the contents of the refrigerator outside of the gadget-like ability to see a video image of the contents without opening the door, which could have been solved by installing a glass door.
Suffice to say IOT enthusiasts like me scratch their heads at how something like this could possibly be useful much less sell well. Sadly, these new Internet refrigerators do indeed seem to be selling well, but I wonder if consumers have been sucked into the hype. For an interesting commentary on why the Internet refrigerator isn’t for you, do a Google search and you’ll find a lot of opinions – most negative (and yet, people still buy these things).
Let’s judge the Internet refrigerator with my definition of IOT: does it enhance your life by providing you information about the world around you? Well, if you need to check to see how much milk you have while 3000 miles away from home, then I guess it may beneficial but for the multitude of us who prefer to just open the door and look before we go to the store, it may not be an IOT device.
Sadly, there are companies that tout having IOT products and services that are nothing more than marketing hype – much like what some companies have done by prepending ‘cloud’ or appending ‘for the cloud’ to the name. Fortunately, there are some good products and services being built especially for IOT. These range from data storage and hosting to specialized hardware.
Indeed, businesses are adding IOT services to their product offerings faster than anyone can keep up with the latest. And it isn’t the usual suspects such as the Internet giants. I have seen IOT solutions and services being offered by Cisco, AT&T, HP, and countless startups and smaller businesses. I use the term IOT vendor to describe those businesses that provide services for IOT solutions.
You may be wondering what these services and products are and why one would consider using them. That is, what is an IOT service and why would you decide to buy it? The biggest reason you may decide to buy a service concerns cost and time to market.
If your developers do not have the resources or expertise and obtaining them will require more than the cost of the service, it may be more economical to purchase the service. However, you should also consider any additional software or hardware changes (sometimes called retooling) necessary in the decision. I once encountered a well-meaning and well-documented contracted service that permitted a product to go to market sooner than projected at a massive savings. Sadly, while the champions of that contract won awards for technical achievement, they failed to consider the fact that the systems had to be retooled to use the new service. More specifically, it took longer to adopt the new service than it would have to write one from scratch. So instead of saving money, the organization spent nearly triple and were late to market. Clearly, one must consider all factors.
Similarly, if your time is short or you have hard deadlines to make your solution production ready, it may be quicker to purchase an IOT service rather than create or adapt your own. This may require spending a bit more, but in this case the motivation is time and not (necessarily) cost. Of course, it is a mixture of both cost and time.
So, what are some of the IOT services available? The following lists a few that have emerged in the last few years. It is likely more will be offered as IOT solutions and services mature.
- Enterprise IOT Data Hosting and Presentation – services that allow your users to develop enterprise IOT solutions from connecting to, managing, and customizing data presentation in a friendly form such as graphs, charts, etc. Example: Xively
- IOT Data Storage – services that permit you to store your IOT data and get simple reports. Example: Sparkfun’s IOT Data service
- Networking – services that provide networking and similar communication protocols or platforms for IOT. Most specialize in machine-to-machine (M2M) services Example: AT&T’s cellular global SIM service
- IOT Hardware Platforms – vendors that permit you to rapidly develop and prototype IOT devices using a hardware platform and a host of supported modules and tools for building devices ranging from a simple component to a complete device. Example: Intel’s IOT gateway development kits
Now that we know more about what IOT is, let’s look at a few examples of IOT solutions to get a better idea of what IOT solutions can do and how they are employed.
A Brief Look at IOT Solutions
An IOT solution is simply a set of devices designed to produce, consume, or present data about some event or series of events or observations. This can include devices that generate data such as a sensor, devices that combine data to deduce something, devices or services designed to tabulate and store the data, and devices or systems designed to present the data. Any of these may be connected to the Internet.
IOT solutions may include several of these qualities whether they are combined into a single device such as a web camera, or into a sensor package and monitoring unit such as a weather station, or into a complex system of dedicated sensors, aggregators, data storage, and presentation such as complete home automation system. Figure 1 shows a futuristic picture of all devices everywhere connected to the Internet either to databases, data collectors or integrators, display services, and even other devices.
Figure 1. The future of IOT – all devices, everywhere
Let’s look at some example IOT solutions. The IOT solutions described in this section are a mix of solutions that should give you an idea of the ranges of sizes and complexities of IOT solutions. I also point out how some of these solutions leverage services from IOT vendors.
Sensor networks are one of the most common forms of IOT solutions. Simply stated, sensor networks allow you to observe the world around you and make sense of it. Sensor networks could take the form of a pond monitoring system that alerts you to water level, water purity (contamination), water temperature, detect predators, or even turn on features automatically such as lighting or feeding the fish in your garden pond.
If you, or someone you know, has spent any time in a medical facility, chances are a sensor network was employed to monitor body functions such as your body temperature, heart rate, respiratory capacity, or even movement range of your limbs. Modern automobiles also contain sensor networks dedicated to monitoring the engine, climate, and even in some cars road conditions. For example, the lane-warning feature uses sensors (typically a camera, microprocessor, and software) to detect when you drift too far toward lane or road demarcations. Manufacturing plants also employ sensor networks in monitoring and controlling the machines, conveyors, and more. Shipping clearinghouses also employ sensor networks to help route packages to the correct bins and ultimately to the correct trucks or planes for transport.
Thus, sensor networks employ one or more sensors that take measurements (observations) about an event or state and communicate that data to another component or node in the network, which is then presented in some form or another for analysis. Let’s look at an example of an important medical IOT solution.
Medical applications including health monitoring and fitness are gaining a lot of attention as consumer products. These solutions cover a wide range of capabilities such as the fitness features built into the new Apple Watch to Fitness bands that keep track of your workout and even medical applications that help you control life-threatening conditions. For example, there are solutions that can help you manage diabetes.
Diabetes is a disease that affects millions of people worldwide. There are several forms: the most serious being type 1. Those afflicted with type 1 diabetes do not produce enough (or any) insulin due to genetic deficiencies, birth defects, or injuries to the pancreas. Insulin is a hormone the body uses to extract a simple sugar called glucose, which is created from sugars and starches, from blood for use in cells. Failure to monitor your blood sugar can result in dangerously low or high blood sugar levels, both of which can be life threatening and if not controlled can cause long-term damage to internal organs, nerves, and other areas. It is a most serious condition .
Athletes and Diabetes
Professional athletes are some of the most physically fit people in the world. Many are examples of health and admired by fans and fellow athletes alike. In the past, if a professional athlete contracted a disease like diabetes type 1, their career would be over. Now, with modern medical technology, professional athletes are starting to overcome their condition and continue to compete .
One shining example is Ryan Reed, a NASCAR Xfinity stock car racer and driver of the number 16 Lily Diabetes Ford. In 2011, Reed was diagnosed with diabetes type 1 and told he would never race again. Since then, Reed has overcome his handicap through careful monitoring of his condition and has returned to racing.
Not only has Reed returned to the sport he loves, he has won the season opening premier series race at Daytona International Raceway not once, but twice. Reed is proof that education, vigilance, and technology can make our lives better.
Type 1 diabetics must monitor their blood glucose to ensure they are using their medications (primarily insulin) properly and balanced with a healthy lifestyle and diet. If their blood glucose levels drop too low or too high, they can suffer from a host of symptoms. Worse, extremely low blood glucose levels are very dangerous and can be fatal.
One of the newest versions of a blood glucose tester consists of a small sensor that is left in the body for as much as a week along with a monitor that connects to the sensor via Bluetooth. You wear the monitor on your body (or keep it within 20 feet at all times). The solution is marketed by Dexcom (dexcom.com/) and is called a continuous glucose monitor (CGM) that permits the patient to share their data to others via their phone. Thus, the patient pairs their CGM with their phone and then shares the data over the Internet to others. This could be loved ones, those that help with their care, or even medical professionals.
Figure 2 shows an example of the Dexcom CGM monitor and sensor. The monitor is on the left and the sensor and transmitter are on the right. The sensor is the size of a small syringe needle and remains inserted in the body for up to a week.
Figure 2. Dexcom Continuous Glucose Monitor with Sensor
A feature called Dexcom Share permits the patient to make their data available to others via an app on their phone. That is, the patient’s phone transmits data to the Dexcom cloud servers, which is then sent to anyone who has the Dexcom Share app and has been given permission to see the data. Figure 3 shows an example of the Dexcom Share CGM report from the Dexcom Share iOS app, which allows you to easily and quickly check the blood glucose of a friend or loved one.
Figure 3. Dexcom Share App Report
Not only does the app allow the visualization of the data, it can also relay alerts for low or high blood glucose levels, which has profound implications for patients who suffer from additional ailments or complications from diabetes. For example, if the patient’s blood glucose level drops while they are alone, incapacitated, or unable to get treatment, loved ones with the Dexcom Share app can respond by checking on the patient and potentially avoiding a critical diabetic event.
While this solution is a single sensor connected to the Internet via a proprietary application, it is an excellent example of a medical IOT device that can enhance the lives of not only the patient but everyone who cares for them.
Dexcom also provides a free Windows application called Dexcom Studio to allow patients to see the data their monitors collect and generate a host of reports they can use to see their glucose levels over time. Reports include averages, patterns, daily trends, and more. They can even share their data with their doctor. Figure 4 shows an example of the Dexcom Studio with typical data loaded.
Figure 4. Dexcom Studio
What About Blood Glucose Testers – Glucometers?
Until solutions like the Dexcom CGM came about, diabetics had to use a manual tester. Traditional blood glucose testers are single-use events that require the patient to prick their finger or arm and draw a small amount of blood onto a test strip. While this device has been used for many years, it is only recently that manufacturers have started making blood glucose testers with memory features and even connectivity to other devices such as laptops or phones. The ultimate evolution of these devices is a solution like Dexcom, which has become a medical IOT device that improves the quality of life for diabetics.
Combined with the programmable alerts, you and your loved ones can help manage the effects of diabetes. If you have a loved one who suffers with diabetes, a CGM is worth every penny for peace of mind alone. This is the true power of IOT materialized in a potentially lifesaving solution.
Automotive IOT Solutions
Another personal IOT solution is the use of Internet-connected automotive features. One of the oldest products is called OnStar (onstar.com) and is available on most late-model and new General Motors (GM) vehicles. While OnStar is a satellite-based service that has several levels and many fee-based options, it incorporates the Internet to permit communication with vehicle owners. Indeed, the newest GM vehicles come with a WiFi access point built into the car! Better still, there are some basic features that are free to GM owners that, in my opinion, are very valuable.
The free, basic features include regular maintenance reports sent to you via email and the ability to use an app on your phone to unlock, lock, remote start – all the features on your key fob remotely. This is a cool feature if you have ever locked your keys in your car! Figure 5 shows an example of the remote key fob app on iOS. Of course, there are even more features available for a fee including navigation, telephone, WiFi, and on-call support.
Figure 5. OnStar App Key Fob Feature
The OnStar app works by connecting to the OnStar services in the cloud, requesting the feature (e.g., unlock) that is sent to the vehicle via the OnStar satellite network. So, it is an excellent example of how IOT solutions use multiple communication protocols .
The feature I like most is the maintenance reports. You will receive an email with an overview of the maintenance status of your vehicle. The report includes such things as oil life, tire pressure, engine and transmission warnings, emissions, air bag, and more. Figure 6 shows an excerpt of a typical email you would receive.
Figure 6. OnStar Maintenance Report
Notice the information displayed. Actual data is transmitted to OnStar from your vehicle. For example, the odometer reading and tire pressure data are taken directly from the vehicle’s onboard data storage. That is, data from the sensors is read, interpreted, and the report generated for you. This feature demonstrates how automatic compilation of data in an IOT solution can help us keep our vehicles in good mechanical condition with early warning of needed maintenance. This serves us best by helping us keep our vehicles in prime condition and thus in a state of high resell value .
I should note that GM isn’t the only automotive manufacturer offering such services. Many others are working on their own solutions ranging from an OnStar-like feature set to solutions that focus on entertainment and connectivity.
Another example of an IOT solution is a fleet management system.6 While developed, and deployed well before the coining of the phrase, IOT, fleet management systems allow businesses to monitor their cars, trucks, ships – just about any mobile unit – to not only track their current location but also to use the location data (GPS coordinates taken over time) to plan more efficient routes, thereby reducing the cost of shipment.
Fleet management systems aren’t just for routing. Indeed, fleet management systems also allow businesses to monitor each unit to conduct diagnostics. For example, it is possible to know how much fuel is in each truck, when its last maintenance was performed or, more importantly, when the next maintenance is due, and much more. The combination of vehicle geographic tracking and diagnostics is called telematics. Figure 7 shows a drawing of a fleet management system.
Figure 7. Fleet Management Example
In the figure, you will see the application of GPS systems to track location as well as satellite communication to transmit additional data such as diagnostics, payload states, and more. All of these ultimately traverse the Internet and the data becomes accessible by the business analysts.
You may think fleet management systems are only for large shipping companies, but with the proliferation of GPS modules and even the microcontroller market, anyone can create a fleet management system. That is, they don’t cost millions of dollars to develop.
For example, if you owned a bicycle delivery company, you could easily incorporate GPS modules with either cellular or wireless connectivity on each delivery person to track their location, average travel time, and more. More specifically, you can use such a solution to minimize delivery times by allowing packages to be handed off from one delivery person to another rather than having them return to the depot each time they complete a set of deliveries.
Camera Drones and The IOT
One possible use of the IOT is making data that drones generate available over the Internet. Some may feel drones are an invasion of privacy, and I agree in situations where they are misused or established laws are violated. Fortunately, the clear majority of drone owners obey local laws, regulations, and property owners’ wishes.
However, there are many legitimate uses of drones be they land-, air-, or sea-based. For example, I can imagine home monitoring solutions where you can check on your home remotely by viewing data from fixed cameras as well as data from mobile drones. I for one would love to see a solution that allowed me to program a predetermined sentry flight path to monitor my properties with a flying camera drone.
While some vendors have WiFi-enabled drones, there aren’t many consumer-grade options available that stream data real time over the Internet. However, there are some options that allow you to post video and photos directly from the drone. One of my drones is the Yuneec Breeze, which allows me to post photos and video collected from the drone to social media. Interestingly, these drones are being called “selfie drones” since they have features that allow autonomous modes including a mode where the drone follows you filming your antics, or circling your position, and other interesting features.
While these new drones require a manual action to post data, it is just a matter of time before we see real-time IOT solutions that include drones. Of course, the current controversy and indeed the movement of the U.S. government to register and track drones along with increasing restrictions on their use may limit the expansion of drones and IOT solutions that include drone-acquired data.
IOT and Security
The recent rash of massive data breaches proves that basic security simply wasn’t good enough. We’ve seen everything from outright theft to exploitation of the data stolen from very well-known businesses like Target (over 40 million credit card numbers may have been compromised) and government agencies like the United States Office of Personnel Management (over 20 million social security numbers compromised).
IOT solutions are not immune to security threats. Indeed, as IOT solutions become more and more integrated into our lives, so too will our personal data. Thus, security must be taken extremely seriously and built into the solution from the start.
This includes solutions we develop ourselves. More specifically, if you design a weather station for your own use, you should take reasonable steps to ensure the data is protected from both accidental and deliberate exploitation. You may think weather data isn’t a high risk but consider the case where you include GPS coordinates for your sensors (a reasonable feature) so that people can see where this weather is being observed. If someone could see that information, and determine the solution uses an Internet connection, it is possible they could gain physical access to the Internet device and possibly use it to further penetrate and exploit your systems. Thus, security isn’t just about the data; it should encompass all aspects of the solution from data to software to hardware to physical access.
There are four areas where you may want to consider spending extra care ensuring your IOT solution is protected with good security. As you will see, this includes several things you should consider for your existing infrastructure, computers, and even safe computing habits. By leveraging these areas, you will be building a layered approach to security: often called a defense-in-depth method.
Do I Really Need To Worry About Security?
If you’re wondering why I’ve included this section in a beginner’s blog on the IOT and Python, consider for a moment what you ultimately want to do with the knowledge you gain from this blog. If you are only interested in learning how to work with your new MicroPython board and have no aspirations for developing anything more, then you may want to skim these sections. However, if your goals include making MicroPython IOT solutions that you deploy – especially if you plan to connect it to the Internet – you will want to consider security in your solution. Either way, I strongly recommend reading and adhering to these tips for securing your IOT solutions.
Security Begins at Home
Before introducing an IOT solution to your home network, you should consider taking precautions to ensure the machines on your home network are protected. This is important because if someone gets access to your home network, they can achieve all manner of nefarious activities.
The most common mistake made is not securing a home WiFi network. Not only does this mean your neighbors can jump onto your network and hog your bandwidth, it also means they may be able to get to the systems on your home network leaving your IOT devices, computers, appliances, etc., vulnerable to attack.
Fortunately, there are some best practices for securing your home networking to help reduce these risks. These include the following. Passwords: This may seem like a simple thing, but always make sure you use passwords on all your computers and devices. Also, adopt good password habits such as requiring longer strings, mixed case, numbers, and symbols to ensure the passwords are not easily guessed.
- Secure your WiFi: If you have a WiFi network, make sure you add a password and use the latest security protocols such as WPA2 or, even better, the built-in secure setup features of some wireless routers.
- Use a firewall: You should also use a firewall to block all unused ports (TCP or UDP). For example, lock down all ports except those your solution uses such as port 80 for html.
- Restrict physical access: Lock your doors! Just because your network has a great password and your computers use super world espionage spy encrypted biometric access, these things are meaningless if someone can gain access to your networking hardware directly. For IOT solutions, this means any external components should be installed in tamper-proof enclosures or locked away so they cannot be discovered. This also includes any network wiring.
Some of these you may know how to do it, but others may require help from a friend who knows more about the devices and networking. For example, if you don’t know what a firewall is, ask someone to help you. A little extra security is worth the effort to learn the basics of how to set up a firewall.
Secure Your Devices
As mentioned above, your IOT devices also need to be secured. Some practices to consider include the following.
- Use passwords: Always add passwords to the user accounts on any device that has an operating system. This includes making sure you rename any default passwords. For example, you may be tempted to consider a wee Raspberry Pi too small of a device to be a security concern but if you consider these devices run one of the most powerful operating systems available (forms of Linux), a Raspberry Pi can be a very powerful hacking tool.
- Keep your software up to date: You should try to use the latest versions of any software you use. This includes the operating system as well as any firmware or programming tools you may be running. Newer versions often have improved security or fewer security vulnerabilities .
- If your software offers security features, use them: If you have servers or services running on your devices, and they offer features such as automatic lockout for missed passwords, turn them on. Not all software has these features, but if they are available, they can be a great way to defeat repeated attacks.
This is one area that is often overlooked. While it is an option normally used only by solutions that transmit confidential data such as commercial IOT devices, if you plan to send data you feel is sensitive, you can further protect yourself and your data if you encrypt both your data as it is stored and the communication mechanism as it is being transmitted. If you encrypt your data, even if someone were to gain physical access to the storage device, the data is useless because they cannot easily decipher the encryption. Use the same care with your encryption keys and passcodes as you do your computer passwords.
Security Doesn’t End at the Cloud
There are many considerations for connecting IOT devices to cloud services. Indeed, Microsoft and others have made it very easy to use could services with your IOT solutions. However, there are two important considerations for security and your IOT data.
- Do you need the cloud?: The first thing you should consider is whether you need to put any of your data in the cloud. It is often the case that cloud services make it very easy to store and view your data, but is it necessary to do so? For example, you may be very concerned and quite keenly eager to view logistical data for where your dog spends his time while you are at work, but who else would care to view this data? In this case, storing the data in the cloud to make it available to everyone is not necessary .
- Don’t relax!: Many people seem to let their guard down when working with cloud services. For whatever reason, they consider the cloud more secure. The fact is, it isn’t! In fact, you must apply the very same security best practices when working in the cloud that you do for your own network, computers, and security policies. Indeed, if anything, you need to be even more vigilant because cloud services are not in your control with respect to protecting against physical access (however remote and unlikely) nor are you guaranteed your data isn’t on the same devices as tens, hundreds, or even thousands of other users’ data.
Now that we have an idea of how we should include security in our projects, let’s take a brief look at the programming language we will use in our work – Python.