Raspberry pi is a small and single board Computer can be used for many different projects it was developed by Raspberry pi foundation in United Kingdom. It has the main processor a SoC(system-on-chip) Broadcom processors similar to the nowadays SoC chip found in Smartphone.
Foundation has developed and launched many different versions of Raspberry pi like Raspberry pi , Raspberry pi A, Raspberry pi B+, Raspberry pi B 2, Raspberry pi Commute and the latest Raspberry pi 3 having Wi-fi and Bluetooth 4.0 they recently released Raspberry pi zero w as a low cost version costly nearly 10$ having both Wi-Fi and Bluetooth.
We used Raspberry pi 3 model for this project it has quad-core 64-bit ARM cortex A53 clocked at 1.2GHz and 1GB of RAM. Raspbian OS is used which can be run on Pi using a micro-SD card.
The OS has many different programming language pre-installed python , java and most important Linux command line. It also Comes with VNC client so one using VNC viewer can access the Raspberry pi.
Latest version of Bluez i.e. 5.44 was updated on raspberry pi for best results, Linux commands and Bluetooth Module were spawn from python script. Python Script was made keeping in mind to send Linux command to command line and the output of this commands can be observe, used and manipulated in python. Pure python module pexpect is used to spawn the Bluetoothctl utility of the Linux command which enable us to have all control over the Bluetooth operations on raspberry pi.
This project only requires internet connection and no other hardware components are required to attach to raspberry pi so it is ‘Plug and use’ kind of project.
The programmed raspberry pi starts scanning as soon as it is given a power source; it will run continuously unless and until externally disturbed. The process will stop when power source is removed; a stable internet connection and power source are the only Requirement for this project.
Raspberry pi has a 3 minute storage facility for each scan so no device data is stored on raspberry pi everything gets erase after 3 minute. The detected device can be seen on the GUI provided