Сообщество - Arduino & Pi
Добавить пост

Arduino & Pi

1 377 постов 20 574 подписчика

Популярные теги в сообществе:

Интересное про графическую подсистему Linux

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

Интересное про графическую подсистему Linux Linux, Программа, Программирование, Разработка, Операционная система
  • Графическая подсистема Linux состоит из нескольких уровней: ядра, драйверов, сервера X Window System, графических библиотек и графических оболочек.

  • Сервер X Window System — это основной элемент графической подсистемы Linux, который отвечает за отображение графики на экране и обработку ввода с клавиатуры и мыши. Сервер X был разработан в 1984 году в Массачусетском технологическом институте.

  • Графические оболочки — это программы, которые предоставляют пользователю графический интерфейс для работы с системой. Существует множество различных графических оболочек для Linux, таких как GNOME, KDE, XFCE, LXDE, Cinnamon, MATE и другие Каждая из них имеет свои особенности, преимущества и недостатки.

  • Одна из самых популярных и старейших графических оболочек для Linux — это GNOME, которая была создана в 1997 году как альтернатива KDE. GNOME стоит за аббревиатурой GNU Network Object Model Environment.

  • Одна из самых легковесных и быстрых графических оболочек для Linux — это LXDE, которая была создана в 2006 году как проект для устройств с ограниченными ресурсами. LXDE стоит за аббревиатурой Lightweight X11 Desktop Environment.

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

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью

Разработка на C# для устройств

Чтобы работать с устройствами через C#, вам потребуется использовать соответствующие библиотеки и API.

Разработка на C# для устройств Разработка, Разработчики, Программирование, Программист, Linux, IT, Embedded
  • Использование библиотеки Windows.Devices: Эта библиотека предоставляет доступ к различным устройствам, подключенным к компьютеру с операционной системой Windows. Вы можете использовать классы и методы этой библиотеки для работы с устройствами, такими как принтеры, сканеры, камеры и другие.

  • Использование библиотеки System.IO.Ports: Если вам нужно работать с устройствами, подключенными через последовательный порт (COM-порт), вы можете использовать классы и методы этой библиотеки. Она позволяет открывать и управлять COM-портами, отправлять и принимать данные.

  • Использование API устройства: Некоторые устройства имеют свои собственные API, которые позволяют взаимодействовать с ними через C#. Например, если вы хотите работать с принтером, вы можете использовать API принтера для отправки печатных заданий и получения статуса печати.

  • Использование сторонних библиотек: Существуют сторонние библиотеки, которые предоставляют дополнительные функциональные возможности для работы с устройствами через C#. Например, вы можете использовать библиотеку LibUsbDotNet для работы с USB-устройствами.

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

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью

Механизмы синхронизаци потоков в C++

Синхронизация потоков в C++ позволяет управлять доступом к общим ресурсам из разных потоков исполнения. Это важно, чтобы избежать гонок данных и других проблем, связанных с одновременным доступом к общим данным.

Механизмы синхронизаци потоков в C++ IT, Программирование, Программист, C++, Разработка

Для синхронизации потоков в C++ можно использовать различные механизмы, такие как мьютексы, условные переменные и атомарные операции.

Мьютексы (mutex) позволяют блокировать доступ к общему ресурсу, чтобы только один поток мог его использовать в определенный момент времени. При использовании мьютекса один поток блокирует его, а другие потоки ждут его разблокировки.

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

Атомарные операции (atomic operations) позволяют выполнять операции над общими данными без гонок данных. Атомарные операции гарантируют, что операция будет выполнена целиком и никакой другой поток не сможет вмешаться в ее выполнение.

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью

Streamdeck дешево и сердито

День добрый, появилась идея создать какой-то "народный" вариант стримдека, так, чтобы его можно было использовать не только на стримах, но и в играх, разных прогах, в повседневной жизни в общем (каждую клавишу и крутилку можно будет биндить)

Streamdeck дешево и сердито Arduino, Программирование, Бинды, Электроника, IT, Гаджеты, Инженер, Проект, Windows, Разработка

концепт

форм-фактор:

на самой клавиатуре (хоть и очень маленькой) будет 5 механических клавиш, я думаю взять красные свитчи и сами кейкапы печатать на принтере или взять из какой-нибудь не дорогой клавы-донора. помимо клавиш будет 2 крутилки, для регулировки звука/отдельных источников звука (в идеале)

я почти ничего не знаю про ардуино (смотрел раньше алекса гавера X) ), но готов разбираться и узнавать новое.

