Nokia F-Bus …

Nokia F-Bus …
Razem głosów: 8 co stanowi: 85% całości.

k,MTg2OTUxOTEsMzg3MzAz,f,school_bus

 

F-Bus  to stosowany standard transmisji w telefonach Nokia , komunikacja odbywa się poprzez linie F-RX i F-TX  komendami AT , w ten sposób możemy się komunikować z telefonem wysyłać lub odbierać SMS-y a nawet zadzwonić pod dany numer ale jak się za to zabrać ??

Wiadomo że do pracy z mikrokontrolerami budując jakiś układ np powiadamiania GSM czy to System Home Inteligence … chcemy by nasz układ miał jak najwięcej możliwości komunikacji. Nie zawsze jesteśmy w zasięgu BT czy mamy dostęp do internetu. Z pomocą przychodzą nam różne moduły GSM  no SIM900 , ale wielu amatorów sobie na niego nie będzie w stanie pozwolić  wiec co … ?? nici z powiadamiania GSM ??   nie nic z tych rzeczy…

Możemy użyć telefonu komórkowego ….  No fajnie ale jak ??  Nic prostszego :) Na sieci znajdziemy wiele sposobów głównie mało eleganckie normalne podlutowanie się pod odpowiednie klawisze w telefonie… ale my pójdziemy krok dalej … użyjemy komend AT, realizując komunikacje F-Bus z telefonem Nokia ….

Dlaczego Nokia ??

Bo jest dobrze znana , tania i sie do tego nadaje …. :) Za nim pójdziemy dalej wspomnę że opierałem się na przykładach ze strony

http://www.avrfreaks.net/index.php?module=Freaks%20Academy&func=viewItem&item_id=3326&item_type=project

oraz

http://gnokii.org/

————————————————————————————————————–

Co potrzebujemy ….   przede wszystkim telefon którego polecenia sa znane , a najlepiej dostępna jes dokumentacja dla noki 5110,  3210 , 3310  i pochodnych …..  http://www.insidegadgets.com/wp-content/uploads/2013/01/nk6110.txt

Dlatego też zajmiemy tymi modelami … jak widać nie tylko LCD z nich się może przydać do niecnych celów naszych eksperymentów :)

7110-es-projekt-nokia-dct3-2

 

 

w przypadku noki 5110 sprawa jest banalna łącznie z połączeniami gdzie niema za wiele kombinowania a telefon ten można kupić za grosze w komisie lub znanym portalu aukcyjnym …..

Pinouty podłączeń można sprawdzić na stronie : http://www.cpkb.org/wiki/Nokia_5110_pinout

205px-Nokia_5110_pinout

 

 

Jak widać będziemy korzystać  z pinów RX-TX i Gnd …   musimy jeszcze zrobić konwerter poziomów sygnałów dla RX składający się z 2ch rezystorów 330om …

fbus-1

 

Protokół F-Bus używa szybkości transmisji  115200 bps  więc bez większych problemów zaadaptujemy go do naszego uC ..  i będziemy mogli komunikować się poprzez  UART

Połączenia mamy z głowy czas  zająć się F-Busem , w zasadzie musimy znać format ramki jaką używa nasz telefon .. jak więc widać z dokumentacji na gnoki  nasz telefon używa M-bus  F-2

A więc nasza ramka jak wynika z dokumentacji to :

Czyli przykładowy pakiet jaki możemy wysłać do telefonu z prośbą o informacje o sprzęcie i oprogramowaniu powinien spowodować odpowiedź telefonu z wyjaśnieniem.

Zatem wysyłamy „prośbę” o SW i HW info :)  w HEXie:)

Byte: 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15

Dane: 1E 00 0C D1 00 07 00 01 00 03 00 01 60 00 72 D5

Więc teraz zajmiemy się rozgryzieniem tego:

nas interesuje teraz wiersz DATA zatem od początku odczytujemy:

1E: Frame ID –  oznacza że ten pakiet został wysłany za pomocą F-BUS
00: DestDev  –  wysłano do telefonu
0C: SrcDev   –  Pakiet F-Bus
D1: MsgType – Typ wiadomości  – wysyłanie/odbieranie

tu należy sprawdzić w dokumentacji …. i się okazuje że gdy mamy 0xD1  polecenie jest wysyłane do telefonu :)

00 07 : długość ramki – długość danych,  w tym przypadku jest to 7 bajtów .

00 01 :  Unknow :)  to jakiś tam pakiet potwierdzenia wiec niema dla nas znaczenia

00 03 00 : Polecenie – w tym przypadku wysyłamy polecenie Get HW & SW 

01 : Ramka „to go” – ponieważ nie wysyłamy do  urządzenia innych ramek jest to ostatnia ramka więc nadajemy  0 × 01 

60 : SeqNo – jest to numer porządkowy wysyłany do telefonu, 6 jest ignorowane ale oczekuje na 0. Kiedy  telefon wysyła potwierdzenia w pakietach, musimy odesłać  numer kolejny paczki jaką otrzymaliśmy. Numer sekwencji jest zwiększany dla każdej nowej paczki wysyłki lub odbioru, które nie jest potwierdzeniem i zarówno nadajnik jak i odbiornik ma własne numery sekwencji, które zawierają 3 bity — co może wyglądać tak  (0, 1, 2, 3, 4, 5, 6 , 7, 0, 1, itd.)

00 : Padding Byte – Wszystko co wysyłamy do potrzeb telefonów musi mieć parzystą liczbę bajtów, tak więc tu możemy dodać do naszego pakietu bajty dodatkowe w celu uzyskania 16 bajtów długość całkowitej ramki 

72 : CRC1 – XOR wszystkich bajtów aż do SeqNo

D5 : CRC2 – XOR wszystkich bajtów do SeqNo

Na co telefon nam odpowie …..  ale o tym w kolejnym odcinku ….

 

 

 

 

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay