Search
Write a publication
Pull to refresh
28
0
Send message

STM32 и FreeRTOS. 1. Развлечение с потоками

Reading time7 min
Views161K
Данный цикл из 5 статей рассчитан на тех, кому стало мало возможностей привычных «тинек» и ардуинок, но все попытки перейти на более мощные контроллеры оканчивались неудачей или не приносили столько удовольствия, сколько могли бы. Все ниженаписанное проговаривалось мной много раз на «ликбезе» программистов нашей студии (которые часто сознавались, что переход с «тинек» на «стмки» открывает столько возможностей, что попадаешь в ступор, не зная за что хвататься), поэтому смею надеяться, что польза будет всем. При прочтении подразумевается, что читающий — человек любопытный и сам смог найти и поставить Keil, STM32Cube и понажимать кнопки «ОК». Для практики я использую оценочную плату STM32F3DISCOVERY, ибо она дешевая, на ней стоит мощный процессор и есть куча светодиодиков.

Каждая статья рассчитана на «повторение» и «осмысление» где-то на один околовечерний час, ибо дом, семья или отдых…



Читать дальше →

Практикум «Intel IoT». Galileo Gen2 — Первое знакомство

Reading time6 min
Views47K
Компания Intel выпускает несколько устройств для разработчиков: Galileo, Galileo Gen2 и Edison — продукты, совместимые с платформой Arduino, основное назначение которых – создание решений в сфере интернета вещей (IoT).

Сегодня я хочу вас познакомить с Intel Galileo Gen2:


Встречайте!

Унификация и поиск с возвратом на C#

Reading time6 min
Views12K
Эта статья является ответом на статью «Задача Эйнштейна на Прологе». В ней автор пишет, что Пролог очень хорошо подходит для решения этой задачи и что суммарное количество строк почти совпадает с условиями задачи. Здесь я хочу показать, что на C# количество строк кода может быть примерно тем же. Я просто скопирую решение на Прологе и немного изменю синтаксис. Сначала приведу итоговый результат, а потом распишу функции. Вот что получилось:
Читать дальше →

STM32L0538-DISCO: краткое описание + интересное применение

Reading time6 min
Views58K
image

Уже довольно давно в продаже появилась новая плата из серии discovery от STMicroelectronics. Думаю, хабрасообществу будет интересно познакомиться с ней поближе. Под катом вас ожидает краткий обзор новой демоплаты и интересный пример её применения.
Читать дальше →

Как подружить OpenHAB и Arduino

Reading time6 min
Views80K
Мы все хотим сделать жизнь лучше, добавить в наш дом технические новинки, автоматизировать его и сделать более безопасным. Зачастую эти желания превращаются в движение по граблям. Известно, что фирменные системы дороги и часто не совместимы друг с другом, а создание своего решения по силам не каждому профессионалу. Что же делать, как найти простое решение доступное любителям, но и интересное профессионалам?

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

Arduino подходит для локального контроля и управления в доме, в сети есть масса проектов для этого — отлично, но недостаточно, ведь нужно мыслить глобально! Нам нужен выход в сеть и мобильный интерфейс!

Хорошо, что благодаря этой статье мы уже знакомы с OpenHAB — платформой с открытым исходным кодом, объединяющей большое количество устройства с разными протоколами в единую сеть. OpenHAB реализован на Java, поэтому работает в различных ОС, его можно запустить на одноплатном компьютере и даже роутере, в нём есть мобильный и Web интерфейс. Звучит как хороший набор заклинаний против наших, надоевших уже граблей, проверим?
Читать дальше →

Ручной монтаж сложных плат на компонентах 0402, 0603, QFN, LQFP и THT

Reading time5 min
Views86K
Приветствую!



Сегодня речь пойдет о том, как добиться высокого качества монтажа на платах с большим количеством компонентов — до 1500шт (можно и больше при плотном монтаже или при сборке 1-2 плат одновременно — не более). Потребность в таком сложном монтаже обычно возникает при изготовлении первого макета или нескольких образцов, чтобы убедиться в правильности трассировки печатной платы (основных сложных моментов) или же при разовом производстве. После получения такого макета можно начинать отлаживать программное обеспечение и вносить корректировки в плату. Заводская сборка, в этом случае, не совсем подходит из-за ее стоимости, подготовки конструкторской документации, подборки компонентов, сроков, макетирования и многого другого (под катом картинки на 8Мб).
Читать дальше →

Реализация словаря в Python 2.7

Reading time15 min
Views115K
В этой статье пойдёт речь о том, как реализован словарь в Python. Я постараюсь ответить на вопрос, почему элементы словаря не упорядочены, описать, каким образом словари хранят, добавляют и удаляют свои элементы. Надеюсь, что статья будет полезна не только людям, изучающим Python, но и всем, кто интересуется внутренним устройством и организацией структур данных.
Читать дальше →

Arduino, модуль Nokia 5110 LCD и любая картинка

Reading time2 min
Views80K


Наверное, у меня, как и у всех Arduino-строителей, появилась какая-то бредовая идея в голове. Заказал в Китае все необходимые детали. Ждать пришлось очень долго, но тут раньше срока был доставлен клон платы Arduino Uno и LCD-дисплей Nokia 5110. Так как до этого с электроникой и программированием я был не знаком, решил не терять время зря и начал учиться выводить информацию на данный модуль.
Читать дальше →

Эмуляция носителя FAT32 на stm32f4

Reading time6 min
Views54K


Недавно возникла данная задача — эмуляция носителя FAT32 на stm32f4.

Её необычность заключается в том, что среди обвязки микроконтроллера вовсе может не быть накопителя.

В моём случае накопитель был, но правила работы с ним не позволяли разместить файловую систему. В ТЗ, тем не менее, присутствовало требование организовать Mass Storage интерфейс для доступа к данным.

Результатом работы явился модуль, который я озаглавил «emfat», состоящий из одноимённого .h и .c файла.

Модуль независим от платформы. В прилагаемом примере он работает на плате stm32f4discovery.

Функция модуля — отдавать куски файловой системы, которые запросит usb-host, подставляя пользовательские данные, если тот пытается считать некоторый файл.
Читать дальше →

Превращаем Arduino в полноценный AVRISP программатор

Reading time5 min
Views293K
image

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

Меня уже давно спрашивают — можно ли прошивать hex файлы при помощи Arduino? Изменять фьюзы? Считывать прошивку? И всякое такое… Ответ — можно, и я сегодня вам расскажу, как я это делаю.


(Данное видео дублирует представленную ниже информацию)
Интересненько...

Отладчик за копейки: делаем ST-Link из Maple Mini

Reading time2 min
Views75K


Начав свое знакомство с STM32 с китайских клонов Leaf Maple Mini (потому что самый дешевый вариант, 4$), я столкнулся с неудобством. Поскольку на Maple IDE рассчитывать не стоит, значит, приходится работать с «голым» STM32. А раз ST-Link у меня нет, заливать программу я могу только по UART, что неудобно (и нет возможности отладки).

Но хабраюзер imwode ровно через 9 часов после моей публикации написал ответный материал, из которого я узнал прекрасное: отладчик ST-Link основан на том же микроконтроллере STM. При этом, прошивка отладчика умельцами вытащена и готова к загрузке на неродные устройства. Maple Mini подходит идеально: ничего лишнего, USB распаян, надо только несколько резисторов подключить.

Читать дальше →

Assembler в 30 строк на Excel

Reading time2 min
Views78K
В заголовке порядок слов не перепутан.



Живет в Венгрии юный программист Адам Кишш. Он участвует в чем-то типа онлайн-олимпиады KöMaL. Для решения заданий по информатике предлагается использовать несколько обычных языков программирования: С, С++, Python и некоторые другие. В одном из заданий требовалось написать Сапер и бота для игры в него. Такая задача очень легко решается средствами табличного процессора — того же Excel, например, и пачки макросов. Однако же, макросы использовать нельзя. Адам выкрутился необычным способом: реализовал в книге Excel простенький виртуальный компьютер, который программируется на Ассемблере — Excembler.
Читать дальше →

Изменение ролей пользователей 1С 8 (файловый вариант)

Reading time3 min
Views14K
Предположим, что нам необходимо восстановить доступ к файловой базе данных 1С Предприятие. Как правило в таких случаях проводят некоторые манипуляции с паролями (либо брутфорсят, либо сбрасывают). Мене захотелось немного усложнить задачу и пойти другим путем — назначить обычному пользователю права администратора.
Читать дальше →

Новый Год, гирлянда, arduino

Reading time3 min
Views81K
Начал изучать тему умных домов, пришел к Arduino и возникла необходимость потренироваться на кошках. А тут как раз Новый Год наступает… Дело ясное, будем делать десятиканальную гирлянду. С паяльником с детских цветомузыкальных времен, в принципе, дружен, но последние 20 лет занимался все больше программированием.
Что получилось

rusEfi: итоги 2014 года и планы

Reading time3 min
Views41K
В конце лета у открытого блока управлением двигателем внутреннего сгорания rusEfi появилась первая интегрированная плата — Frankenso 0.1, ложкой дёгтя тогда была парочка перепутанных трасс.

image

Читать дальше →

Простой встраиваемый усилитель НЧ на микросхеме с FM приемником на основе Arduino

Reading time3 min
Views60K


На основе Arduino создается очень много интересных устройств и систем. Но не так уж и много из них используется в реальной жизни. В большинстве случаев, это игрушки или просто проекты just for fun. Еще бОльшая редкость — проекты, которые имеют отношение к качественному воспроизведению звука.
При этом, на Arduino можно реализовать вполне приличные аудио-проекты для повседневного использования. Что мы и сделали, создав качественный стерео-усилитель со встроенным FM-приемником и системой управления. Собственно, без FM-приемника можно обойтись, и подключать другие источники звука. Но нам это сочетание показалось удобным. Плюс хотелось сделать проект самодостаточным — включил, заиграло, получай удовольствие. Мы уже получаем.
Читать дальше →

Детекторы углов

Reading time18 min
Views114K
Мне интересна обработка изображений, в особенности работа с особыми точками. Ища информацию по детекторам углов, я не нашел достаточно большого обзора этих алгоритмов на русском языке. Поэтому я решил исправить ситуацию, написав эту статью. План статьи следующий:

  • Введение
  • Свойства особых точек
  • Детекторы углов
    • Moravec
    • Harris
    • Shi-Tomasi
    • Förstner
    • SUSAN
    • Trajkovic
    • FAST
    • CSS
    • Детектор, основанный на глобальных и локальных свойствах кривизны
    • CPDA
  • Выводы



Читать дальше →

Гирлянда на Raspberry Pi

Reading time5 min
Views24K


Приближаются новогодние праздники, и было решено сделать что-то новогоднее с использованием имеющегося Raspberry Pi B-модели. До этого я использовал его в качестве веб-сервера. Затем немного игрался с GPIO на Python заставляя светиться светодиоды.

Что ж, небольшая искусственная елка подсказала мне как можно совместить мое желание с моими навыками. Гирлянда на светодиодах!
Читать дальше →

Запускаем Java Runtime на 256KB оперативной памяти

Reading time3 min
Views27K
image
Действительно, с выходом Java ME Embedded 8.1, полноценный Java-рантайм теперь доступен на плате Freescale K64F, которая несет на борту 256KB RAM и оснащена процессором на базе архитектуры ARM Cortex M4. Еще одной важной особенностью нового выпуска Java ME SDK стала поддержка Eclipse IDE. Страница нового релиза Java ME Embedded 8.1 здесь: http://www.oracle.com/technetwork/java/embedded/javame/embed-me/overview/index.html

Платформа Java ME Embedded 8.1 специально создана для того, чтобы перенести все полезные функциональные возможности Java на устройства с ограниченными аппаратными возможностями и даже, микроконтроллеры. Появление платформы Java ME Embedded, во многом, обусловлено развитием нового направления в информационных технологиях, Интернета Вещей (Internet of Things, IOT). Развитие IoT связано как с новыми возможностями, так и с новыми проблемами. Часть задач, таких как безопасность, работа с сетевыми подключениями, общение с внешними интерфейсами UART, I2C, SPI, GPIO успешно решает Java ME Embedded 8.1. Использование Java вместо нативных инструментов сокращает время выпуска продукта и открывает доступ к значительным трудовым ресурсам. Кстати, а вы знаете, что команда разработки Java ME Embedded почти полностью находится в Санкт-Петербурге? Что еще интересного приготовили наши разработчики вы узнаете дальше…
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity