SlideShare a Scribd company logo
1 of 25
Download to read offline
Linux For Embedded Systems
ForArabs
Ahmed ElArabawy
Cairo University
Computer Eng. Dept.
CMP445-Embedded Systems
Lecture 8:
The Pi as a Linux Box
Embedded System
ā€¢ Some people only think of embedded system projects as
hardware interfacing projects
ā€¢ This is not an accurate perception
ā€¢ A lot of embedded systems are pure software projects (or
with minimal hardware interfacing capability)
ā€¢ This lecture aims to change this perception by exploring some
of the software dominated embedded system projects
ā€¢ Here comes the power of Linux, since Linux has a huge library
of software packages that can be used as building block in a
highly capable embedded system
ā€¢ This is one of the main reasons, a lot of embedded systems
use Linux as their preferred operating System
ā€¢ In this lecture we will go in some examples of using the
Raspberry Pi an a Hardware Interfacing-Free projects
Building a Pi Based WiFi Access Point
Building a Pi Based WiFi Access Point
WiFi Driver
Apps &
Utilities
Linux Kernel
Open Source Apps
Building a Pi Based WiFi Access Point
ā€¢ We can use the Raspberry Pi board to build a WiFi Access Point
ā€¢ Some WiFi chipset can be configured to provide AP functionality
ā€¢ Also, the Linux kernel has strong support for different WiFi modes of operation
ā€¢ All we need is to install and configure user plane apps that will enable us to switch the Pi into
a fully functional WiFi AP
ā€¢ Why do we need to build that,
ā€¢ Extend the WiFi coverage
ā€¢ But keep in mind that the Pi will be less cost effective, and less powerful than commercial
products
ā€¢ Learning purposes
ā€¢ To learn more about WiFi, its modes of operation, configuration parameters, and its software
components
ā€¢ Build a special featured access point such as more security, special firewall, adding anonymity
(onion server)
ā€¢ A lot of libraries and applications provide a lot of functionality, so you can customize your own
WiFi AP
ā€¢ Hack the AP software to test new functionality and features
ā€¢ All user plane applications are open source with a lot of community support, so you can
develop your own features
ā€¢ The WiFi drivers running in the Linux Kernel are also open source, so you can also hack it
ā€¢ Linux provides a well documented API to enable developers to connect to the different
components of the WiFi System
ā€¢ Build a product where the WiFi AP support is just one part of it
ā€¢ I will leave this to your imagination
Building a Pi-Based WiFi Sniffer
Building a Pi-Based WiFi Sniffer
ā€¢ Most WiFi chips can run in Monitor mode, which is a mode that it reads
all traffic in the wireless channel
ā€¢ This enables us to use the Raspberry Pi board to build a device to sniff
the WiFi wireless link
ā€¢ You can detect ongoing traffic, and management messages on your
network
ā€¢ You can also increase your detection coverage using a Cantenna
ā€¢ Why do we need that,
ā€¢ Learn more about WiFi Networks and how they communicate
ā€¢ Debugging a problem in WiFi Networks
ā€¢ Having this feature as part of a broader functionality
ā€¢ Can this tool be a way to spy on user communication on the network
ā€¢ No, most of user traffic is encrypted and hence, you will not be able to spy on
other people traffic
ā€¢ Actually, user traffic is more secure on the wireless link than on the wired link
ā€¢ So think positive, you can do a lot of useful products without invading other
people privacy
Need a WiFi Antenna ??
Use a Cantenna
Building a Pi-Based Media Center
Building a Pi-Based Media Center
ā€¢ A lot of people use the Raspberry Pi board as a Media Center
ā€¢ Low power
ā€¢ Inexpensive
ā€¢ Small foot-print
ā€¢ The Raspberry Pi comes with a GPU Core that is capable of offloading
the ARM core from a lot of processing needed for video decoding
ā€¢ That enables the Pi to handle HD quality videos
ā€¢ You can use the Pi to play videos via streaming from YouTube, Netflix, ā€¦
ā€¢ Or, you can play stored videos on the SD card, USB Flash, or USB Hard-
disk
ā€¢ Keep in mind, in these projects, you may need to change the split of the
Pi memory between the ARM core and the GPU
ā€¢ Default is 64 MB for the GPU and the rest for the ARM Core
ā€¢ You may need to give more memory to the GPU since it is performing a lot of
processing for video decoding
ā€¢ There are special Pi distribution for that purpose (such as RaspMC &
OpenElec)
Building a Pi-Based MP3 Player
Building a Pi-Based Internet Radio
Building a Pi-BasedTorrent Downloader
Building a Pi-BasedTorrent Downloader
ā€¢ Torrent downloading needs a lot of time online
ā€¢ You can not keep your computer on and connected to the
internet for long periods of time
ā€¢ Waste of power
ā€¢ Waste of resources (your computer will be left on for this
purpose)
ā€¢ Instead, you can build inexpensive, low power, small size
device as your device to collect your files from the internet
ā€¢ You can use the same device to share content with others
ā€¢ Device always on
ā€¢ Isolation between your private files and shared files
Building a Pi-Based Home Web Server
ā€¢ When people think of web servers, they think of big computers and not
embedded systems
ā€¢ So, why would you consider building a webserver on the Pi
ā€¢ A lot of people are using the Pi as their way for their personal web
servers
ā€¢ Low power
ā€¢ Low cost
ā€¢ Small size
ā€¢ This can be used either internally, or even exposed to public
ā€¢ Of course this can not be used with high traffic websites, but suitable for
special purposes where traffic is not huge
ā€¢ It can be used as an interface to a Pi based product such as a home
automation system
ā€¢ Most commercial embedded projects use a webserver for their
management interface (such as routers, WiFi Access Points, ā€¦ )
ā€¢ There are CMS (Content Management Systems) that were tested
successfully on the Raspberry Pi (such as Pyplate)
http://raspberrywebserver.com/
Building a Pi Cluster
ā€¢ A lot of projects will be limited by the power of the Raspberry
Pi processor
ā€¢ We can combine multiple Piā€™s to do this job
ā€¢ One example is the webserver used for
http://raspberrywebserver.com/
ā€¢ Keep in mind, that not all functionality can use the power of a
clustered system
ā€¢ Also, there is some messaging overhead that is associated
with clusters that may make some applications not suitable for
clusters
Pi-Cluster
Pi-Cluster
And a lot more ā€¦.
Things to Keep in mind
ā€¢ Although the Raspberry Pi is capable of all of these projects, its
processing capacity may put a limitation on its serious use in real
products
ā€¢ We can push these limits by,
ā€¢ Using Raspberry Pi Model 2 (Much more powerful than Model 1)
ā€¢ Overclocking the Pi
ā€¢ Make use of the power of the GPU
ā€¢ Redistribute memory between the ARM core and the GPU
ā€¢ Build a Pi Cluster
ā€¢ The Pi is built mainly for learning purposes, there are other boards in
the market that has more processing power and can perform better
than the Pi
ā€¢ These boards may have stronger ARM cores or multiple cores
ā€¢ Also there are boards in the market that are more cost effective
than the Pi
ā€¢ So, learn with the Pi, and consider other boards when you want to
build a commercial product
http://Linux4EmbeddedSystems.com

