This document provides an overview of Bluetooth architecture, operation, profiles, and transport protocols for use with Raspberry Pi. It describes Bluetooth's BR/EDR and LE technologies, profiles for data transfer like FTP and SPP, and transport protocols like L2CAP, RFCOMM, and BNEP. The document is intended for teaching and shares information on Bluetooth fundamentals and configuration for programming on Raspbian.
YARA rules are used to identify malware families based on patterns and signatures. Rules consist of strings and expressions to detect malware. Strings can be hexadecimal, text, or regular expressions. Conditions are used to express what the rule detects using logical operators and strings. Metadata can provide additional information about files detected by a rule. Rules can count string occurrences and check if strings are at specific virtual addresses.
Summer Training Program Report On Embedded system and robot Arcanjo Salazaku
This document describes the design of a wireless controlled robot. It uses two microcontrollers - one as the transmitter section controlled by the user and the other as the receiver section mounted on the robot. The transmitter section encodes the control signals from a 4x4 keypad using an HT12E encoder IC and transmits it using an RF module. The robot receives the signals using an RF module and decodes it using an HT12D decoder IC. It then drives the motors using an L293D motor driver IC to control the robot's movement according to the received signals. The system aims to provide easy and low-cost wireless control of the robot.
The document discusses parallel program design and parallel programming techniques. It introduces parallel algorithm design based on four steps: partitioning, communication, agglomeration, and mapping. It also covers parallel programming tools including pthreads, OpenMP, and MPI. Common parallel constructs like private, shared, barrier, and reduction are explained. Examples of parallel programs using pthreads and OpenMP are provided.
Project Report On Micro-controller Embedded SystemRkrishna Mishra
The document provides an overview of embedded systems and the 8051 microcontroller architecture. It discusses how embedded systems perform predefined tasks to control devices and can be optimized for size and cost. The 8051 is then introduced as a popular 8-bit microcontroller used in embedded systems. Its features include 4KB program memory, 128B data memory, 32 general purpose registers, timers, and I/O ports. Application areas of the 8051 like energy management, automobiles, and medical devices are outlined. Finally, the document describes the 8051 architecture in detail, including the pinout, programming model, and accumulator register.
Hardware debugging involves monitoring signals, checking connections between components, and testing circuit continuity on a target board. This process identifies issues like dry soldering, missing connections, or unnoticed PCB errors that could prevent firmware from functioning properly. Key tools for hardware debugging include a magnifying glass for visual inspection of soldering and tracks, a multimeter for checking continuity and signal values, an oscilloscope for analyzing waveforms and noise, a logic analyzer for capturing digital data, and a function generator for simulating input signals.
The present condition in Industry is that they are using the crane system to carry the parcels from one place to another, including harbors. Some times the lifting of big weights may cause the breakage of lifting materials and will cause damage to the parcels too. Application of the proposed system is for industries. The robot movement depends on the track. Use of this robot is to transport the materials from one place to another place in the industry.
A robot is a machine designed to execute one or more tasks repeatedly, with speed and precision. There are as many different types of robots as there are tasks for them to perform. A robot can be controlled by a human operator, sometimes from a great distance. In such type of applications wireless communication is more important.
In robotic applications, generally we need a remote device to control. If we use IR remote device, it is just limited to meters distance and also if any obstacle is in between its path then there will be no communication. If we consider, RF modules for remote operations there is no objection whether an obstacle is present in its path. So that it is very helpful to control robot.
RF modules itself can generates its carrier frequency which is around 2.4 GHz. We need to generate serial data using micro controller and fed to the RF transmitting module. On other side RF receiver receives sent data as RF signals and given to another micro controller. Here, RF receiver itself demodulates the data from carrier signal and generate serial data as output.
This document provides an overview and instructions for using a Wi-Fi module in a communication PIC microcontroller lab. It defines Wi-Fi and the 802.11 networking standards. It describes the WiFly module and how to configure it, including connecting to wireless networks, setting communication parameters, and forwarding TCP packets. The lab portion involves testing the module on TeraTerm Pro, developing a moving car application, and an Android APK.
This document provides an overview of Silverlight, including what it is, how it compares to other client-side technologies, and why it is important. It discusses Silverlight's benefits over Flash, provides examples of Silverlight applications, and summarizes key features in Silverlight 2.0 like controls, data binding, and communication capabilities. The document concludes with a brief demo of building a Silverlight application.
1. Explaining the importance of platform based development
2. Understanding The importance of NodeMCU and demonstrate its interfacing with various devices and sensors.
This document describes a patient monitoring system that uses a GSM network to send alerts when vital signs exceed thresholds. Sensors measure a patient's heart rate and temperature, which are sent to a microcontroller. If readings are abnormal, the microcontroller sends an SMS alert via a GSM modem. The system aims to notify medical staff of issues without requiring direct patient involvement.
Making Of 0-9 Decade Counter with 7 segment displayOmkar Rane
The document describes the design of a 0-9 binary coded decimal (BCD) counter circuit. The circuit uses a 74LS90 BCD decade counter integrated circuit to count from 0 to 9, and a 74LS47 BCD to 7-segment decoder driver integrated circuit to display the count on a 7-segment display. When a push button is pressed, the counter increments and the display updates to show the new count. Potential applications mentioned include token counters, production line counting systems, clocks, and timers.
PIC-MICROCONTROLLER TUTORIALS FOR BEGINNERSVISHNU KP
PIC microcontroller programming based on micro c IDE.Those who really want to build a base in microcontroller programming,just keep going through this. ;) :)
My slide at the Milan Codemotion 2015, a session called "An Adventure with ESP8266 and IOT" about using the esp8266 with NodeMCU, mosquitto, nodejs and an accelerometer. All the sourcecode will be available at http://pestohacks.blogspot.com soon
Biochips can perform hundreds or thousands of biochemical reactions simultaneously on a surface no larger than a fingernail. They are used to analyze genes in cells and for applications in biology and medicine. A biochip consists of a microchip, antenna coil, capacitor, and glass capsule implanted under the skin. It communicates with a reader via radio signals. Biochips can identify diseases like sepsis from a blood sample within 20 minutes, faster than other methods. They allow multiple tests to be done at once and have advantages for applications in healthcare, forensics, and tracking of shipments.
DHT11 based remote temparature Monitor. Uses ESP8266 and DHT11 to monitor temperature remotely using a WiFi connection and Thingspeak and NMA application.
Arduino based automatic temperature controlled fan speed regulatorEdgefxkits & Solutions
Using an analog temperature LM35 interfaced to the built in ADC of a programmed Arduino to develop varying duty cycle of PWM output for a driver IC to run a DC motor automatically according to the sensed temperature at different speed based on the temperature sensed.
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
This document describes a proposed wireless AI-based industrial security robot project. The objectives are to build a wireless robot for industrial applications with live audio and video streaming to monitor areas that are difficult for people to access safely. The proposed system uses various sensors like fire, smoke, intruder, humidity and temperature sensors along with a wireless camera and Zigbee transmission to an ARM processor-controlled robot. If any abnormalities are detected, an alarm is sent to a remote PC and mobile phone via GSM. The robot is expected to move autonomously and avoid obstacles while transmitting real-time video and alerts. This intelligent robot could help improve safety and efficiency in hazardous industrial environments.
Home automation or domestics is building automation for a home, called a smart home or smart house. A home automation system will monitor and/or control home attributes such as lighting, climate, entertainment systems, and appliances. It may also include home security such as access control and alarm systems.
A home network, also called a home area network (HAN), connects digital devices in the home like printers, computers, and phones to facilitate communication between them. It uses either wired or wireless transmission media like Ethernet, Wi-Fi, coaxial cables, or existing home wiring. Common devices on a HAN include those for general computing, entertainment, and home automation. Issues that can impact the network include wireless signal loss, interference from other wireless networks, and electrical noise on wiring that shares bandwidth.
A USB connector is used to connect peripheral devices like printers, keyboards and mice to computers. It was developed to simplify the connections between devices, which previously used many different proprietary connectors. The USB connector provides benefits like plug-and-play capability, supporting many device types through a single interface, auto-configuration, increased data transfer speeds, and lower production costs.
Our project is a persistence of vision display (POV) that spins 360 degrees horizontally. The purpose of our POV display project is to create a small apparatus that will create a visual using only a small number of LEDs as it spins in a circle. When the LEDs rotate several times around a point in less than a second, the human eye reaches its limit of motion perception and creates an illusion of a continuous image. Therefore, our POV display demonstrates this phenomenon by creating a visual as the LEDs spin rapidly in a circle and the person watching will see one continuous image.
This document discusses disassemblers/decompilers and simulators. Disassemblers convert machine code into assembly instructions, while decompilers translate machine code into high-level code. Both are used in reverse engineering. Simulators are software tools that simulate hardware and firmware execution without requiring a real target system. They are useful for debugging firmware but lack real-time behavior and may not replicate real-world conditions.
LAMP is a web development platform consisting of Linux, Apache HTTP Server, MySQL database, and PHP programming language. Together, these open source technologies provide a robust platform for deploying dynamic web applications. The document discusses each component of LAMP in detail and how they work together. It notes that LAMP allows for rapid development and delivery of secure, scalable websites and applications.
Smart Wireless Surveillance Monitoring using RASPBERRY PIKrishna Kumar
This is a slide about the smart surveillance monitoring system using raspberry pi.
It includes the full details of the procedure , component description and the screenshots
This document summarizes Bluetooth technology and its architecture. It discusses how Bluetooth enables wireless communication between electronic devices through short-range ad hoc networks called piconets. A piconet can have up to 8 devices connected to a single master device within a 10 meter range. Multiple piconets can be combined to form a scatternet, allowing devices to communicate across piconets. The document then describes the seven layers of the Bluetooth architecture and protocol stack, including the radio layer, baseband layer, link manager protocol, host controller interface, logical link control and adaptation protocol, RFCOMM, and service discovery protocol.
IT2255 Web Essentials - Unit I Website Basicspkaviya
Internet Overview – Fundamental computer network concepts – Web Protocols – URL – Domain Name – Web Browsers and Web Servers – Working principle of a Website – Creating a Website – Client-side and server-side scripting.
1. Explaining the importance of platform based development
2. Understanding The importance of NodeMCU and demonstrate its interfacing with various devices and sensors.
This document describes a patient monitoring system that uses a GSM network to send alerts when vital signs exceed thresholds. Sensors measure a patient's heart rate and temperature, which are sent to a microcontroller. If readings are abnormal, the microcontroller sends an SMS alert via a GSM modem. The system aims to notify medical staff of issues without requiring direct patient involvement.
Making Of 0-9 Decade Counter with 7 segment displayOmkar Rane
The document describes the design of a 0-9 binary coded decimal (BCD) counter circuit. The circuit uses a 74LS90 BCD decade counter integrated circuit to count from 0 to 9, and a 74LS47 BCD to 7-segment decoder driver integrated circuit to display the count on a 7-segment display. When a push button is pressed, the counter increments and the display updates to show the new count. Potential applications mentioned include token counters, production line counting systems, clocks, and timers.
PIC-MICROCONTROLLER TUTORIALS FOR BEGINNERSVISHNU KP
PIC microcontroller programming based on micro c IDE.Those who really want to build a base in microcontroller programming,just keep going through this. ;) :)
My slide at the Milan Codemotion 2015, a session called "An Adventure with ESP8266 and IOT" about using the esp8266 with NodeMCU, mosquitto, nodejs and an accelerometer. All the sourcecode will be available at http://pestohacks.blogspot.com soon
Biochips can perform hundreds or thousands of biochemical reactions simultaneously on a surface no larger than a fingernail. They are used to analyze genes in cells and for applications in biology and medicine. A biochip consists of a microchip, antenna coil, capacitor, and glass capsule implanted under the skin. It communicates with a reader via radio signals. Biochips can identify diseases like sepsis from a blood sample within 20 minutes, faster than other methods. They allow multiple tests to be done at once and have advantages for applications in healthcare, forensics, and tracking of shipments.
DHT11 based remote temparature Monitor. Uses ESP8266 and DHT11 to monitor temperature remotely using a WiFi connection and Thingspeak and NMA application.
Arduino based automatic temperature controlled fan speed regulatorEdgefxkits & Solutions
Using an analog temperature LM35 interfaced to the built in ADC of a programmed Arduino to develop varying duty cycle of PWM output for a driver IC to run a DC motor automatically according to the sensed temperature at different speed based on the temperature sensed.
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
This document describes a proposed wireless AI-based industrial security robot project. The objectives are to build a wireless robot for industrial applications with live audio and video streaming to monitor areas that are difficult for people to access safely. The proposed system uses various sensors like fire, smoke, intruder, humidity and temperature sensors along with a wireless camera and Zigbee transmission to an ARM processor-controlled robot. If any abnormalities are detected, an alarm is sent to a remote PC and mobile phone via GSM. The robot is expected to move autonomously and avoid obstacles while transmitting real-time video and alerts. This intelligent robot could help improve safety and efficiency in hazardous industrial environments.
Home automation or domestics is building automation for a home, called a smart home or smart house. A home automation system will monitor and/or control home attributes such as lighting, climate, entertainment systems, and appliances. It may also include home security such as access control and alarm systems.
A home network, also called a home area network (HAN), connects digital devices in the home like printers, computers, and phones to facilitate communication between them. It uses either wired or wireless transmission media like Ethernet, Wi-Fi, coaxial cables, or existing home wiring. Common devices on a HAN include those for general computing, entertainment, and home automation. Issues that can impact the network include wireless signal loss, interference from other wireless networks, and electrical noise on wiring that shares bandwidth.
A USB connector is used to connect peripheral devices like printers, keyboards and mice to computers. It was developed to simplify the connections between devices, which previously used many different proprietary connectors. The USB connector provides benefits like plug-and-play capability, supporting many device types through a single interface, auto-configuration, increased data transfer speeds, and lower production costs.
Our project is a persistence of vision display (POV) that spins 360 degrees horizontally. The purpose of our POV display project is to create a small apparatus that will create a visual using only a small number of LEDs as it spins in a circle. When the LEDs rotate several times around a point in less than a second, the human eye reaches its limit of motion perception and creates an illusion of a continuous image. Therefore, our POV display demonstrates this phenomenon by creating a visual as the LEDs spin rapidly in a circle and the person watching will see one continuous image.
This document discusses disassemblers/decompilers and simulators. Disassemblers convert machine code into assembly instructions, while decompilers translate machine code into high-level code. Both are used in reverse engineering. Simulators are software tools that simulate hardware and firmware execution without requiring a real target system. They are useful for debugging firmware but lack real-time behavior and may not replicate real-world conditions.
LAMP is a web development platform consisting of Linux, Apache HTTP Server, MySQL database, and PHP programming language. Together, these open source technologies provide a robust platform for deploying dynamic web applications. The document discusses each component of LAMP in detail and how they work together. It notes that LAMP allows for rapid development and delivery of secure, scalable websites and applications.
Smart Wireless Surveillance Monitoring using RASPBERRY PIKrishna Kumar
This is a slide about the smart surveillance monitoring system using raspberry pi.
It includes the full details of the procedure , component description and the screenshots
This document summarizes Bluetooth technology and its architecture. It discusses how Bluetooth enables wireless communication between electronic devices through short-range ad hoc networks called piconets. A piconet can have up to 8 devices connected to a single master device within a 10 meter range. Multiple piconets can be combined to form a scatternet, allowing devices to communicate across piconets. The document then describes the seven layers of the Bluetooth architecture and protocol stack, including the radio layer, baseband layer, link manager protocol, host controller interface, logical link control and adaptation protocol, RFCOMM, and service discovery protocol.
IT2255 Web Essentials - Unit I Website Basicspkaviya
Internet Overview – Fundamental computer network concepts – Web Protocols – URL – Domain Name – Web Browsers and Web Servers – Working principle of a Website – Creating a Website – Client-side and server-side scripting.
Bluetooth is a wireless technology standard for exchanging data over short distances. It allows devices such as phones, laptops, headphones, and other portable devices to connect to each other and establish ad-hoc networks. Bluetooth operates in the unlicensed ISM band between 2.4-2.48 GHz using frequency hopping to prevent interference. Devices connect in a master-slave topology where one device is the master and up to seven can connect as slaves in a piconet. Bluetooth uses protocols like L2CAP, RFCOMM, and OBEX to transfer data and supports profiles for services like file transfer, synchronization, and telephony. Security in Bluetooth includes authentication, authorization, and encryption at different security levels.
Bluetooth is a wireless technology standard that was created in 1998 to provide wireless connectivity between devices over short distances. It uses short-wavelength UHF radio waves in the ISM band from 2.4 to 2.485 GHz and employs frequency hopping spread spectrum technology to enable communication between multiple devices. Bluetooth devices can operate in piconets with one master device and up to seven active slave devices, and multiple piconets can be joined together to form scatternets. Bluetooth supports both synchronous voice links and asynchronous data links between devices.
A communications, data exchange, and resource-sharing system created by linking two or more computers and establishing standards, or protocols, so that they can work together
The document discusses network devices, communication protocols, and related topics. It describes the OSI reference model and TCP/IP model, detailing the layers and functions of each. It provides information on IP addressing, DNS, and gateway addressing. The OSI model has 7 layers including physical, data link, network, transport, session, presentation, and application layers. The TCP/IP model has 4 layers comprising network interface, internet, transport, and application layers.
Bluetooth and Profiles
The document discusses Bluetooth technology and Bluetooth profiles. It provides an overview of Bluetooth including its history and development of different Bluetooth versions. It describes Bluetooth architecture and core system components. It also explains various Bluetooth profiles such as Generic Access Profile, Object Exchange Profile, Serial Port Profile, and File Transfer Profile which define how Bluetooth devices communicate and establish connections.
It provides additional features like spell checking, grammar checking,
translation etc.
Networking: It handles all the networking tasks like establishing connection with
server, sending and receiving HTTP requests and responses.
UI Backend: It provides platform specific implementation for user interface.
Data Storage: It stores cookies, cache, bookmarks, history etc.
Plug-ins: It provides support for additional features like Flash, PDF, media players
etc.
JavaScript Interpreter: It interprets and executes the JavaScript code embedded in
web pages.
Browser Security: It provides security features like sandboxing, same-origin policy,
digital signatures etc.
Browser Extensibility: It allows third party extensions to add
ET3003-2 OSI-TCPIP (Semester II 2013-2014)Tutun Juhana
The document provides an overview of the OSI model and TCP/IP protocol suite for computer networks. It discusses that while the OSI model was intended as a standard, TCP/IP became the dominant model used on the internet. It then describes each layer of the OSI model and its functions. It also summarizes the layers of the TCP/IP protocol suite and how they compare to the OSI layers. Key areas like addressing, encapsulation, and the roles of different address types are also summarized.
This document provides an overview of computer networks. It discusses what a network is and some common uses of networks, including sharing resources and communicating. It also describes different types of networks like local area networks (LANs) and wide area networks (WANs). The document outlines how networks are structured, including client/server and peer-to-peer models. It also discusses network topologies, hardware components, common protocols, and the seven-layer OSI model.
The document provides an overview of protocols and the TCP/IP protocol suite. It discusses what protocols are, the need for mutually agreed upon conventions and rules for communication. It then covers protocol architecture principles like layered structures and peer-to-peer protocols. The document explains concepts like the network access layer, transport layer, application layer, and addressing requirements. It also summarizes standard protocol architectures like OSI and TCP/IP and their layered models.
OSI Reference Model and TCP/IP (Lecture #3 ET3003 Sem1 2014/2015)Tutun Juhana
This document provides an overview of the OSI model and TCP/IP protocol suite for computer networks. It describes the seven layers of the OSI model from the physical layer to the application layer and their functions. It then explains that while the OSI model was intended as a standard, TCP/IP became dominant in practice. The four layers of the TCP/IP protocol suite are also outlined - the physical and data link layers have no standard protocols, while the network layer uses IP and the transport layer includes TCP and UDP. The application layer combines functions from several OSI layers.
The document describes the OSI model and TCP/IP model. It explains:
- The OSI model has 7 layers (physical, data link, network, transport, session, presentation, application) while TCP/IP has 4 layers (network interface, internet, transport, application).
- The transport layer in TCP/IP includes TCP and UDP protocols which handle segmentation and reassembly of data.
- The network layer adds headers to data segments and handles addressing and routing between hosts using IP addresses.
- The data link and physical layers in OSI correspond to the network interface layer in TCP/IP, which deals with framing data and transmitting bits.
Ultra-wideband (UWB) is a short-range, high-bandwidth wireless technology that can provide data transmission rates up to 480 Mbps. It operates by transmitting short pulses across a wide spectrum of frequency bands between 3.1-10.6 GHz. UWB offers advantages over other wireless technologies like Bluetooth and WiFi by providing faster data transfer speeds, better multipath performance, and precise localization capabilities. Potential applications of UWB include wireless USB, high quality video transmission, and radar/imaging systems.
Sargation university's open system interconnectionKingPinYT
The document discusses the OSI Reference Model and TCP/IP protocol suite. It provides details on the 7 layers of the OSI model from the physical layer to the application layer. It then explains the 4 layers of the TCP/IP model - network interface, internet, transport, and application layers. Key protocols at each layer like IP, TCP, UDP, FTP, SMTP, Telnet, and HTTP are also mentioned. The differences between OSI and TCP/IP models are summarized focusing on their layered architecture and approach to reliability.
The document discusses network protocols and protocol layering. It describes the seven layers of the OSI model and four layers of the TCP/IP model. It explains the functions of each layer, including physical addressing at layer 2, logical addressing and routing at layer 3, transport functions like segmentation and error checking at layer 4, and application functions at layer 7. Common protocols are assigned to each layer, such as IP, TCP, UDP, HTTP, and FTP. Protocol layering allows dividing network designs into functional layers and assigning protocols to perform each layer's tasks.
Data Communication and Newtworking 1 .pptxSidraAhmad29
In this presentation, I will cover fundamental networking topics including Data Communication, Components of Data Communication, Data Flow, Network Types, Protocols and their Types, TCP/IP Protocol, the OSI Model, Network Topology, and Types of Network Connections. These concepts will provide a solid foundation for understanding how networks function and communicate effectively.
Data Communication and Newtworking 1 .pptxSidraAhmad29
In this presentation, I will cover fundamental networking topics including Data Communication, Components of Data Communication, Data Flow, Network Types, Protocols and their Types, TCP/IP Protocol, the OSI Model, Network Topology, and Types of Network Connections. These concepts will provide a solid foundation for understanding how networks function and communicate effectively.
The document discusses the course outcomes and modules for a Computer Network course. The course aims to help students understand networking concepts and protocols at different layers. It will cover topics like network architectures, protocols, configurations, and analysis of simple networks. The textbook listed is Data Communications and Networking by Forouzan. Module 5 focuses on the application layer and protocols like SMTP, FTP, DNS etc. It also discusses client-server and peer-to-peer paradigms along with HTTP, web clients and servers, URLs, and caching using proxy servers.
This document provides an overview and outline of topics to be covered in a chapter about TCP/IP protocols. The chapter will include: a brief history of the internet and TCP/IP; definitions of protocols and standards; a discussion of standards organizations; how internet standards are developed; and an overview of internet administration. It also previews key topics within each section, such as ARPANET, TCP, standards creation committees, maturity levels of requests for comments, and groups that coordinate internet issues.
This document provides an overview of the Meteor JavaScript web application framework. It discusses key Meteor concepts like Blaze for creating reactive UIs, Tracker for transparent reactive programming, and data contexts that are set implicitly through template tags and passed between templates. The document also covers Spacebars templating syntax and how data contexts work in templates, template helpers, and with Iron Router.
This document provides an overview of the IEEE 802.11 WiFi standard in 3 parts. Part 1 discusses advantages and disadvantages of WiFi networks. Part 2 describes the physical layer specifications including spectrum, modulation techniques, and OFDM. Part 3 covers the media access control layer and protocols like CSMA/CA, RTS/CTS, and acknowledgments that provide reliability. The document is intended for teaching purposes and draws from various academic sources.
The document provides an introduction to Arduino, including what Arduino is, how it works, its benefits, programming language, boards, memory, pins, and pulse-width modulation. Arduino is an open-source electronics platform that allows users to create interactive electronic projects by reading inputs and turning them into outputs. It uses a simple programming language and development environment to program microcontrollers on boards.
This document provides an overview of network functions virtualization (NFV) fundamentals, including:
1. Defining the NFV architectural framework, terminology, and objectives to virtualize network functions and improve efficiencies.
2. Describing the functional blocks in the NFV reference architecture including VNFs, NFVI, VIMs, and reference points.
3. Presenting use cases for NFV such as virtualizing mobile core networks, home networks, and content delivery networks to reduce costs and complexity.
The document discusses 5G fundamentals including:
- 5G is expected to enable a fully mobile and connected society from 2020 onward.
- 5G will require new technologies like millimeter wave communications, massive MIMO, and network densification to meet requirements for high data rates, low latency, and connectivity of many devices.
- Millimeter wave frequencies above 30 GHz offer vast amounts of unused spectrum but propagation is sensitive to blockages. Massive MIMO using hundreds of antennas can compensate through beamforming.
DIY Gesture Control ESP32 LiteWing Drone using PythonCircuitDigest
Build a gesture-controlled LiteWing drone using ESP32 and MPU6050. This presentation explains components, circuit diagram, assembly steps, and working process.
Read more : https://circuitdigest.com/microcontroller-projects/diy-gesture-controlled-drone-using-esp32-and-python-with-litewing
Ideal for DIY drone projects, robotics enthusiasts, and embedded systems learners. Explore how to create a low-cost, ESP32 drone with real-time wireless gesture control.
Better Builder Magazine brings together premium product manufactures and leading builders to create better differentiated homes and buildings that use less energy, save water and reduce our impact on the environment. The magazine is published four times a year.
Filters for Electromagnetic Compatibility ApplicationsMathias Magdowski
In this lecture, I explain the fundamentals of electromagnetic compatibility (EMC), the basic coupling model and coupling paths via cables, electric fields, magnetic fields and wave fields. We also look at electric vehicles as an example of systems with many conducted EMC problems due to power electronic devices such as rectifiers and inverters with non-linear components such as diodes and fast switching components such as MOSFETs or IGBTs. After a brief review of circuit analysis fundamentals and an experimental investigation of the frequency-dependent impedance of resistors, capacitors and inductors, we look at a simple low-pass filter. The input impedance from both sides as well as the transfer function are measured.
MODULE 5 BUILDING PLANNING AND DESIGN SY BTECH ACOUSTICS SYSTEM IN BUILDINGDr. BASWESHWAR JIRWANKAR
: Introduction to Acoustics & Green Building -
Absorption of sound, various materials, Sabine’s formula, optimum reverberation time, conditions for good acoustics Sound insulation:
Acceptable noise levels, noise prevention at its source, transmission of noise, Noise control-general considerations
Green Building: Concept, Principles, Materials, Characteristics, Applications
Department of Environment (DOE) Mix Design with Fly Ash.MdManikurRahman
Concrete Mix Design with Fly Ash by DOE Method. The Department of Environmental (DOE) approach to fly ash-based concrete mix design is covered in this study.
The Department of Environment (DOE) method of mix design is a British method originally developed in the UK in the 1970s. It is widely used for concrete mix design, including mixes that incorporate supplementary cementitious materials (SCMs) such as fly ash.
When using fly ash in concrete, the DOE method can be adapted to account for its properties and effects on workability, strength, and durability. Here's a step-by-step overview of how the DOE method is applied with fly ash.
As an AI intern at Edunet Foundation, I developed and worked on a predictive model for weather forecasting. The project involved designing and implementing machine learning algorithms to analyze meteorological data and generate accurate predictions. My role encompassed data preprocessing, model selection, and performance evaluation to ensure optimal forecasting accuracy.
UNIT-1-PPT-Introduction about Power System Operation and ControlSridhar191373
Power scenario in Indian grid – National and Regional load dispatching centers –requirements of good power system - necessity of voltage and frequency regulation – real power vs frequency and reactive power vs voltage control loops - system load variation, load curves and basic concepts of load dispatching - load forecasting - Basics of speed governing mechanisms and modeling - speed load characteristics - regulation of two generators in parallel.
This presentation provides a detailed overview of air filter testing equipment, including its types, working principles, and industrial applications. Learn about key performance indicators such as filtration efficiency, pressure drop, and particulate holding capacity. The slides highlight standard testing methods (e.g., ISO 16890, EN 1822, ASHRAE 52.2), equipment configurations (such as aerosol generators, particle counters, and test ducts), and the role of automation and data logging in modern systems. Ideal for engineers, quality assurance professionals, and researchers involved in HVAC, automotive, cleanroom, or industrial filtration systems.
2. Attribution
• The material contained inside is intended for teaching.
• This document is licensed under the CC BY-NC-SA license.
• All figures and text borrowed from external sources retain the rights
of their respective owners.
2
3. Table of Contents
1. Bluetooth architecture and operation
2. Bluetooth profiles
3. Bluetooth transport protocols
4. Configuration of Bluetooth on Raspberry Pi
5. Programming with the Bluetooth API on Raspbian
3
5. What is Bluetooth?
• Bluetooth is a low-power wireless connectivity technology used to
stream audio, transfer data and broadcast information between
devices
• Two forms/flavors of Bluetooth technology
• Basic Rate/Enhanced Data Rate (BR/EDR)
• Low Energy (LE)
• Both systems include device discovery, connection establishment and
connection mechanisms
5
6. Basic Rate/Enhanced Data Rate (BR/EDR)
• Bluetooth BR/EDR enables continuous connections
• Point-to-point (P2P) network topology, one-to-one (1:1) device
communications
• Bluetooth BR/EDR audio streaming (e.g., wireless speakers, headsets,
hands-free in car systems)
• Basic Rate system includes optional Enhanced Data Rate (EDR) and
Alternate Media access control and Physical layer (AMP) extensions
• Synchronous and asynchronous connections
• 721.2 kb/s for BR, 2.1 Mb/s for EDR, up to 54 Mb/s with the 802.11 AMP
6
7. BR/EDR Operation
• BR/EDR radio PHY layer operates in the unlicensed ISM band at 2.4 GHz
• Frequency hopping transceiver to combat interference and fading
• BR uses a binary frequency modulation to minimize transceiver complexity
• 1 Msymbole/s -> 1Mb/s or with EDR 2 or 3Mb/s
• A physical radio channel is shared by a group of devices that are
synchronized to a common clock and frequency hopping pattern
• One master device provides the synchronization reference
• All other slave devices are synchronized to the master’s clock and frequency hopping
pattern
• Such a group of synchronized devices form a piconet
7
8. Time Slots
• The physical channel is sub-divided into time units known as slots
• Data is transmitted between Bluetooth devices in packets that are
positioned in these slots
• Up to 5 consecutive slots may be allocated to a single packet
• Frequency hopping may take place between the transmission or
reception of packets
• Bluetooth provides the effect of full duplex transmission through the
use of a Time-Division Duplex (TDD) scheme
8
9. Channels and Links Hierarchy
• The upwards hierarchy of channels and links
• physical channel, physical link, logical transport, logical link and L2CAP
channel
• Within a physical channel, physical links providing bidirectional packet
transport are formed between each slave and the master
• Physical links are not formed directly between the slaves
• The physical link is used as a transport for one or more logical links
that support unicast synchronous and asynchronous traffic, and
broadcast traffic
• Traffic on logical links is multiplexed onto the physical link by occupying slots
assigned by a scheduling function in the resource manager
9
10. Link Manager Protocol (LMP)
• Control protocol for the baseband and radio physical layers which is
carried over logical links in addition to user data
• Devices active in a piconet have a default asynchronous connection-
oriented logical transport, known as ACL logical transport
• The primary ACL logical transport is created whenever a device joins a
piconet
• LMP signaling is carried on the primary ACL and active slave broadcast logical
transports
10
11. Logical Link Control and Adaptation Protocol
(L2CAP)
• Above the baseband layer the L2CAP layer provides a channel-based
abstraction to applications and services
• It carries out segmentation and reassembly of application data and
multiplexing and de-multiplexing of multiple channels over a shared
logical link
• Application data submitted to the L2CAP protocol may be carried on any
logical link that supports the L2CAP protocol
• L2CAP has a protocol control channel that is carried over the default
ACL logical transport
11
12. L2CAP Architectural Blocks
• Connection-oriented and
connectionless data services to
upper layer protocols
• Permits higher level protocols and
applications to transmit and
receive data packets up to 64 kB
• L2CAP layer provides logical
channels, named L2CAP channels,
which are multiplexed over one or
more logical links
• Permits per-channel flow control
and retransmission
12
13. Low Energy (LE)
• Bluetooth LE enables short-burst wireless connections
• LE system requires lower current consumption, lower complexity and
lower cost than BR/EDR
• LE system has lower duty cycles and is designed for use cases and
applications with lower data rates
13
14. Low Energy Network Topologies
• Bluetooth LE uses multiple network topologies
• Point-to-point (P2P) topology for one-to-one device communications: data
transfers, connected devices
• (e.g., fitness trackers and health monitors)
• Broadcast topology for one-to-many device communications: localized
information sharing, beacon solutions
• (e.g., point-of-interest (PoI) information, item and way-finding services)
• Mesh topology for many-to-many (m:m) device communications: large-scale
device networks
• (e.g., building automation, sensor network, asset tracking)
14
15. Host and Controllers
• The Bluetooth core system consists of a Host and one or more
Controllers
• A Host is a logical entity defined as all of the layers below the non-
core profiles and above the Host Controller Interface (HCI)
• A Controller is a logical entity defined as all of the layers below HCI
• Two types of Controllers are defined in this version of the Core
Specification
• Primary Controllers
• Secondary Controllers
15
16. Controllers
• An implementation of the Bluetooth Core has only one Primary
Controller which may be
• a BR/EDR Controller including the Radio, Baseband, Link Manager and
optionally HCI
• an LE Controller including the LE PHY, Link Layer and optionally HCI
• a combined BR/EDR Controller portion and LE Controller portion into a single
Controller
• A Bluetooth core system may additionally have one or more
Secondary Controllers
• an Alternate MAC/PHY (AMP) Controller including an 802.11 PAL (Protocol
Adaptation Layer), 802.11 MAC and PHY, and optionally HCI
16
17. Bluetooth Host and Controller Combinations
• BR/EDR and LE Primary Controller
• BR/EDR and LE Primary Controller with one AMP Secondary Controller
• BR/EDR and LE Primary Controller with multiple AMP Secondary
Controllers
17
19. Profile Specifications
• Define possible applications and specify general behaviors that
Bluetooth devices use to communicate with other Bluetooth devices
• Define what kind of data a Bluetooth module is transmitting
• The device’s application determines which profiles it must support
• hands-free capabilities, heart rate sensors, alerts, etc.
19
20. Profile Compatibility
• For two Bluetooth devices to be compatible, they must support the same
profiles
• Profiles describing the same use case behaviors, are different for BR/EDR
and LE implementations
• Compatibility between BR/EDR and LE implementations requires a dual-mode
controller on at least one device
• For BR/EDR, a wide range of adopted profiles describe many different,
commonly used types of applications or use cases for devices
• For LE, developers can use a comprehensive set of adopted profiles, or they
can use Generic Attribute Profile (GATT) to create new profiles
• This flexibility helps support innovative new applications that maintain
interoperability with other Bluetooth devices
20
21. Traditional Profile Specifications
• Bluetooth profiles typically contain information such as dependencies
on other profiles and suggested user interface formats
• For BR/EDR, the profile will also specify the particular options and
parameters at each layer of the Bluetooth protocol stack
• this may include an outline of the required service record
• There are 27 adopted traditional profile specifications
21
22. Interesting Profiles for Data Transfer
• FTP: File Transfer Profile
• GOEP: Generic Object Exchange Profile
• MAP: Message Access Profile
• OPP: Object Push Profile
• SPP: Serial Port Profile
• GAP: Generic Access Profile
• Etc.
22
23. File Transfer Profile (FTP)
• A device can
• browse an object store (file
system) of another device
• transfer objects (files and folders
copy) to/from another device
• manipulate objects (files and
folders) on another device
(deleting objects, creating new
folders)
23
24. FTP Stack
• SDP is the Bluetooth service
discovery protocol
• OBEX is the Bluetooth
adaptation of the IrDA Object
Exchange Protocol
24
25. FTP Roles
• The Client device initiates the
operation, which pushes and pulls
objects to and from the Server or
instructs the Server to perform
actions on objects on the Server
• The Client shall be able to interpret
the OBEX Folder Listing format and
may display this information for the
user
• The Server device is the target remote
device that provides an object
exchange server and folder browsing
capability using the OBEX Folder
Listing format
25
26. Generic Object Exchange Profile (GOEP)
• GEOP provides object exchange
capabilities
• Usage models can be
Synchronization, File Transfer,
Object Push, etc.
26
27. GOEP Fundamentals
• Before a Server is used with a Client for the first time, a bonding procedure including the
pairing may be performed
• This procedure must be supported, but its usage is dependent on the application profiles
• In addition to the link level bonding, an OBEX initialization procedure may be performed
before the Client can use the Server for the first time
• The application profiles using GOEP must specify whether this procedure must be supported to
provide the required security level.
• Security can be provided by authenticating the other party upon connection
establishment, and by encrypting all user data on the link level
• The authentication and encryption must be supported by the devices; but whether they are used
depends on the application profile using GOEP.
• Link and channel establishments must be done according to the procedures defined in
the Generic Access Profile
• There are no fixed master/slave roles
• This profile does not require any lower power mode to be used
27
28. OBEX Protocol Operations
• Application profiles using GOEP must
specify which operations must be
supported to provide the functionality
defined in the application profiles
• The OBEX specification does not
define how long a client should wait
for a response to an OBEX request
• Implementations which do not provide a
user interface for canceling an OBEX
operation should wait a reasonable
period between a request and response
before automatically canceling the
operation (i.e., 30 seconds or more)
28
29. Establishment of OBEX Connection
• For the object exchange, the
OBEX connection can be made
with or without OBEX
authentication
• All application profiles using
GOEP must support an OBEX
session without authentication
as shown here
• Connect 0x80 (table 5.2)
• Response 0xA0 (table 5.3)
29
30. Pushing / Pulling Data to Server
• The data object(s) is pushed to the Server using the PUT operation of
the OBEX protocol
• The data object(s) is pulled from the Server using the GET operation
of the OBEX protocol
• For each case, the data can be sent in one or more OBEX packets
30
31. Serial Port Profile (SPP)
• The Serial Port Profile defines
protocols and procedures used
by devices using Bluetooth for
RS232 (or similar) serial cable
emulation
• For legacy applications using
Bluetooth as a cable
replacement, through a virtual
serial port abstraction
• which in itself is operating system-
dependent
31
32. SPP Stack
• Applications on both sides are
legacy applications, able to
communicate over a serial cable
(which in this case is emulated)
• Non-legacy applications wishing to
perform serial communications
over Bluetooth must also adhere to
the behavior specified in this
profile
• This ensures that all combinations of
legacy and non-legacy applications
remain interoperable at the
Bluetooth level
32
33. SPP Roles
• Device A (DevA) takes initiative to form a connection to another
device
• DevA is the Initiator according to GAP
• Device B (DevB) waits for another device to take initiative to connect
• DevB is the Acceptor according to GAP
• The order of connection (from DevA to DevB) is independent of the order in
which the legacy applications are started
• For mapping the Serial Port profile to the conventional serial port
architecture, both DevA and DevB can be either a Data Circuit
Endpoint (DCE) or a Data Terminal Endpoint (DTE)
• RFCOMM protocol is independent of DTE-DCE or DTE-DTE relationships
33
34. SPP Fundamentals
• Use of security features such as authorization, authentication and
encryption is optional
• Support for authentication and encryption is mandatory, such that the device
can take part in the corresponding procedures if requested from a peer
device
• Bonding is not used in this profile, and thus is optional
• Service discovery procedures have to be performed to set up an
emulated serial cable connection
• There are no fixed master slave roles
• RFCOMM is used to transport the user data, modem control signals
and configuration commands
34
35. GATT Specifications
• Generic Attributes (GATT) services are collections of characteristics
and relationships to other services that encapsulate the behavior of a
part of a device
• This also includes hierarchy of services, characteristics and attributes used in
the attribute server
• A GATT profile describes a use case, roles, and general behaviors
based on the GATT functionality
• enable innovation while maintaining interoperability with other Bluetooth
devices
35
36. GATT Overview
• GATT defines a hierarchical data structure that is exposed to
connected Bluetooth Low Energy (LE) devices
• GATT is built on top of the Attribute Protocol (ATT), which uses GATT
data to define how two LE devices send and receive standard
messages
• GATT defines procedures and formats of services and their
characteristics, including discovering, reading, writing, notifying and
indicating characteristics
36
37. GATT Profile Hierarchy
• The top level of the hierarchy is a profile,
which is composed of one or more
services necessary to fulfill a use case
• A service is composed of characteristics
or references to other services
• A characteristic consists of a type
(represented by a UUID), a value, a set of
properties indicating the operations the
characteristic supports and a set of
permissions relating to security
• It may also include one or more
descriptors—metadata or configuration flags
relating to the owning characteristic
37
38. GATT Client and Server Roles
• GATT defines client and server roles
• GATT procedures can be considered to be split into three basic types
• Discovery procedures
• Client-initiated procedures
• Server-initiated procedures
• The GATT server stores the data transported over the ATT and accepts ATT
requests, commands and confirmations from the GATT client
• The GATT server sends responses to requests and sends indications and
notifications asynchronously to the GATT client when specified events
occur on the GATT server
• GATT also specifies the format of data contained on the GATT server
38
40. Protocol Specifications
• Protocol specifications define the protocols that govern
communication among devices on Bluetooth networks
40
Protocol Specification Version Date Adopted
AVCTP A/V Control Transport
1.4
24 July 2012
AVDTP A/V Distribution Transport
1.3
24 July 2012
BNEP Bluetooth Network Encapsulation Protocol
1.0
20 February 2003
IrDA IrDA Interoperability
2.0
26 August 2010
MCAP Multi-Channel Adaptation Protocol
1.0
26 June 2008
RFCOMM RFCOMM
1.2
06 November 2012
41. Bluetooth Network Encapsulation Protocol
(BNEP)
• Encapsulates packets from
various networking protocols
• Those protocols are transported
over L2CAP
• The Bluetooth Personal Area
Networking (PAN) profile
describes how BNEP shall be
used to provide networking
capabilities for Bluetooth
devices
41
42. BNEP Assumptions
• Implemented using connection oriented L2CAP channels
• Bluetooth is considered to be a data link layer transmission media
• L2CAP is considered to be the Bluetooth Data MAC layer
• Specifies a minimum L2CAP MTU of 1691 bytes
• IEEE802.3 rules of network connectivity and topology shall be applied
to Bluetooth in a manner consistent with IEEE 802.3 media
• The Bluetooth BD_ADDR address space is administered by the IEEE,
and is assigned from the Ethernet address space
• It is possible to build a Bluetooth network access point as a bridge between
Bluetooth devices and an Ethernet network
42
43. Byte and Bit Ordering
• Multiple-byte fields are written from MSB on the left to LSB on the
right
• Multiple-byte fields in the BNEP header are in standard network byte
order (big endian)
• more significant bytes (byte 0 is the most significant byte) being transferred
before less significant bytes (low-order)
• Multiple-bit fields are written msb left to lsb right
43
44. BNEP for Transporting an Ethernet Payload
• BNEP removes and replaces the Ethernet Header with the BNEP Header
• Both the BNEP Header and the Ethernet Payload is encapsulated by L2CAP
• Maximum payload that BNEP shall accept from the higher layer is equal to
the negotiated L2CAP MTU (minimum value: 1691), minus 191 bytes (or
187 bytes if IEEE 802.1Q) reserved for BNEP headers
44
45. Sending an Ethernet Frame
• The BNEP_GENERAL_ETHERNET (0x00) packet type header is used to
carry Ethernet frames to and from Bluetooth networks
• Example frame sent from a device with 48 bit IEEE address of
00:AA:00:55:44:33 to a 48 bit Bluetooth address of 00:30:B7:45:67:89
45
46. Sending an IP Packet between Bluetooth
Master and Slave
• The BNEP_COMPRESSED_ETHERNET (0x02) packet type header is used to carry packets
to and from devices that are directly connected at L2CAP level (have a valid L2CAP
channel for BNEP)
• It may be used when two Bluetooth devices are exchanging packets, in which the source
@ is set to the local device’s @ which is the source device sending the packet and
destination @ is set to the other device’s @ which is the final destination for the packet
• Devices do not need to include the source or destination @s because they are neighbors
46
47. RFCOMM Protocol
• Provides emulation of serial ports over the L2CAP protocol
• Based on a subset of the ETSI standard GSM 07.10
• Supports up to 60 simultaneous connections between two devices
• Binary numbers are ordered/sent from left to right from least
significant bit (lsb) to most significant bit (msb)
47
48. Service Overview
• RFCOMM can emulate the nine circuits of RS-232 (ITU-T V.24) serial
ports
• Built-in scheme for null modem emulation
• If a baud rate is set for a particular port through the RFCOMM service
interface, that will not affect the actual data throughput in RFCOMM
(no artificial rate limitation or pacing)
• If either device is a type 2 device (relays data onto other media), or if
data pacing is done above the RFCOMM service interface in either or
both ends, actual throughput will reflect the baud rate setting
48
49. RS-232 Control Signals
• Serial port emulation includes
transfer of the state of the non-
data circuits
• RFCOMM supports emulation of
multiple serial ports between
two devices and emulation of
serial ports between multiple
devices
49
50. Control Signals
• For the transfer of the states of
the non-data circuits, GSM 07.10
does not distinguish between
DTE and DCE devices
50
51. Null Modem Emulation
• RS-232 control signals are sent
as a number of DTE/DCE
independent signals which
creates an implicit null modem
when two devices of the same
kind are connected together
• The cable-wiring scheme of the
null modem created when two
DTE are connected via RFCOMM
works in most cases
51
52. Device Type
• Type 1 devices are communication endpoints such as computers and
printers
• Type 2 devices are those that are part of the communication segment
such as modems
• In the protocol, no distinction is made between type 1 and type 2: the
information transferred between two RFCOMM entities has been
defined to support both types of devices
• some information is only needed by type 2 devices while other information is
intended to be used by both
• Since the device is not aware of the type of the other device, each
shall pass on all available information specified by the protocol
52
53. Direct/Network Connection
• RFCOMM is intended to cover
applications that make use of the serial
ports of the devices in which they reside
• In the simple configuration, the
communication segment is a Bluetooth
link from one device to another (direct
connect)
• Where the communication segment is
another network, Bluetooth is used for
the path between the device and a
network connection device like a modem
• RFCOMM is only concerned with the
connection between the devices in the
direct connect case, or between the
device and a modem in the network case
53
56. Flow Control
• L2CAP may employ either the Link Controller stop and go flow control
mechanism or the L2CAP per-channel flow control mechanism
• The flow control mechanism between the L2CAP and RFCOMM layers is
implementation-specific
• Wired Serial ports use 1) software flow control using characters such as
XON/XOFF 2) flow control using RTS/CTS or DTR/DSR circuits
• These methods may be used by both sides of a wired link, or may be used only in
one direction
• The GSM 07.10 protocol provides two flow control mechanisms
• The GSM 07.10 protocol contains flow control commands that operate on the
aggregate data flow between two RFCOMM entities; i.e. all DLCIs are affected
• The Modem Status command is the flow control mechanism that operates on
individual DLCI
• It is mandatory to support these GSM 07.10-styles of flow control, in order to maintain
backward compatibility with earlier Bluetooth versions
56
58. Bluetooth Installation
• Update and get the packages
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install bluetooth bluez bluez-utils blueman
python-gobject python-gobject-2
• Start the GUI desktop
startx
58
59. Bluetooth Configuration
• Check bluetooth status
sudo systemctl status bluetooth
• Disable SAP in the configuration file
/lib/systemd/system/bluetooth.service
ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap
• Restart
$ sudo systemctl daemon-reload
$ service bluetooth restart
• The command line control tool is bluetoothctl
• Use list and show options, use man if needed
59
60. Bluetooth Connection
• Switch your Bluetooth device on and activate pairing mode
• Typically involves holding down a button or key, see device’s documentation
• With the device in pairing mode, click the Bluetooth icon on the
Raspbian taskbar (near the clock at the right edge of the screen)
• Click on Add Device to launch the Add New Device menu
• Find your chosen device in the list, and then click Pair
• The Pi will launch the pairing procedure (differs from device to
device), follow onscreen instructions to pair the two devices together
60
62. Development Tools
• Bluez is the official Linux Bluetooth protocol stack
• It includes a kernel module, libraries and utilities
• Information is here
http://www.bluez.org/
• Source code can be found here
http://www.bluez.org/development/git/
• For C programming
apt-get install libbluetooth-dev
62
64. Bluez Capabilities
• Current protocols: HCI, L2CAP, SDP, RFCOMM, OBEX, BNEP, etc.
• Current profiles: GAP, SDAP, SPP, GOEP, DUN, LAN, PUSH, SYNC, FTP,
PAN, etc.
• Full source code is available under the GPL
• Socket based interfaces
• Simple API for special HCI or SDP tasks
• Access to all Bluetooth host layers
64
65. Python Development Libraries
• The PyBluez library
https://github.com/karulis/pybluez
• It can be downloaded at the Python Package Index
https://pypi.python.org/pypi/PyBluez/0.22
• The LightBlue library
https://pypi.python.org/pypi/lightblue/0.2
• The PyOBEX library
https://pypi.python.org/pypi/PyOBEX/0.10
65
66. Python 3 Socket Library
• Since version 3.3, Bluetooth is integrated into the sockets API
https://docs.python.org/3.3/library/socket.html
• Write your classic C/S program
• AF_BLUETOOTH supports the following protocols and address formats
• BTPROTO_L2CAP accepts (bdaddr, psm) where bdaddr is the Bluetooth
address as a string and psm is an integer.
• BTPROTO_RFCOMM accepts (bdaddr, channel) where bdaddr is the Bluetooth
address as a string and channel is an integer.
• BTPROTO_HCI accepts (device_id,) where device_id is either an integer or a
string with the Bluetooth address of the interface
• BTPROTO_SCO accepts bdaddr where bdaddr is a bytes object containing the
Bluetooth address in a string format. (ex. b'12:23:34:45:56:67')
66