
Grandi Progetti Folli
L'arte di reinventare le cose
I segreti di ipSun
Dettagli tecnici hardware e sorgenti software dell'eliostato
A grande richiesta ecco i dettagli tecnici completi dell'eliostato basato su ipCamera:
Telecamera utilizzata: Tenvis JPT3815W
Firmware telecamera: 0.37.2.36
Web UI Version: 3.2.2.20
​
URL di comando utilizzato nei miei sorgenti:
/decoder_control.cgi?command=#COMMAND#°ree=#DEGREES#&user=#USER#&pwd=#PASS#
​
Elenco comandi disponibili:
-
UP = 0
-
DOWN = 2;
-
CW = 6 // Ruota in senso orario
-
CCW = 4 // Ruota in senso antiorario
​
Documentazione ufficiale telecamere FOSCAM (valida anche per Tenvis):
http://www.foscam.es/descarga/ipcam_cgi_sdk.pdf
​
/decoder_control.cgi?command=[&onestep=°ree=&user=&pwd=&next_url=]
Alcune telecamere potrebbero richiedere il comando di stop dopo il comando di avvio movimento.
​
​
Sorgenti (nota: modificare il nome della rete e la password per adattarla alla propria rete di casa):
​
Versione 1 (aprile 2016): pagina HTML con script in Javascript operante su PC collegato alla telecamera
Nota: è necessario abilitare i popup attivati da quella pagina, perchè in un popup esterno verrà mostrata la risposta della telecamera ai comandi ricevuti.
​
Versione 2 (12 ottobre 2016): sketch Arduino-compatibile (linguaggio C/Processing) per stand dimostrativo a Makerfaire 2016
Questo sketch NON implementa ancora i calcoli astronomici per l'individuazione del sole e i calcoli trigonometrici per il posizionamento dello specchio, presenti invece nella versione 1 per PC, ma si tratta solo di calcoli matematici, facilmente portabil ida Javascript a C.
Lo sketch implementa inoltre la gestione di 9 pulsanti di controllo, utilizzando un meccanismo di anti-bounce (il sorgente è derivato direttamente dallo sketch di esempio debounce.ino): 4 per movimenti grandi (10 gradi alla pressione di ogni pulsante) e 4 per movimenti di precisione (2 gradi), più un pulsante "AUTO" che porta la telecamera prima a fondo scala e poi in posizione centrale, e infine in una posizione predeterminata.
​
Questo sorgente è stato caricato non su una scheda Arduino ma su una scheda NodeMCU equipaggiata con modulo ESP12e basato su ESP8266; il modulo ESP12E, come tutti quelli basati su ESP8266, di fabbrica è dotato di un firmware progettato per rispondere ai comandi AT di un microcontrollore esterno, ma è possibile riprogrammare il firmware ("flashing") in modo da far accettare il modulo dei normali sketch Arduino caricandoli tramite Arduino IDE (versioni 1.6 e successive).
​
La scheda NodeMCU è costituita da una circuiteria di polarizzazione (interfaccia USB, resistenze di pullup, condensatori di disaccoppiamento, regolatore di tensione,...) e da un modulo ESP12E, che una volta programmato può essere dissaldato e utilizzato autonomamente alimentandolo a 3.3V.
NodeMCU può essere alimentato tramite cavo USB o direttamente dal pin Vin, che accetta fino a 5V e che il regolatore abbassa ai 3.3V richiesti.
​
Interfaccia a tasti virtuali (pagina web): VIEW/DOWNLOAD
Caricando questa interfaccia in un browser connesso alla stessa rete del NodeMCU e della telecamera, è possibile muovere a mano la telecamera cliccando sui tasti sullo schermo (di PC, tablet o telefono).
​
Versione 3 (in programma):
Dal momento che il NodeMCU/ESP8266 può essere programmato anche per funzionare come Access Point, è possibile modificare lo sketch in modo da evitare la connessione a un router esterno, e far collegare direttamente la telecamera al NodeMCU.
​
Versione 4 (in programma):
La scheda NodeMCU serve solo a fornire l'elettronica di supporto per programmare l'ESP12; una volta programmato, si può in teoria staccare dalla scheda e usare "standalone", semplicemente alimentandolo a 3.3V; NOTARE però che la telecamera è alimentata a 5V, quindi per alimentarlo tramite il cavo della telecamera sarà necessario interporre un partitore di tensione, o meglio ancora un regolatore di tensione.
--------------------------
NOTA BENE: alcune schede NodeMCU hanno un difetto di progettazione per cui sono troppo larghe per essere montate su una normale basetta per prototipazione (Breadboard); queste schede sono infatti larghe 30mm, e non lasciano nessuna fila di pin libera sulla breadboard!
Per poter lasciare almeno una fila libera a destra e una sinistra non deve essere invece più larga di 23mm.
L'ESP ha dimensioni standard ed è largo 16mm, quindi la scheda deve essere larga non più di 7mm oltre la larghezza dell'ESP8266.
Visivamente, dalle foto su un sito è apparentemente impossibile distinguere una scheda "giusta" da una "sbagliata", perchè hanno la stessa forma e non c'è niente con cui confrontarne le dimensioni, che però sono ben diverse; questa versione venduta su BangGood, per esempio, è sbagliata:
​

Questa versione, invece, è corretta:

Messe vicine, la differenza risalterebbe immediatamente, ma fotografate da sole, come distinguerle???

La soluzione è un esame dei particolari:
