Lettore di Codici a barre con #ESP32 e #ArduinoBlocks
Per i miei corsi, sto cercando sempre soluzioni miste tra dati, codici a blocchi, linguaggi strutturati, elettronica, service learning.
Oggi vi propongo due video che credo siano esplicativi di tutto senza necessità ulteriori. Solo 2 raccomandazioni operative:
- Nel collegamento tra ESP32 e Lettore, utilizzare i PINS del lettore che hanno un ponticello giallo che switcha tra UART e HID. La trasmissione è tramite i pin centrali. Non lo trovate questo hack in giro 🙂
- La ESP32 tradizionale Wroom, può utilizzare la Serial2 con i pin 16 e 17 ma se usate un Freenove Wrover con CAM, quei pins non ci sono. Definite quindi altri pin secondo lo schema tecnico della ESP32. La UART0 cioè i tradizionali RX-TX che trovate sulla scheda NON possono essere utilizzati perchè comunicano già con il vostro computer. Potreste usarli solo se non è collegato nulla e come prova nella consolle di ArduinoBlocks inviando voi un codice a barre inserito nel riquadro di scrittura seriale. Se volete c’è l’ottima Esp32 Steam di Innova Didactic.
Il sito internet con la banca dati e le API freemium (superate le 25 richieste si paga), è https://upcdatabase.org/ e le API per la ricerca prodotto sono https://api.upcdatabase.org/product/.
Va implementato il metodo POST e come parametro il numero del BarCode e come Basic Autentication su ArduinoBlocks (utente vuoto) e password il token delle API che vi hanno assegnato quando vi siete registrati.
PS: si può usare per prove anche il token demo THISISALIVEDEMOAPIKEY19651D54X47
Il lettore potete acquistarlo su Amazon.
Dopo aver costruito il codice a blocchi su ArduinoBlocks, copiare il codice C++ (in alto a sinistra) su Arduino IDE.
Inserire nel setup :
Serial2.begin(9600, SERIAL_8N1, 16, 17);
Mentre nel Loop cambiare tutte le “Serial” in “Serial2” trasformando la omonima parte in:
if ((Serial2.available() > 0)) {
s_barcode = Serial2.readStringUntil(‘\n’);
s_barcode.trim(); //aggiungere obbligatoriamente
e cosi via lasciando tutto cosi com’è. NON dimenticate di mettere il SSID e PASSWORD del vostro router in ArduinoBlocks
Addendum: se volete provare prima il codice ArduinoBlocks come funziona con le API, caricatelo cosi com’è nella EsP32, aprite la consolle e nel riquadro dove potete scrivere inserite un codice a barra valido selezionando NF (linea a capo).
Buona visione 🙂