Продолжим улучшать ногодрыг, заодно упростим себе жизнь удаленным подключением.

Во время тестирования ногодрыга, столкнулся с проблемой, так как пока не использую кросс компиляцию, а компилирую и проверяю проекты сразу на малине. Нужно сказать, что производительность платы не впечатляет, когда дело касается браузера. В общем на десктопе оно в разы удобнее, держать под рукой 2 клавы и 2 мышки — не удобно. Хорошее решение этой проблемы — подключение через SSH.

Если в кратце, то можно сидеть за любимым шиндоус и подключиться напрямую к малине и делать все тоже самое, что бы вы могли сделать в терминале. Короче это мегаудобно. Чтобы это заработало, нужно чтобы десктоп и малина были в одной локальной сети и SSH был разрешен на малине (у меня по дефолту был включен). Далее скачиваем Putty указываем IP локальный адрес rpi для подключения.
putty

вводим логин, пароль и вуаля у нас полный доступ
putty_rpi

На самом деле, есть и второй вариант удаленного подключения, просто втыкаем обычный USB-UART в десктоп подключаем пины UART к малине.
rpi_40uart

Запускаем любой шиндоус терминал на скорости 115200 и снова можно работать.
serial

После такого дела, нужно улучшить наш код из прошлой статьи, чтобы светодиод мигал.

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
 
void gpio_write(int gpio_pin, int state)
{
  FILE *fp;
 
  char buf[50];
  sprintf (buf, "/sys/class/gpio/gpio%d/value", gpio_pin);
  fp = fopen (buf, "w");
  if(state == 0) {
    fprintf(fp, "0");
  }
  else {
    fprintf(fp, "1");
  }
  fclose(fp);
}
 
void gpio_conf_output(int gpio_pin)
{
  FILE *fp;
 
  char buf[50];
 
  fp = fopen ("/sys/class/gpio/export", "w");
  fprintf(fp, "%d", gpio_pin);
  fclose(fp);
 
  sprintf (buf, "/sys/class/gpio/gpio%d/direction", gpio_pin);
  fp = fopen (buf, "w");
  fprintf(fp, "out");
  fclose(fp);
}
 
void main(int argc, char *argv[])
{
  printf("hello!!!\n");
 
  gpio_conf_output(17);
 
  while(1){
    gpio_write(17, 1);
    usleep(200000);
    gpio_write(17, 0);
    usleep(200000);
  }
  return;
}

Как видим настройка пина и включение вынесено просто в отдельную функцию, для удобства и добавлена задержка. Компилим и запускаем, светодиод мигает. В следующий раз думаю стоит проверить работу UART.

Полезняшка:
копируем файл hello.c с малины на linux desktop в папку home/user используя терминал десктопа:
scp pi@192.168.0.41:/home/pi/hello.c /home/user

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Последние комментарии
  • Загрузка...
Счетчик
Яндекс.Метрика