Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Реалистичный симулятор игры бильярд. Играйте в Бильярд 3D: Русский бильярд, как в настоящей бильярдной!

Бильярд 3D: Русский бильярд

Симуляторы, Спорт, Настольные

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Stm32 + Разработка

С этим тегом используют

Микроконтроллеры Электроника Arduino Программирование Своими руками Gamedev Инди игра Инди Игры Unity IT Все
4 поста сначала свежее
7
stm32zagotovka
2 месяца назад
Лига программистов

Обновление "HTTPS" для проекта "Zagotovka_M"⁠⁠

Обновление "HTTPS"  для проекта "Zagotovka_M" Stm32, Smart, Автоматизация, Умный дом, Программирование, Электрик, Home Assistant, Majordomo, Умная техника, Microcontrollers, IT, Программист, Программа, Разработка

Пишу этот пост для двух своих подписчиков. Спасибо, что подписались после моего поста про “Заготовку-М” — видимо, Вам интересна эта тема или STM32 в целом. Ссылка на прошлый пост "Zagotovka - M" Отписывайтесь от меня это мой последний пост здесь, так как большинству тема не зашла! Буду искать другие площадки. Спасибо за поддержку — почувствовал себя, блогером с золотыми кнопками от ‘YouTube’ благодаря вам у меня аж две такие золотые кнопки :)

А теперь вернемся к “Заготовка-М” вышло обновление, которое предоставит удаленно управлять Вашей автоматизацией. Теперь Вы легко настроите “HTTPS-сервер” без сложных манипуляций с ‘OpenVPN’ или аренды серверов для зашифрованных туннелей. Данное обновление предоставляет Вам управлять вашей автоматизацией из любой точки мира без сложных посредников!

“HTTPS-сервер” использует RAM, но все еще оставляет достаточно памяти для реализации ваших личных хотелок!

Обновление "HTTPS"  для проекта "Zagotovka_M" Stm32, Smart, Автоматизация, Умный дом, Программирование, Электрик, Home Assistant, Majordomo, Умная техника, Microcontrollers, IT, Программист, Программа, Разработка

Ниже видео инструкция как настроить и пользоваться "HTTPS сервером".

Ссылка на youtube:

Ссылка на rutube:

Показать полностью 1
[моё] Stm32 Smart Автоматизация Умный дом Программирование Электрик Home Assistant Majordomo Умная техника Microcontrollers IT Программист Программа Разработка
12
16
stm32zagotovka
5 месяцев назад
Лига программистов

Zagotovka - M⁠⁠

UPD:

Данный проект предоставляет пользователю:

1.Простой способ настройки устройств через собственный веб-интерфейс

2.Возможность удаленного и локального управления

3.Поддержку различных протоколов связи (MQTT, HTTP) для гибкой интеграции

4.Управление конечными устройствами с помощью тонального набора на мобильном телефоне, что удобно при отсутствии интернета

5.Простую интеграцию с популярными платформами умного дома, такими как Home Assistant

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

Ссылка на проект: https://github.com/zagotovka/Zagotovka_M

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

Zagotovka - M Stm32, Smart, Автоматизация, Умный дом, Программирование, Электрик, Home Assistant, Majordomo, Умная техника, Microcontrollers, IT, Программист, Программа, Разработка

Проект на момент написания этой статьи задействует менее 50% своих ресурсов, оставляя значительный потенциал для расширения. Если у вас нет знакомого программиста, я или Антон всегда готовы вам помочь! С Антоном мы делали этот же проект, но на LwIP (хотя, между нами, моя роль в разработке веб-интерфейса на LwIP была минимальной, не говорите это Антону 😉.

Но, не спешите искать программистов и делать заказы! Если в комментариях будут обоснованные предложения по добавлению новых функций или доработка существующих и под ними будет много лайков, я добавлю/переделаю их бесплатно!

Почему я здесь: Ищу отзывы для улучшения проекта по автоматизации от пользователей (не программистов). Их вопросы и предложения помогут мне улучшить веб. интерфейс, что бы он стал максимально интуитивно понятным. Цель - снизить порог вхождения в автоматизацию и сделать её понятной и доступной.

GitHub для многих скучный сайт, но, с вашей обратной связью я сделаю страничку "Zagotovka - M" более дружелюбной и понятной для людей без опыта программирования. Кликайте на иконки youtube или Rutube ...

Zagotovka - M Stm32, Smart, Автоматизация, Умный дом, Программирование, Электрик, Home Assistant, Majordomo, Умная техника, Microcontrollers, IT, Программист, Программа, Разработка

Если вы программист frontend или backend или дизайнер буду рад любому сотрудничеству в улучшении проекта. Поскольку результаты проекта доступны бесплатно, маловероятно, что мы сможем на этом заработать! Но, потенциальные преимущества от участия все-таки есть: Опыт работы в open-source проекте!

Всё просто: вкладываем время и знания, взамен получаем опыт работы в open-source. Никаких скрытых обещаний или неясных перспектив. Все как мы любим! :)

Если вам это интересно, и хотите присоединиться, не скрывая удивления, я 🤝 и скажу добро пожаловать в команду, нас будет уже двое! 😉

Если вы электрик, но не уверены в своих навыках автоматизации начните с простых проектов:

  1. Соберите 'конструктор' "Заготовка-M".

  2. Начните с автоматизации простых вещей:

    • Освещение аквариума, подогрев и поддержание заданной температуры воды или т.п.

  3. После перейдите к более сложным проектам:

    • Автоматизация гаража/теплицы

  4. Если есть вопросы, спрашивайте! https://discord.gg/fJnXGjqXAn (Но, нужен VPN!)

    Такой подход поможет постепенно развить навыки автоматизации.

PS - Внимание: этот "конструктор" затягивает!

Показать полностью 1
[моё] Stm32 Smart Автоматизация Умный дом Программирование Электрик Home Assistant Majordomo Умная техника Microcontrollers IT Программист Программа Разработка
7
3
erinaceto
erinaceto
5 месяцев назад
Серия Технические заметки

Stm32 без IDE — памятка 1: собираем проект⁠⁠

За вопрос спасибо студентам группы 031/EE-01.

Буквой в скобках обозначаю (например, так: "(Щ)" ) моменты , на которые позже хочу сослаться.

Исходные данные: есть проект STM32CubeIDE (скажем, пустой, только что сгенерированный), теперь хочется его его скомпилировать и запустить на микроконтроллере.
Материалы: МК на базе stm32F401 (впрочем, конкретная модель не важна *), многострадальный ноутбук с Rosa Fresh 12.5.1, кубик версии 1.12 (люблю я именно эту версию…). Программатор — китайский свисток, которому повезло, что кубик его принимает за своего.
Если у вас windows, я предполагаю, что вы сами установили и настроили make, драйвер st-link и т. п. Также все консольные команды я даю в расчёте на bash, это стоит иметь в виду.

Итак, мы запустили кубоид, создали в нём проект, а теперь хотим закрыть кубоид и далее работать с этим проектом. На самом деле для того, чтобы всё получилось без лишней головной боли, сперва соберите проект в кубе. У вас создастся каталог Debug (ну, я пока предполагаю, что вы ничего не трогали), а в нём — исполняемый файл, и куча промежуточных файлов. Теперь вы можете сделать Project →Clean, при этом удалится большинство промежуточнх файлов, но останутся иструкции для утилиты make, которой мы и воспользуемся.

Для этого нам понадобятся

  • текстовый редактор. Любой;

  • утилита make;

  • компилятор, способный создать исполняемый файл для МК;

  • сервер gdb, способный работать по интерфейсу SWD с МК;

    • при использовании ST-LINK_gdbserver (см. ниже) понадобится консольный stm32programmer;

  • клиент gdb, умеющий в инструкции процессора МК.

С редактором, думаю, более-менее ясно.

Компилятор и клиент GDB можно достать из уже установленного кубоида (если у вас его в принципе нет, можно ограничиться пакетом STM32CubeCLT (CLT означает command-line tools). Там нам понадобится найти расположение файлов arm-none-eabi-gcc и arm-none-eabi-gdb.

Собственно, arm — это архитектура процессора, для которого мы собираем программу, none-eabi означает отсутствие какой бы то ни было ОС, взяимодействующей с исполняемым файлом (всяческие RTOS в данном случае не в счёт).

Вот по серверу есть варианты. Можно использовать openOCD, st-util либо stlink-gdbserver. Я буду использовать stlink-gdbserver просто потому, что он идёт в поставке с кубиком (на самом деле у него есть ещё два преимущества: он умеет более чем в одно подключение одновременно, а главное — в отладку двухъядерных МК).

Поищем (я предполагаю, что кубик установлен в /opt/st/stm32cubeide_1.12.0, в зависимости от ОС, кончено, нужно использовать подходящие инструменты для поиска):

aleksei@RNWS-008 ~ $ find /opt/st/stm32cubeide_1.12.0  -name 'arm-none-eabi-gdb'  
/opt/st/stm32cubeide_1.12.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.linux64_1.0.200.202301161003/tools/bin/arm-none-eabi-gdb
aleksei@RNWS-008 ~ $ find /opt/st/stm32cubeide_1.12.0  -name 'arm-none-eabi-gcc'  
/opt/st/stm32cubeide_1.12.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.linux64_1.0.200.202301161003/tools/bin/arm-none-eabi-gcc
aleksei@RNWS-008 ~ $ find /opt/st/stm32cubeide_1.12.0  -name 'ST-LINK_gdbserver'  
/opt/st/stm32cubeide_1.12.0/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.linux64_2.0.500.202301161003/tools/bin/ST-LINK_gdbserver

(Б) На самом деле, конечно, это всё можно найти и глазами, но в любом случае с непривычки будет сильное желание выкинуть эти длинные буквы подальше.Пути до (не включительно) arm-none-eabi-gdb и ST-LINK_gdbserver следует добавить к системной переменной PATH (нет, как это делается, я здесь пояснять не буду, это относится не к нашей теме, а к общей компьютерной грамотности).
(Ъ) А вот путь до arm-none-eabi-gcc нужно добавить в PATH обязательно.

(В) Для использования ST-LINK_gdbserver нам отдельно понадобится путь к программе STM32_Programmer_CLI. Примерно так:

aleksei@RNWS-008 ~ $ find /opt/st/stm32cubeide_1.12.0  -name 'STM32_Programmer_CLI'
/opt/st/stm32cubeide_1.12.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_2.0.600.202301161003/tools/bin/STM32_Programmer_CLI

aleksei@RNWS-008 ~ $ export PATH_TO_PROGRAMMER='/opt/st/stm32cubeide_1.14.0/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.linux64_2.1.100.202311100844/tools/bin'

(А) Далее, make можно использовать как системный, так и из поставки кубоида (так же, поищите make). В принципе, нет причин не использовать штатный make — если только у вас не windows. Но тут подскажу мало: вживую видел make в составе платформы msys2, по идее, должно быть достаточно make из кубика. Точно так же, добавьте её в PATH, и будет работать.


Отлично. если вы проделали это — треть работы позади.

Теперь перейдём к сборке проекта. Для этого необходимо зайти в терминале в каталог с проектом, далее в каталог Debug (посмотреть, где он лежит, можно из Cube IDE: щелчок правой кнопкой мыши → Show In → System Explorer

Stm32 без IDE — памятка 1: собираем проект Микроконтроллеры, Stm32, Программирование, Консольщики, Разработка, IT, Длиннопост

ПКМ на каталоге → Show In → System Explorer

Теперь, узнав, где мы сидим (в моём случае это ~/STM32CubeIDE/other/test/Debug), открываем там терминал:
cd ~/STM32CubeIDE/other/test/Debug
и собираем проект (во всяком случае, те, кто не прогуливал лекцию про make):
make all

Для этого у нас должны быть установлены make (см (А) ) и переменная PATH должна указывать на каталог с arm-none-eabi-gcc (см. (Ъ)). Если make пишет что-то вроде /bin/bash: команда не найдена: arm-none-eabi-gcc), то возвращаемся к пункту (Ъ).

Если же эти два требования выполнены, то внезапно собирается. Почему?

Потому что в каталоге Debug кубик создаёт makefile, а также воссоздаёт примерную структуру каталогов проекта. В каждом из подкаталогов лежит фай subdir.mk, описывающий, как собирать данный подкаталог (в самом Debug эти инструкции вынесены в файлы с названиями objects.list, objects.mk, sources.mk). В принципе, мне по нраву такой подход. В сами файлы мы залезем чуть позже. А пока посмотрим, что получилось на выходе:

aleksei@RNWS-008 ~/STM32CubeIDE/other/test/Debug $ make  all  | grep -v arm-none-eabi-gcc
Finished building target: test.elf

arm-none-eabi-size  test.elf  
text  data  bss  dec  hex filename
5788  20  1580  7388  1cdc test.elf
Finished building: default.size.stdout

arm-none-eabi-objdump -h -S test.elf  > "test.list"
Finished building: test.list

(grep -v использовал просто чтобы не выводить полотно текста).

У нас собрался файл Debug/lesson1.elf. Ура. Он модержит в себе инструкции и данные для работы программы; адреса, по которым эти инструкции и данные должны располагаться; отладочную информацию в соответствии с тем профилем сборки, который настроили в кубике — для Debug это практически весь исходный текст программы. Он нам и понадобится далее.

Теперь треть работы позади.

Подключаемся к МК.

Как уже упоминал, работать будем с ST-LINK_gdbserver; при желании можете использовать st-util, она чуть проще в запуске, а результат для нас будет тем же. Или openOCD, если он у вас уже есть.

Предполагаю, что (Б) и (В) мы уже прошли. Тогда запускаем:
ST-LINK_gdbserver -p 4242 -d -t -cp $PATH_TO_PROGRAMMER
Здесь -p 4242 — это указание порта для работы с клиентом gdb; по умолчанию ST-LINK_gdbserver использует 61234, делайте как вам удобно, я обычно пишу его явно, чтобы не забыть.
-d — использовать SWD (подозреваю, что ключ необязателен).
-t — тоже необязательный для нас, разрешает множественные подключения.
-cp $PATH_TO_PROGRAMMER — обязательно нужно указать путь к STM32_Programmer_CLI (см. (В))

Если контроллер подключён, то увидим сообщение типа Waiting for debugger connection
Это означает, что мы смогли подключиться по USB к программатору и через него к целевому контроллеру. Если не смогли — проверяем контакты (в том числе разрешение на доступ к USB, мало ли…)

Далее в отдельном терминале заходим в каталог с файлом elf и запускаем клиент отладчика. Примечание для пользователей windows: здесь следует использовать именно стандартный терминал windows, штуковины типа git bash или терминала msys2 в данном конкретном случае не дадут работать автодополнению клиента gdb.

aleksei@RNWS-008 ~/STM32CubeIDE/other/test/Debug $ arm-none-eabi-gdb

(gdb) target extended-remote :4242
Remote debugging using :4242
warning: No executable has been specified and target does not support
determining executable automatically.  Try using the "file" command.
0x08015760 in ?? ()
(gdb) file test.elf
Reading symbols from test.elf...
(gdb) load

Loading section .isr_vector, size 0x298 lma 0x8000000
Loading section .text, size 0x1bc5a lma 0x8000298
Loading section .init, size 0xc lma 0x801bef4
Loading section .fini, size 0xc lma 0x801bf00
Loading section .rodata, size 0x10444 lma 0x801bf0c
Loading section .eh_frame, size 0x4 lma 0x802c350
Loading section .ARM.exidx, size 0x8 lma 0x802c354
Loading section .data, size 0x9ec lma 0x802c35c
Loading section .init_array, size 0xc lma 0x802cd48
Loading section .fini_array, size 0x4 lma 0x802cd54
Loading section .init_array.00000, size 0x4 lma 0x802cd58
Start address 0x08007a24, load size 183642
Transfer rate: 41 KB/sec, 8347 bytes/write.
(gdb) continue
Continuing.

Собственно, программа запущена. Далее изучайте команды gdb (начните с: breakpoint, info breakpoint, delete, next, step, continue, run, disconnect, target, quit, print, x, frame; несколько особняком — dump, потому что на тему неё я позже ещё напишу пару слов). Имейте в виду, что здесь работает автодополнение команд (клавишей Tab), история (клавиши «Вверх» и «Вниз»), поиск по истории (Ctrl + r), сокращения команд (например, 'c' эквивалентно continue). Также если нажать ВВОД при пустой строке ввода, будет повторена последняя команда (это не очень удобно, но увы, без пересборки gdb этого не исправить; для отдельных команд можно отменить повтор последней команды при помощи «dont-repeat».

В следущей серии помигаем светодиодиком.

Показать полностью 1
[моё] Микроконтроллеры Stm32 Программирование Консольщики Разработка IT Длиннопост
1
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
37
techn0man1ac
techn0man1ac
5 лет назад
Лига Радиолюбителей

Разработка схемы и печатной платы (STM32)⁠⁠

Авторские описания роликов:

"Детально показан процесс создания макетной платы с микропроцессором STM32F0. Как самостоятельно проектировать схемы с использованием микроконтроллеров. Основы проектирования печатных плат."

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

За видео благодарим автора youtube канала "Vladimir Medintsev"

Показать полностью 2
Схема Плата Электроника Stm32 Разработка Устройство Видео
16
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии