BeaconPi is a python project that implements the CtrlBeacon protocol. The protocol aims to have many peculiarities. Some of there are:
- No internet is required.
- Really low latency.
- Fault tollerant.
- Privacy and security improves.
If you want to learn more about the protocols here there is my first thesis that's all about it!
- Python > 3.4
- Bluez library
- Crypto module
You should also have the following requirements:
- Raspberry
- A supported wlan adapter (nl80211 driver) or the built-in adapter of Raspberry 0W and 3+
Dillinger requires the BlueZ library to run, installing it on a raspberry could be very annoying. You can choose two ways:
Download and compile last version of boost available. Download the Gattlib library library then you need to modify the setup.py script in order to work with python != 3.4. In order to do that you can execute the following commands and replace "boost_python-py35" with "boost_python-py<your_version>", where <your_version> = <35|36|..> Compile libboost library with PYTHON_VER=3 flag on your raspberry then:
$ sudo apt-get install libbluetooth-dev libreadline-dev libgtk2.0-dev
$ wget https://pypi.python.org/packages/be/2f/5b1aecec551b42b59d8b399ad444b5672972efb590ca83d784dbe616a3e1/gattlib-0.20150805.tar.gz
$ tar -xvzf gattlib-0.20150805.tar.gz
$ cd gattlib-*
$ sed -ie 's/boost_python-py34/boost_python-py35/' setup.py
$ python3 setup.py install
Flash a dd image with bluez already set up.
Link: https://mega.nz/#!XUcgXQZY!foqC2FuKQmW3fZZeupTImAdK3za1n-6_R4zP2onNRS4
Assuming the file is renamed in backup_dd.img and the uSD you want to flash is reachable at /dev/rdiskX, run dd to flash the image.
$ sudo dd bs=4m if=backup_dd.img of=/dev/rdiskX conv=noerror,sync
- Write MORE Tests
- Improve code
- Add different packets and commands