miercuri, 30 mai 2012

Comunicare seriala cu Raspberry Pi

Cea mai simpla modalitate de comunicare cu placa Raspberry Pi este prin intermediul unui adaptor USB-la-serial. Eu am utilizat un "USB to UART bridge" CP2102 de la Silicon Labs, pentru ca permite comunicarea la niveluri logice de 3V3 si 5V si este si foarte ieftin. Atentie la voltajul la care functioneaza adaptorul! Daca folositi un FTDI sau ceva similar trebuie sa fie varianta la 3V3, NU la 5V !!!

Inainte de a ne apuca sa ne jucam cu pinii de pe expansion header-ul placii Raspberry Pi ar fi bine sa citim pagina de aici. Preiau ca atare avertismentul:
Extreme caution should be exercised when interfacing hardware at a low level, you may damage your RPi, your equipment and potentially yourself and others. Doing so is at your own risk!

Ce trebuie retinut este ca voltajul de pe pinii GPIO este 3V3 si NU sunt toleranti 5V !!!

Documentatia detaliata privind perifericele accesibile prin header-ul GPIO o gasim la pagina RPi Low-level peripherals, de unde este si imaginea de mai jos.

Astea fiind zise, sa ne apucam de treaba :)

Cum procedam:
1. conectam pinii de pe Raspberry la adaptorul serial-la-USB astfel GND la GND, Rx la Tx, Tx la Rx
2. conectam adaptorul la un port USB de pe PC; aflam numarul portului COM pe care il foloseste
3. Pornim un program gen Hyperterminal (eu folosesc Tera Term)
4. Alimentam placa Raspberry prin portul mini USB (am folosit incarcatorul de la Kindle, pentru ca scoate 850mA)

Daca totul merge bine (eu am avut probleme cu cardul SD, a trebuit sa-l partitionez din nou si sa-l formatez FAT), obtinem rezultate similare celor de mai jos :)
Incepe...

A terminat boot. Ne logam cu pi / raspberry

Sa dam si un help, sa vedem ce ne zice ;)

Nota: se cam incinge placa... Mult succes si, mai ales, aveti grija...

7 comentarii:

  1. Foarte utila descrierea,multumim.
    CP2102 este foarte bun, eu l-am folosit si inca il folosesc la multe tipuri de interfete (radio-in special) pentru comunicarea seriala
    sa inteleg din foto ca a ajuns Pi-ul ??
    super :)

    RăspundețiȘtergere
    Răspunsuri
    1. Multumesc! Da, a ajuns in sfarsit... culmea e ca e prima data dupa ani de zile de cand iau de la Farnell cand mi-l trimit prin posta, nu prin curier. Am avut noroc ca l-am mai gasit la cutie. Meseriasii de la posta au indoit plicul si l-au fortat sa intre in cutie :(
      Pasul urmator este sa pun SSH si FTP si sa comunic numai cu PuTTY.

      Ștergere
  2. Eu am conectat pi-ul cu arduino si a mers perfect cu un simplu program in C sa citesc valorile senzorilor conectati la arduino. Default mesajele de kernel sunt aruncate pe seriala, dar se poate dezactiva acest lucru si se poate folosi seriala pentru a comunica cu alte dispozitive.

    RăspundețiȘtergere
    Răspunsuri
    1. Cel mai sigur pentru "sanatatea" placii Raspberry este sa ne legam pe serial cu montajele noastre. Daca apar ceva probleme gasim usor microcontrolere, pe cand pana facem rost de un alt Raspberry... vine toamna ;)

      Ștergere
  3. Buna ziua,
    Pentru cei interesati. Productie proprie, nu furaciune.
    http://www.darknet.ro/proiecterasp.php

    RăspundețiȘtergere
  4. Multumesc pentru informatie. Puteti detalia un pic partea cu "nu furaciune"?

    RăspundețiȘtergere
  5. Buna ziua,
    Nu furaciune in sensul ca este productie proprie, nu replica la ce au facut deja altii.

    Pentru doritori, o sa public si sursa PCB-ului.

    O zi placuta.

    RăspundețiȘtergere