|
Autore |
Messaggio |
opzioni |
DottPsy
postato il: 17.05.2017, alle ore 16:01 |
Bloccare le telefonate indesiderate con MT88E39 e Atmega328
Ho trovato su Grix a questo link
https://goo.gl/93Md4O
l\'utilizzo del chip MT88E39 impiegato con un PIC, vorrei realizzare la versione upgrade ma con un atmega328 alias Arduino. L\'idea di base è creare un database su un sito internet e scrivere/leggere i numeri di telefono da bloccare. Pertanto quando squilla il telefono il numero visualizzato sul display può essere inviato al database e la successiva volta non passare più. Così altri utenti possono memorizzare i numeri e avere una banca dati di numeri indesiderati.
La realizzazione prevede un mini modulo Ethernet LAN con ENC28J60, il chip MT88E39, un display, dei tasti e l\'Atmega328.
Ovviamente il progetto è di massima, deve essere ancora revisionato e corretto, come il database, sostituibile con la EEprom del mP, ma si perde la condizione globale del progetto iniziale.
La domanda che volevo porre è: come leggere i dati inviati da chip MT88E39 al mP? L\'articolo su Grix è esaustivo, ma non comprendo come prelevare i dati con un Atmega.
Un esempio di codice, mi sarebbe veramente di aiuto.
Saluti
La mente mente e noi aiutiamo a farla mentire. |
|
Lancillotto
postato il: 17.05.2017, alle ore 16:19 |
Scusa se non rispondo direttamente alla tua richiesta, o meglio lo faccio in modo trasversale: poco conta avere un database dei numeri dei call center spacca@@ perchè ne dispongono di moltissimi oltre a quelli che non inviano nessun numero.
potrebbe essere un'idea utilizzare un database che preveda l'utilizzo di caratteri jolly, così da eliminare ad esempio i numeri che iniziano per 1234**
- NON DATE DA MANGIARE AL TROLL, IGNORATELO - |
|
DottPsy
postato il: 17.05.2017, alle ore 17:01 |
Ma sì, il software può essere programmato per fare questa operazione, nulla di trascendentale, la questione è sempre la stessa, tirare fuori i dati ID dal chip
La mente mente e noi aiutiamo a farla mentire. |
|
picmicro675
postato il: 17.05.2017, alle ore 18:27 |
Quindi vorresti convertire da PIC a Atmel ?
Facilmente ti basta un ATtiny85. Il sorgente è in C e probabilmente facile da convertire. Solo qualche sforzo per capire le funzioni dei timer, che si posson anche configurare per Atmel.
In fondo una buona lettura di fogli dati dei due micro.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
DottPsy
postato il: 17.05.2017, alle ore 19:48 |
picmicro675: Quindi vorresti convertire da PIC a Atmel ?
...
Si in parole è così.
Ho già scaricato il file in C del progetto e da un pò lo stavo valutando, ma probabilmente mi manca la conoscenza dei PIC, pertanto non riesco ad andare avanti.
Ho bisogno di avere informazioni al riguardo.
Saluti
La mente mente e noi aiutiamo a farla mentire. |
|
DottPsy
postato il: 18.05.2017, alle ore 16:46 |
Nessun suggerimento ....
La mente mente e noi aiutiamo a farla mentire. |
|
zio bapu
postato il: 18.05.2017, alle ore 17:41 |
DottPsy: Nessun suggerimento ....
Se non dici a proposito di cosa in particolare.
mandi |
|
picmicro675
postato il: 18.05.2017, alle ore 19:21 |
L' uso delle porte è alquanto semplice. Anziché GPIO.n gli piazzi il numero di porta. Se usi ATmega328, ne hai anche da specare. Direi che con ATtiny85 ci vai di lusso.
Per quanto le impostazioni dei timer si carica con un valore di 100 considerando che abbiamo un frequenza interna di 1 MHz ed il prescaler è impostato a 1:64. In pratica equivale a millis() di Arduino, che aumenta il contatore TimeOutTime.
Infine c'è un contatore di 600 che scandisce il termine del tempo
Poi c'è il bit banging che vengono gestiti in Interrupt a secondo di come cambia lo stato. Forse con Arduino hai meno problemi usando la SPI e ricavare il byte ricevuto.
Direi che la maggiore difficoltà è la traduzione delle fasi di interrupt, per emularle al meglio.
Che micro intendi usare ? ATmega328 ?
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
picmicro675
postato il: 18.05.2017, alle ore 19:24 |
Il difficile è nella parte dell' interrupt. Ma a conti fatti equivale al millis() di arduino.
Infatti avviene un interrupt del timer0 ad ogni millisecondo ed aumenta TimeOutTime fino a 600.
Il resto dell' interrupt viene usato per la ricezione seriale del dato, usando la peculiarità di Interrupt On Change sul piedino assegnato. Si potrebbe emulare tale situazione in toto con arduino, oppure usufruire della SPI per colloquiare.
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
DottPsy
postato il: 19.05.2017, alle ore 09:39 |
picmicro675: ... Che micro intendi usare ? ATmega328 ?
Disamina esaustiva e coerente, il progetto prevede di utilizzare un ATmega328 per gestire un display 16X2, una RTC per tenere traccia della data e ora delle telefonate, un decoder di toni DTMF con MT8860 per decodificare i tasti del telefono che utilizzerei come tasti funzione per configurare il sistema e l'eventuale connessione Ethernet per la gestione web (ancora in valutazione).
picmicro675: ...Si potrebbe emulare tale situazione in toto con arduino, oppure usufruire della SPI per colloquiare.
se utilizzassi la porta SPI, non potrei utilizzare il modulo Ethernet, che impiega la stessa periferica.
Ho ordinato su Mouser, a questo link https://goo.gl/An6pt6 i chip MT88E39AS1 e l'MT8860. Prima della consegna vorrei aver impostato un abbozzo di codice per decodificare il treno di dati in arrivo.
La mente mente e noi aiutiamo a farla mentire. |
|
|