Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[BDXIO] Communication smartphone/objet connecté

[BDXIO] Communication smartphone/objet connecté

A la manière de Square, nous verrons comment mettre en place une communication efficace entre un objet connecté et un smartphone (Android ou iOS) en utilisant la prise jack 3.5mm. L'example basé sur un projet de recherche nous permettra de mettre en avant les avantages et les limitations de ce type de communication.
Nous verrons à la fois l'aspect théorique d'une des méthodes (Frequency Shift Keying) ainsi que son implémentation matérielle (Arduino et dérivés) et logicielle (C, Java).

Simon Cleriot

October 16, 2015
Tweet

Other Decks in Programming

Transcript

  1. 2

  2. Frequency Shift Keying • Sampling Rate 48 kHz • Théorème

    de Nyquist-Shannon La représentation discrète d'un signal par des échantillons régulièrement espacés exige une fréquence d'échantillonnage supérieure au double de la fréquence maximale présente dans ce signal. 11
  3. Frequency Shift Keying • Sampling Rate 48 kHz • Théorème

    de Nyquist-Shannon La représentation discrète d'un signal par des échantillons régulièrement espacés exige une fréquence d'échantillonnage supérieure au double de la fréquence maximale présente dans ce signal. • Fréquence : 5200Hz - 24 kHz 11
  4. Frequency Shift Keying • Sampling Rate 48 kHz • Théorème

    de Nyquist-Shannon La représentation discrète d'un signal par des échantillons régulièrement espacés exige une fréquence d'échantillonnage supérieure au double de la fréquence maximale présente dans ce signal. • Fréquence : 5200Hz - 24 kHz • Echantillons : encodé sur 8 bits, 256 échantillons • => Résolution de chaque échantillon est de 48000/256 = 188Hz 11
  5. Frequency Shift Keying • Frequence(ASCII) = ((ASCII - k)*M +

    offset) * frequency_resolution • Frequence(ASCII) = ((ASCII - 43)*5 + 28) * 188 12
  6. Frequency Shift Keying • Frequence(ASCII) = ((ASCII - k)*M +

    offset) * frequency_resolution • Frequence(ASCII) = ((ASCII - 43)*5 + 28) * 188 12
  7. Frequency Shift Keying • Frequence(ASCII) = ((ASCII - k)*M +

    offset) * frequency_resolution • Frequence(ASCII) = ((ASCII - 43)*5 + 28) * 188 • Frequence(‘+’) = 5264 Hz 12
  8. Frequency Shift Keying • Frequence(ASCII) = ((ASCII - k)*M +

    offset) * frequency_resolution • Frequence(ASCII) = ((ASCII - 43)*5 + 28) * 188 • Frequence(‘+’) = 5264 Hz • Frequence(‘9’) = 18424 Hz 12
  9. 20

  10. Liens utiles • Transformée de Fourier rapide ‣ https://fr.wikipedia.org/wiki/Transformation_de_Fourier_rapide •

    Hijacking power from the Mobile Phone’s Audio Interface ‣ http://web.eecs.umich.edu/~prabal/pubs/papers/kuo10hijack-islped.pdf • Wolf Paulus ‣ https://github.com/wolfpaulus/jack/ 21