Go Down

Topic: ARDUINO E VOCE (Read 2137 times) previous topic - next topic

zoomx

#45
Mar 08, 2019, 12:45 pm Last Edit: Mar 08, 2019, 02:48 pm by zoomx
Ho fatto un test usando Packet Sender che però non riceve nulla.
Ma con Wireshark intercetto il pacchetto. Ed è sbagliato. Lo vedo identico a quello che hai stampato tu.

Code: [Select]
Frame 3: 298 bytes on wire (2384 bits), 298 bytes captured (2384 bits) on interface 0
Ethernet II, Src: Espressi_69:14:4b (5c:cf:7f:69:14:4b), Dst: D-Link_14:96:d6 (f0:7d:68:14:96:d6)
Internet Protocol Version 4, Src: 192.168.137.10, Dst: 192.168.137.1
User Datagram Protocol, Src Port: 49153, Dst Port: 1234
Data (256 bytes)
    Data: 808386898c909396999c9fa2a5a8abaeb1b3b6b9bcbfc1c4...
    [Length: 256]


...}zwtpmjgda^[XUROMJGDA?<9742/-+(&$" ..........
.
.............................
.
.......... "$&(+-/2479<?ADGJMORUX[^adgjmptwz}

Sembra che il problema risieda quindi nell'ESP8266. Solo che Wireshark mi mostra il pacchetto anche come array C



Code: [Select]
char packet_bytes[] = {
  0x80, 0x83, 0x86, 0x89, 0x8c, 0x90, 0x93, 0x96,
  0x99, 0x9c, 0x9f, 0xa2, 0xa5, 0xa8, 0xab, 0xae,
  0xb1, 0xb3, 0xb6, 0xb9, 0xbc, 0xbf, 0xc1, 0xc4,
  0xc7, 0xc9, 0xcc, 0xce, 0xd1, 0xd3, 0xd5, 0xd8,
  0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8,
  0xea, 0xeb, 0xed, 0xef, 0xf0, 0xf1, 0xf3, 0xf4,
  0xf5, 0xf6, 0xf8, 0xf9, 0xfa, 0xfa, 0xfb, 0xfc,
  0xfd, 0xfd, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xfd,
  0xfd, 0xfc, 0xfb, 0xfa, 0xfa, 0xf9, 0xf8, 0xf6,
  0xf5, 0xf4, 0xf3, 0xf1, 0xf0, 0xef, 0xed, 0xeb,
  0xea, 0xe8, 0xe6, 0xe4, 0xe2, 0xe0, 0xde, 0xdc,
  0xda, 0xd8, 0xd5, 0xd3, 0xd1, 0xce, 0xcc, 0xc9,
  0xc7, 0xc4, 0xc1, 0xbf, 0xbc, 0xb9, 0xb6, 0xb3,
  0xb1, 0xae, 0xab, 0xa8, 0xa5, 0xa2, 0x9f, 0x9c,
  0x99, 0x96, 0x93, 0x90, 0x8c, 0x89, 0x86, 0x83,
  0x80, 0x7d, 0x7a, 0x77, 0x74, 0x70, 0x6d, 0x6a,
  0x67, 0x64, 0x61, 0x5e, 0x5b, 0x58, 0x55, 0x52,
  0x4f, 0x4d, 0x4a, 0x47, 0x44, 0x41, 0x3f, 0x3c,
  0x39, 0x37, 0x34, 0x32, 0x2f, 0x2d, 0x2b, 0x28,
  0x26, 0x24, 0x22, 0x20, 0x1e, 0x1c, 0x1a, 0x18,
  0x16, 0x15, 0x13, 0x11, 0x10, 0x0f, 0x0d, 0x0c,
  0x0b, 0x0a, 0x08, 0x07, 0x06, 0x06, 0x05, 0x04,
  0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01,
  0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03,
  0x03, 0x04, 0x05, 0x06, 0x06, 0x07, 0x08, 0x0a,
  0x0b, 0x0c, 0x0d, 0x0f, 0x10, 0x11, 0x13, 0x15,
  0x16, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22, 0x24,
  0x26, 0x28, 0x2b, 0x2d, 0x2f, 0x32, 0x34, 0x37,
  0x39, 0x3c, 0x3f, 0x41, 0x44, 0x47, 0x4a, 0x4d,
  0x4f, 0x52, 0x55, 0x58, 0x5b, 0x5e, 0x61, 0x64,
  0x67, 0x6a, 0x6d, 0x70, 0x74, 0x77, 0x7a, 0x7d
};



E mi pare identico. Potresti provare a riprodurre la frequenza in python.

Edit: imponendo a PacketSender di usare solo IPv4 (forse perché ho parecchie schede di rete?), funziona, ricevo i pacchetti correttamente.

"$&(+-/2479<?ADGJMORUX[^adgjmptwz} dovrebbe essere la rappresentazione ASCII di un gruppo dei valori del pacchetto.

Per cui la palla ritorna al Pyton.

Edit2:
Progetto simile, utile per trasmettere usando buffer
https://perso.aquilenet.fr/~sven337/english/2016/07/14/DIY-wifi-baby-monitor.html

alessandro87gatto

Grazie per le prove

Quote
zoomx
si il problema sarà nel ESP. Comunque il progetto del Baby Monitor lo avevo visto ma il codice per me è incomprensibile..non ho le conoscenze per capirlo.

Penso proprio di passare direttamente a gestire il lavoro mediante più macchine virtuali, a cui collegherò il microfono USB. L'acqusizione da microfono USB so che funziona in quanto l'ho già provata e poi vedrò di utilizzare qualche DB, ad esempio mi consigliavano: MongoDB. Successivamente potrei interfacciare le macchine mediante Kubernets o Swarm.

Chissà quello che ne verrà fuori

alessandro87gatto

Anche perché, nel GitHub vedo che non c'è un solo file ".ino" ma ce ne sono diversi. Non saprei come caricarli su NodeMCU.

zoomx

Vanno caricati quelli della cartella Xmit (trasmettitore), basta metterli nella stessa cartella e l'Ide li aprirà assieme.
wifi_params.h  contiene i parametri per la connessione wifi, che vanno modificati.
Ho notato che nel codice della trasmittente sembrano esserci anche i pezzi del convertitore DAC.

alessandro87gatto

#49
Mar 11, 2019, 12:10 am Last Edit: Mar 11, 2019, 12:18 am by alessandro87gatto
Se ho capito bene, dovrei scaricare i file e metterli nella stessa cartella: "wifi_params.h" e "xmit.ino", modificare i settari del wifi e gli IP in modo da adeguarli alla mia rete.
Fatto questo dovrei effettuare l'upload dello sketch "xmit.ino" sul mio NodeMCU. Ma il microfono vedo che lui lo collega al pin "D8"
Code: [Select]
const int scePin = D8; //15;    // SCE - Chip select
quindi dovrei collegare il pin OUT del microfono al pin "D8" del NodeMCU?

Una volta fatto questo dovrei avere il lato client. Il lato server lo dovrei prendere dalla directory "recv" se utilizzo un altro NodeMCU e invece "udpserver" se utilizzo un pc?

In un commento ho letto che se utilizzo il pc dovrò utilizzare i file nelle directory: "udpserver" e "udpclient", ed invece "recv" e "xmit" se utilizzo NodeMCU?

zoomx

Non avevo letto con attenzione il progetto.
Non usa l'ADC del nodeMCU ma un ADC esterno, MCP3201, che comunica in SPI ed è a 12 bit invece dei 10, il pin D8 è quello che seleziona il dispositivo con cui si vuole comunicare perché l'SPI è un bus condiviso.

A questo punto non mi sembra più tanto utile come pensavo.

alessandro87gatto

Buongiorno, il microfono MAX9814 è arrivato. Ho provato e come gli altri da lo stesso risultato. Ulteriore conferma che mi perdo una gran serie di pacchetti in giro per strada.
Sto sbagliando qualcosa a livello Server? Sto sbagliando qualcosa a livello Cliente? Boh.

C'è da dire che è un po brutto che in una discussione di un forum risponda solo una persona, apprezzo tantissimo la tua disponibilità

Quote
zoomx
ma così è difficilissimo risolvere il mio problema.

Quote
gpb01
tu o chi per te non sapreste darci aiuto in merito?

gpb01

tu o chi per te non sapreste darci aiuto in merito?
Secondo te, se qualcuno avesse già affrontato la cosa o conoscesse la soluzione, non sarebbe già intervenuto ? ? ? :o

Evidentemente è argomento che non ha molti "accoliti" in questa sezione del forum ... ::)

Prova a cercare nella parte internazionale la GIUSTA sezione e poni li la domanda (rigorosamente in lingua Inglese) ... magari hai maggiore fortuna.

Guglielmo
Search is Your friend ... or I am Your enemy !

alessandro87gatto

Va bene, ci proverò. Grazie

Go Up