The document discusses software and programming concepts for IoT systems. It introduces the Raspberry Pi single board computer and how it can be used for IoT applications. Blockly and Python are presented as programming tools for IoT. Finally, a model IoT home automation system is demonstrated using sensors, actuators and single board computers connected through a home gateway.
This document outlines a project to build an interactive personal assistant with a human-like structure. The assistant would use an ESP8266 WiFi chip, Arduino microcontroller, and Raspberry Pi along with speech APIs from Microsoft and Google to understand voice commands. It would have sensors to detect sound and distance and motors to allow movement. Future enhancements could include support for additional languages like Hindi, a battery power source, updated speech recognition, and a more human-like body structure and head. The goal is to create a smart, interactive machine to serve users for tasks like assistance, entertainment, and research.
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...MediaTek Labs
Want to add Wi-Fi to your IoT project? This 30 minute webinar, presented by technical consultant Ajith KP, demonstrated how to program (using Arduino and Python) for peripheral sensors connected to the MediaTek LinkIt Smart 7688 Duo’s microcontroller and how to communicate between the microcontroller and the MT7688 SOC.
Three ways to undertake the peripheral programming for the MediaTek LinkIt Smart 7688 Duo were covered:
1) Using a primitive UART connection
2) Using the Firmata protocol
3) Using the Arduino Yun Bridge Library
A recording of the live event can be found at http://home.labs.mediatek.com/technical-mediatek-linkit-smart-7688-webinar-recording-available/
Reverse engineering is the process of extracting knowledge or design information from something to understand its workings or recreate it. It often involves disassembling hardware or software and analyzing components. Common tools used are disassemblers to convert binary to assembly code, debuggers to view program state, hex editors to view and edit binary, and decompilers to recreate source code from machine code. The document also discusses security risks of reverse engineering like information disclosure, spoofing, and code modification, as well as some famous legal cases involving reverse engineering.
The Five Stages of Enterprise Jupyter DeploymentFrederick Reiss
Meetup talk from May 30, 2018.
Jupyter notebooks are an important tool for data science. For a single user on a laptop, these notebooks are a simple, straightforward tool. But Jupyter in the enterprise is a much more complex affair. Enterprises have large teams of data scientists who need to run their notebooks atop scalable compute infrastructure with secure, audited access to massive, proprietary data sets; all while keeping hardware costs down.
Here at IBM’s Center for Open-Source Data and AI Technologies, we’ve seen multiple enterprise rollouts of Jupyter notebooks, both first-hand, in IBM products and services; and second-hand, in our discussions with other members of the Jupyter community.
In this talk, we merge together the stories of these projects and walk through the process of deploying high-performance, secure, mulitentant Jupyter notebooks in an enterprise setting. Our goal is here is inform others who may be at the beginning of this journey of what is coming and how to navigate the challenges ahead.
Along the way, we answer five important questions: What are Jupyter notebooks? What makes Jupyter so attractive to data scientists? Why is deploying Jupyter in the enterprise difficult? What are your deployment options today? And, what are the tradeoffs of those approaches?
We’ll finish with a description of how how IBM and other members of the Jupyter community are working towards reducing those tradeoffs with the Jupyter Enterprise Gateway project. Finally, we’ll give a demonstration of multitenant Jupyter notebooks in action.
This talk is aimed at enterprise architects who need to support growing data science teams with multi-user deployments of Jupyter. No knowledge of data science is required.
This document provides an introduction to Python programming. It discusses that Python is an interpreted, object-oriented, high-level programming language with simple syntax. It then covers the need for programming languages, different types of languages, and translators like compilers, interpreters, assemblers, linkers, and loaders. The document concludes by discussing why Python is popular for web development, software development, data science, and more.
This document provides an overview and introduction to the Raspberry Pi. It discusses the origins of the Raspberry Pi in aiming to provide affordable computers to help stimulate interest in computer science education. It outlines key events in the development of the Raspberry Pi and describes its low cost and performance compared to earlier computers. The document then provides basic getting started information for setting up and using a Raspberry Pi including updating software, setting passwords, and connecting to hardware. It also discusses some popular project examples and suggests when to use a Raspberry Pi versus an Arduino.
This document outlines a project to build an interactive personal assistant with a human-like structure. The assistant would use an ESP8266 WiFi chip, Arduino microcontroller, and Raspberry Pi along with speech APIs from Microsoft and Google to understand voice commands. It would have sensors to detect sound and distance and motors to allow movement. Future enhancements could include support for additional languages like Hindi, a battery power source, updated speech recognition, and a more human-like body structure and head. The goal is to create a smart, interactive machine to serve users for tasks like assistance, entertainment, and research.
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...MediaTek Labs
Want to add Wi-Fi to your IoT project? This 30 minute webinar, presented by technical consultant Ajith KP, demonstrated how to program (using Arduino and Python) for peripheral sensors connected to the MediaTek LinkIt Smart 7688 Duo’s microcontroller and how to communicate between the microcontroller and the MT7688 SOC.
Three ways to undertake the peripheral programming for the MediaTek LinkIt Smart 7688 Duo were covered:
1) Using a primitive UART connection
2) Using the Firmata protocol
3) Using the Arduino Yun Bridge Library
A recording of the live event can be found at http://home.labs.mediatek.com/technical-mediatek-linkit-smart-7688-webinar-recording-available/
Reverse engineering is the process of extracting knowledge or design information from something to understand its workings or recreate it. It often involves disassembling hardware or software and analyzing components. Common tools used are disassemblers to convert binary to assembly code, debuggers to view program state, hex editors to view and edit binary, and decompilers to recreate source code from machine code. The document also discusses security risks of reverse engineering like information disclosure, spoofing, and code modification, as well as some famous legal cases involving reverse engineering.
The Five Stages of Enterprise Jupyter DeploymentFrederick Reiss
Meetup talk from May 30, 2018.
Jupyter notebooks are an important tool for data science. For a single user on a laptop, these notebooks are a simple, straightforward tool. But Jupyter in the enterprise is a much more complex affair. Enterprises have large teams of data scientists who need to run their notebooks atop scalable compute infrastructure with secure, audited access to massive, proprietary data sets; all while keeping hardware costs down.
Here at IBM’s Center for Open-Source Data and AI Technologies, we’ve seen multiple enterprise rollouts of Jupyter notebooks, both first-hand, in IBM products and services; and second-hand, in our discussions with other members of the Jupyter community.
In this talk, we merge together the stories of these projects and walk through the process of deploying high-performance, secure, mulitentant Jupyter notebooks in an enterprise setting. Our goal is here is inform others who may be at the beginning of this journey of what is coming and how to navigate the challenges ahead.
Along the way, we answer five important questions: What are Jupyter notebooks? What makes Jupyter so attractive to data scientists? Why is deploying Jupyter in the enterprise difficult? What are your deployment options today? And, what are the tradeoffs of those approaches?
We’ll finish with a description of how how IBM and other members of the Jupyter community are working towards reducing those tradeoffs with the Jupyter Enterprise Gateway project. Finally, we’ll give a demonstration of multitenant Jupyter notebooks in action.
This talk is aimed at enterprise architects who need to support growing data science teams with multi-user deployments of Jupyter. No knowledge of data science is required.
This document provides an introduction to Python programming. It discusses that Python is an interpreted, object-oriented, high-level programming language with simple syntax. It then covers the need for programming languages, different types of languages, and translators like compilers, interpreters, assemblers, linkers, and loaders. The document concludes by discussing why Python is popular for web development, software development, data science, and more.
This document provides an overview and introduction to the Raspberry Pi. It discusses the origins of the Raspberry Pi in aiming to provide affordable computers to help stimulate interest in computer science education. It outlines key events in the development of the Raspberry Pi and describes its low cost and performance compared to earlier computers. The document then provides basic getting started information for setting up and using a Raspberry Pi including updating software, setting passwords, and connecting to hardware. It also discusses some popular project examples and suggests when to use a Raspberry Pi versus an Arduino.
This document provides information about an IoT workshop hosted by Null Mumbai. It introduces the workshop organizers, Nitesh Malviya and Ganesh Naik, and their backgrounds in security and embedded systems. It then defines IoT and discusses its various components, including physical devices, sensors, networks, and cloud services. The document outlines common processor architectures, operating systems, protocols, and hardware that are used in IoT, such as Arduino, Raspberry Pi, MQTT, and more. It provides examples of how these pieces fit together in an IoT system and references materials for further learning.
Exploring the ABC's of Raspberry Pi with PythonShahed Mehbub
Raspberry Pi introduction and hardware details are explained in details with a thorough introduction and practice session with Python programming language.
A lot of Python Programming Language Basics are covered in this session.
This document provides an overview and introduction to using Raspberry Pi. It begins by outlining what topics will be covered, including an introduction to Raspberry Pi hardware, operating systems, installation, programming with Python and GPIO pins. It then describes what a Raspberry Pi is, its specifications, history and affordable price. Steps for minimum hardware requirements, installing an operating system on an SD card, and initial boot up are outlined. The document discusses operating systems, package management, and demonstrates programming and projects including an LED blink example. Remote access options like SSH and VNC are also covered.
Srikanth Pilli has over 6 years of experience in embedded software development. He has expertise in C/C++, Python, Linux kernel driver development, video streaming, and networking. He has worked on projects involving home automation, surveillance systems, and embedded device development. His skills include embedded Linux systems, microcontroller programming, real-time protocols, and tools like Git. He holds an M.Tech in embedded systems and postgraduate diplomas in embedded systems and electronics.
Building Embedded Linux Systems IntroductionSherif Mousa
This document provides an introduction to embedded Linux. It defines embedded Linux as using the Linux kernel and customizing user-space libraries and utilities for applications in consumer electronics, military, medical, and other industries. Creating an embedded Linux system involves selecting the right components to build the final system. A cross-compiler is used to build code for the target platform on the host development machine. Key components of an embedded Linux system include the bootloader, Linux kernel, filesystem, configuration files, C library, commands, and user applications.
The document discusses building an enterprise/cloud analytics platform using Jupyter notebooks and Apache Spark. It describes the challenges of deploying Jupyter notebooks at an enterprise scale, including collaboration, large-scale data analysis, security, and authentication. It outlines various approaches taken to address these challenges, such as running the entire Jupyter stack on a single large machine or giving each user their own container. However, these approaches have limitations. The document then introduces the Jupyter Enterprise Gateway as a solution developed by IBM to optimize resource allocation, support multi-users securely through impersonation, and enhance security overall when deploying Jupyter at an enterprise scale.
The document summarizes a workshop on basic computer skills for DIU students. The workshop covers brief introductions to computer hardware, software, the Internet, networks, and careers. It discusses components inside a PC like the motherboard, CPU, RAM, and hard drive. It also covers operating systems, application software, Microsoft Office applications, starting an office application, and introducing the Internet and Internet Explorer. The workshop discusses Linux features, basic Linux commands, OpenOffice, static vs dynamic web pages, Internet protocols, network components and architecture, IP addressing, private IP addresses, subnet masking, network operating systems, DHCP, and increasing office productivity using Google tools.
Basic computers for DIU laptop project studentsAlauddin Azad
The workshop aims to provide career awareness to DIU students by covering basic computer skills and careers. Topics include computer hardware, software, the internet, networks and careers. It will discuss components like the motherboard, CPU, RAM, hard drive and operating systems. Applications like Microsoft Office will be demonstrated. The internet, protocols, websites and search engines will be introduced. Networking concepts such as topologies, devices and addressing will be explained. The workshop aims to help students understand computer fundamentals and apply online for jobs.
Open Source Automated Documentation in a Development Environmentnealemorison
The document discusses using open source tools for document automation. It describes Neale Morison's background working for various tech companies including CSIRO. It then provides examples of using tools like JavaScript, XML, and HTML to dynamically generate documents from structured data for projects like the ASKAP radio telescope and Cisco chip documentation. Throughout, it emphasizes principles for open information like using open formats, minimizing repetition, and using freely available technology.
Here are some common applications of the Raspberry Pi:
- Home automation controller - Can be used to control devices like garage doors, lights, security cameras etc. using programming languages.
- Retro game console - Can emulate older game consoles and run retro games with the addition of controllers.
- Surveillance camera - Can be set up with a camera module to record video footage and detect motion.
- Media center - Can stream videos and music to a TV using OSes like OpenELEC or OSMC.
- Network device - Can be used as a router, firewall, file server, printer server etc. to add networking capabilities to older devices.
- Educational tool - Used to teach basic
IoT for data science Module 5 - Raspberry Pi.pptxMadhurimaDas52
Raspberry Pi is a small, affordable computer that allows users to connect hardware devices and sensors to build IoT projects. It runs Linux-based operating systems and can be programmed using Python or other languages. Key features include multiple input/output ports, GPIO pins to interface with electronics, and onboard WiFi and Bluetooth. Common uses include temperature monitoring systems with sensors like the DS18B20. The Raspberry Pi is configured by installing an operating system on an SD card and connecting a monitor, keyboard and power source. Remote access is enabled using SSH or VNC.
The document lists and describes 11 popular Python IDEs (integrated development environments) including Eclipse + Pydev, PyCharm, Spyder, IDLE, Sublime Text 3, Visual Studio Code, Atom, Jupyter, Thonny, and Wing. Each IDE is summarized with its key features such as code editing, debugging, integration with other tools and libraries, and support for data science and scientific programming tasks. The document provides download links for each IDE.
Building IoT devices with ARM mbed - RISE ManchesterJan Jongboom
This document discusses building Internet of Things (IoT) devices using ARM mbed. It addresses three common problems in building smart devices: how to build them, how to connect them, and how to manage them. ARM mbed is presented as a solution to streamline development across multiple device platforms through its online IDE, code sharing capabilities, and libraries. Connectivity options for IoT like Bluetooth LE, WiFi, and cellular networks are reviewed. ARM's mbed Device Connector is demonstrated as a way to manage devices regardless of connection protocol through features like encryption and firmware updates. The presentation aims to help developers build their first connected device by walking through an example Bluetooth LE project.
Python is a popular programming language that can be used for a variety of tasks such as web development, software development, mathematics, and system scripting. It is an interpreted, object-oriented, high-level programming language with dynamic semantics. Python has a simple syntax and is easy to learn, which has contributed to its popularity among developers. It has a large standard library and supports many third-party libraries for specialized tasks.
Reproducibility in artificial intelligenceCarlos Toxtli
The document discusses various methods for improving reproducibility in artificial intelligence research. It begins by introducing some AI projects the author has worked on. It then discusses causes of non-reproducibility such as lack of data/code access. The document looks at potential solutions like reproducibility frameworks, benchmarking, and standalone methods. It focuses on the author's MultiAffect framework, which standardizes data processing, feature extraction, training, evaluation and reporting. It aims to make research reproducible and accessible. The framework is demonstrated on affect recognition and action recognition tasks, showing it can achieve results comparable to other works.
Abstract:
The Raspberry Pi has become a very popular, inexpensive, credit card sized computer that runs the Linux operating system. The Pi is also, with a bit of help, an excellent controller for robotics projects. This talk will explore the use of the Raspberry Pi, along with an open source Cypress PSoC daughter board, for building a very functional robot. The final goal of this project will be to update the SRS robot with a Raspberry Pi, camera, and Wi-Fi network connection.
This talk builds on several of my previous talks and begins to tie them all together into a functional project. While I won't dive deeply into any of these topics again, the background will be helpful for this talk. Links to my prior talks are:
Getting Started with the Raspberry Pi:
http://www.cyberdata-robotics.com/Presentations/StartingPi/StartingRaspberryPi.pdf
Using the Cypress PSoC Processor:
http://www.cyberdata-robotics.com/Presentations/UsingPSoC.ppt
Using Cypress PSoC Creator:
http://www.cyberdata-robotics.com/Presentations/PsocCreator/Using_PSoC_Creator.ppt
Bio
Lloyd Moore is the founder and owner of CyberData Corporation, which provides consulting services in the robotics, machine vision and industrial automation fields. Lloyd has worked in software industry for 25 years. His formal training in biological-based artificial intelligence, electronics, and psychology. Lloyd is also currently the president of the Northwest C++ User’s Group and an organizer of the Seattle Robotics Society Robothon event.
License Plate Recognition System using Python and OpenCVVishal Polley
License plate recognition (LPR) is a type of technology, mainly software, that enables computer systems to read automatically the registration number (license number) of vehicles from digital pictures.
Sony R&D Center has been though robotics history and products for years. As robotics platform and Robotics Operating System (ROS) getting matured, there is a requirement to handle the distributed system integration. Using Kubernetes on edge cluster system, there are a lot of advantages such as application lifecycle, deployment and recovery. Also using CNI and ROS Data Distributed System, it can construct distributed system on edge cluster, so that multiple robots can connect directedly and work collaboratively for the specific task. We will share how we can use Kubernetes on edge including deployment robotics application and possible problems based on our experience. Furthermore, we will share our approach to support edge dependent platform with device-plugin to attach hardware resources and even virtual devices which access to the host system such as 3rd party application.
The document describes an Internet of Things (IoT) course that teaches students how to design and create simple IoT solutions. It discusses (1) becoming a global problem solver by identifying challenges that IoT can address, such as sustainable development goals; (2) using the engineering design process to prototype solutions, with examples of a sunrise/sunset tracker and garage door monitor; and (3) steps to document a project including flowcharts, schematics, and sequence diagrams. The course aims to provide skills for designing IoT systems that can benefit society.
The document discusses industrial Internet of Things (IoT) applications. It describes several key industries and markets that are being transformed by IoT, including connected healthcare, smart cities, smart grids, and connected manufacturing. It provides examples of how IoT helps address challenges in each of these industries by connecting devices and sensors to create integrated solutions. The document also outlines activities like labs and Packet Tracer exercises that explore various IoT systems and their real-world implementations.
This document provides information about an IoT workshop hosted by Null Mumbai. It introduces the workshop organizers, Nitesh Malviya and Ganesh Naik, and their backgrounds in security and embedded systems. It then defines IoT and discusses its various components, including physical devices, sensors, networks, and cloud services. The document outlines common processor architectures, operating systems, protocols, and hardware that are used in IoT, such as Arduino, Raspberry Pi, MQTT, and more. It provides examples of how these pieces fit together in an IoT system and references materials for further learning.
Exploring the ABC's of Raspberry Pi with PythonShahed Mehbub
Raspberry Pi introduction and hardware details are explained in details with a thorough introduction and practice session with Python programming language.
A lot of Python Programming Language Basics are covered in this session.
This document provides an overview and introduction to using Raspberry Pi. It begins by outlining what topics will be covered, including an introduction to Raspberry Pi hardware, operating systems, installation, programming with Python and GPIO pins. It then describes what a Raspberry Pi is, its specifications, history and affordable price. Steps for minimum hardware requirements, installing an operating system on an SD card, and initial boot up are outlined. The document discusses operating systems, package management, and demonstrates programming and projects including an LED blink example. Remote access options like SSH and VNC are also covered.
Srikanth Pilli has over 6 years of experience in embedded software development. He has expertise in C/C++, Python, Linux kernel driver development, video streaming, and networking. He has worked on projects involving home automation, surveillance systems, and embedded device development. His skills include embedded Linux systems, microcontroller programming, real-time protocols, and tools like Git. He holds an M.Tech in embedded systems and postgraduate diplomas in embedded systems and electronics.
Building Embedded Linux Systems IntroductionSherif Mousa
This document provides an introduction to embedded Linux. It defines embedded Linux as using the Linux kernel and customizing user-space libraries and utilities for applications in consumer electronics, military, medical, and other industries. Creating an embedded Linux system involves selecting the right components to build the final system. A cross-compiler is used to build code for the target platform on the host development machine. Key components of an embedded Linux system include the bootloader, Linux kernel, filesystem, configuration files, C library, commands, and user applications.
The document discusses building an enterprise/cloud analytics platform using Jupyter notebooks and Apache Spark. It describes the challenges of deploying Jupyter notebooks at an enterprise scale, including collaboration, large-scale data analysis, security, and authentication. It outlines various approaches taken to address these challenges, such as running the entire Jupyter stack on a single large machine or giving each user their own container. However, these approaches have limitations. The document then introduces the Jupyter Enterprise Gateway as a solution developed by IBM to optimize resource allocation, support multi-users securely through impersonation, and enhance security overall when deploying Jupyter at an enterprise scale.
The document summarizes a workshop on basic computer skills for DIU students. The workshop covers brief introductions to computer hardware, software, the Internet, networks, and careers. It discusses components inside a PC like the motherboard, CPU, RAM, and hard drive. It also covers operating systems, application software, Microsoft Office applications, starting an office application, and introducing the Internet and Internet Explorer. The workshop discusses Linux features, basic Linux commands, OpenOffice, static vs dynamic web pages, Internet protocols, network components and architecture, IP addressing, private IP addresses, subnet masking, network operating systems, DHCP, and increasing office productivity using Google tools.
Basic computers for DIU laptop project studentsAlauddin Azad
The workshop aims to provide career awareness to DIU students by covering basic computer skills and careers. Topics include computer hardware, software, the internet, networks and careers. It will discuss components like the motherboard, CPU, RAM, hard drive and operating systems. Applications like Microsoft Office will be demonstrated. The internet, protocols, websites and search engines will be introduced. Networking concepts such as topologies, devices and addressing will be explained. The workshop aims to help students understand computer fundamentals and apply online for jobs.
Open Source Automated Documentation in a Development Environmentnealemorison
The document discusses using open source tools for document automation. It describes Neale Morison's background working for various tech companies including CSIRO. It then provides examples of using tools like JavaScript, XML, and HTML to dynamically generate documents from structured data for projects like the ASKAP radio telescope and Cisco chip documentation. Throughout, it emphasizes principles for open information like using open formats, minimizing repetition, and using freely available technology.
Here are some common applications of the Raspberry Pi:
- Home automation controller - Can be used to control devices like garage doors, lights, security cameras etc. using programming languages.
- Retro game console - Can emulate older game consoles and run retro games with the addition of controllers.
- Surveillance camera - Can be set up with a camera module to record video footage and detect motion.
- Media center - Can stream videos and music to a TV using OSes like OpenELEC or OSMC.
- Network device - Can be used as a router, firewall, file server, printer server etc. to add networking capabilities to older devices.
- Educational tool - Used to teach basic
IoT for data science Module 5 - Raspberry Pi.pptxMadhurimaDas52
Raspberry Pi is a small, affordable computer that allows users to connect hardware devices and sensors to build IoT projects. It runs Linux-based operating systems and can be programmed using Python or other languages. Key features include multiple input/output ports, GPIO pins to interface with electronics, and onboard WiFi and Bluetooth. Common uses include temperature monitoring systems with sensors like the DS18B20. The Raspberry Pi is configured by installing an operating system on an SD card and connecting a monitor, keyboard and power source. Remote access is enabled using SSH or VNC.
The document lists and describes 11 popular Python IDEs (integrated development environments) including Eclipse + Pydev, PyCharm, Spyder, IDLE, Sublime Text 3, Visual Studio Code, Atom, Jupyter, Thonny, and Wing. Each IDE is summarized with its key features such as code editing, debugging, integration with other tools and libraries, and support for data science and scientific programming tasks. The document provides download links for each IDE.
Building IoT devices with ARM mbed - RISE ManchesterJan Jongboom
This document discusses building Internet of Things (IoT) devices using ARM mbed. It addresses three common problems in building smart devices: how to build them, how to connect them, and how to manage them. ARM mbed is presented as a solution to streamline development across multiple device platforms through its online IDE, code sharing capabilities, and libraries. Connectivity options for IoT like Bluetooth LE, WiFi, and cellular networks are reviewed. ARM's mbed Device Connector is demonstrated as a way to manage devices regardless of connection protocol through features like encryption and firmware updates. The presentation aims to help developers build their first connected device by walking through an example Bluetooth LE project.
Python is a popular programming language that can be used for a variety of tasks such as web development, software development, mathematics, and system scripting. It is an interpreted, object-oriented, high-level programming language with dynamic semantics. Python has a simple syntax and is easy to learn, which has contributed to its popularity among developers. It has a large standard library and supports many third-party libraries for specialized tasks.
Reproducibility in artificial intelligenceCarlos Toxtli
The document discusses various methods for improving reproducibility in artificial intelligence research. It begins by introducing some AI projects the author has worked on. It then discusses causes of non-reproducibility such as lack of data/code access. The document looks at potential solutions like reproducibility frameworks, benchmarking, and standalone methods. It focuses on the author's MultiAffect framework, which standardizes data processing, feature extraction, training, evaluation and reporting. It aims to make research reproducible and accessible. The framework is demonstrated on affect recognition and action recognition tasks, showing it can achieve results comparable to other works.
Abstract:
The Raspberry Pi has become a very popular, inexpensive, credit card sized computer that runs the Linux operating system. The Pi is also, with a bit of help, an excellent controller for robotics projects. This talk will explore the use of the Raspberry Pi, along with an open source Cypress PSoC daughter board, for building a very functional robot. The final goal of this project will be to update the SRS robot with a Raspberry Pi, camera, and Wi-Fi network connection.
This talk builds on several of my previous talks and begins to tie them all together into a functional project. While I won't dive deeply into any of these topics again, the background will be helpful for this talk. Links to my prior talks are:
Getting Started with the Raspberry Pi:
http://www.cyberdata-robotics.com/Presentations/StartingPi/StartingRaspberryPi.pdf
Using the Cypress PSoC Processor:
http://www.cyberdata-robotics.com/Presentations/UsingPSoC.ppt
Using Cypress PSoC Creator:
http://www.cyberdata-robotics.com/Presentations/PsocCreator/Using_PSoC_Creator.ppt
Bio
Lloyd Moore is the founder and owner of CyberData Corporation, which provides consulting services in the robotics, machine vision and industrial automation fields. Lloyd has worked in software industry for 25 years. His formal training in biological-based artificial intelligence, electronics, and psychology. Lloyd is also currently the president of the Northwest C++ User’s Group and an organizer of the Seattle Robotics Society Robothon event.
License Plate Recognition System using Python and OpenCVVishal Polley
License plate recognition (LPR) is a type of technology, mainly software, that enables computer systems to read automatically the registration number (license number) of vehicles from digital pictures.
Sony R&D Center has been though robotics history and products for years. As robotics platform and Robotics Operating System (ROS) getting matured, there is a requirement to handle the distributed system integration. Using Kubernetes on edge cluster system, there are a lot of advantages such as application lifecycle, deployment and recovery. Also using CNI and ROS Data Distributed System, it can construct distributed system on edge cluster, so that multiple robots can connect directedly and work collaboratively for the specific task. We will share how we can use Kubernetes on edge including deployment robotics application and possible problems based on our experience. Furthermore, we will share our approach to support edge dependent platform with device-plugin to attach hardware resources and even virtual devices which access to the host system such as 3rd party application.
The document describes an Internet of Things (IoT) course that teaches students how to design and create simple IoT solutions. It discusses (1) becoming a global problem solver by identifying challenges that IoT can address, such as sustainable development goals; (2) using the engineering design process to prototype solutions, with examples of a sunrise/sunset tracker and garage door monitor; and (3) steps to document a project including flowcharts, schematics, and sequence diagrams. The course aims to provide skills for designing IoT systems that can benefit society.
The document discusses industrial Internet of Things (IoT) applications. It describes several key industries and markets that are being transformed by IoT, including connected healthcare, smart cities, smart grids, and connected manufacturing. It provides examples of how IoT helps address challenges in each of these industries by connecting devices and sensors to create integrated solutions. The document also outlines activities like labs and Packet Tracer exercises that explore various IoT systems and their real-world implementations.
The document discusses fog networks and cloud computing in the context of an Internet of Things course. It covers the following key points:
- Fog networks refer to decentralized computing infrastructure located closer to IoT devices to help process some data locally instead of sending everything to the cloud. This helps address issues like latency.
- Cloud computing provides on-demand access to shared computing resources, allowing IoT systems to extend functionality by processing and storing data in the cloud.
- Common cloud service models for IoT include Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Major cloud providers like Amazon AWS offer services tailored to IoT applications
chp3-Sensors, Actuators, and Microcontrollerssuser06ea42
This document discusses an Internet of Things course that covers sensors, actuators, and microcontrollers. The course introduces basic and advanced electronics concepts. It describes the SparkFun Inventor's Kit which contains components for building circuits like sensors, microcontrollers, and actuators. Students learn to interface sensors with a microcontroller and program it using the Arduino IDE. Packet Tracer software is presented as a tool for prototyping IoT systems by connecting simulated sensors and devices to a microcontroller board. Labs and activities reinforce the concepts taught in the course.
The document discusses internet of things (IoT) connectivity models. It describes the OSI and TCP/IP networking models and how they are used to illustrate device communication in layered architectures. It also discusses simplified IoT architectures involving connections from devices to devices, clouds, gateways and applications. Privacy and security challenges are presented, such as the risk of metadata exposure. Standardization efforts are important to ensure interoperability among emerging IoT technologies.
This document outlines a course on Internet of Things (IoT). The course will introduce students to creating IoT systems using Arduino, Raspberry Pi, and Packet Tracer. Over seven sessions, students will learn to build IoT circuits and programs, develop Python-based IoT solutions, and address IoT security and applications in healthcare, energy, manufacturing and smart cities. The first session defines IoT, its building blocks of sensors, actuators and controllers, and explores processes and feedback loops in controlled IoT systems.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
International Conference on NLP, Artificial Intelligence, Machine Learning an...gerogepatton
International Conference on NLP, Artificial Intelligence, Machine Learning and Applications (NLAIM 2024) offers a premier global platform for exchanging insights and findings in the theory, methodology, and applications of NLP, Artificial Intelligence, Machine Learning, and their applications. The conference seeks substantial contributions across all key domains of NLP, Artificial Intelligence, Machine Learning, and their practical applications, aiming to foster both theoretical advancements and real-world implementations. With a focus on facilitating collaboration between researchers and practitioners from academia and industry, the conference serves as a nexus for sharing the latest developments in the field.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELgerogepatton
As digital technology becomes more deeply embedded in power systems, protecting the communication
networks of Smart Grids (SG) has emerged as a critical concern. Distributed Network Protocol 3 (DNP3)
represents a multi-tiered application layer protocol extensively utilized in Supervisory Control and Data
Acquisition (SCADA)-based smart grids to facilitate real-time data gathering and control functionalities.
Robust Intrusion Detection Systems (IDS) are necessary for early threat detection and mitigation because
of the interconnection of these networks, which makes them vulnerable to a variety of cyberattacks. To
solve this issue, this paper develops a hybrid Deep Learning (DL) model specifically designed for intrusion
detection in smart grids. The proposed approach is a combination of the Convolutional Neural Network
(CNN) and the Long-Short-Term Memory algorithms (LSTM). We employed a recent intrusion detection
dataset (DNP3), which focuses on unauthorized commands and Denial of Service (DoS) cyberattacks, to
train and test our model. The results of our experiments show that our CNN-LSTM method is much better
at finding smart grid intrusions than other deep learning algorithms used for classification. In addition,
our proposed approach improves accuracy, precision, recall, and F1 score, achieving a high detection
accuracy rate of 99.50%.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
2. eAcademy.ps Internet of Things
Course: Internet of Things (IoT)
2
Notes:
• This course is heavily based on the Cisco Networking
Academy course: IoT Fundamentals: Connecting Things
version 2.01. It is recommended to enroll in this course
to gain full access to online materials.
• Parts of this content is copyrighted by Cisco.
• Main changes from original course:
• Removed the business canvas model
• Added a project instead of the hackathon.
3. eAcademy.ps Internet of Things
Session 4
Software is Everywhere
Course: Internet of Things (IoT)
4. eAcademy.ps Internet of Things
• 4.1 Programming revisited
• 4.2 The Raspberry Pi Single Board Computer (SBC)
• 4.3 Blockly and Python
• 4.4 A Model of an IoT System
• 4.4 Summary
4
Session Outline
Software is Everywhere
6. eAcademy.ps Internet of Things
What is Coding?
6
Software is everywhere
Programming revisited
• What is a Program
• Code is a set of ordered instructions created to accomplish a specific
task.
• A bread recipe can be seen as a program.
• Computer programs can be written in different programming
languages.
• Programs are Everywhere
• All computers need programs.
• Operating Systems, firmware, and applications are examples of
programs.
• Why Learn Coding?
• Programmers are valued in the job market.
• Today, programmers may work on firmware, device drivers, mobile
applications, web interfaces, data analysis, and more.
• Programmers can create their own tools.
7. eAcademy.ps Internet of Things
Code Does the Job!
7
Software is everywhere
Programming revisited
• What Makes Up a Program?
• Programs allow people impart logic to computers and are made out of logic
structures.
• IF-THEN, FOR Loops, and WHILE Loops are a few logical structures
commonly found in programs.
• Interpreted Vs. Compiled
• Interpreted languages rely on another program to read, parse, and execute
the code.
• Compiled languages rely on a compiler, another program, to turn the
human-readable code into a binary executable code.
• Computer Languages
• There are several different computer languages.
• Some computer languages are better than others at certain types of tasks.
• JavaScript, Python, Blockly, C, and Java are examples of computer
languages.
8. eAcademy.ps Internet of Things
Interpreted Vs. Compiled
8
Software is everywhere
Programming revisited
9. eAcademy.ps Internet of Things
Interpreted Vs. Compiled
9
Software is everywhere
Programming revisited
10. eAcademy.ps Internet of Things
Lending Intelligence
10
Software is everywhere
Programming revisited
• IoT Devices and Data Processing
• A common IoT application uses sensors to collect data.
• Data is often not useful until it has been processed.
• Collected data is often transported and stored in the cloud for processing at a later
date.
11. eAcademy.ps Internet of Things
Lending Intelligence (Cont.)
11
Software is everywhere
Programming revisited
• IoT Devices Make
Decisions
• Software must be
written and
uploaded onto IoT
devices to allow
them to make
decisions.
• Decisions can be
as simple as
triggering an alarm
or as complex as
facial recognition.
12. eAcademy.ps Internet of Things
Software APIs
12
Software is everywhere
Programming revisited
• Application Program Interface (API) is a set of routines and
software tools that facilitate one application
communicating with another.
• Different types of APIs exist: operating system APIs,
application APIs, website APIs.
• APIs allow applications to communicate, share data, or ask
for specific services from another application.
13. eAcademy.ps Internet of Things
REST APIs
13
Software is everywhere
Programming revisited
• REST APIs use HTTP based calls between applications to access
and manipulate information stored on powerful databases.
• Web resources used to be identified using a URL. Now resources
can be any entity or thing that can be addressed:
• today’s step goal,
• house temperature setting,
• glucose setting,
• etc.
• A unique Uniform Resource Identifier (URI) can identify an
entity. A typical resource name begins with a slash (/steps)
• REST API requests trigger responses in well-defined formats such
as XML or JSON
14. eAcademy.ps Internet of Things
Securing the Code
14
Software is everywhere
Programming revisited
• Devices should protect themselves from attacks that impair
their function or allow them to be used for unintended
purposes without authorization.
• Devices should protect the private authentication
credentials and key material from disclosure to
unauthorized parties.
• Devices should protect the information
received, transmitted, or stored locally
on the device, from inappropriate
disclosure to unauthorized parties.
• Devices should protect themselves
from being used as a vector to attack
other devices or hosts on the Internet.
15. eAcademy.ps Internet of Things
4.2 The Raspberry Pi Single Board Computer (SBC)
15
Software is Everywhere
16. eAcademy.ps Internet of Things
Raspberry Pi Hardware
16
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• The Pi is a small and inexpensive computer.
• It has a number of USB ports - can be used to connect various
devices including keyboards, mice, external drives and cameras.
• The Pi includes an 10/100Mbps Ethernet port.
• It has 40 GPIO pins, operating at 3.3V.
• Other Pi ports include an audio out, a micro SD card slot, and a
micro USB (used for power) connector.
• The Pi can run a number of operating systems, including:
• Linux
• Windows
17. eAcademy.ps Internet of Things
Raspberry Pi Hardware
17
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• The Pi3 adds:
• 1.2 GHz 64-bit quad-core
Cortex-A53 ARMv8 CPU
• 802.11n Wireless LAN
• Bluetooth 4.1
• Bluetooth Low Energy (BLE)
• Restricted Gigabit Ethernet
• The Pi4 adds:
• 1.5 GHz 64-bit quad-core
Cortex-A72 ARMv8 CPU
• 1, 2, or 4GB LPDDR4 SDRAM
• Bluetooth 5.0
• USB 3.0
• Unrestricted Gigabit Ethernet
18. eAcademy.ps Internet of Things
Accessing the Raspberry Pi Locally
18
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
1. Install an operating system image on the micro SD card.
2. Place the card in the micro SD card slot of the RaPi.
3. Connect a USB keyboard.
4. Connect a monitor or TV using the HDMI port.
5. Power the device with a power adapter.
19. eAcademy.ps Internet of Things
Accessing the Raspberry Pi remotely
19
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• The Raspberry Pi can be accessed remotely using the PL-App
20. eAcademy.ps Internet of Things
Bootable SD Card
20
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• The Raspberry Pi 3 includes a micro SD Card slot to be used as a storage
device for the system.
• Before the Raspberry Pi 3 can be used, an operating system must be
installed on micro SD card and then placed in the SD slot for booting.
• The most common (and arguably the fastest) way to install OS on SD Card
is to use an image file.
• Common image file formats
• .iso
• .img
• Several options are available
for image transfer tools.
• The one used in this course is part of
the PL-App Launcher.
21. eAcademy.ps Internet of Things
Steps to setup a new device
21
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
22. eAcademy.ps Internet of Things
Connect a new device using the PL-App Launcher
22
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
23. eAcademy.ps Internet of Things
Example Uses of the Raspberry Pi
23
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• Artificial Raspberry Pi
Pancreas
• Dana Lewis and her
husband used a
Raspberry Pi to build an
artificial pancreas.
• It was possible due to
the Pi’s small size and
low power
requirements.
24. eAcademy.ps Internet of Things
Example Uses of the Raspberry Pi
24
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• 4Borg Pi Robot
• PiBorg is an affordable
robot kit built around a
Raspberry Pi.
• It is both fun and
educational.
25. eAcademy.ps Internet of Things
Controlling the Arduino Through the Pi
25
Software is Everywhere
The Raspberry Pi Single Board Computer (SBC)
• While the Pi is powerful, it
may not be the best option
for all projects.
• The Pi doesn’t include
analog GPIO pins.
• The Pi’s power requirements
and size may be too large,
depending on the
application.
• The Pi is not real-time.
• To adjust to these
limitations, an Arduino may
be used.
26. eAcademy.ps Internet of Things
4.3 Blockly and Phyton
26
Software is Everywhere
Blockly is a visual programming tool created to help beginners understand
the concepts of programming. By using a number of block types, Blockly
allows a user to create a program without entering any lines of code.
27. eAcademy.ps Internet of Things
Variables and Basic Statements
27
Software is Everywhere
Blockly and Python
• Blockly allows the creation of a program without entering any
lines of code; it uses colored blocks.
• Blocks can be connected together by dragging and attaching
the appropriate blocks.
• Creating a new variable in Blockly is a simple matter of
dragging the variable block and filling in the value slot.
28. eAcademy.ps Internet of Things
IF-THEN
28
Software is Everywhere
Blockly and Python
• Used to allow the code to make decisions.
29. eAcademy.ps Internet of Things
FOR Loops
29
Software is Everywhere
Blockly and Python
• Used to
repeat the
execution
of a block
of code for
a specific
number of
times.
30. eAcademy.ps Internet of Things
WHILE Loops
30
Software is Everywhere
Blockly and Python
• Used to execute a block of code while a condition is true.
31. eAcademy.ps Internet of Things
Using Blockly to Learn Python
31
Software is Everywhere
Blockly and Python
• Blockly can be used to enhance Python understanding.
• Beginners can create Blockly programs, convert them to
Python and study the result.
• The core philosophy of the language is summarized by the
document: The Zen of Python:
• Beautiful is better than ugly
• Explicit is better than implicit
• Simple is better than complex
• Complex is better than complicated
• Readability counts
32. eAcademy.ps Internet of Things
The Python Interpreter
32
Software is Everywhere
Blockly and Python
• The Python interpreter understands and executes Python code.
• Python code can be created in any text editor and Python
interpreters are available for many operating systems.
• Python developers can create and deploy Python programs in
practically any operating system.
• When called with no arguments, the Python interpreter displays
the “>>>” prompt and waits for commands; this is called
interactive mode.
33. eAcademy.ps Internet of Things
Variables and Basic Statements in Python
33
Software is Everywhere
Blockly and Python
• Variables are labeled
memory areas used to
store runtime program
data.
• To assign values to
variables in Python, use the
= (equal to) sign.
• Python’s interactive mode
implements the special
variable “_”.
34. eAcademy.ps Internet of Things
Useful Functions and Data Types in Python
34
Software is Everywhere
Blockly and Python
• Python supports many useful functions and data types such
as range(), tuples, lists, sets, and dictionary
• When the above code is executed, it produces the following:
list[0]: car
list[1:5]: [2, 3, 4, 5]
35. eAcademy.ps Internet of Things
Python on the Raspberry Pi
35
Software is Everywhere
Blockly and Python
• Importing Modules Into Your Code
• Use the import <module> keyword to import pre-written
code into your programs.
• IF THEN In Python
• Allows the execution a block of code based on the result
of an expression.
• FOR Loops in Python
• Iterates through the items of any sequence
• WHILE Loops in Python
• Executes a block of code while the expression is true
• Indentation is important in Python!
37. eAcademy.ps Internet of Things
Introducing The Home Automation Model
37
Software is Everywhere
A Model of an IoT System
• PT7.0 supports a wide range of IoT devices, such as sensors,
actuators, microcontrollers, single board computers, and fog
computing devices.
• PT7.0 allows the design, configuration, programming, and
troubleshooting of sophisticated models of IoT systems.
38. eAcademy.ps Internet of Things
The Components of the Systems
38
Software is Everywhere
A Model of an IoT System
• In the Smart Home example, all devices connect to the Home
Gateway, which acts as a concentrator for all devices.
• Sensors monitor the environment while code makes sure
values stay within a pre-defined threshold.
• The code also takes
appropriated actions if the
monitored values fall out of
the pre-defined threshold.
• The cable modem and splitter
pair is what provides Internet
connectivity to the Home
Gateway and consequently,
to the entire home.
39. eAcademy.ps Internet of Things
The SBC Code in Packet Tracer
39
Software is Everywhere
A Model of an IoT System
• PT 7.0 also introduces a single board computer (SBC) and a
microcontroller unit (MCU).
• PT SBC simulates an SBC such as a Raspberry Pi.
• PT SBC provides 2 USB ports and 10 digital I/O ports which can
be used to connect IoT sensors and devices.
• PT SBC has a Python interpreter built in, accessible via PT
SBC’s Programming tab.
• PT 7.0 also supports an MCU emulator.
• PT MCU can be programmed similarly to real-word MCUs.
• PT MCU has one USB port, six digital I/O ports,
and four analog I/O ports.
• PT MCU can also be programmed with Python.
40. eAcademy.ps Internet of Things
Activities
• Lab – Setting up the PL-App with a Raspberry Pi
• Lab – Using a PL-App Notebook
• Lab – Writing Python Scripts Using Blockly
• Lab – Writing Python Scripts Using a Text Editor
• Lab – Blinking an LED using Raspberry Pi and PL-App
• Lab - Interacting with a Physical World from Webex Teams
• Lab - Interfacing Arduino Code and Python Code
• Lab – Control LEDs from the PL-App Dashboard
40
Software is Everywhere
49. eAcademy.ps Internet of Things
4.5 Summary
• Programs (also called code) are used in IoT to provide logic and
intelligence to the devices. A programmer can create code to allow an
IoT device to perform tasks such as monitoring, communicating to
others, data processing and more.
• The Raspberry Pi, single board computer, is designed to be small and
consume very little power.
• The Cisco PL-App allows access to the Raspberry Pi directly from the
network without the need for a monitor, keyboard or mouse to be
directly connected to the Pi.
• The Raspberry Pi runs Raspbian, a modified version of the open
source and wide-spread Linux operating system.
• The Raspberry Pi supports many different programming languages
including Blockly, a visual programming language, designed to help
beginners learn how to program. This course focuses on Python, a
popular, simple and powerful programming language.
• With added support to Python, Cisco Packet Tracer is a great tool to
model, prototype and test entire IoT systems.
49
Software is Everywhere
50. eAcademy.ps Internet of Things
References
1. Cisco Networking Academy course: IoT Fundamentals:
Connecting Things version 2.01, Chapter 3.
2. The Zen of Python -
https://www.python.org/dev/peps/pep-0020/#id3
3. Artificial Raspberry Pi Pancreas -
https://www.raspberrypi.org/blog/artificial-raspberry-pi-
pancreas/
50
Software is Everywhere