Продолжим улучшать ногодрыг, заодно упростим себе жизнь удаленным подключением.
Во время тестирования ногодрыга, столкнулся с проблемой, так как пока не использую кросс компиляцию, а компилирую и проверяю проекты сразу на малине. Нужно сказать, что производительность платы не впечатляет, когда дело касается браузера. В общем на десктопе оно в разы удобнее, держать под рукой 2 клавы и 2 мышки — не удобно. Хорошее решение этой проблемы — подключение через SSH.
Если в кратце, то можно сидеть за любимым шиндоус и подключиться напрямую к малине и делать все тоже самое, что бы вы могли сделать в терминале. Короче это мегаудобно. Чтобы это заработало, нужно чтобы десктоп и малина были в одной локальной сети и SSH был разрешен на малине (у меня по дефолту был включен). Далее скачиваем Putty указываем IP локальный адрес rpi для подключения.
вводим логин, пароль и вуаля у нас полный доступ
На самом деле, есть и второй вариант удаленного подключения, просто втыкаем обычный USB-UART в десктоп подключаем пины UART к малине.
Запускаем любой шиндоус терминал на скорости 115200 и снова можно работать.
После такого дела, нужно улучшить наш код из прошлой статьи, чтобы светодиод мигал.
#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
Добавить комментарий