feat: wifi 连接,网络校时,MQTT。
This commit is contained in:
45
.devcontainer/Dockerfile
Normal file
45
.devcontainer/Dockerfile
Normal file
@ -0,0 +1,45 @@
|
||||
ARG VARIANT=bullseye
|
||||
FROM debian:${VARIANT}
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV LC_ALL=C.UTF-8
|
||||
ENV LANG=C.UTF-8
|
||||
|
||||
# Arguments
|
||||
ARG CONTAINER_USER=esp
|
||||
ARG CONTAINER_GROUP=esp
|
||||
ARG TOOLCHAIN_VERSION=1.62.0.0
|
||||
ARG ESP_IDF_VERSION=release/v4.4
|
||||
ARG ESP_BOARD=esp32
|
||||
ARG INSTALL_RUST_TOOLCHAIN=install-rust-toolchain.sh
|
||||
|
||||
# Install dependencies
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y git curl gcc clang ninja-build libudev-dev unzip xz-utils\
|
||||
python3 python3-pip python3-venv libusb-1.0-0 libssl-dev pkg-config libtinfo5 libpython2.7 \
|
||||
&& apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts
|
||||
|
||||
# Set users
|
||||
RUN adduser --disabled-password --gecos "" ${CONTAINER_USER}
|
||||
USER ${CONTAINER_USER}
|
||||
WORKDIR /home/${CONTAINER_USER}
|
||||
|
||||
# Install Rust toolchain, extra crates and esp-idf
|
||||
ENV PATH=${PATH}:/home/${CONTAINER_USER}/.cargo/bin:/home/${CONTAINER_USER}/opt/bin
|
||||
|
||||
ADD --chown=${CONTAINER_USER}:${CONTAINER_GROUP} \
|
||||
https://github.com/esp-rs/rust-build/releases/download/v${TOOLCHAIN_VERSION}/${INSTALL_RUST_TOOLCHAIN} \
|
||||
/home/${CONTAINER_USER}/${INSTALL_RUST_TOOLCHAIN}
|
||||
|
||||
RUN chmod a+x ${INSTALL_RUST_TOOLCHAIN} \
|
||||
&& ./${INSTALL_RUST_TOOLCHAIN} \
|
||||
--extra-crates "ldproxy cargo-espflash wokwi-server web-flash" \
|
||||
--export-file /home/${CONTAINER_USER}/export-esp.sh \
|
||||
--esp-idf-version "${ESP_IDF_VERSION}" \
|
||||
--minified-esp-idf "YES" \
|
||||
--build-target "${ESP_BOARD}" \
|
||||
&& rustup component add clippy rustfmt
|
||||
|
||||
# Activate ESP environment
|
||||
RUN echo "source /home/${CONTAINER_USER}/export-esp.sh" >> ~/.bashrc
|
||||
|
||||
CMD [ "/bin/bash" ]
|
45
.devcontainer/devcontainer.json
Normal file
45
.devcontainer/devcontainer.json
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
"name": "esp32_c3_rust_wifi_demo",
|
||||
// Select between image and build propieties to pull or build the image.
|
||||
// "image": "docker.io/espressif/idf-rust:esp32c3_v4.4_1.61.0.0",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
"CONTAINER_USER": "esp",
|
||||
"CONTAINER_GROUP": "esp",
|
||||
"ESP_IDF_VERSION":"release/v4.4",
|
||||
"ESP_BOARD": "esp32c3"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.formatOnSave": true,
|
||||
"editor.formatOnSaveMode": "modifications",
|
||||
"editor.formatOnType": true,
|
||||
"lldb.executable": "/usr/bin/lldb",
|
||||
"files.watcherExclude": {
|
||||
"**/target/**": true
|
||||
},
|
||||
"rust-analyzer.checkOnSave.command": "clippy",
|
||||
"rust-analyzer.checkOnSave.allTargets": false,
|
||||
"[rust]": {
|
||||
"editor.defaultFormatter": "rust-lang.rust-analyzer"
|
||||
}
|
||||
},
|
||||
"extensions": [
|
||||
"rust-lang.rust-analyzer",
|
||||
"tamasfe.even-better-toml",
|
||||
"serayuzgur.crates",
|
||||
"mutantdino.resourcemonitor",
|
||||
"yzhang.markdown-all-in-one",
|
||||
"webfreak.debug",
|
||||
"actboy168.tasks"
|
||||
],
|
||||
"forwardPorts": [
|
||||
9012,
|
||||
9333,
|
||||
8000
|
||||
],
|
||||
"workspaceMount": "source=${localWorkspaceFolder},target=/home/esp/esp32_c3_rust_wifi_demo,type=bind,consistency=cached",
|
||||
"workspaceFolder": "/home/esp/esp32_c3_rust_wifi_demo"
|
||||
}
|
Reference in New Issue
Block a user