https://github.com/bertrandmartel/pusher
:black_square_button: Mechanical wall switch button pusher securely controlled via Bluetooth LE
https://github.com/bertrandmartel/pusher
aes android android-application bluetooth-le cpp rfduino servo
Last synced: about 1 month ago
JSON representation
:black_square_button: Mechanical wall switch button pusher securely controlled via Bluetooth LE
- Host: GitHub
- URL: https://github.com/bertrandmartel/pusher
- Owner: bertrandmartel
- License: gpl-3.0
- Created: 2016-06-27T23:20:45.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-01-17T14:42:26.000Z (over 8 years ago)
- Last Synced: 2024-11-09T08:42:51.480Z (11 months ago)
- Topics: aes, android, android-application, bluetooth-le, cpp, rfduino, servo
- Language: Java
- Homepage: https://bertrandmartel.github.io/pusher
- Size: 20.9 MB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Pusher
[](https://circleci.com/gh/bertrandmartel/pusher) [](LICENSE.md)
Mechanical wall switch button pusher securely controlled via Bluetooth LE with RFduino module/LCD panel & via Android smartphone
[](https://play.google.com/store/apps/details?id=com.github.akinaru.roboticbuttonpusher)


***
Application layer association security :
* AES 256 encryption
* user code for key exchange
* additional password protectionprotected against MIM & Replay attack

## Project structure
* **/firmware** - microcontroller code written for RFduino
* **/android** - android application to control device
* **/hardware** - wiring diagram, schematics & BOM## Build
### Get source code
```
git clone git@github.com:bertrandmartel/pusher.git
cd pusher
git submodule update --init --recursive
```### Build Firmware
```
cd firmware
make
```### Build Android App
```
cd android
./gradlew build
```## [Firmware specifications](https://github.com/bertrandmartel/pusher/blob/master/firmware/README.md)
## [Hardware specifications](https://github.com/bertrandmartel/pusher/blob/master/hardware/README.md)
## External library
### Firmware
* rfduino software : https://github.com/RFduino/RFduino
* LiquidCrystal arduino library : https://github.com/arduino-libraries/LiquidCrystal
* rfduino-makefile : https://github.com/bertrandmartel/rfduino-makefile
* AES library by Brian Gladman### Android application
* smart Android dot progress bar : https://github.com/silvestrpredko/DotProgressBarExample
* AES library by Brian Gladman
* appcompat-v7, design & recyclerview-v7## License
```
Copyright (C) 2016 Bertrand MartelThis program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.Pusher is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with Pusher. If not, see .
```