Adesso l'ho tirata fuori per creare una sorta di beacon bluetooth programmabile. In pratica il sistema deve consumare il meno possibile (e quindi deve utilizzare lo sleep mode del processore) fino a quando viene premuto un pulsante; fino a che il pulsante e' mantenuto premuto deve attivarsi il bluetooth, al momento del rilascio del pulsante il dispositivo deve segnalare per 10 secondi che si sta spengendo (o meno che sta andando in sleep mode) e poi deve addormentarsi
Il pinout della scheda e' il seguente
Per poter programmare la scheda con Arduino IDE (su Mac) si deve eseguire il seguente comando
mkdir -p ~/Documents/Arduino/hardware/espressif && \ cd ~/Documents/Arduino/hardware/espressif && \ git clone https://github.com/espressif/arduino-esp32.git esp32 && \ cd esp32 && \ git submodule update --init --recursive && \ cd tools && \ python get.pySi devono installare i driver USB to UART VCP scaricabili da qui
Queste le impostazione dell'Arduino IDE. E' consigliato di usare una Flash Frequency di 40 MHz ed una Upload Speed di 115200
Ho trovato un problema (che a quanto pare e' piuttosto comune) ovvero che non sempre e' possibile caricare lo sketch via Arduino sul modulo ESP a causa dell'errore
Non so quale e' la soluzione...a forza di provare, premendo i tasti boot e reset, la scheda ritorna a funzionare
----------------------------------
#include "SimpleBLE.h"
SimpleBLE ble;
const int buttonPin = 14;
int buttonState = 0;
int prevState = 0;
void setup() {
Serial.begin(115200);
pinMode(buttonPin, INPUT);
Serial.println("Start");
esp_sleep_enable_ext0_wakeup(GPIO_NUM_14,1); //1 = High, 0 = Low
}
void loop() {
buttonState = digitalRead(buttonPin);
if ((buttonState == HIGH) && (prevState == 0)) {
Serial.println("Start BLE");
prevState = 1;
ble.begin("ESP32");
}
if ((buttonState == LOW) && (prevState == 1)) {
Serial.println("Stop BLE");
ble.end();
delay(2000);
ble.begin("ESP32 OFF");
delay(10000);
ble.end();
Serial.println("Sleep Mode");
delay(1000);
prevState = 0,
esp_deep_sleep_start();
}
----------------------------------
Nessun commento:
Posta un commento