More Related Content

What's hot

Embedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNUEmbedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNUAhmed El-Arabawy
Ā 
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi APEmbedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi APAhmed El-Arabawy
Ā 
Course 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded SystemsCourse 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded SystemsAhmed El-Arabawy
Ā 
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)Ahmed El-Arabawy
Ā 
Embedded Systems: Lecture 7: Unwrapping the Raspberry Pi
Embedded Systems: Lecture 7: Unwrapping the Raspberry PiEmbedded Systems: Lecture 7: Unwrapping the Raspberry Pi
Embedded Systems: Lecture 7: Unwrapping the Raspberry PiAhmed El-Arabawy
Ā 
Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)
Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)
Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)Ahmed El-Arabawy
Ā 
Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Ahmed El-Arabawy
Ā 
Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management Ahmed El-Arabawy
Ā 
Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems Ahmed El-Arabawy
Ā 
OSI Model Layers and Internet Protocol Stack
OSI Model Layers and Internet Protocol StackOSI Model Layers and Internet Protocol Stack
OSI Model Layers and Internet Protocol StackShivam Mitra
Ā 
Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals Ahmed El-Arabawy
Ā 
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts) Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts) Ahmed El-Arabawy
Ā 
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Ahmed El-Arabawy
Ā 
Course 102: Lecture 19: Using Signals
Course 102: Lecture 19: Using Signals Course 102: Lecture 19: Using Signals
Course 102: Lecture 19: Using Signals Ahmed El-Arabawy
Ā 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in LinuxShreyas MM
Ā 
Linux: Everyting-as-a-service
Linux: Everyting-as-a-serviceLinux: Everyting-as-a-service
Linux: Everyting-as-a-serviceRohit Sansiya
Ā 
Introduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interruptsIntroduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interruptsShivam Mitra
Ā 
Buildroot easy embedded system
Buildroot easy embedded systemBuildroot easy embedded system
Buildroot easy embedded systemNirma University
Ā 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionSherif Mousa
Ā 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteTushar B Kute
Ā 

