Archive for the ‘raspberry’ Category

raspberry: wiringPI: dump gpio status

January 7, 2017

This post discusses how to use wiringPi to dump gpio status in raspberry.

what is gpio
Gpio are pins which CPU could use as input or output.

  • If a gpio pin is configured as input, then CPU could read this pin to know the status in other devices.
  • If a gpio pin is configured as output, then CPU could use this pin to control other devices.

what is wiringPi
wiringPi is written in c. It’s a tool to read/write gpio in raspbeery.

how to install wiringPi
After building wiringPi, gpio command can help manipulate gpio status.

$ git clone git://git.drogon.net/wiringPi
$ cd wiringPi/
$ sudo ./build
$ gpio -v
gpio version: 2.36
Copyright (c) 2012-2015 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
  Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Embest 
  * Device tree is enabled.
  *--> Raspberry Pi 3 Model B Rev 1.2
  * This Raspberry Pi supports user-level GPIO access.

use wiringPi to dump gpio status
Use gpio readall to get all gpio status.

$ gpio readall
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5v      |     |     |
 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT5 | TxD     | 15  | 14  |
 |     |     |      0v |      |   |  9 || 10 | 1 | ALT5 | RxD     | 16  | 15  |
 |  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |
 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |
 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
 |   0 |  30 |   SDA.0 |   IN | 1 | 27 || 28 | 1 | IN   | SCL.0   | 31  | 1   |
 |   5 |  21 | GPIO.21 |   IN | 1 | 29 || 30 |   |      | 0v      |     |     |
 |   6 |  22 | GPIO.22 |   IN | 1 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
 |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
 |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
 |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
 |     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
 +-----+-----+---------+------+---+---Pi 3---+---+------+---------+-----+-----+

conclusion
This post discusses how use wiringPi to dump gpio status in raspberry.

raspberry: login raspberry via uart console

December 27, 2016

This post shows how to login raspberry via uart console.

enable uart and fixed its clock frequency
add below two lines in /boot/config.txt

core_freq=250
enable_uart=1

connect usb port of PC and uart port of raspberry

  • Use cp2102 module to convert usb port of PC to uart port.
  • Connect 3.3v pin of cp2102 to pin 1 (3.3v) of raspberry.
  • Connect TXD pin of cp2102 to pin 10 (RXD0) of raspberry.
  • Connect RXD pin of cp2102 to pin 8 (TXD0) of raspberry.
  • Connect GND pin of cp210x to pin 39 (GND) of raspberry.
  • raspberry_uart_console_01

    use tools to login raspberry via uart console
    I use cutecom in ubuntu to login raspberry via uart console. Below are settings.

    • device: /dev/ttyUSB0
    • baudrate: 115200
    • parity check: none
    • data bits: 1
    • stop bits: 1

    raspberry_uart_console_02

    explanation: how it works
    The cutecom is ubuntu communicates a shell in raspberry.

    • The console in raspberry is shell whose stdin and stdout are directed to /dev/ttyS0.
    • /dev/ttyS0 in raspberry is the character device representing uart port
    • The uart port of raspberey is connected to uart pins of CP2102 module.
    • CP2102 converts data between its uart pins and USB connector.
    • USB driver exports a VCP (virtual com port), /dev/ttyUSB0 in my PC’s ubuntu.
    • cutecom program communicate with /dev/ttyUSB0.

    conclusion
    This post shows how to login to raspberry via uart console.


    %d bloggers like this: