|
Il prova zener. |
|
|
Il progetto "Bancadati C.R.E.M.A." Componentistica Radio Elettronica e Meccanica Amatoriale Tutti i marchi ed i nomi citati nel presente scritto sono riportati al solo scopo di migliorarne la leggibilita' ed appartengono ai rispettivi propietari. Antefatto. Negli ultimi mesi, utilizzando anche strumenti costruiti con questo scopo e pubblicati su GRIX, ho disassemblato una notevole quantita' di circuiti che avevo accumulato negli ultimi anni e mi e' stato facile recupeare i singoli componenti e alla fine ho ottenuto sei scatole di materiali, sommariamente suddivisi, cosi' ripartite
Cosi' e' nato il software C.R.E.M.A. Fino a questo punto niente di nuovo ma la cosa si complica considerando che parte del materiale si trova a Pistoia, parte a Castiglioncello e parte a Milano. Qualc'uno potra' chiedermi, "perche' non porti tutto in un unico posto?", la risposta e' questa: per necessita' di spazio ho dovuto mettere tutto il materiale relativo alle radio d'epoca in un posto, il materiale per le realizzazioni meccaniche in un altro e il materiale per l'elettronica allo stato solido e le sperimentazioni in un altro. Non e' da sottovalutare il fatto che con una certa frequenza mi reco nelle varie localita' per motivi personali. Ho sfruttato pertanto internet ed il mio server HTTP per realizzare un software, studiato anzitutto per aderire alle mie esigenze, ed in grado di supportare questi obiettivi.
Sistema operativo e caratteristiche del software scritto Il linguaggio usato per questa realizzazione e' xHarbour ( www.xharbour.org www.xharbour.com ) per la velocita' di realizzazione e la possibilita' di essere compilato sotto diversi sistemi operativi. Io lo ho compilato sotto WINDOWS XP © professional ma e' stato provato con successo sotto WINDOWS 7 © Il servert HTTP e' gestito da SAMBAR 7.0 © , programma che e' gratis per usi non professionali (consulatare il relativo sito internet). Un altro vantaggio di SAMBAR 7.0© e' di poter funzionare fuori linea definendo opportunamente gli host virtuali in WINDOWS© e nello schema CONFIG e VHOST di SAMBAR7.0© Complessivamente sono state scritte circa 12.000 righe di software ed e' certo che la banca dati puo' agevolmente gestire diverse centinaia di migliaia di componenti Personalmente non ho usato in C.R.E.M.A. MySql© come DBMS ma esistono molti esempi di uso del MySql© con xHarbour. L'ingresso dei dati puo' avvenire solo a mano, non e' previsto il caricamento dei dati con altri mezzi automatici, anche se e' possibile e facile accoppiare immagini e documenti ai dati dei componenti caricati. Le immagini possono arrivare da telecamere digitali, nel mio caso le ho importate da un microscopio digitale collegato ad una porta USB. Sono possibili delle banche dati locali (es. caricate su chiavetta) che poi possono essere riversate sulla banca dati generale. Il sistema e' composto da due programmi esecutivi. CREMA00.EXE che interfaccia il server HTTP e gestisce tutte le funzioni descritte nel relativo paragragrafo. CREMA01.EXE che e' un programma batch per lavorare fuori linea e per altre funzioni di servizio. Nella scrittura uso delle librerie software che possono essere sostituite da funzioni scritte dall'utente e che posso fornire solo per la verione windows© precompilate per il link in formato .lib Accesso alla banca dati C.R.E.M.A. Il programma CREMA nasce per gestire la banca dati dei componenti elettronici di cui dispongo, ma anche degli attrezzi, dei circuiti dei libri e di ogni tipo di documentazione. Il motto che deve rispettar e': In pratica il programma deve essere montato su un computer che si comporta da server, ma date le caratteristiche che andro' ad illustrare, puo' funzionare anche su una rete locale usando il normale browser. Tutta la procedura e' stata realizzata per le mie necessita' senza pensare ad una diffusione, pertanto la struttura delle direttrici e' fissa ed i programmi non sono generalizzati. Cio' non toglie che con una buona conoscenza del linguaggio di programmazione si possa fare una notevole personalizzazione, io stesso sono disponibile a partecipare ad un progetto di questo tipo. Cerco di dare una descrizione sistematica di tutto il progetto. Struttura della cartella CREMA Premetto che tutti i nomi sono fissi nel programma e tali, fino alla correzione del sorgente, debbono rimanere. La cartella CREMA, nella versione che distribuisco, deve essere nella direttrice ROOT e questa e' la struttura:
La struttura della banca dati C.R.E.M.A.
|
I programmi CREMA00 Il programma CREMA00 e' il gestore del sito e, nel mio caso, e' in ascolto nella porta 5024. Quando il server HTTP riceve una chiamata sul sito www.crema.walkingitaly.com attiva la pagina crema00.html indirizzata da quanto descritto nel file config.ini del programma SAMBAR70 La pagina crema00.html attiva la pagina di ingresso che contiene il riconoscimento della persona chiamante. Ciascun utente deve avere un nome associato ad una password. IL DBA (vedere documentazuione DBMS) assegna il livello, cioe' una caratteristica che permette all'utente di svolgere attivita' piu' o meno complesse. Al momento il programma identifica l'utente con caratteristica AAA come quello che puo' svolgere tutte le funzioni, tutti gli altri non possono fare inserimenti, aggiornamenti o cancellazioni. Gli altri livelli possono solo consultare la banca dati. Naturalmente si tratta di una convenzione che ho assunto nella scrittura del programma, non e' difficile modulare questa funzione. In queste note descrivero' solo le funzioni di consultazione, mentre alle persone eventualmente interessate al sofware potro' rilasciare una descrizione dettaglioata di tutte le funzioni di aggiornamento. Nella pagina che riporto in immagine si possono notare le caratteristiche della visualizzazione generale. Nella parte alta della pagina si trova:
Codice. Puo' essere anche parziale nel qual caso vengono presentate tutte le ricorrenze.Si puo' inserire un asterisco all'inizio alla fine della stringa di ricerca, in questo caso vengono visualizzati tutti i componenti che hanno nel loro codice la stringa digitata. Anagrafica. Tutte le parole della descrizione piu' lunghe di tre caratteri vengono usate nell'indice alfabetico. Come risultato della ricerca vengono visualizzate i componenti che incontrano questa ricerca. Localita'. Puo' essere intera o la parte iniziale. Classe. Intera o parziale ricerca tutti i componenti di una certa classe. Tipo. Intero o parziale ricerca tutti i componenti individuati. Posizione Riporta tutti i componenti immagazzinati in una certa posizione. In fondo alla pagina sono riportati questi elementi Caratteristiche dimensionali della banca dati C.R,E,M.A. Quanti sono i componenti memorizzati e quante sono le pagine indirizzabili. Pulsanti di accesso alle pagine, sia come numero della pagina che come "precente" o "successiva" Salto diretto alla pagina desiderata. Caratteristiche di ciascuna riga della pagina visualizzata. I dati visualizzati su ciascuna riga della pagiina HTML sono questi
CREMA01 E' un programma di servizio che svolge quanto non ho voluto inserire in funzioni on line unicamente per velocita' di realizzazione. In queste note illustro per sommi capi le funzioni che si evincono visualizzando il menu.
A - Gestione bancadati componenti (per codice) Gestisce una bancadati locale di componenti nel caso non si abbia a disposizione internet. Nel mio caso accade quando lavoro in una localita' diveeersa da Milano. C - Fonde due banche dati CREMA Questa funzione serve per accumulare nella banca dati on line le banche dati caricate localmente P - Gestioni accessi e password. Consente al DBA di controllare gli utenti ed attribuire a ciscuno di loro il livello di accesso di competenza Q - Gestione localita' (sigle e nomi) Aggiorna la tabella delle localita' in cui sono conservati i componenti memorizzati S - Aggiornamento tabella CLASSI e TIPI Aggiorna la tabella delle classi e dei tipi che raggruppano logicamente i componenti memorizzati W - Parole non comprese nella ricerca alfabetica Con questa funzione e' possinile esckudere dalla ricerca alfabetica alcune parole non particolarmente significative. X - Ricostruzione indici completa Funzione che permette di ricostruire tutti gli inci dei file integhrati nella banca dati CREMA Y - Crea una nuova banca dati CREMA Nel caso di funzionamento locale permette di creare una bancadati vuota per inserimento e aggiornamento. Z - Ricostruzione indici alfabetici Legge tutte le descrizioni dei componenti e prepara un indice che puo' essere interrogato alfabeticamente. Situazione attuali alla data Ho caricato circa 800 componenti. Mi r' gia' servito per non comprare due volte compnenti analoghi Attrezzatura usata
Per non affaticare gli occhi ho preparato un piccolo stativo in cui ho installato un microscopio digitale (un attrezzo da 30 euro comprato in una delle tante fiere), Come risulta dalla foto la costruzione e' altamente prtovvisoria ma funziona. Lo satore su cui scorre una molla fermacarte e' un manico da scopa ed il microspopio e' fissato ad una piccola tavola con due elastici. E' molto stabile, pesa pochissimo ed e' stato realizzato in dieci minuti. Il computer e' un normalissimo portatile che si collega via wifi ad internet ed al server cui e' memorizzata la bancadati CREMA. Per non avere spese di nomi dominio ho creato un dominio di secondo livello (non costa) di un mio sito principale, ma questo e' un dettaglòio altamente personalizzabile. Nel caso che mi trovi in una situazione ove non dispongo di collegamento internet (la cantina di Pistoia) carico i dati in locale, dati che poi riverso sulla banca dato generale. Quella esposta in foto e' la postazione che uso normalmente a Milano:
Nella foto sto lavorando collegato alla rete locale cui sono inseriti anche i server internet. Una curiosita' Sto visualizzando un componente di cui non sono riuscito a trovare il datasheet. Dall'immagine rulta il tipo F1037 ed ho caricato in bancadati la sua immagine rilevata tramite la funzione automatica del microscopio. Stato del software. Ritengo lo stato del software, almeno per le mie esigenze, sia abbastanza stabile. Sono almeno tre mesi che non apporto aggiornamenti. Cosa metto a disposizione. Metto a disposizione l'intera struttura, la banca dati e tutti i programmi èper un lavoro anche off line. Proprieta', continuita', sicurezza, garanzie del software. Tranne per i marchi citati in precedenza il software e' stato interamente scritto da me e pur rimanendo di mia esclusiva proprieta' lo metto a disposizione di persone che lo possono diffondere, usare o modificare sempre citando la fonte, ma non sono responsabile dell'uso che ne viene fatto, pertanto qualsiasi utilizzatore e' responsabile di ogni uso e di eventuali danni che ne potrebbero derivare. Pur mettendo tutta la diligenza possibile posso far cessare la disponibilita' della banca dati CREMA senza alcun preavviso e senza fornire alcuna giustificazione. Non sono responsabile di eventuali danni che potrebbero derivare dall'uso della banca dati CREMA e dei dati in essa contenuti. |