Skip to content
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи
Collapse
piP

pi

@pi
Сводка
Сообщения
6.3k
Темы
1.6k
Группы
1
Подписчики
0
Подписки
0

Сообщения

Последние Лучшие сообщения Спорные

  • Raspberry pi 4 не включается
    piP pi

    Для 4-ки нужен отдельный образ.
    Если на карте старый образ, то с 4-кой он работать не будет


  • Raspberry pi 4 не включается
    piP pi

    У меня тоже проблема с 4. Горят зеленый и красный светодиоды, при этом карта в rpi3 работала (видимо её уронили и сейчас она сломана). При этом взял из оранж и рпи3 карты, с которыми те грузятся - с 4 эффект тот же... Непропаев не вижу (в том числе замыкал пинцетом корпус и вывод под ним в месте на фото), рпи ест 1-2вт (было сильно больше)


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    > @Sailwork#6613 какие библиотеки нужно указывать в параметрах компилятора, а какие нет?

    Для этого во всех *NIX системах имеется команда 'man' - 'manual'. Например, в своей программе Вы используете ф-цию pthread_create() Что бы узнать, в какой библиотеке содержится эта функция и какой флаг компоновки надо использовать, выполняем команду:

    man pthread_create
    И видим ответ

    #include <pthread.h>
    Compile and link with -pthread.
    

    > @Sailwork#6613 зачем у вас в коде на си библиотека std.lib?

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


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    Я принял к сведению, спасибо, все заработало. Случаем не знаете как понять, какие библиотеки нужно указывать в параметрах компилятора, а какие нет? И еще, не могу понять, зачем у вас в коде на си библиотека std.lib?


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    > @Sailwork#6610 возникли ошибки

    Существует такое правило, практически на всех форумах, типа этого: НИКОГДА не используйте скриншоты. Всё должно быть исключительно в текстовом виде, а особенно - сообщения об ошибках. Что бы отвечающий мог легко откопипастить куски кода, сообщения об ошибках и т.д. и найти решение.

    Насколько я смог разглядеть вашу картинку (после мучительного изучения) у вас не линкуется главная программа с библиотекой libpthread. Наиболее веротная причины - вы не указали эту библиотеку в параметрах компилятора. Попробуйте вот так:

    g++ main.cpp -lpthread


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    > @Sailwork#6609 А эта книга для Си, а если я хочу писать код на плюсах?

    Специальной книжки по плюсам для малинки я не знаю. Думаю, что нет большого различия. Но я не считаю, что плюсы - хороший вариант для малинки. Если приложение большое и сложное - надо писать на С, что бы не давать лишнюю нагрузку на систему. Если приложение простое - пишите на питоне - дёшево и сердито 🙂


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    Когда я создал проект из шаблона на с++ возникли ошибки. Что не так?[upl-image-preview url=https://raspberrypi.ru/forum/assets/files/2021-05-22/1621680590-820543-2021-05-22-134815-1920x1080-scrot.png]


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    А эта книга для Си, а если я хочу писать код на плюсах? Там же все таки отличия есть в командах(например классах и объектах) или под Linux(расберри) все равно и функционал у них одинаковый?


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    > @Sailwork#6607 Где можно узнать про основные отличия в работе с кодом(программировании на с++ или Python)

    Если у вас с английским ОК, то лучше всего смотреть фирменное издательство "Малинки". Там очень много книг по разным темам:

    https://magpi.raspberrypi.org/books

    Там есть серия книг под общим названием "Raspberry Pi Projects" в которых описываются многочисленные варианты использования малинки. Есть книги и по конкретным темам.

    Например, про С на малинке: https://magpi.raspberrypi.org/books/essentials-c-v1
    Или про GUI на Python: https://magpi.raspberrypi.org/books/create-guis

    Если с английским тяжко, то бы рекомендовал начать с отличной книги:

    "Raspberry Py Сбоник рецептов". Саймон Монк. O'Reily

    Вышло уже два, а может и три издания. Иесть в бумажном и электронном виде.


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    Спасибо большоое, пока буду разбираться в том, что вы написали. Но я немного не ожидал, что то, что не работает в обычной вижле на виндовс будет работать на rasberry pi(Linux). Я уже думал, что мне нужно будет скачивать на мою расберри библиотеки, а потом мучаться с их подключением, но как только я вставил код в расберри - все без ошибок заработало. Где можно узнать про основные отличия в работе с кодом(программировании на с++ или Python) и с библиотеками на windows и на Linux (raspberry pi) и какие библиотеки имеются в линуксовских(raspberry pi) ide? Очень бы хотелось научится кодить под Linux (raspberry pi) на с++ и питоне


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    Исходный текст на питоне. Тут есть тонкость... Потоки (Thread) в питоне реализованы не очень адекватно. Поэтому, если в С-программе один поток ВЫВОДИЛ на консоль, а другой, в это же самое время ВВОДИЛ и всё это нормально работало, то в питоне такого нет.

    Максимум, что я успеваю ввести во время секундной паузы вывода - одну букву. Поэтому здесь командой выхода из цикла является не слово "exit", а буква 'q':

    import threading
    import time
    
    flag = True
    
    def controller():
        """Функция ожидания команды остановки"""
        global flag
    
        # Бесконечный цикл ввода команд
        while True:
            in_str = input()
            print("Ввели '{}'".format(in_str))
            if in_str == 'q':   # Введена команда останова?
                flag = False
                return
    
    """Главная функция программы"""
    
    # Запускаем нить управления
    t = threading.Thread(target=controller)
    t. start()
    
    # Основной цикл обработки
    while flag:
        # Просто что-то делаем... Ну, хотя бы - спим!
        time.sleep(1)
        print("Я работаю...")
    

  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    На С:

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <string.h>
    #include <pthread.h>
    
    
    // Флаг продолжения обработки в главном цикле
    int flag;
    
    // Функция управляет циклом основной обработки
    void * comander(void *param) {
        char buf[32];
    
        puts("Нить запущена");
        while(1) {
            fgets(buf, 31, stdin);
            if (strncmp(buf, "exit", 4) == 0) {
                puts("Останавливаю процесс обработки");
                flag = 0;
            }
        }
        return NULL;
    }
    
    
    // Главная функция программы
    int main(int argc, char *argv[])
    {
        pthread_t thread;
        pthread_attr_t attr;
        int rc;
        
        puts("Запускаю процесс управления");
        flag = 1;
        pthread_attr_init(&attr);
        rc =  pthread_create(&thread, &attr, comander, NULL);
    
        while (flag) {
            puts("Работаю...");
            sleep(1);
        }
        
        puts("Работа завершена!");
        
        return 0;
    }
    
    

  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    > @Sailwork#6603 вопрос повторил,

    На выходные сделаю...


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    @sv-lary#6601 вопрос повторил, потому что на обоих языках нужна реализация


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    @sv-lary#6601 напишите пожалуйста код примера


  • Остановка бесконечного цикла по вводу ключевого слова
    piP pi

    Не нужно повторять вопросы. Я уже дал ответ на этот вопрос.

    Если вы совсем новичёк в программировании, то я могу дать полный текст примера на питоне. Но всё очень просто и так...


  • Ввод ключевого слова для выхода из цикла
    piP pi

    @Sailwork#6598 Есть у кого какие-нибудь идеи реализации такого алгоритма

    Да какие тут идеи?! 🙂 Ситуация обсосанная тысячу раз. Без привязки к языку программирования:

    1. Создаём переменную, управляющую повторением цикла и присваиваем ей значение TRUE
    2. Создаём нить, которая висит на ожидании ввода с клавиатуры. По нажатию Enter проверяется, что введено. Если это команда остановки, то переменной цикла присваиваем FALSE и завершаем нить.
    3. Запускаем основной цикл, который крутится пока управляющая переменная TRUE

  • Требуется помощь в разработке робота сборщика шишек в несколько этапов
    piP pi

    Боюсь что Вы действительно не до конца представляете сложность этой задачи. Просто подключить камеру и распознавать плоские объекты совершенно недостаточно. Для действий руки-манипулятора в нашем трехмерном мире такой робот должен будет составлять свою трех-мерную картину окружающего пространства. Для этого потребуется как минимум стереоскопическое зрение и построение 3хмерной картины мира по изображениям с двух камер. Если это и возможно, то быстродействия такой игрушки как одноплатник хватит разве что для работы в идеальных условиях, то есть без ветра, на жесткой опоре и без ветра. А это не реально для практического применения. Для реально полезным такого робота может сделать только построение такой трехмерной картины мира в режиме реального времени, а на это потребуется скорее всего вычислительные мощности нескольких мощных компьютеров - первые автоматизированные робо-такси могли передвигаться только по полигону ( там где нет людей ) и с черепашьей скоростью, при этом были загружены под завязку компьютерами и обвешаны камерами. Тут сложность сопоставимая, хотя немного проще за счет наличия всего одного манипулятора. Но если не учитывать "скрытых" но абсолютно необходимых к решению задач, кажется что все не особо сложно. Без решения таких задач Вы сможете получить действительно только игрушку, которая будет на практике абсолютно бесполезна. А для полноценного решения потребуется настолько серьезный объем инвестиций, что окупаемость проекта собранными шишками затянется на астрономическое время... Такие работы могут себе позволить разве что американские военные с условно-бесконечным финансированием. да и у Dapra на решение чего-то подобного ушло не один год... А народу там работает много, и все не дураки и за даром не работают...


  • Raspberry 4. Gpio 16 в обычном режиме?
    piP pi

    Полезно понимать в каком режиме в определенный момент находится нужный Вам вывод процессора. Он может быть настроен на вход, на выход и на любую из нескольких альтернативных функций. Если с выводами 20 и 21 Вам повезло и их никакая программа не перехватила, то вывод 16 может быть настроен на какой-то не подходящий Вам режим. Это означает что выводы нужно настраивать для себя. Программы для этого в принципе имеются, найти можно. Думаю что справитесь.


  • Посоветуйте что почитать
    piP pi

    Посмотри вот здесь, в этой электронной библиотеке можно найти хорошие книги по программированию https://litrec.net/

  • 1 / 1
  • Войти

  • Нет учётной записи? Зарегистрироваться

  • Login or register to search.
  • Первое сообщение
    Последнее сообщение
0
  • Категории
  • Главная
  • Документация
  • Последние
  • Пользователи