diff --git a/docs/getting-started.md b/docs/getting-started.md index 2012f629..a0415331 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -2,55 +2,106 @@ ## Install Platformio -Install PlatformIO IDE for embedded development to build this project. Platformio integrates with your favorite IDE, choose e.g. Visual Studio Code, Atom, Eclipse etc. +Install PlatformIO IDE for embedded development to build this project. Platformio integrates with your favorite IDE, choose e.g. [Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide), Atom, Eclipse etc. Compile time configuration is spread across several files. Before compiling the code, edit or create the following files: ## platformio.ini Edit `platformio_orig.ini` (for ESP32 CPU based boards) *or* `platformio_orig_s3.ini` (for ESP32-S3 CPU based boards) and select desired board in section **board**. To add a new board, create an appropriate hardware abstraction layer file in hal subdirectory, and add a pointer to this file in section **board**. Copy or rename to `platformio.ini` in the root directory of the project. Now start Platformio. +### Selecting a board -``` bash title="Copy with terminal" -cp platformio_orig.ini platformio.ini +```ini linenums="6" title="Uncomment your board" +--8<-- "platformio_orig.ini:6:36" ``` +=== "Copy" + ``` bash + cp platformio_orig.ini platformio.ini + ``` +=== "Rename" + ``` bash + mv platformio_orig.ini platformio.ini + ``` + !!! info Platformio is looking for `platformio.ini` in the root directory and won't start if it does not find this file! + + ## paxcounter.conf Edit `src/paxcounter_orig.conf` and tailor settings in this file according to your needs and use case. Please take care of the duty cycle regulations of the LoRaWAN network you're going to use. Copy or rename to `src/paxcounter.conf`. -``` bash title="Copy with terminal" -cp src/paxcounter_orig.conf src/paxcounter.conf -``` +=== "Copy" + ``` bash + cp src/paxcounter_orig.conf src/paxcounter.conf + ``` +=== "Rename" + ``` bash + mv src/paxcounter_orig.conf src/paxcounter.conf + ``` If your device has a **real time clock** it can be updated by either LoRaWAN network or GPS time, according to settings *TIME_SYNC_INTERVAL* and *TIME_SYNC_LORAWAN* in `paxcounter.conf`. +```c linenums="85" title="paxcounter.conf" +--8<-- "src/paxcounter_orig.conf:85:85" +``` + ## src/lmic_config.h Edit `src/lmic_config.h` and tailor settings in this file according to your country and device hardware. Please take care of national regulations when selecting the frequency band for LoRaWAN. +```c linenums="9" title="national regulations in src/lmic_config.h " +--8<-- "src/lmic_config.h:9:18" +``` + ## src/loraconf.h Create file `src/loraconf.h` using the template [src/loraconf_sample.h](https://github.com/cyberman54/ESP32-Paxcounter/blob/master/src/loraconf_sample.h) and adjust settings to use your personal values. To join the network and activate your paxcounter, you must configure either OTAA or ABP join method. You should use OTAA, whenever possible. To understand the differences of the two methods, [this article](https://www.thethingsnetwork.org/docs/devices/registration.html) may be useful. -``` bash title="Copy with terminal" -cp src/loraconf_sample.h src/loraconf.h -``` +=== "Copy" + ``` bash + cp src/loraconf_sample.h src/loraconf.h + ``` +=== "Rename" + ``` bash + mv src/loraconf_sample.h src/loraconf.h + ``` + To configure OTAA, leave `#define LORA_ABP` deactivated (commented). To use ABP, activate (uncomment) `#define LORA_ABP` in the file `src/loraconf.h`. The file `src/loraconf_sample.h` contains more information about the values to provide. -## src/ota.conf -Create file `src/ota.conf` using the template [src/ota_sample.conf](https://github.com/cyberman54/ESP32-Paxcounter/blob/master/src/ota_sample.conf) and enter your WIFI network&key. These settings are used for downloading updates via WiFi, either from a remote https server, or locally via WebUI. If you want to use a remote server, you need a PAX.express repository. Enter your PAX.express credentials in ota.conf. If you don't need wireless firmware updates just rename ota.sample.conf to ota.conf. +=== "Activate OTAA (Default), Deactivate ABP" + ``` c linenums="18" title="src/loraconf.h" + --8<-- "src/loraconf_sample.h:18:18" + ``` +=== "Deactivate OTAA, Activate ABP" + ``` c linenums="18" title="src/loraconf.h" + #define LORA_ABP + ``` -``` bash title="Copy with terminal" -cp src/ota_sample.conf src/ota.conf -``` + +## src/ota.conf +Create file `src/ota.conf` using the template [src/ota_sample.conf](https://github.com/cyberman54/ESP32-Paxcounter/blob/master/src/ota_sample.conf) and enter your WIFI network & key. These settings are used for downloading updates via WiFi, either from a remote https server, or locally via WebUI. If you want to use a remote server, you need a PAX.express repository. Enter your PAX.express credentials in ota.conf. If you don't need wireless firmware updates just rename ota.sample.conf to ota.conf. + +=== "Copy" + ``` bash + cp src/ota_sample.conf src/ota.conf + ``` +=== "Rename" + ``` bash + mv src/ota_sample.conf src/ota.conf + ``` # Building Use PlatformIO with your preferred IDE for development and building this code. Make sure you have latest PlatformIO version. # Uploading +!!! warning + + 1. After editing `paxcounter.conf`, use "clean" button before "build" in PlatformIO! + 2. Clear NVRAM of the board to delete previous stored runtime settings (`pio run -t erase`) + - **by cable, via USB/UART interface:** To upload the code via cable to your ESP32 board this needs to be switched from run to bootloader mode. Boards with USB bridge like Heltec and TTGO usually have an onboard logic which allows soft switching by the upload tool. In PlatformIO this happenes automatically.

The LoPy/LoPy4/FiPy board needs to be set manually. See these diff --git a/docs/license-credits.md b/docs/license-credits.md index bfb261a5..69f8a595 100644 --- a/docs/license-credits.md +++ b/docs/license-credits.md @@ -8,7 +8,7 @@ Copyright 2018-2022 Klaus Wilting you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 +[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, @@ -16,9 +16,9 @@ Copyright 2018-2022 Klaus Wilting See the License for the specific language governing permissions and limitations under the License. -NOTICE: -Parts of the source files in this repository are made available under different licenses, -see file LICENSE.txt in this repository. Refer to each individual source file for more details. +!!! info + Parts of the source files in this repository are made available under different licenses, + see file LICENSE.txt in this repository. Refer to each individual source file for more details. # Credits diff --git a/mkdocs.yml b/mkdocs.yml index 24a3c7f6..bf43eb44 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -43,6 +43,7 @@ markdown_extensions: - md_in_html - admonition - pymdownx.details - - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true -repo_url: https://github.com/cyberman54/ESP32-Paxcounter \ No newline at end of file +repo_url: https://github.com/cyberman54/ESP32-Paxcounter