IOT Reviewer.pdf
Document Details
Full Transcript
Chapter 1: Everything is Connected Network Types 1.1 Digital Transformation Personal Area Network (PAN) – Connecting your smartphone to your car using Bluetooth is The...
Chapter 1: Everything is Connected Network Types 1.1 Digital Transformation Personal Area Network (PAN) – Connecting your smartphone to your car using Bluetooth is The Evolution of Digital Transformation an example of a PAN. Local Area Network (LAN) - Networks in a Today there are more smart devices than there small geographic area, such as a home or small are people: business. o Many people are connected to the Wide Area Networks (WANs) - A collection of Internet 24 hours a day. LANs that provides inter-LAN and Internet o By 2030 each consumer will have 15 connectivity. smart devices. Internet - A multi-layer global network system Modern digital networks make all of this that connects hundreds of millions of computers. possible Wireless Networks - Use electromagnetic Digital transformation – is the application of waves to carry signals over the network. digital technology to provide the stage for business and industry to innovate. The Cloud - Data centers or groups of connected servers used to store and analyze data, Can Smart Devices Think? provide access to on-line applications, and provide backup services. If programmed appropriately, smart devices are The Edge - The physical “edge” of a corporate able to evaluate data that is provided to them and network. modify processes or settings “on the fly”. Fog Computing - The data from IoT devices If provided with sufficient data, they can can be pre-processed for immediate use in the “learn” and modify their own code based on the fog located at the edge of the network. new parameters. 1.2 Devices that Connect to the IoT Smart Cities use sensors to control many of their infrastructure systems such as traffic flow, parking, Internet of Things (IoT) - is the connection of millions water utilization, and hydro. of smart devices and sensors connected to the Internet. Self-driving cars are equipped with many ultrasound Previously objects that are not smart such as: sensors, cameras, precision GPSs, and computers. doorknobs or light bulbs can now be equipped with an intelligent sensor that can collect and Networking is the Foundation transfer data to a network. An estimated 3 million new devices are Fifty billion things provide trillions of connected to the Internet each month. gigabytes of data In the next four years, there are going to be over 50 billion connected devices worldwide. Networks Two-thirds – will be “things”: sensors, actuators, provide the foundation for the Internet and the and newly invented intelligent devices that monitor, digitized world. control, analyze, and optimize our world. can range from simple networks consisting of two computers to networks connecting millions How are IoT Devices Connected to the Network? of devices. can provide products and services to customers Sensor – needs to be connected to a network so that the through their connection to the Internet. gathered data can be stored and shared. Internet Controllers – are responsible for collecting data from sensors and providing network or Internet connectivity. is the largest network in existence and effectively provides the “electronic skin” that Controllers may have the ability to make surrounds the planet immediate decisions, or they may send data to a more powerful computer for analysis. Sensors often work together with a device called an actuator. Actuators – take electrical input and transform the FOR Loops execute a specific set of input into physical action. instructions a specific number of times, based on an expression. The Future of Networks o A variable acts as a counter inside a range of values identified by a minimum Artificial Intelligence (AI) – Devices have the ability to and a maximum. Every time the loop is “think” on their own. executed, the counter variable is Intent-Based Networking (IBN) – Providing software incremented. When the counter is equal with rules, guidelines, or intent so that data could to the defined maximum value, the loop modify the network, infrastructure features, or security is abandoned and the execution moves features within a network. on to the next instruction. WHILE Loops execute a specific set of Chapter 2: Everything Becomes Programmable instructions while an expression is true. 2.1 Apply Basic Programming to Support IoT Device What is Blockly? System Software, Application Software, and Visual programming tool created to help Computer Languages beginners understand the concepts of programming. Two common types of computer software: o Allows a user to create a program without entering any lines of code. 1. system software – works between the computer Assigns different programming structures to hardware and the application program. colored blocks which contain slots and spaces to 2. application software – programs are created to allow programmers to enter values. accomplish a certain task or collection of tasks. Programmers can connect structures together by Both system software and application software dragging and attaching the appropriate blocks. are created using a programming language. Specific blocks represent functions. Select and Python – is an example of an interpreted programming drag function blocks to the work space and fill in language. the required slots. Programming Variables Programming languages – use variables to hold phrases, numbers, or other important information that can be used in coding. Variables – can hold the result of a calculation, the result of a database query, or some other value. Allow programmers to quickly create a wide range of simple or complex programs which tell the computer to behave in a pre-defined fashion. What is Python? Basic Program Structures Python – is a very popular language that is designed to be easy to read and write. Most common logic structures are: IF – THEN allows the computer to make a decision based on the result of an expression. o myVar > 0 o True if the value stored in the myVar variable is greater than zero. o If false, the computer moves on to the next structure, o If true, the computer executes the associated action before moving on to the next instruction in the program. Philosophy of the language: 2. Attempts to use a not defined variable will result in an error 1. Beautiful is better than ugly 2. Explicit is better than implicit 3. Simple is better than complex 4. Complex is better than complicated 5. Readability counts The Python Interpreter Python interpreter – understands and executes Python code. Python code can be created in any text editor and 3. Special variable “_” holds the result of the last Python interpreters are available for many operating expression issued. systems. In Linux machines, the Python interpreter is usually installed in /usr/bin/python or /usr/bin/python3. Python – is installed by default into the user’s home directory. After the Python interpreter has been installed, it operates somewhat like the Linux shell. This means that when called with no arguments, it reads and executes commands interactively. When called with a file name argument or with a file as standard input, it 4. To assign values to variables, use the = sign. reads and executes a script from that file. The Python Interpreter (Cont.) To start the interpreter, simply type python or python3 at the shell prompt. Variables and Basic Statements in Python (Cont.) In interactive mode, the interpreter waits for commands. The primary prompt is represented 1. Print statement prints the result of the by three greater-than signs (>>>). expression it was given. Continuation lines are represented by three dots (...). The >>> prompt indicates the interpreter is ready and waiting commands. 2. Use the backslash character (\) to escape characters. As an example, a string uses double Variables and Basic Statements in Python quotes but also needs to use a double quote within the string. 1. Variables and Basic Statements in Python - Single quotes or double quotes can be used to wrap strings. 3. Functions allow for a block of code to be given a Tuples - sequences, separated by parentheses. name and re-used as needed Lists - sequence of changeable Python objects, created by putting different comma-separated values between square brackets. Useful Functions and Data Types in Python (Cont.) Useful Functions and Data Types in Python Python supports many useful functions and datatypes. Some of the more important ones are as follows: Range() - Generates a list of numbers usually used to iterate with FOR loops. range(stop) - number of integers (whole numbers) to generate, starting from zero Sets are unordered collections of unique elements. range([start], stop[, step] – Common uses include membership testing, removing Starting number of the duplicates from a sequence, and computing standard sequence, the ending number math operations on sets such as intersection, union, in the sequence, and the difference, and symmetric difference. difference between each number in the sequence. Useful Functions and Data Types in Python (Cont.) Dictionary is a list of elements that are separated by commas. Each element is a combination of a value and a unique key. Each key is separated from its value by a colon. Dictionary elements can be accessed, updated, and deleted Programming Structures in Python IF-THEN, ELSE, ELIF Physical Materials Make decisions based upon the result of an Maker Media is a global platform for connecting expression makers with each other to exchange projects and ELSE specify instructions to be executed if the ideas. expression is false. ELIF is used to perform a second test. LEGO Mindstorms has a large community of contributors and fans. Meccano, or Erector Set, is a model construction system that consists of reusable metal strips, plates, angle girders, wheels, axles, and gears, with nuts and bolts to connect the pieces. It lets you build working prototypes and mechanical devices. FOR Loop 3D printing is the process of making a solid object based on a 3D model computer file. - Iterates the items of any sequence (a list or a string), in the order that they appear in the Programming Resources sequence Programming is critical to the IoT. Creating custom code is very useful when developing an IoT solution. There are many other free resources that can help you get started with programming: The MIT OpenCourseWare (OCW) is a web- based publication of almost all MIT course content. Open and available to the world, OCW is a great place to get familiar with computer programming for free. WHILE Loop Khan Academy is a non-profit educational website created in 2006 to provide “a free, - Executes a block of code if the expression is world-class education for anyone, true anywhere” Code Academy is another excellent 2.2 Prototyping Your Idea resource. It relies on interactivity to help Defining Prototyping people learn how to write computer programs. Prototyping Chapter 3: Everything Generates Data - is the process of creating a working model of a product or system. 3.1 Big Data - In IoT, it helps to have design skills, electrical What is Big Data? skills, physical/mechanical skills, programming skills, and to understand how TCP/IP works. Data is information that comes from a variety of - Because the IoT is still developing, there are still sources, such as people, pictures, text, sensors, web unknown tasks to discover. sites and technology devices. Three characteristics that indicate an organization may be dealing with Big Data: 1. A large amount of data that increasingly requires more storage space (volume). 2. An amount of data that is growing exponentially fast (velocity). 3. Data that is generated in different formats Streamlines the IT operations of an organization. (variety). Eliminates or reduces the need for onsite IT equipment, maintenance, and management. Large Datasets Reduces cost for equipment, energy, physical plant requirements, and personnel training Companies do not necessarily have to generate needs. their own Big Data. There are sources of free data sets available, Distributed Processing ready to be used and analyzed. Distributed data processing takes the large volume of What are the Challenges of Big Data? data and breaks it into smaller pieces. IBM’s Big Data estimates conclude that “each day we These smaller pieces are distributed in many create 2.5 quintillion bytes of data”. locations to be processed by many computers. Five major storage problems with Big Data: Hadoop was created to deal with these Big Data volumes. It has two main features that has made it the 1. Management industry standard: 2. Security 3. Redundancy Scalability - Larger cluster sizes improve 4. Analytics performance and provide higher data 5. Access processing capabilities Where Can We Store Big Data? Fault tolerance – Hadoop automatically replicates data across clusters. Big data is typically stored on multiple servers, in data centers. Why Do Businesses Analyze Data? Fog computing utilizes end-user clients or “edge” Data analytics allows businesses to better understand devices to do a substantial amount of the pre- the impact of their products and services, adjust their processing and storage. methods and goals, and provide their customers with better products faster. Data from that pre-processed analysis can be fed back into the companies’ systems to modify processes if Value comes from two primary types of processed required. data such as Communications to and from the servers and devices 1. Transactional information – is captured and is quicker and requires less bandwidth than constantly processed as events happen. going out to the cloud. - Used to analyze daily sales reports and production schedules to determine how The Cloud and Cloud Computing much inventory to carry. 2. Analytical information – supports managerial Cloud is a collection of data centers or groups of analysis tasks like determining whether the connected servers. organization should build a new manufacturing plant. Cloud services for individuals include: Sources of Information Storage of data, such as pictures, music, movies, and emails. Data – originates from sensors and anything that has Access many applications instead of been scanned, entered, and released to the Internet. downloading onto local device. Access data and applications anywhere, anytime, Collected data can be categorized as: and on any device. - Structured data – is created by applications Cloud Services for an Enterprise include: that use “fixed” format input such as spreadsheets. May need to be manipulated into Access to organizational data anywhere and at a common format such as CSV any time. - Unstructured data – is generated in a Circuits Basic “freeform” style such as audio, video, web pages, and tweets Data Visualization Data mining – is the process of turning raw data into meaningful information The mined data must be analyzed and presented to managers and decision makers Determining the best visualization tools to use will vary based on the following: Number of variables Number of data points in each variable Is the data representing a timeline Items require comparisons Popular charts include line, column, bar, pie, and scatter. Analyzing Big Data for Effective Use in Business Data analysis is the process of inspecting, cleaning, transforming, and modeling data to uncover useful information. Having a strategy helps a business determine the type of analysis required and the best tool to do the analysis. Tools and applications range from using an Excel spreadsheet or Google Analytics for small to medium data samples, to the applications dedicated to manipulating and analyzing really big datasets. TinkerCAD What is TinkerCAD? Tinkercad – is a web-based application developed by Autodesk designed for different application area 3D Design Electronics Coding Circuites enables us to turn lights on/off, computer to work, and more Series & Parallel Circuits Series – means components are hooked up one after another Parellel – means components are hooked up side by side Getting the Gear 1. Search for SV battery 2. Click and drag into workplace 3. Find LED and repeat Wiring LEDs LEDs have two sides, and it matters which is which The anode is Electrical circuits contain longer, bent terminal conductive paths for current (or The annod electrons) to flow: connects positive (+) power Open loop = current The cathode is the shorter, straight terminal can’t flow The cathode connects to negative (-) Closed loop = current can flow