Questo progetto utilizza Arduino IDE e la board ESP32 Wroom32 per monitorare il movimento continuo tramite un sensore PIR. Quando il movimento viene rilevato per un periodo di almeno 10 secondi, viene generata, firmata e inviata una transazione Bitcoin.
La transazione sfrutta uno script OP_RETURN, che permette di inserire una stringa (ad esempio, “true”) in formato esadecimale all’interno della transazione. È possibile personalizzare la stringa da inviare. Per ulteriori dettagli sul funzionamento dello script OP_RETURN, ti consiglio di approfondire il suo utilizzo nella documentazione di Bitcoin.
-
Andare su preferenze e nella sezione “Additional board manager URLs” inserire questo:
"https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json"
- Sulla board manager di Arduino IDE installare “esp32 by Espressif System”.
-
Potrebbe essere necessario installare un driver per rilevare la board dal sistema operativo:
- Nel caso di Windows: Driver CH341 per Windows
- Nel caso di Linux: Driver CH341 per Linux
-
Sempre su Windows, potrebbe essere necessario scaricare il driver per far rilevare le porte da Windows: CP210x Universal Windows Driver.
-
All’interno dell’Arduino IDE, se non viene selezionata in automatico, scegli la board “DOIT ESP32 DEVKIT V1”.
- Registrarsi su BlockCypher e copiare il proprio token nel progetto.
- Il progetto richiede due wallet Bitcoin Testnet (non indirizzi SegWit poiché la procedura di firma non li gestisce).
- È possibile anche utilizzare un solo wallet mittente e creare una transazione verso una faucet.
- Ovviamente, il wallet mittente deve avere asset all’interno. Puoi ricaricare il tuo wallet Bitcoin Testnet tramite il faucet: https://coinfaucet.eu/en/btc-testnet/.
- Il progetto utilizza un LED e un sensore Groove PIR.
- Si possono modificare i PIN in base alle esigenze.
- Il sensore PIR deve essere impostato in modalità N_retrig per monitorare un movimento continuo.
Per utilizzare questo progetto, è necessario installare la libreria ArduinoJson tramite il Library Manager dell’Arduino IDE:
- Arduino IDE > Sketch > Include Library > Manage Libraries
- Cerca e installa la libreria ArduinoJson.
Questo progetto utilizza una versione modificata della libreria uBitcoin a causa di un conflitto con l’oggetto omonimo Network
, presente sia nelle librerie Wifi.h che in uBitcoin.h. Pertanto, è necessario includere correttamente la libreria modificata nell’IDE di Arduino.
-
Clona o scarica il repository:
- Puoi clonare il repository tramite Git o scaricare il file ZIP direttamente dalla pagina del progetto su GitHub.
-
Apri il progetto con l’IDE di Arduino:
- Una volta scaricato o clonato il repository, apri il file
.ino
nel tuo Arduino IDE.
- Una volta scaricato o clonato il repository, apri il file
-
Aggiungi la libreria uBitcoin modificata:
- Vai su Sketch > Include Library > Add .ZIP Library.
- Seleziona il file ZIP della libreria uBitcoin dalla cartella del progetto.
- Assicurati di avere le librerie necessarie (come ArduinoJson) correttamente installate prima di iniziare.
- In caso di problemi con la libreria uBitcoin, controlla che la versione corretta (modificata) sia stata inclusa.
Per caricare il codice sull’ESP32, è necessario tenere premuto il pulsante “BOOT” per tutta la durata del caricamento.
https://github.com/DamianoSamperi/Interazione_nodoIoT-con-Bitcoin_Testnet
Leave a Reply