# MoonPro .net Progetti area Mapo/MoonPro Consiste di vari siti web che ruotano intorno al DB principale MoonPro di seguito elencati che si occupano delel varie gestioni del processo di * acquisizione dati * input utente (tramite tablet) * gestione utente (da browser) * visualizzazione con analisi (SITE) * visualizzazione non presidiata (MON) ## MP * landing site * rimando a singoli siti ## MP/IO * Verifica status impianti * Acquisizione da IOB (INPUT DATA) * Ottimizzazione input tramite layer REDIS x caching dello stato macchine e delle StateMachine degli Ingressi (HW) ## MP/SITE * sito web principale * visualizzaizone stato macchine * visualizzazione tempi ciclo * analisi produttività * verifica ODL correnti/chiusi/aperti ## MP/TAB * sito tablet * gestione input da operatore * apertura/chiusura ODL * gestione causali fermo ## MP/ADM * applicazione amministrativa * gestione ODL ## MP/MON * monitoraggio continuo (totem officina) * ottimizzato per rPI ## HOWTO e gestione prolemi ### Procedura epr ricaricare i dati da rPI-IOB a MP/IO In caso di problemi (disconnessioni lunghe, PI che non trasmetotno) i dati salvati nel logfile dei PI possono essere ritrasmessi al server MP/IO in modalità bath, per farlo: - mettere la macchina in modalità insEnabled=0 (così quando riparte NON trasmette ma accumula in RAM) - riavviare il PI - collegarsi con WinSCP - aprire sessione ssh (ctrl-P x aprire sessione sul PI) - diventare root (basta digitare senza pwd il comando **sudo su**) - digitare reboot - quando il PI è ripartito si deve preparare il file... per farlo - andare nella directory steamware (/home/pi/steamware) con **cd steamware** - copiare il file di log e seleizonare il periodo da ritrasmettere, per farlo: - **cp logfile.txt oldLog/log_20171124.txt** (conviene salvare con data del log) - editare il file con vim (editor di testo) col comando **vim oldLog/log_20171124.txt** - cercare ULTIMA trasmissione dati, ovvero quando sul log scrive **offline**, per farlo il comando è **/offline**; questo trova la prima occorrenza, x cercarel tutte usare **n** che le mostra tutte (in basso indica la % nel file), ci serve ULTIMA VOLTA che va offline (attenzione che se si è riavviato ha scritto offlien anche dopo riavvio, non è questo...) - eliminare tutte le righe PRIMA dell'ultimo offline (che sono già state salvate sul server...), per farlo quando si rifà la ricerca in absso a dx c'è il numero della riga,numero della colonna e poi % del documento, ci interessa numero della riga... - andiamo alla prima riga del file col comando **:1** (invio) - scriviamo il comando di cancellazione (**dd**) per il numero di righe trovate (meno qualcuna, nel nostro esempio è 131698--> prendo 131690) e dare il comando **131690dd** (tutto attaccato); se quancosa andasse storto si annulla con il comando **u** (undo) - quando lui elimina riporta in absso a sx il risultato (es 131690 fewer lines) - se si fa un pasticcio x uscire senza salvare si usa **esc** (anche + volte) e poi **:q!** (invio) per uscire (:q) senza salvare (!) - per salvare l'editing comando **w** invio (write) - eliminare una x una le singole righe rimaste prima del record offline (si può lasciare) con il comando **dd** (dopo esser certi di essere alla prima riga... **:1**) - ora va eliminato la aprte DOPO il riavvio --> vado in fondo (**shift-g**) - si risale con PgUp / frecce fino a trovare record riavvio "Avvio Programma ReadPar" - si eliminano le righe da li in poi (**1000dd** x eliminarne 100, saranno meno...) - si salva e si esce: **:wq** - convertiamo il file con il programma **./convertLogFile.py oldLog/log_20171124.txt pMem.dat** (nome programma python, file sorgente, destinazione) - verificare il file convertito, DOVREBBE essere nel formato *aaaaMMggHHmmssnnn (nnn=millesimo=)#SEGNALE#contatore* - INVIARE IL FILE!!!! **./readFile.py pMem.dat reload.log** (programma, file_da_inviare file_log_invio) - RIMETTERE LA MACCHINA ONLINE (e dovrebbe automaticamente caricare i dati che aveva in RAM dal riavvio...)