Search
Write a publication
Pull to refresh
287
0.2
Владимир @32bit_me

Программист

Send message

Остался один шаг до Кикстартера — есть ли шансы у проекта?

Reading time4 min
Views15K
Вот уже 9 месяцев мы разрабатываем свой проект — миниатюрный сетевой компьютер Black Swift. Пора рожать, так сказать.

image

Хочется поделиться своим опытом и узнать мнение сообщества: не зря ли мы все это затеяли? Мы уже практически готовы к выходу на Кикстартер и меня, как инициатора проекта, слегка трясет от периодических выбросов адреналина. Не скрою, жду слов поддержки и одобрения, но и здоровая критика будет крайне полезна.

Всех, кому интересна наша история, прошу читать и комментировать.
Читать дальше →

Как мой кот перестал бояться и полюбил Arduino

Reading time3 min
Views34K
Привет, Хабр!

Недавно мы с уважаемым dzhe думали о том, какой заголовок может считаться идеальным для Хабра — и вы уже поняли, к какому выводу пришли. Правда, к сожалению, на самом деле кота у нас нет, однако тему Arduino обещаю ниже немного приоткрыть.



Впрочем, глобальные новости у нас другие: Black Swift не просто вышел на Kickstarter, но и за первые 6 дней почти собрал необходимую сумму.

Это не много и не мало — были проекты, который собирали 100 % за день или за час, были проекты, который так и умирали, едва добравшись до 50 % за весь срок. Мы попали в интересную ситуацию — с одной стороны, в профессиональных сообществах Black Swift вызывал преимущественно положительные отклики, с другой стороны, СМИ более-менее общей направленности нами не заинтересовались — какой-то ещё один микрокомпьютер, мало ли их — поэтому какого-то массивного всплеска в первые день-два у нас не было.

Здесь, конечно, стоило немного доработать перед запуском: создать какую-нибудь бессмысленную, но понятную и дающую красивые картинки и заголовки плату расширения, на которую клюнули бы обычные СМИ. Ну, например, «самый маленький роутер в мире» или «100 % совместимость с Arduino». Бессмысленную — потому что если вам нужен роутер, проще купить готовый, а если вы правда при виде 400-МГц процессора и OpenWRT беспокоитесь о совместимости с Arduino, то есть же Yun. Но, как показывает практика, все те журналисты, которые традиционно презрительно отзываются о маркетологах, на такие несложные маркетинговые уловки ловятся очень даже неплохо.

Впрочем, о работе с Kickstarter я подробнее напишу позже, когда будет официальный инфоповод «100 %», а пока — про ардуину (на самом деле нет).
Читать дальше →

STM32 и FreeRTOS. 4. Шаг в сторону HAL

Reading time5 min
Views86K
HAL 9000: I'm completely operational, and all my circuits are functioning perfectly.
или это должно быть первой статьей, но я почему-то всегда пишу подобное ближе к концу

Раньше было про потоки, про семафоры и очереди

Одним из основных препятствий для перехода на STM32 является обилие текстов, инструкций и мануалов, описывающих работу с контроллером. Виновником этого обилия стала сама STMicroelectronics, которая поначалу планомерно запутывала своих пользователей, а затем предлагала неверные варианты выхода.

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

Но не так давно ST поняла, в какую яму она угодила и начала усиленно из нее выбираться, привлекая новые силы. И именно благодаря этому сейчас время старта сократилось до несуразно маленьких величин. Как это выглядит на практике? Добро пожаловать под кат.
Читать дальше →

Как я искал идею для первого проекта на Arduino или Wake-on-LAN на Arduino

Reading time4 min
Views99K


Предыстория


В свое время насмотревшись видео о том, как люди мастерят различные устройства вроде хексопадов, испытывал уважения к тем людям, кто это мастерил, с желанием научиться делать что-то подобное. Для себя лично по какой-то неведомой мне причине мог ощущать большую разницу в эмоциях от запрограммированного контроллера с банальным миганием светодиода в сравнении со сложным алгоритмом в софтовом продукте, причем выигрывал первый. Решив, что единственный доступный для меня способ достичь того состояния, когда из под моих рук сможет выйдет что-то подобное хексопаду — это начать программирование элементарных вещей. Выбор пал на Arduino в силу доступности самой платформы и избытка информации по ней.
Читать дальше →

STM32 и FreeRTOS. 3. Встаем в очередь

Reading time6 min
Views58K
Раньше: про потоки и про семафоры

«Вас много, а я одна!» — классическая фраза продавщицы, которую затерроризировали покупатели с вопросами «А есть ...?». Вот и в микроконтроллерах случаются полностью аналогичные ситуации, когда несколько потоков требуют внимания от какой-либо медленной штуки, которая просто физически не способна обслужить всех разом.

Возьмем наиболее яркий и богатый проблемами пример, на котором «валятся» большинство неопытных программистов. Есть мощный и достаточно быстрый микроконтроллер. К нему подключен с одной стороны адаптер com-порта, через который пользователь подает команды и получает результаты, а с другой — шаговый двигатель, который согласно этим командам поворачивается на какой-то угол. И конечно же, прикольная кнопочка, которая тоже что-то этакое значит для пользователя. Где можно наловить проблем?
Читать дальше →

STM32 и FreeRTOS. 2. Семафорим по-черному

Reading time7 min
Views69K
Часть первая, про потоки

В реальной жизни часто случается так, что некоторые события происходят с разной переодичностью (а могут и вообще не происходить). Скажем, заказ сока в «Макдональдсе», нажатие кнопки пользователем или заказ лыж в прокате. А наш могучий микроконтроллер должен все это обрабатывать. Но как это сделать наиболее удобно?

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

Подключаем Ethernet ENC28J60 через SD card-reader для WEB-Servera на Arduino

Reading time2 min
Views60K
Всем привет. Столкнувшись с технической трудностью в построении WEB сервера, придумал сделать переходник которого наверное еще никто никогда не делал(хотя могу ошибаться). Вс§ оказалось просто и довольно таки практично.

image

Для чего это нужно и как это создать я расскажу и покажу, а также покажу видео обзор работоспособности web servera на переходнике.
Читать дальше →

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

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

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



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

Arduino & Modbus

Reading time6 min
Views218K
В предыдущей статье мы соединили открытую платформу домашней автоматизации OpenHAB с контроллером Arduino использовав очень простой, текстовый протокол. Но это решение поставит нас в тупик, если мы захотим подключить наш контроллер к другой системе, что же делать?

Modbus — самый известный и распространенный стандарт в промышленной автоматизации, его поддерживают миллионы устройств по всему миру, эти устройства легко интегрируется в единую сеть и стыкуются с огромным количеством готового программного обеспечения. Попробуем использовать его в нашем проекте?

Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.
Discrete Inputs 1 бит только чтение
Coils 1 бит чтение и запись
Input Registers 16 бит только чтение
Holding Registers 16 бит чтение и запись

Как нам подключить Modbus устройство к OpenHAB?
Читать дальше →

Использование DSP-сопроцессора DM8168 с помощью фреймворка C6Accel

Reading time14 min
Views12K


В этой статье мы познакомимся с отладочной платой DM816x/C6A816x/AM389x и фреймворком C6Accel (он же C6EZAccel), а также рассмотрим инструкции по наладке системы для выполнения встроенных тестовых приложений.

Всё началось с интересной идеи использовать алгоритмы нынче очень популярной библиотеки компьютерного зрения OpenCV на микропроцессоре. Однако, изучив немного тему, идея уточнилась. Почему бы не реализовать алгоритмы не просто на ядре ARM, а на специализированном ядре для цифровой обработки сигналов DSP? Тем самым разгрузим ядро ARМ, ускорим выполнение алгоритмов, и, глядишь, самое громоздкое приложение заработает в реальном времени.

Итак, что же использовать для решения задачи? Оказалось вариантов немного…
Читать дальше →

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

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

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


Встречайте!

Разработка ПО для лазерного толщинамера на FriendlyARM Smart210

Reading time3 min
Views4.4K
Краткое описание: задача заключается в измерении сечения объекта между двумя движущимися лазерными датчиками, весь расчет происходит на стороне компьютера.

В качестве средства разработки была выбрана Qt в связи с тем, что это кросс-платформенный продукт, а также OpenSource. Qt устанавливалась последняя на тот момент версии 5.4. Первоначальное использование программы предполагалось под Windows OS с сенсорным экраном. Где то на середине пути решили переделать по Smart210.
Подробности

Доработка USB-стека в микроконтроллерах STM32 и TivaC

Reading time5 min
Views31K
Наличие USB порта в современных микроконтроллерах открывает широкие возможности для самостоятельного изготовления разнообразных управляемых с компьютера устройств. На практике, однако, выясняется, что поставляемые производителем библиотеки для работы с USB нуждаются в доработке. Если вам интересен опыт подобной доработки для двух популярных семейств МК — добро пожаловать под кат.
Читать дальше →

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

Reading time6 min
Views58K
image

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

Навыки .NET-разработчика

Reading time7 min
Views113K


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

Этой публикацией я начинаю цикл аналитических статей по анализу необходимых и востребованных навыков для различных специализаций на российском и зарубежном IT-рынке.
Читать дальше →

Qucs — open-source САПР для моделирования электронных схем

Reading time4 min
Views95K
В настоящее время существует не так уж и много open-source САПР. Тем не менее, среди САПР для электроники (EDA) есть весьма достойные продукты. Этот пост будет посвящён моделировщику электронных схем с открытым исходным кодом Qucs. Qucs написан на С++ с использованием фреймворка Qt4. Qucs является кроссплатформенным и выпущен для ОС Linux, Windows и MacOS.

Разработку данной САПР начали в 2004 году немцы Michael Margraf и Stefan Jahn (в настоящее время не активны). Сейчас Qucs разрабатывается интернациональной командой, в которую вхожу и я. Руководителями проекта являются Frans Schreuder и Guilherme Torri. Под катом будет рассказано о ключевых возможностях нашего моделировщика схем, его преимуществах и недостатках по сравнению с аналогами.
Читать дальше →

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

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



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

Елочка, зажгись! Часть 1: гирлянда и сборка ПО для OpenWRT

Reading time7 min
Views35K
Привет, Хабр!

28 декабря, за четыре дня до Нового года, у меня возникла проблема: я осознал, что имеющие в продаже новогодние гирлянды — редкостная китайская дрянь. Дело в том, что у меня дома маленькая искусственная ёлка, а также маленький ребёнок — поэтому я не хотел, чтобы на ёлке в каком-либо виде присутствовали 220 В, а также не нуждался в гирляндах на несколько сотен лампочек. И быстро обнаружил, что после вычёркивания всего, подпадающего под эти пункты, в окрестных магазинах остаются исключительно товары категории «обнять и плакать».

Поэтому мне пришлось сделать гирлянду самому. И у этой гирлянды есть IP-адрес.



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

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

Так как это — первая статья по теме, я разобью её на три части, чтобы не получалась огромная простыня:
  1. Гирлянда, подключение Black Swift и среда сборки под OpenWRT на C/C++
  2. Софт на C, работа с GPIO и программная ШИМ
  3. Веб-интерфейс и приложение для Android



В реальном времени все три части легко укладываются в рамки «проекта выходного дня».
Читать дальше →

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

Reading time2 min
Views80K


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

Information

Rating
5,210-th
Date of birth
Registered
Activity