Рейтинг:1

Могу ли я установить библиотеки проводки pi на свой настольный ПК с Linux?

флаг au
j0h

У меня есть проект, над которым я работаю, который в конечном итоге будет Raspberry Pi с Ubuntu, но сейчас я просто хочу написать код, который включает в себя wirePi.h и wireSerial.h Я попытался установить wirepi sudo apt-get установить wirepi, но это явно не включало библиотеки C/C++ для wirepi.

как я могу установить библиотеки C/C++ wirepi на свой рабочий стол ubuntu? единственное аппаратное обеспечение, которое я использую, — это последовательный порт, проблем с доступным GPIO быть не должно.

Я использую фокус Ubuntu 20.04

флаг hr
https://packages.ubuntu.com/focal/libwiringpi-dev
Рейтинг:1
флаг au
j0h

Это был комментарий стальных водителей, который решил эту проблему. sudo apt-get установить libwiringpi-dev

Есть некоторые проблемы с libwiringpi-dev. Вы не хотите вызывать wirePiSetup(); вы, вероятно, получите

Упс: невозможно определить версию платы из /proc/device-tree/system/linux,revision
или из /proc/cpuinfo
 -> Нет строки "Оборудование"
 -> Вам лучше всего погуглить ошибку, чтобы узнать, почему.

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

У меня также были проблемы с отправкой данных через serialPuts(), но мне не нужно выполнять рукопожатие. Я думаю.

Это небольшой проект, который считывает Arduino uno с двумя потенциометрами и кнопкой, цель состоит в том, чтобы использовать потенциометры для рисования изображений на экране или на изображении...

#include <иопоток>
#include <stdio.h>
#include <unistd.h> //чтение функции
#include <string.h>
#include <wiringSerial.h> //простая библиотека последовательного порта

использование пространства имен std;
// скомпилировано с помощью g++ -Wall -o readSerial readSerial.cpp -lwiringPi

int main(int argc, char ** argv)
{
    const char *SensorPort = "/dev/ttyACM0"; // Серийный адрес устройства
     
    int levelSensor = serialOpen(SensorPort, 9600);
    //serialPuts(levelSensor, "1"); //Отправляем команду на последовательное устройство

    в то время как (1){
        символьный буфер[100];
        ssize_t length = read (levelSensor, &buffer, sizeof(buffer));
        если (длина == -1){
            cerr << "Ошибка чтения из последовательного порта" << endl;
            сломать;
        }
        иначе если (длина == 0){
            cerr << "Нет данных" << endl;
            сломать;
        }еще{
            буфер[длина] = '\0';
            cout <<буфер; // Чтение серийных данных
        }
    }

    вернуть 0;
}

данные, отправляемые через Arduino, через этот код:

    /*ЭтчаСкетч
     * 2 горшка, X, Y, приращение
     * 
     * добавить кнопку для удаления этого материала
     * Эта программа взаимодействует через последовательный порт с отдельной программой, которая обрабатывает полученные координаты (значения горшков).  
    */
    
    инт горшокX = A0;    
    инт горшок Y = A1;    
    интсенсорValX = 0;  
    инт значение датчика = 0;  
    интервал дел = 1; //кнопка на пин 1 для удаления нарисованного контента 
    целая кнопка = 0;
    недействительная установка () {
        Серийный.начать(9600);
        pinMode(удалить, ВВОД);
    }

   недействительный цикл () {
      // читаем значение из горшков:
      if(digitalRead(del) == HIGH){
          делькнопка=1;
          }еще{
              делькнопка=0;
          }   
      SensorValX = AnalogRead(potX);
      SensorValY = AnalogRead(potY);
      Serial.print(sensorValX);
      Серийный.принт(",");
      Serial.print(sensorValY);
      Серийный.принт(",");
      Serial.println(кнопка del);
      задержка(1000);
      }

и здесь он работает достаточно хорошо, чтобы зайти в программу разбора/рисования Чтение серийного номера с помощью wireingpi wireserial.h

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.