2022-07-19 09:48:03 -07:00
2022-06-10 12:39:07 -07:00
2022-07-11 15:44:44 -07:00
2022-07-19 09:48:03 -07:00
2022-07-19 09:48:03 -07:00
2022-07-18 14:56:54 -07:00
2022-07-06 10:15:24 -07:00
2022-07-15 15:00:43 -06:00
2022-07-18 16:00:55 -07:00
2022-06-09 08:45:11 -06:00
2022-07-06 12:27:19 -07:00
2022-07-18 13:46:48 -07:00

sphinx-key

These notes were tested for macOS

set CFLAGS

Before building the sphinx-key esp software, run this:

export CFLAGS=-fno-pic

find your esp GCC

Find the path to your riscv32-esp-elf-gcc binary within the .embuild dir:

export CC=$PWD/.embuild/espressif/tools/riscv32-esp-elf/esp-2021r2-patch3-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc

build test

cargo build --features pingpong

flash test

espflash target/riscv32imc-esp-espidf/debug/sphinx-key --monitor

build release

cargo build --release

flash release

esptool.py --chip esp32c3 elf2image target/riscv32imc-esp-espidf/release/sphinx-key

esptool.py --chip esp32c3 -p /dev/tty.usbserial-1420 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x10000 target/riscv32imc-esp-espidf/release/sphinx-key.bin

monitor

ls /dev/tty.*
ls /dev/cu.*
espmonitor /dev/tty.usbserial-1420

configure the hardware

make a seed: ./sphinx-key/newseed.sh

make a .env file like:

SSID=my_ssid
PASS=my_wifi_password
BROKER=my_ip:1883
SEED=my_seed
NETWORK=regtest

connect to the sphinxkey network on your computer

cargo run --bin config

This will encrypt your seed and send to the hardware, along with your home wifi information and broker address

dependencies

cd sphinx-key

cargo nightly:

rustup install nightly

rustup component add rust-src --toolchain nightly

rustup default nightly

python 3.7 or higher is required
cargo sub-commands:

cargo install cargo-generate

cargo install ldproxy

cargo install espflash

cargo install espmonitor

clear NVS

espflash target/riscv32imc-esp-espidf/debug/clear espmonitor /dev/tty.usbserial-1420

cargo generate esp-rs

cargo generate --git https://github.com/esp-rs/esp-idf-template cargo

std support: true
v4.4
esp32c3
nightly

cargo build

to tell sphinx-key where to find the MQTT broker:

clear the NVS with instructions above if sphinx-key has stale Wifi creds.
restart sphinx key, then from computer connect to sphinxkey AP.
go to http://192.168.71.1/?broker=52.91.253.115%3A1883.
input internet wifi SSID and password, and the IP address of the broker.
after pressing the ok button, restart the sphinx key, and wait for a MQTT connection.

espflash notes

espflash save-image esp32-c3 target/riscv32imc-esp-espidf/release/sphinx-key ./test-flash

espflash board-info

export CC=$PWD/.embuild/espressif/tools/riscv32-esp-elf/esp-2021r2-8.4.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc

cargo +nightly build --release

esptool.py --chip esp32c3 elf2image target/riscv32imc-esp-espidf/release/sphinx-key

esptool.py --chip esp32c3 -p /dev/tty.usbserial-1420 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x10000 target/riscv32imc-esp-espidf/release/sphinx-key.bin

espmonitor /dev/tty.usbserial-1420

config

./sphinx-key/rando.sh

make your .env

cargo run --bin config

Description
No description provided
Readme 1.8 MiB
Languages
Rust 95.6%
Shell 3.1%
Dockerfile 1.1%
Makefile 0.2%