я бы хотел узнать у вас несколько вещей:

  1. Ваше мнение на счет концепта? Нужно ли такое хоть кому-то, если это будет стоить кратно меньше вышеупомянутого streamdeck'a?

  2. Нужно ли менять форм-фактор? Мне не очень нравится то, как концепт выглядит сейчас, я думаю, можно сделать 2 ряда клавиш вместо 1, и тогда вместо 1/5 будет 2/2 (4 клавиши) или 2/3 клавиш (6 клавиш), в общем, интересно ваше мнение.

  3. Как реализовать главную фишку этой клавиатуры - бинды? Нужно писать отдельную прогу? Или ограничиться инструкцией и опенсурс программами для биндов в этой инструкции?

  4. Можно ли ограничиться проводной распайкой? тут всего 7 элементов управления, а возиться с текстолитом будет дорого или муторно, поэтому, я прикинул, что чуть увеличив корпус можно будет все уложить.

  5. Какой контроллер взять? Задумка клавиатуры - максимальный профит и достойное качество за приемлемые деньги, а значит и контроллер хочется взять максимально подходящий по требованиям.

Прошу отнестись не сильно строго к моей идее, я открыт к здравой критике и любым предложениям, заранее спасибо :)

Показать полностью

Система наведения для солнечной панели

Интересные факты и возможности SSH

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

Интересные факты и возможности SSH Программирование, IT, Программист, Linux, Ssh, Протокол, Windows


Вот некоторые из них:

  • Вы можете использовать SSH для создания безопасных туннелей, которые позволяют передавать любой другой сетевой протокол через зашифрованное соединение. Например, вы можете настроить SSH-туннель для доступа к веб-сайту, который заблокирован в вашем регионе, или для подключения к локальной сети вашего офиса из дома.

  • Вы можете использовать SSH для запуска графических приложений на удаленном сервере и отображения их на вашем локальном компьютере. Для этого вам нужно включить опцию -X при подключении к серверу и установить X Window System на обоих компьютерах. Таким образом, вы можете работать с программами, которые требуют большой вычислительной мощности или специального оборудования, не имея их на своем компьютере.

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

  • Вы можете использовать SSH для создания простого чата или голосовой связи между двумя компьютерами. Для этого вам нужно использовать утилиту write, которая позволяет отправлять сообщения другому пользователю по SSH-соединению. Вы также можете использовать утилиту talk, которая позволяет обмениваться сообщениями в режиме реального времени. Для голосовой связи вы можете использовать утилиту speak-freely, которая позволяет передавать звук по SSH-соединению.

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью

Детектирует ли датчик TVOC запах мочи?

Собственно вопрос датчиковедам и химикам. Хочу вентиляцию туалета повесить на улавливание запаха кошачей мочи/кала во время моего отсутствия. Будет реагировать?

Угадайте звездного капитана юмористической команды «Сборная Красноярска» по описанию одного из участников

Ну что, потренировались? А теперь пора браться за дело всерьез.

Показать полностью

Про утечку памяти в C++ и как с ней быть

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

Про утечку памяти в C++ и как с ней быть Программирование, IT, Программист, C++, Познавательно

Утечка памяти может быть вызвана разными причинами, например:

  • Неправильное использование операторов new и delete, когда для каждого выделения памяти не соответствует освобождение.

  • Забывание освободить память, возвращаемую из функций или методов.

  • Потеря указателей на выделенную память, когда они перезаписываются или выходят из области видимости.

  • Некорректная работа сторонних библиотек или компонентов, которые сами выделяют и освобождают память.

Для предотвращения утечек памяти в C++ существуют разные подходы и инструменты, например:

  • Отказ от динамической памяти и использование статических или автоматических переменных, если это возможно.

  • Владеющие указатели (smart pointers), которые автоматически освобождают память при уничтожении объекта или выходе из области видимости.

  • Сборка мусора (garbage collection), которая периодически проверяет, какие области памяти больше не используются, и освобождает их. В C++ сборка мусора может быть реализована с помощью специальных библиотек или фреймворков.

  • Перезапуск программы (rebooting), который полностью очищает память от всех данных программы. Этот способ может быть полезен для долго работающих программ, которые не могут полностью избежать утечек памяти.

Для обнаружения утечек памяти в C++ можно использовать различные средства отладки и анализа кода, такие как:

  • Отладчики (debuggers), которые позволяют просматривать состояние памяти во время выполнения программы и находить места, где происходят утечки.

  • Профилировщики (profilers), которые измеряют, сколько памяти используется разными частями программы и как она изменяется со временем.

  • Статические анализаторы (static analyzers), которые проверяют код программы на наличие потенциальных ошибок или уязвимостей, связанных с управлением памятью.

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью
Отличная работа, все прочитано!