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

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

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

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

После такого дела, нужно улучшить наш код из прошлой статьи, чтобы светодиод мигал.
#include
#include
#include
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


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