What's hot (20)

Embedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNUEmbedded Systems: Lecture 6: Linux & GNU
Embedded Systems: Lecture 6: Linux & GNU
Ā 
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi APEmbedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
Embedded Systems: Lecture 8: Lab 1: Building a Raspberry Pi Based WiFi AP
Ā 
Course 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded SystemsCourse 101: Lecture 1: Introduction to Embedded Systems
Course 101: Lecture 1: Introduction to Embedded Systems
Ā 
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Embedded Systems: Lecture 14: Introduction to GNU Toolchain (Binary Utilities)
Ā 
Embedded Systems: Lecture 7: Unwrapping the Raspberry Pi
Embedded Systems: Lecture 7: Unwrapping the Raspberry PiEmbedded Systems: Lecture 7: Unwrapping the Raspberry Pi
Embedded Systems: Lecture 7: Unwrapping the Raspberry Pi
Ā 
Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)
Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)
Embedded Systems: Lecture 13: Introduction to GNU Toolchain (Build Tools)
Ā 
Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land Course 101: Lecture 4: A Tour in RTOS Land
Course 101: Lecture 4: A Tour in RTOS Land
Ā 
Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management Course 102: Lecture 22: Package Management
Course 102: Lecture 22: Package Management
Ā 
Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems Course 101: Lecture 2: Introduction to Operating Systems
Course 101: Lecture 2: Introduction to Operating Systems
Ā 
OSI Model Layers and Internet Protocol Stack
OSI Model Layers and Internet Protocol StackOSI Model Layers and Internet Protocol Stack
OSI Model Layers and Internet Protocol Stack
Ā 
Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals Course 102: Lecture 9: Input Output Internals
Course 102: Lecture 9: Input Output Internals
Ā 
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts) Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Course 102: Lecture 20: Networking In Linux (Basic Concepts)
Ā 
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Ā 
Course 102: Lecture 19: Using Signals
Course 102: Lecture 19: Using Signals Course 102: Lecture 19: Using Signals
Course 102: Lecture 19: Using Signals
Ā 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in Linux
Ā 
Linux: Everyting-as-a-service
Linux: Everyting-as-a-serviceLinux: Everyting-as-a-service
Linux: Everyting-as-a-service
Ā 
Introduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interruptsIntroduction to operating system, system calls and interrupts
Introduction to operating system, system calls and interrupts
Ā 
Buildroot easy embedded system
Buildroot easy embedded systemBuildroot easy embedded system
Buildroot easy embedded system
Ā 
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems IntroductionBuilding Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
Ā 
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B KuteUnit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Unit 6 Operating System TEIT Savitribai Phule Pune University by Tushar B Kute
Ā 

