Điểm:1

Tôi có thể cài đặt các thư viện pi nối dây trên máy tính để bàn linux của mình không?

lá cờ au
j0h

Tôi có một dự án đang thực hiện, dự án đó cuối cùng cũng sẽ là một raspberry pi chạy Ubuntu, nhưng hiện tại tôi chỉ muốn viết mã bao gồm WiredPi.h và WiredSerial.h Tôi đã thử cài đặt wirepi sudo apt-get cài đặt wirepi, nhưng điều này rõ ràng không bao gồm các thư viện C/C++ cho wirepi.

làm cách nào tôi có thể cài đặt các thư viện wirepi C/C++ trên máy tính để bàn Ubuntu của mình? phần cứng duy nhất tôi đang sử dụng là một cổng nối tiếp, sẽ không có bất kỳ sự cố nào với GPIO có sẵn.

Tôi đang sử dụng tiêu điểm Ubuntu 20.04

lá cờ hr
https://packages.ubuntu.com/focal/libwiringpi-dev
Điểm:1
lá cờ au
j0h

Đó là nhận xét của trình điều khiển thép, đã giải quyết nó. Sudo apt-get cài đặt libwiringpi-dev

Có một số vấn đề với libwiringpi-dev. Bạn không muốn gọi wirePiSetup(); bạn có thể sẽ nhận được

Rất tiếc: Không thể xác định bản sửa đổi bảng từ /proc/device-tree/system/linux,revision
hoặc từ /proc/cpuinfo
 -> Không có dòng "Phần cứng"
 -> Tốt nhất bạn nên google lỗi để tìm hiểu tại sao.

lý do là bạn đang sử dụng CPU không dựa trên cánh tay và tệp mà nó đang xem không được định dạng theo cách nó mong đợi. may mắn thay, tôi không yêu cầu bất kỳ thứ gì trong số đó, tôi chỉ muốn sử dụng thư viện cổng nối tiếp đơn giản.

Tôi cũng gặp sự cố khi gửi dữ liệu qua serialPuts(), nhưng tôi không cần thực hiện thao tác bắt tay.. Tôi đoán vậy.

Đây là một dự án nhỏ đọc một Arduino uno với 2 chiết áp và một nút bấm, mục đích là dùng các cái nồi để vẽ hình lên màn hình, hoặc trong một hình ảnh...

#include <iostream>
#include <stdio.h>
#include <unistd.h> //đọc hàm
#include <string.h>
#include <wiringSerial.h> //thư viện cổng nối tiếp đơn giản

sử dụng không gian tên std;
// được biên dịch với g++ -Wall -o readSerial readSerial.cpp -lwiringPi

int chính(int argc, char ** argv)
{
    const char *SensorPort = "/dev/ttyACM0"; // Địa chỉ thiết bị nối tiếp
     
    int levelSensor = serialOpen(SensorPort, 9600);
    //serialPuts(levelSensor, "1"); // Gửi lệnh đến thiết bị nối tiếp

    trong khi (1){
        bộ đệm char [100];
        ssize_t length = read(levelSensor, &buffer, sizeof(buffer));
        nếu (độ dài == -1){
            cerr << "Lỗi đọc từ cổng nối tiếp" << endl;
            nghỉ;
        }
        khác nếu (độ dài == 0){
            cerr << "Không còn dữ liệu" << endl;
            nghỉ;
        }khác{
            bộ đệm [độ dài] = '\ 0';
            cout << đệm; // Đọc dữ liệu nối tiếp
        }
    }

    trả về 0;
}

dữ liệu được gửi qua Arduino thông qua mã này:

    /*EtchaPhác thảo
     * 2 chậu, X,Y, gia số
     * 
     * thêm nút để xóa nội dung này
     * Chương trình này giao tiếp trên cổng nối tiếp, với một chương trình riêng xử lý bản vẽ tọa độ nhận được (giá trị nồi).  
    */
    
    int potX = A0;    
    int potY = A1;    
    cảm biến intValX = 0;  
    cảm biến intValY = 0;  
    int del = 1; // một nút trên chân 1 để xóa nội dung đã vẽ 
    int delbutton = 0;
    thiết lập vô hiệu () {
        Nối tiếp.bắt đầu (9600);
        pinMode(del, INPUT);
    }

   vòng lặp vô hiệu () {
      // đọc giá trị từ pot:
      if(digitalRead(del) == CAO ){
          delbutton=1;
          }khác{
              delbutton=0;
          }   
      cảm biếnValX = analogRead(potX);
      sensorValY = analogRead(potY);
      Serial.print(sensorValX);
      Serial.print(",");
      Serial.print(sensorValY);
      Serial.print(",");
      Serial.println(delbutton);
      độ trễ (1000);
      }

và ở đây nó hoạt động đủ tốt để đi vào chương trình phân tích/vẽ Đọc nối tiếp với wirepi wireSerial.h

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.