lunedì 30 settembre 2019

Scheda memoria da tornio industriale

Ho recuperato questa scheda accanto al tornio della foto successiva. Mostra un sigla ECS 7T212 (una ditta ECS che fa programmazione elettronica e' ancora rintracciabile su Internet ed e' stata fondata nel 1995 quindi si tratta di hardware "recente") e dovrebbe essere relativa al controllo numerico del tornio stesso




Da un esame degli integrati si dovrebbe trattare di una espansione di memoria da 192 Kb (in word da 8 bit): Di seguito gli integrati presenti...non citata e' presente anche una batteria tampone per la SRAM

TC55257BPL-10 : modulo da 32 Kb da word di 8 bit RAM static CMOS
SN74ALS573BN : Bus Driver, ALS Series, 1-Func, 8-Bit, True Output, TTL, PDIP20
74S74W
74S00N : NAND Gate, S Series, 4-Func, 2-Input, TTL, PDIP14
SN74S32N: OR GATE 4 ch 2 in DIP14
SN74S38N : NAND Gate, 4 Func 2 Inpout
SN74AL580AN
74S38N : NAND gate
SN75140P : bus receiver dual line
201RET2006l : passive delay line
35701301051 : rele'
d4349544

mercoledì 25 settembre 2019

Creazione tweet in automatico su Twitter con Python

Per creare una app per postare in automatico su twitter per prima cosa si deve avere un account developer 


Si crea quindi una app (si deve attendere che la app sia autorizzata dopo aver compilato un breve form....necessitano 24 ore per la risposta) e si copiano le chiavi consumer e access_token
per semplicita' si usera' lal libreria tweepy
-----------------------------------------------------------------------
import tweepy

consumer_key        = 'oNexxxxxxxxxxxxxxxxxxxxxx'
consumer_secret     = 'ti4xxxxxxxxxxxxxxxxxxxxxxxx'
access_token        = '4402008xxxxxxxxxxxxxxxxxxxxxxxx'
access_token_secret = '59nofxxxxxxxxxxxxxxxxxxxxxxxxxxx'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

now = datetime.datetime.now()

testo = "Fir " + now.strftime("%d-%m-%Y %H:%M:%S") +"\n"

api.update_status(testo)

Scrittura post automatici su pagina Facebook

Per creare dei post automatici su una pagina di Facebook (non il proprio account personale ma una relativa al proprio utente) si installa prima l'SDK in Python di Facebook

A questo punto dal Graph Explorer si devono concedere i permessi di scrittura che devono essere almeno a manage_pages and publish_pages



Si crea quindi una app dal proprio account developer Facebook e per semplicita' si elimina "Richiedi la chiave segreta" per le connesssioni tra server


il codice Python a questo punto e' molto semplice

-------------------------------------------------------------------------------
import facebook # facebook-sdk

access_token = "xxxxxxxxxxxxxx" # da recuperare nel GraphExplorer
graph = facebook.GraphAPI(access_token)

facebook_id = "120763xxxxxx" # id della pagina, si trova nelle Informazioni
                             # o la parte numerica della URL
graph.put_object(facebook_id,"feed",message="messaggio")

giovedì 19 settembre 2019

Grep e nomi file

Di solito il comando grep ha come output il testo dove si verifica la stringa richiesta
Per avere solo il nome del file si puo' fare

grep -Ril "stringa" *


venerdì 13 settembre 2019

Ocatve e MNIST

Volevo visualizzare i dati contenuti nei file di test del database MNIST spesso usati come esempi delle rete neurali (vedi esempi di TensorFlow)



il formato file e' IDX  descritto in fondo alla pagina sopra linkata

----------------------------------------------------------------------------------------
clear all;
filename = "C:/Users/l.innocenti/Downloads/train-images.idx3-ubyte";
immagini_id = fopen(filename,"r");
immagini = fread(immagini_id,Inf,"uint8");
numero_immagini = immagini(7,1)*256+immagini(8,1);
righe = immagini(9,1)*16777216+immagini(10,1)*65536+immagini(11,1)*256+immagini(12,1)*1
colonne = immagini(13,1)*16777216+immagini(14,1)*65536+immagini(15,1)*256+immagini(16,1)*1
indice_immagine = 1016;
im1 = immagini(17+(indice_immagine*784):17+((indice_immagine+1)*784)-1);
im1_s = reshape(im1,28,28);

imshow(fliplr(rot90(im1_s,-1)),[]); # mostra a scala di grigi


f2 = "C:/Users/l.innocenti/Downloads/train-labels.idx1-ubyte";
f2_id = fopen(f2,"r");
f2 = fread(f2_id,Inf,"uint8");
valore = f2(indice_immagine+9);

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...