Viewers also liked

Course 102: Lecture 7: Simple Utilities
Course 102: Lecture 7: Simple Utilities Course 102: Lecture 7: Simple Utilities
Course 102: Lecture 7: Simple Utilities Ahmed El-Arabawy
Ā 
Course 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild CardsCourse 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild CardsAhmed El-Arabawy
Ā 
Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu Ahmed El-Arabawy
Ā 
Course 102: Lecture 3: Basic Concepts And Commands
Course 102: Lecture 3: Basic Concepts And Commands Course 102: Lecture 3: Basic Concepts And Commands
Course 102: Lecture 3: Basic Concepts And Commands Ahmed El-Arabawy
Ā 
Course 102: Lecture 6: Seeking Help
Course 102: Lecture 6: Seeking HelpCourse 102: Lecture 6: Seeking Help
Course 102: Lecture 6: Seeking HelpAhmed El-Arabawy
Ā 
Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Ahmed El-Arabawy
Ā 
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)Ahmed El-Arabawy
Ā 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsAhmed El-Arabawy
Ā 
Embedded Systems: Lecture 11: Introduction to Git & GitHub (Part 2)
Embedded Systems: Lecture 11: Introduction to Git & GitHub (Part 2)Embedded Systems: Lecture 11: Introduction to Git & GitHub (Part 2)
Embedded Systems: Lecture 11: Introduction to Git & GitHub (Part 2)Ahmed El-Arabawy
Ā 
Embedded Systems: Lecture 9: The Pi Control ARM
Embedded Systems: Lecture 9: The Pi Control ARMEmbedded Systems: Lecture 9: The Pi Control ARM
Embedded Systems: Lecture 9: The Pi Control ARMAhmed El-Arabawy
Ā 
Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands Ahmed El-Arabawy
Ā 
Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Ahmed El-Arabawy
Ā 

Viewers also liked (12)

Course 102: Lecture 7: Simple Utilities
Course 102: Lecture 7: Simple Utilities Course 102: Lecture 7: Simple Utilities
Course 102: Lecture 7: Simple Utilities
Ā 
Course 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild CardsCourse 102: Lecture 4: Using Wild Cards
Course 102: Lecture 4: Using Wild Cards
Ā 
Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu Course 101: Lecture 6: Installing Ubuntu
Course 101: Lecture 6: Installing Ubuntu
Ā 
Course 102: Lecture 3: Basic Concepts And Commands
Course 102: Lecture 3: Basic Concepts And Commands Course 102: Lecture 3: Basic Concepts And Commands
Course 102: Lecture 3: Basic Concepts And Commands
Ā 
Course 102: Lecture 6: Seeking Help
Course 102: Lecture 6: Seeking HelpCourse 102: Lecture 6: Seeking Help
Course 102: Lecture 6: Seeking Help
Ā 
Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux Course 102: Lecture 2: Unwrapping Linux
Course 102: Lecture 2: Unwrapping Linux
Ā 
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Embedded Systems: Lecture 12: Introduction to Git & GitHub (Part 3)
Ā 
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded SystemsEmbedded Systems: Lecture 2: Introduction to Embedded Systems
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Ā 
Embedded Systems: Lecture 11: Introduction to Git & GitHub (Part 2)
Embedded Systems: Lecture 11: Introduction to Git & GitHub (Part 2)Embedded Systems: Lecture 11: Introduction to Git & GitHub (Part 2)
Embedded Systems: Lecture 11: Introduction to Git & GitHub (Part 2)
Ā 
Embedded Systems: Lecture 9: The Pi Control ARM
Embedded Systems: Lecture 9: The Pi Control ARMEmbedded Systems: Lecture 9: The Pi Control ARM
Embedded Systems: Lecture 9: The Pi Control ARM
Ā 
Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands Course 102: Lecture 8: Composite Commands
Course 102: Lecture 8: Composite Commands
Ā 
Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals Course 102: Lecture 5: File Handling Internals
Course 102: Lecture 5: File Handling Internals
Ā 

Similar to Build a Linux-powered WiFi Access Point with Raspberry Pi

ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywheressuser06ea42
Ā 
Chapter-7.pdf
Chapter-7.pdfChapter-7.pdf
Chapter-7.pdfssuser01a3d0
Ā 
Chapter-7_raspberryPi.pdf
Chapter-7_raspberryPi.pdfChapter-7_raspberryPi.pdf
Chapter-7_raspberryPi.pdfMaaheenKashish
Ā 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Adam Dunkels
Ā 
Build IoT Applications with C#
Build IoT Applications with C#Build IoT Applications with C#
Build IoT Applications with C#Ken Samson, MISM
Ā 
Exploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with PythonExploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with PythonShahed Mehbub
Ā 
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0dominion
Ā 
Raspberry pi overview
Raspberry pi overview Raspberry pi overview
Raspberry pi overview Matthew Karas
Ā 
The Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentThe Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentFrederick Reiss
Ā 
Let's play mini card-sized computer boards on the business!
Let's play mini card-sized computer boards on the business!Let's play mini card-sized computer boards on the business!
Let's play mini card-sized computer boards on the business!Masafumi Ohta
Ā 
Opening last bits of the infrastructure
Opening last bits of the infrastructureOpening last bits of the infrastructure
Opening last bits of the infrastructureErwan Velu
Ā 
The latest tools for developing your IBM i systems
The latest tools for developing your IBM i systemsThe latest tools for developing your IBM i systems
The latest tools for developing your IBM i systemsProximity Group
Ā 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsIntroduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsNaohiko Shimizu
Ā 
AD1545 - Extending the XPages Extension Library
AD1545 - Extending the XPages Extension LibraryAD1545 - Extending the XPages Extension Library
AD1545 - Extending the XPages Extension Librarypaidi_ed
Ā 

Similar to Build a Linux-powered WiFi Access Point with Raspberry Pi (20)

ch4-Software is Everywhere
ch4-Software is Everywherech4-Software is Everywhere
ch4-Software is Everywhere
Ā 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
Ā 
Chapter-7.pdf
Chapter-7.pdfChapter-7.pdf
Chapter-7.pdf
Ā 
Chapter-7_raspberryPi.pdf
Chapter-7_raspberryPi.pdfChapter-7_raspberryPi.pdf
Chapter-7_raspberryPi.pdf
Ā 
Chapter 7
Chapter 7Chapter 7
Chapter 7
Ā 
chapter-7_ed.pptx
chapter-7_ed.pptxchapter-7_ed.pptx
chapter-7_ed.pptx
Ā 
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Advanced Internet of Things firmware engineering with Thingsquare and Contiki...
Ā 
Raspberry pi
Raspberry piRaspberry pi
Raspberry pi
Ā 
Build IoT Applications with C#
Build IoT Applications with C#Build IoT Applications with C#
Build IoT Applications with C#
Ā 
Exploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with PythonExploring the ABC's of Raspberry Pi with Python
Exploring the ABC's of Raspberry Pi with Python
Ā 
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Ā 
UPNext
UPNextUPNext
UPNext
Ā 
Raspberry pi overview
Raspberry pi overview Raspberry pi overview
Raspberry pi overview
Ā 
The Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentThe Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter Deployment
Ā 
The Personal Assistant
The Personal AssistantThe Personal Assistant
The Personal Assistant
Ā 
Let's play mini card-sized computer boards on the business!
Let's play mini card-sized computer boards on the business!Let's play mini card-sized computer boards on the business!
Let's play mini card-sized computer boards on the business!
Ā 
Opening last bits of the infrastructure
Opening last bits of the infrastructureOpening last bits of the infrastructure
Opening last bits of the infrastructure
Ā 
The latest tools for developing your IBM i systems
The latest tools for developing your IBM i systemsThe latest tools for developing your IBM i systems
The latest tools for developing your IBM i systems
Ā 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsIntroduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systems
Ā 
AD1545 - Extending the XPages Extension Library
AD1545 - Extending the XPages Extension LibraryAD1545 - Extending the XPages Extension Library
AD1545 - Extending the XPages Extension Library
Ā 

