- 1 - Introduction
- 1.1 - Apps
- 2 - End user usage
- 3 - Compiling
- 3.1 - Building prerequisites
- 3.1.1 - NodeMCU App prerequisites
- 3.1.2 - Flutter App
- 3.1.3 - Server
- 3.2 - Compiling and running
- 3.2.1 - NodeMCU App
- 3.2.2 - Flutter App
- 3.2.3 - Server
- 3.1 - Building prerequisites
- 4 - Docs
- 4.1 - Server
SmartLock is a project that aims to create a NodeMCU SmartLock that querries a server - made in Spring Boot - and that can be controlled through and iPhone as well as Android app, made in flutter. As such is composed by 3 different compiles, dependant on eachother.
Application Name | Location on project | Description |
---|---|---|
SmartLock Flutter App | ~/lock_app/ | Application that supports both Android and iOS, made in Flutter, used with your server account to access and manage your locks. |
SmartLock Spring Server | ~/server/ | Application containing a Spring Boot server that is used to control access to the locks, as well as opening and closing them. It also word as an auth door. |
SmartLock Arduino Client | ~/lockClient/ | Arduino-build app that runs on the Locks to query the server and open or close the lock on request. |
To use your SmartLock simply download the app from the AppStore or PlayStore. Register a new account and use the lock, as simple as that.
- 1 Download the App from the AppStore or PlayStore
- 2 Modify /lockClient/lockClient.ino wifi config on lines 27 and 28 to match the desired one and compile it to the ESP8266
- 3 Register a new account if you don't have one
- 4 Login to the new account
- 5 Add the lock by navigating to
Locks -> Add Lock
and entering a Name as well as the lock UUID - 6 The lock is added an ready to use by navigating to
Locks -> name of the new lock
Should you want to use your own version of the compilied apps, this are the steps used to compile them.
- Arduino IDE > https://www.arduino.cc/en/Main/Software
- ESP8266 USB Driver > http://arduino.esp8266.com/stable/package_esp8266com_index.json (add to your Android IDE board manager)
- Stepper_By_J Stepper motor library > https://github.com/thomasfredericks/Stepper_28BYJ_48`
- Flutter 1.7.8 > https://flutter.dev/docs/get-started/install
- Dart 2.4.0 > https://dart.dev/get-dart
(all other dependencies are covered in pubspec.yaml)
- Gradle
- Java JDK 1.8, all other dependencies will be covered by Gradle
Compile through the Arduino IDE and load into a ESP8266.
flutter run
to run it on an emulator.
flutter build apk --split-per-abi
to generate the APKs.
As simple as gradle build
, and then run the generated JAR file
Server documentation is available at https://agusayerza.github.io/smartlock/