Skip to content

Commit

Permalink
Updated README.md and INSTALL.md.
Browse files Browse the repository at this point in the history
  • Loading branch information
virtualabs committed Sep 6, 2022
1 parent acf6c32 commit f9421d0
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 44 deletions.
36 changes: 28 additions & 8 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,42 @@

## Development framework

To install esp-idf framework, follow the procedure avaiable here:

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/#get-started-get-esp-idf
Install the Espressif SDK:
* Get Espressif's ESP-IDF framework (version 4.4.2) and install it (following the instructions at https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/)
* In the installation of ESP-IDF, make sure you specify `-b v4.4.2` when cloning
```
mkdir -p ~/esp
cd ~/esp
git clone --recursive -b v4.4.2 https://github.com/espressif/esp-idf.git
cd esp-idf/
./install.sh esp32
. ./export.sh
idf.py --version
```
* Verify the output, it should be 4.4.2

## Hackwatch projet

Clone the hackwatch project from github:

cd ~/esp/
git clone --recurse-submodules https://github.com/virtualabs/hackwatch
git clone --recurse-submodules https://github.com/virtualabs/hackwatch
cd hackwatch

Customize feature and select T-Watch 2020 version:
* `idf.py menuconfig`
* To decide what feature (Wifi, BLE and/or IR):
* Choose `HackWatch menu`
* To select your T-Watch version:
* Choose `Component config`
* Go at the very bottom and pick `T-Watch Lib`
* Select `Target T-Watch version` to choose between `T-Watch 2020 v1`, `v2` or `v3`
* (S)ave and quit

## Compile

To compile the project

cd ~/esp/hackwatch
idf.py build

## Flash
Expand All @@ -27,12 +47,12 @@ Start the watch then connect it in USB to the computer.

To flash the code execute this command:

idf.py -p /dev/ttyUSB0 -b 460800 flash
idf.py -p <your USB port> flash

## Monitor
## Debugging the firmware (monitor mode)

To monitor the execution:

idf.py -p /dev/ttyUSB0 monitor
idf.py -p <your USB port> monitor


82 changes: 46 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,42 +29,52 @@ T-Watch 2020 v2 is a bit diferent:
T-Watch 2020 v3 is very similar to v1 but add:
* PDM microphone


How to build this project
-------------------------

Install the Espressif SDK:
* Get Espressif's ESP-IDF framework (version 4.4.2) and install it (following the instructions at https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/)
* In the installation of ESP-IDF, make sure you specify `-b v4.4.2` when cloning
```
mkdir -p ~/esp
cd ~/esp
git clone --recursive -b v4.4.2 https://github.com/espressif/esp-idf.git
cd esp-idf/
./install.sh esp32
. ./export.sh
idf.py --version
```
* Verify the output, it should be 4.4.2

Clone the main repo:
```
git clone https://github.com/virtualabs/hackwatch
cd hackwatch/
git submodule update --init --recursive
```


Customize feature and select T-Watch 2020 version:
* `idf.py menuconfig`
* To decide what feature (Wifi, BLE and/or IR):
* Choose `HackWatch menu`
* To select your T-Watch version:
* Choose `Component config`
* Go at the very bottom and pick `T-Watch Lib`
* Select `Target T-Watch version` to choose between `T-Watch 2020 v1`, `v2` or `v3`
* (S)ave and quit


Compile and Flash your watch:
* type `idf.py build` to build this project
* type `idf.py -p <your USB port> flash` to also flash your smartwatch
See [INSTALL](INSTALL.md).


How to use it
-------------

Once flashed, the watch will restart and display the current time and date. Swipe left or right to browse the
main categories, swipe up on a category screen to access the different tools/screens available. Basically,
categories/tools navigation is done by swiping the screen :).

Pressing the button on the right side of the watch will bring you back to the current category and then to
the main screen. If this button is pressed when on the main screen (clock), the watch will go in deep sleep
mode and can be wake up by pressing the button again.

Provided tools
--------------

### WiFi

This smartwatch provides a real-time WiFi network scanner, a WiFi channel scanner, a rogue AP generator and
a WiFi deauth tool.

The WiFi Scanner shows a list of available wireless access points, along with their RSSI levels and MAC
addresses. Information about security and channel can be displayed when an access point is selected.

The WiFi channel scanner simply loops on every possible channel and shows the *activity*. It could be useful
to find less noisy channels when setting up a WiFi network.

The WiFi Rogue AP generator provides a way to spoof a specific WiFi access point (previously selected) in
order to force stations to connect to it instead of the legitimate access point. Security is set to open by
default, and no IP will be provided on connection (no DHCP server started, and no web server).

The WiFi Deauth tool allows you to automatically disconnect every connected station from a given WiFi
network. This is quite similar to other projects like [ESP32 WiFi Penetration tool](https://github.com/risinek/esp32-wifi-penetration-tool) or [ESP32 Deauther](https://github.com/GANESH-ICMC/esp32-deauther).

### Bluetooth Low Energy

The smartwatch includes a BLE scanner that performs fingerprinting of detected devices and classifying
them in various categories (watch, health device, audio, etc.). It also provides a dedicated feature
to retrieve the Bluetooth Low Energy baseband vendor and software version (using BLE LL_VERSION_IND PDU).

### Infrared

A TV-B-Gone feature has been added to the watch. It can be started from the Infrared tool, and kept active
while the watch still remains on its main screen (stealth mode :D).

0 comments on commit f9421d0

Please sign in to comment.