v1.2.1: TTGOv1 support (experimental)
This commit is contained in:
parent
0415496b58
commit
548a1ce22d
@ -1,6 +1,6 @@
|
|||||||
# Paxcounter
|
# Paxcounter
|
||||||
Wifi & Bluetooth driven, LoRaWAN enabled, battery powered mini ESP32 Paxcounter
|
**Wifi & Bluetooth driven, LoRaWAN enabled, battery powered mini ESP32 Paxcounter
|
||||||
built on cheap ESP32 boards
|
built on cheap ESP32 boards**
|
||||||
|
|
||||||
<img src="img/foto_no_exif.jpg">
|
<img src="img/foto_no_exif.jpg">
|
||||||
|
|
||||||
@ -8,6 +8,7 @@ built on cheap ESP32 boards
|
|||||||
|
|
||||||
Currently supported IoT boards:
|
Currently supported IoT boards:
|
||||||
- Heltec LoRa-32
|
- Heltec LoRa-32
|
||||||
|
- TTGOv1
|
||||||
- TTGOv2
|
- TTGOv2
|
||||||
- Pycom LoPy
|
- Pycom LoPy
|
||||||
- Pycom LoPy4
|
- Pycom LoPy4
|
||||||
|
@ -9,8 +9,9 @@
|
|||||||
; http://docs.platformio.org/page/projectconf.html
|
; http://docs.platformio.org/page/projectconf.html
|
||||||
|
|
||||||
[platformio]
|
[platformio]
|
||||||
env_default = heltec_wifi_lora_32
|
;env_default = heltec_wifi_lora_32
|
||||||
;env_default = ttgo
|
;env_default = ttgov2
|
||||||
|
env_default = ttgov1
|
||||||
;env_default = lopy
|
;env_default = lopy
|
||||||
;env_default = lopy4
|
;env_default = lopy4
|
||||||
|
|
||||||
@ -34,7 +35,7 @@ build_flags =
|
|||||||
;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp)
|
;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp)
|
||||||
; -DCONFIG_FREERTOS_UNICORE
|
; -DCONFIG_FREERTOS_UNICORE
|
||||||
|
|
||||||
[env:ttgo]
|
[env:ttgov1]
|
||||||
platform = espressif32
|
platform = espressif32
|
||||||
board = esp32dev
|
board = esp32dev
|
||||||
framework = arduino
|
framework = arduino
|
||||||
@ -50,7 +51,28 @@ build_flags =
|
|||||||
;override lora settings from LMiC library in lmic/config.h and use main.h instead
|
;override lora settings from LMiC library in lmic/config.h and use main.h instead
|
||||||
-D_lmic_config_h_
|
-D_lmic_config_h_
|
||||||
-include "src/main.h"
|
-include "src/main.h"
|
||||||
-include "src/hal/ttgo.h"
|
-include "src/hal/ttgov1.h"
|
||||||
|
;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp)
|
||||||
|
; -DCONFIG_FREERTOS_UNICORE
|
||||||
|
|
||||||
|
|
||||||
|
[env:ttgov2]
|
||||||
|
platform = espressif32
|
||||||
|
board = esp32dev
|
||||||
|
framework = arduino
|
||||||
|
monitor_baud = 115200
|
||||||
|
lib_deps = U8g2
|
||||||
|
build_flags =
|
||||||
|
;set log level, we need build_flag for this, otherwise we can't use ESP_LOGx in arduino framework
|
||||||
|
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE
|
||||||
|
; -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_NONE
|
||||||
|
;needed for ESP32 BLE Ardunio v0.4.9
|
||||||
|
-fexceptions
|
||||||
|
-std=c++11
|
||||||
|
;override lora settings from LMiC library in lmic/config.h and use main.h instead
|
||||||
|
-D_lmic_config_h_
|
||||||
|
-include "src/main.h"
|
||||||
|
-include "src/hal/ttgov2.h"
|
||||||
;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp)
|
;FreeRTOS single core operation, switches off core 1 (see arduino-esp32/cores/esp32/main.cpp)
|
||||||
; -DCONFIG_FREERTOS_UNICORE
|
; -DCONFIG_FREERTOS_UNICORE
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
#define HELTEC
|
#define HELTEC
|
||||||
#define HAS_DISPLAY // has OLED-Display
|
#define HAS_DISPLAY // has OLED-Display
|
||||||
#define HAS_LED // has on usable board LED
|
#define HAS_LED // has usable on board LED
|
||||||
#define HAS_BUTTON // has onboard button
|
#define HAS_BUTTON // has usable on board button
|
||||||
#define CFG_sx1276_radio 1
|
#define CFG_sx1276_radio 1
|
||||||
|
|
||||||
// re-define pin definitions of pins_arduino.h
|
// re-define pin definitions of pins_arduino.h
|
||||||
|
22
src/hal/ttgov1.h
Normal file
22
src/hal/ttgov1.h
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Hardware related definitions for Heltec TTGOv1 board
|
||||||
|
|
||||||
|
#define TTGO
|
||||||
|
#define HAS_DISPLAY // has OLED-Display
|
||||||
|
#define CFG_sx1276_radio 1
|
||||||
|
|
||||||
|
// re-define pin definitions of pins_arduino.h
|
||||||
|
#define PIN_SPI_SS 18 // ESP32 GPIO18 (Pin18) -- SX1276 NSS (Pin19) SPI Chip Select Input
|
||||||
|
#define PIN_SPI_MOSI 27 // ESP32 GPIO27 (Pin27) -- SX1276 MOSI (Pin18) SPI Data Input
|
||||||
|
#define PIN_SPI_MISO 19 // ESP32 GPIO19 (Pin19) -- SX1276 MISO (Pin17) SPI Data Output
|
||||||
|
#define PIN_SPI_SCK 5 // ESP32 GPIO5 (Pin5) -- SX1276 SCK (Pin16) SPI Clock Input
|
||||||
|
|
||||||
|
// non arduino pin definitions
|
||||||
|
#define RST 14 // ESP32 GPIO14 (Pin14) -- SX1276 NRESET (Pin7) Reset Trigger Input
|
||||||
|
#define DIO0 26 // ESP32 GPIO26 (Pin15) -- SX1276 DIO0 (Pin8) used by LMIC for detecting LoRa RX_Done & TX_Done
|
||||||
|
#define DIO1 33 // ESP32 GPIO33 (Pin13) -- SX1276 DIO1 (Pin9) used by LMIC for detecting LoRa RX_Timeout
|
||||||
|
#define DIO2 32 // ESP32 GPIO32 (Pin12) -- SX1276 DIO2 (Pin10) not used by LMIC for LoRa (Timeout for FSK only)
|
||||||
|
|
||||||
|
// Hardware pin definitions for Heltec LoRa-32 Board with OLED SSD1306 I2C Display
|
||||||
|
#define OLED_RST 16 // ESP32 GPIO16 (Pin16) -- SD1306 Reset
|
||||||
|
#define OLED_SDA 4 // ESP32 GPIO4 (Pin4) -- SD1306 Data
|
||||||
|
#define OLED_SCL 15 // ESP32 GPIO15 (Pin15) -- SD1306 Clock
|
@ -1,48 +1,48 @@
|
|||||||
// Hardware related definitions for TTGO V2 Board
|
// Hardware related definitions for TTGO V2 Board
|
||||||
|
|
||||||
#define TTGO
|
#define TTGO
|
||||||
#define HAS_DISPLAY // has OLED-Display
|
#define HAS_DISPLAY // has OLED-Display
|
||||||
#define CFG_sx1276_radio 1
|
#define CFG_sx1276_radio 1
|
||||||
|
|
||||||
// re-define pin definitions of pins_arduino.h
|
// re-define pin definitions of pins_arduino.h
|
||||||
#define PIN_SPI_SS 18 // ESP32 GPIO18 (Pin18) -- SX1276 NSS (Pin19) SPI Chip Select Input
|
#define PIN_SPI_SS 18 // ESP32 GPIO18 (Pin18) -- SX1276 NSS (Pin19) SPI Chip Select Input
|
||||||
#define PIN_SPI_MOSI 27 // ESP32 GPIO27 (Pin27) -- SX1276 MOSI (Pin18) SPI Data Input
|
#define PIN_SPI_MOSI 27 // ESP32 GPIO27 (Pin27) -- SX1276 MOSI (Pin18) SPI Data Input
|
||||||
#define PIN_SPI_MISO 19 // ESP32 GPIO19 (Pin19) -- SX1276 MISO (Pin17) SPI Data Output
|
#define PIN_SPI_MISO 19 // ESP32 GPIO19 (Pin19) -- SX1276 MISO (Pin17) SPI Data Output
|
||||||
#define PIN_SPI_SCK 5 // ESP32 GPIO5 (Pin5) -- SX1276 SCK (Pin16) SPI Clock Input
|
#define PIN_SPI_SCK 5 // ESP32 GPIO5 (Pin5) -- SX1276 SCK (Pin16) SPI Clock Input
|
||||||
|
|
||||||
// non arduino pin definitions
|
// non arduino pin definitions
|
||||||
#define RST LMIC_UNUSED_PIN // not sure
|
#define RST LMIC_UNUSED_PIN // not sure
|
||||||
#define DIO0 26 // wired on PCB
|
#define DIO0 26 // wired on PCB
|
||||||
#define DIO1 33 // needs to be wired external
|
#define DIO1 33 // needs to be wired external
|
||||||
#define DIO2 32 // needs to be wired external (but not necessary for LoRa)
|
#define DIO2 32 // needs to be wired external (but not necessary for LoRa)
|
||||||
|
|
||||||
// Hardware pin definitions for TTGO V2 Board with OLED SSD1306 0,96" I2C Display
|
// Hardware pin definitions for TTGO V2 Board with OLED SSD1306 0,96" I2C Display
|
||||||
#define OLED_RST U8X8_PIN_NONE // to be checked if really not connected
|
#define OLED_RST U8X8_PIN_NONE // to be checked if really not connected
|
||||||
#define OLED_SDA 21 // ESP32 GPIO4 (Pin4) -- SD1306 Data
|
#define OLED_SDA 21 // ESP32 GPIO4 (Pin4) -- SD1306 Data
|
||||||
#define OLED_SCL 22 // ESP32 GPIO15 (Pin15) -- SD1306 Clock
|
#define OLED_SCL 22 // ESP32 GPIO15 (Pin15) -- SD1306 Clock
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ESP32 LoRa module (SPI) OLED display (I2C)
|
ESP32 LoRa module (SPI) OLED display (I2C)
|
||||||
--------- ----------------- ------------------
|
--------- ----------------- ------------------
|
||||||
5 SCK SCK
|
5 SCK SCK
|
||||||
27 MOSI MOSI
|
27 MOSI MOSI
|
||||||
19 MISO MISO
|
19 MISO MISO
|
||||||
18 SS NSS
|
18 SS NSS
|
||||||
14 RST
|
14 RST
|
||||||
26 DIO0
|
26 DIO0
|
||||||
33 DIO1 (see note {1})
|
33 DIO1 (see note {1})
|
||||||
32 DIO2 (see note {2})
|
32 DIO2 (see note {2})
|
||||||
22 SCL SCL
|
22 SCL SCL
|
||||||
21 SDA SDA
|
21 SDA SDA
|
||||||
22 LED (useless, see note {3})
|
22 LED (useless, see note {3})
|
||||||
|
|
||||||
{1} Must be manually wired!
|
{1} Must be manually wired!
|
||||||
DIO1 is wired to a separate pin but is not wired on-board to pin/GPIO33.
|
DIO1 is wired to a separate pin but is not wired on-board to pin/GPIO33.
|
||||||
Explicitly wire board pin labeled DIO1 to pin 33 (see TTGO V2.0 pinout).
|
Explicitly wire board pin labeled DIO1 to pin 33 (see TTGO V2.0 pinout).
|
||||||
{2} Must be manually wired!
|
{2} Must be manually wired!
|
||||||
DIO2 is wired to a separate pin but is not wired on-board to pin/GPIO32.
|
DIO2 is wired to a separate pin but is not wired on-board to pin/GPIO32.
|
||||||
Explicitly wire board pin labeled DIO2 to pin 32 (see TTGO V2.0 pinout).
|
Explicitly wire board pin labeled DIO2 to pin 32 (see TTGO V2.0 pinout).
|
||||||
{3} The on-board LED is wired to SCL (used by display) therefore totally useless!
|
{3} The on-board LED is wired to SCL (used by display) therefore totally useless!
|
||||||
*/
|
*/
|
||||||
|
|
@ -326,8 +326,9 @@ void setup() {
|
|||||||
|
|
||||||
ESP_LOGI(TAG, "Starting %s %s", PROGNAME, PROGVERSION);
|
ESP_LOGI(TAG, "Starting %s %s", PROGNAME, PROGVERSION);
|
||||||
|
|
||||||
|
tcpip_adapter_init(); // not sure if necessary, but seems needed for TTGOv1
|
||||||
// ESP Event Loop
|
// ESP Event Loop
|
||||||
esp_event_loop_init(NULL, NULL);
|
esp_event_loop_init(NULL, NULL); // not sure if necessary -> to be checked
|
||||||
|
|
||||||
// Print chip information on startup
|
// Print chip information on startup
|
||||||
#ifdef VERBOSE
|
#ifdef VERBOSE
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
// program version
|
// program version
|
||||||
#define PROGVERSION "1.2.0" // use max 10 chars here!
|
#define PROGVERSION "1.2.1" // use max 10 chars here!
|
||||||
#define PROGNAME "PAXCNT"
|
#define PROGNAME "PAXCNT"
|
||||||
|
|
||||||
// Verbose enables serial output
|
// Verbose enables serial output
|
||||||
|
Loading…
Reference in New Issue
Block a user