More from Ahmed El-Arabawy

Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems Ahmed El-Arabawy
Ā 
Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1) Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1) Ahmed El-Arabawy
Ā 
Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Ahmed El-Arabawy
Ā 
Course 102: Lecture 24: Archiving and Compression of Files
Course 102: Lecture 24: Archiving and Compression of Files Course 102: Lecture 24: Archiving and Compression of Files
Course 102: Lecture 24: Archiving and Compression of Files Ahmed El-Arabawy
Ā 
Course 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleCourse 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleAhmed El-Arabawy
Ā 
Course 102: Lecture 17: Process Monitoring
Course 102: Lecture 17: Process Monitoring Course 102: Lecture 17: Process Monitoring
Course 102: Lecture 17: Process Monitoring Ahmed El-Arabawy
Ā 
Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2) Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2) Ahmed El-Arabawy
Ā 
Course 102: Lecture 14: Users and Permissions
Course 102: Lecture 14: Users and PermissionsCourse 102: Lecture 14: Users and Permissions
Course 102: Lecture 14: Users and PermissionsAhmed El-Arabawy
Ā 
Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions Ahmed El-Arabawy
Ā 
Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling Ahmed El-Arabawy
Ā 
Course 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment VariablesCourse 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment VariablesAhmed El-Arabawy
Ā 
Course 102: Lecture 10: Learning About the Shell
Course 102: Lecture 10: Learning About the Shell Course 102: Lecture 10: Learning About the Shell
Course 102: Lecture 10: Learning About the Shell Ahmed El-Arabawy
Ā 

More from Ahmed El-Arabawy (12)

Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems Course 102: Lecture 28: Virtual FileSystems
Course 102: Lecture 28: Virtual FileSystems
Ā 
Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1) Course 102: Lecture 26: FileSystems in Linux (Part 1)
Course 102: Lecture 26: FileSystems in Linux (Part 1)
Ā 
Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers
Ā 
Course 102: Lecture 24: Archiving and Compression of Files
Course 102: Lecture 24: Archiving and Compression of Files Course 102: Lecture 24: Archiving and Compression of Files
Course 102: Lecture 24: Archiving and Compression of Files
Ā 
Course 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life CycleCourse 102: Lecture 18: Process Life Cycle
Course 102: Lecture 18: Process Life Cycle
Ā 
Course 102: Lecture 17: Process Monitoring
Course 102: Lecture 17: Process Monitoring Course 102: Lecture 17: Process Monitoring
Course 102: Lecture 17: Process Monitoring
Ā 
Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2) Course 102: Lecture 16: Process Management (Part 2)
Course 102: Lecture 16: Process Management (Part 2)
Ā 
Course 102: Lecture 14: Users and Permissions
Course 102: Lecture 14: Users and PermissionsCourse 102: Lecture 14: Users and Permissions
Course 102: Lecture 14: Users and Permissions
Ā 
Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions Course 102: Lecture 13: Regular Expressions
Course 102: Lecture 13: Regular Expressions
Ā 
Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling Course 102: Lecture 12: Basic Text Handling
Course 102: Lecture 12: Basic Text Handling
Ā 
Course 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment VariablesCourse 102: Lecture 11: Environment Variables
Course 102: Lecture 11: Environment Variables
Ā 
Course 102: Lecture 10: Learning About the Shell
Course 102: Lecture 10: Learning About the Shell Course 102: Lecture 10: Learning About the Shell
Course 102: Lecture 10: Learning About the Shell
Ā 

Recently uploaded

šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜RTylerCroy
Ā 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
Ā 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
Ā 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
Ā 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
Ā 
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...Alan Dix
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
Ā 
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhisoniya singh
Ā 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
Ā 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
Ā 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
Ā 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
Ā 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationRadu Cotescu
Ā 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
Ā 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĆŗjo
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
Ā 

Recently uploaded (20)

šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜
Ā 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Ā 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Ā 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
Ā 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Ā 
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Swan(sea) Song ā€“ personal research during my six years at Swansea ... and bey...
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY šŸ” 8264348440 šŸ” Call Girls in Diplomatic Enclave | Delhi
Ā 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Ā 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Ā 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Ā 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Ā 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Ā 
Scaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organizationScaling API-first ā€“ The story of a global engineering organization
Scaling API-first ā€“ The story of a global engineering organization
Ā 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Ā 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 

Build a Linux-powered WiFi Access Point with Raspberry Pi

  • 1. Linux For Embedded Systems ForArabs Ahmed ElArabawy Cairo University Computer Eng. Dept. CMP445-Embedded Systems
  • 2. Lecture 8: The Pi as a Linux Box
  • 3. Embedded System ā€¢ Some people only think of embedded system projects as hardware interfacing projects ā€¢ This is not an accurate perception ā€¢ A lot of embedded systems are pure software projects (or with minimal hardware interfacing capability) ā€¢ This lecture aims to change this perception by exploring some of the software dominated embedded system projects ā€¢ Here comes the power of Linux, since Linux has a huge library of software packages that can be used as building block in a highly capable embedded system ā€¢ This is one of the main reasons, a lot of embedded systems use Linux as their preferred operating System ā€¢ In this lecture we will go in some examples of using the Raspberry Pi an a Hardware Interfacing-Free projects
  • 4. Building a Pi Based WiFi Access Point
  • 5. Building a Pi Based WiFi Access Point WiFi Driver Apps & Utilities Linux Kernel Open Source Apps
  • 6. Building a Pi Based WiFi Access Point ā€¢ We can use the Raspberry Pi board to build a WiFi Access Point ā€¢ Some WiFi chipset can be configured to provide AP functionality ā€¢ Also, the Linux kernel has strong support for different WiFi modes of operation ā€¢ All we need is to install and configure user plane apps that will enable us to switch the Pi into a fully functional WiFi AP ā€¢ Why do we need to build that, ā€¢ Extend the WiFi coverage ā€¢ But keep in mind that the Pi will be less cost effective, and less powerful than commercial products ā€¢ Learning purposes ā€¢ To learn more about WiFi, its modes of operation, configuration parameters, and its software components ā€¢ Build a special featured access point such as more security, special firewall, adding anonymity (onion server) ā€¢ A lot of libraries and applications provide a lot of functionality, so you can customize your own WiFi AP ā€¢ Hack the AP software to test new functionality and features ā€¢ All user plane applications are open source with a lot of community support, so you can develop your own features ā€¢ The WiFi drivers running in the Linux Kernel are also open source, so you can also hack it ā€¢ Linux provides a well documented API to enable developers to connect to the different components of the WiFi System ā€¢ Build a product where the WiFi AP support is just one part of it ā€¢ I will leave this to your imagination
  • 7. Building a Pi-Based WiFi Sniffer
  • 8. Building a Pi-Based WiFi Sniffer ā€¢ Most WiFi chips can run in Monitor mode, which is a mode that it reads all traffic in the wireless channel ā€¢ This enables us to use the Raspberry Pi board to build a device to sniff the WiFi wireless link ā€¢ You can detect ongoing traffic, and management messages on your network ā€¢ You can also increase your detection coverage using a Cantenna ā€¢ Why do we need that, ā€¢ Learn more about WiFi Networks and how they communicate ā€¢ Debugging a problem in WiFi Networks ā€¢ Having this feature as part of a broader functionality ā€¢ Can this tool be a way to spy on user communication on the network ā€¢ No, most of user traffic is encrypted and hence, you will not be able to spy on other people traffic ā€¢ Actually, user traffic is more secure on the wireless link than on the wired link ā€¢ So think positive, you can do a lot of useful products without invading other people privacy
  • 9. Need a WiFi Antenna ?? Use a Cantenna
  • 10. Building a Pi-Based Media Center
  • 11. Building a Pi-Based Media Center ā€¢ A lot of people use the Raspberry Pi board as a Media Center ā€¢ Low power ā€¢ Inexpensive ā€¢ Small foot-print ā€¢ The Raspberry Pi comes with a GPU Core that is capable of offloading the ARM core from a lot of processing needed for video decoding ā€¢ That enables the Pi to handle HD quality videos ā€¢ You can use the Pi to play videos via streaming from YouTube, Netflix, ā€¦ ā€¢ Or, you can play stored videos on the SD card, USB Flash, or USB Hard- disk ā€¢ Keep in mind, in these projects, you may need to change the split of the Pi memory between the ARM core and the GPU ā€¢ Default is 64 MB for the GPU and the rest for the ARM Core ā€¢ You may need to give more memory to the GPU since it is performing a lot of processing for video decoding ā€¢ There are special Pi distribution for that purpose (such as RaspMC & OpenElec)
  • 12.
  • 13. Building a Pi-Based MP3 Player
  • 14. Building a Pi-Based Internet Radio
  • 16. Building a Pi-BasedTorrent Downloader ā€¢ Torrent downloading needs a lot of time online ā€¢ You can not keep your computer on and connected to the internet for long periods of time ā€¢ Waste of power ā€¢ Waste of resources (your computer will be left on for this purpose) ā€¢ Instead, you can build inexpensive, low power, small size device as your device to collect your files from the internet ā€¢ You can use the same device to share content with others ā€¢ Device always on ā€¢ Isolation between your private files and shared files
  • 17. Building a Pi-Based Home Web Server ā€¢ When people think of web servers, they think of big computers and not embedded systems ā€¢ So, why would you consider building a webserver on the Pi ā€¢ A lot of people are using the Pi as their way for their personal web servers ā€¢ Low power ā€¢ Low cost ā€¢ Small size ā€¢ This can be used either internally, or even exposed to public ā€¢ Of course this can not be used with high traffic websites, but suitable for special purposes where traffic is not huge ā€¢ It can be used as an interface to a Pi based product such as a home automation system ā€¢ Most commercial embedded projects use a webserver for their management interface (such as routers, WiFi Access Points, ā€¦ ) ā€¢ There are CMS (Content Management Systems) that were tested successfully on the Raspberry Pi (such as Pyplate)
  • 18.
  • 20. Building a Pi Cluster ā€¢ A lot of projects will be limited by the power of the Raspberry Pi processor ā€¢ We can combine multiple Piā€™s to do this job ā€¢ One example is the webserver used for http://raspberrywebserver.com/ ā€¢ Keep in mind, that not all functionality can use the power of a clustered system ā€¢ Also, there is some messaging overhead that is associated with clusters that may make some applications not suitable for clusters
  • 23. And a lot more ā€¦.
  • 24. Things to Keep in mind ā€¢ Although the Raspberry Pi is capable of all of these projects, its processing capacity may put a limitation on its serious use in real products ā€¢ We can push these limits by, ā€¢ Using Raspberry Pi Model 2 (Much more powerful than Model 1) ā€¢ Overclocking the Pi ā€¢ Make use of the power of the GPU ā€¢ Redistribute memory between the ARM core and the GPU ā€¢ Build a Pi Cluster ā€¢ The Pi is built mainly for learning purposes, there are other boards in the market that has more processing power and can perform better than the Pi ā€¢ These boards may have stronger ARM cores or multiple cores ā€¢ Also there are boards in the market that are more cost effective than the Pi ā€¢ So, learn with the Pi, and consider other boards when you want to build a commercial product