Обновить
135
0
Алексей Степанов @avstepanov

Пользователь

Отправить сообщение

Надежное хранение и обновление данных во флэш памяти микроконтроллеров STM32 и MSP430

Время на прочтение8 мин
Количество просмотров28K
Часто возникает задача сохранить изменяемые данные, например конфигурацию, во флэш памяти микроконтроллера. Решение кажется простым, однако обеспечить надежность обновления данных при условии, что питание может отключиться в любой момент, оказывается весьма нетривиально, и даже использование контрольных сумм не решает проблему полностью. Из этой статьи вы узнаете
  • как устроена флэш память
  • к каким проблемам приводит выключение питания в момент записи или стирания
  • как эти проблемы решаются

Для желающих применить на практике — работающий код под STM32F4
Читать дальше →

Формула подсчёта количества дней в месяце

Время на прочтение6 мин
Количество просмотров84K
Примечание: данный пост является переводом статьи cmcenroe.me/2014/12/05/days-in-month-formula.html (Часть I), а также авторским к нему дополнением (Часть II). Не следует относиться к материалу серьёзно, а скорее как к разминке для ума, требующей не более чем школьных знаний арифметики и не имеющей практического применения. Всем приятного чтения!

Часть I


Вступление


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

ФормализуяДругими словами, необходимо найти функцию f, такую, что значение f(x) для каждого месяца x, представленного числом от 1 до 12, равняется количеству дней в этом месяце. Таблица значений аргумента и функции1:
x 1 2 3 4 5 6 7 8 9 10 11 12
f(x) 31 28 31 30 31 30 31 31 30 31 30 31

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

Ниже следуют мои шаги по нахождению решения.
Читать дальше →

Отправляем и визуализируем данные с платы Intel Galileo/Edison в облаке Azure

Время на прочтение4 мин
Количество просмотров6.5K
Привет!
В понедельник мы писали про то, как мы видим Интернет Вещей – с облаком, которое можно использовать для обработки различного рода данных, а также нашей новой операционной системой Windows 10, которую можно установить на Raspberry Pi 2 или Intel Minnowboard. В среду коллега из технологического центра Microsoft рассказал про то, как они делают умный офис. Вчера @shwars написал колонку про то, как подключить Arduino к Raspberry Pi2. Сегодня я расскажу немного о процессе подключения Intel Galileo & Edison к Microsoft Azure, отправке простых данных и их визуализации с помощью сервисов Azure. На следующей неделе – опыте установки Windows 10 IoT на Minnowboard MAX.
Читать дальше →

Вышла новая версия Intel IoT Developer Kit

Время на прочтение1 мин
Количество просмотров6.5K

Приятная новость для профессионалов и любителей, создающих интернет вещей. Компания Intel выпустила новую версию Intel IoT Developer Kit 1.5. Приведем список наиболее значительных новшеств:
  • Yocto на Intel Edison и Intel Galileo обновлен до версии 1.7.2
  • Запилена поддержка MinnowBoard Max
  • Добавлен Mac OS X инсталлятор для Intel Edison и оффлайновый Windows инсталлятор
  • Новые шаблоны проектов и автоматическое обновление связующих библиотек для Eclipse IDE и Intel XDK IoT Edition
  • Интегрирована библиотека сенсоров (UPM) и менеджер подключений для Eclipse IDE
  • Обновлена I/O библиотека (mraa), теперь имеется полная поддержка UART, добавлена документация JavaScript и новые API
  • Добавлена поддержка более 100 сенсоров через UPM с обновленной JavaScript документацией

Скачать компоненты Intel IoT Developer Kit 1.5

Как я Asterisk'ом шлагбаумы открывал

Время на прочтение9 мин
Количество просмотров47K
image

Добрый день, жители хабра.

Хочу поделиться интересным, на мой взгляд, вариантом использования Asterisk.

Предисловие: у клиента имеются две парковки, въезд на которые регулируется шлагбаумами с gsm-модулями. То есть владелец парковочного места набирает номер сим-карты, установленной в модуле и въезжает на территорию. Но, как известно, если номер знает один — его знают все, поэтому платная парковка хаотично превращается в бесплатную. Особенность gsm-модуля заключается в том, что звонок проходит без поднятия трубки, соответственно оператор связи не может предоставить детализацию звонков по номеру.

Вот с такими исходными данными мне предстояло работать, что из этого вышло — под катом.

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

Кушать подано, садитесь подключать, пожалуйста

Время на прочтение17 мин
Количество просмотров29K
Сегодня Intel Edison с набором датчиков и актюаторов поможет нам сделать следующее: сыграть песенку «В траве сидел кузнечик», определить, хорошо ли течет вода, горит ли огонь, перекачать воду, проверить есть ли в воздухе пары спирта, пыльная ли комната, проследить, как закипает чайник, определить свои координаты, найти магнит. И что-нибудь ещё.


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

T.E.E.T.H. на основе Intel Edison найдёт способ замотивировать вас почистить зубы и отправит отчет в облако

Время на прочтение10 мин
Количество просмотров10K
Как было бы здорово, чтобы кто-то или что-то помогало нам заниматься ежедневными, ну, может не особенно развлекательными, но важными занятиями. Такими как чистка зубов. Например, такое устройство, чтобы подбадривало нас, помогало следить за нашими успехами и было очень просто в использовании.

Вот скажите, всегда ли вы чистите зубы положенные 2 минуты?



В этом DIY-проекте мы переделаем обычную, купленную в магазине подставку для зубных щёток в современную бытовую технику интернета вещей.
Читать дальше →

Используем встроенный микроконтроллер в Intel Edison

Время на прочтение7 мин
Количество просмотров22K
Думаю, что многие из вас уже знакомы с Intel Edison по предыдущим заметкам, и у некоторых после прочтения спецификации, вероятно, возникал вопрос — а что это за второй загадочный процессор MCU, работающий на частоте 100 МГц? Зачем он нужен? Как его использовать?
Между тем роль MCU в некоторых случаях исключительно важна. Те, кто пробовал применять Edison для работы с различными сенсорами, возможно, уже заметили — Intel Edison не обеспечивает real-time отклика на их показания при работе из Linux. И тут на помощь приходит MCU. Пришло время немного рассказать про этот встроенный микроконтроллер, его архитектуру, области применения и рассмотреть практический пример.
Читать дальше →

Сетевой интерфейс для BMW

Время на прочтение6 мин
Количество просмотров32K
В данной статье речь будет о локальной низкоскоростной сети взаимодействия блоков управления автомобиля BMW — I/K-bus. А точнее о том, как с ней могут взаимодействовать приложения из под Linux. На картинках проиллюстрирую созданный мною вариант.

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

Информационно-развлекательная система выполняется на устройствах, в основе которых контроллеры с заложенными программами. Я буду здесь называть эти устройства блоками управления. Каждый такой блок управления несёт свою функциональную нагрузку, будь то поддержание температуры салона, регулировка положения сидений, воспроизведение музыки и видео, навигация и прочее. Весь этот набор блоков управления должен взаимодействовать друг с другом, управляться с места водителя и пассажиров, передавать диагностические данные. Для этой цели и была разработана сеть I-bus. В последствии появилась технически идентичная сеть K-bus и их объединение I/K-bus.
Читать дальше →

Ускоряем MySQL insert/update в 5-10 раз

Время на прочтение3 мин
Количество просмотров24K
Немного теории. В операционных системах UNIX существует раздел файловой системы, который физически находится в оперативной памяти, но позволяет работать с ним как с обычным дисковым накопителем. Скорость доступа к блоку жесткого диска приблизительно равна 1 мс. Скорость доступа к памяти — 0.001 мс. Попробуем применить это к БД MySQL, чтобы выжать максимум из операций insert/update.
Читать дальше →

Бесшумный NAS как центр небольшой аудио-видео мультирум системы

Время на прочтение5 мин
Количество просмотров20K
Эта тестовая система стала решением для задачи «сделать трехзонный мультирум за разумный деньги на тихом оборудовании».

Тихое оборудование — это ключевое понятие. В квартире не предусмотрено место для для шумных устройств.
Еще одним пожеланием было было использовать для выбора фильмов — сериалов — музыки не папки с файлами, а полноценную медиа библиотеку. С делением по жанрам, артистам, режиссерам. И с выбором произведений по постерам — обложкам.
Одна зона (гостиная) требовала максимально высокого качества воспроизведения видео и аудио, две другие были не столь критичны к форматам аудио-видео контента.
Читать дальше →

Intel Edison. Работа с облаком Intel IoT Analytics: регистрация и отправка данных

Время на прочтение9 мин
Количество просмотров14K
cloud IoT

В статье дается краткое описание облака Intel IoT Analytics, предназначенное для сбора данных и управления устройств. Рассмотрена практическая работа с облаком на примере Intel Edison (Intel Edison. Первый запуск).

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

Для унификации потребовался некоторый универсальный посредник, промежуточный слой для работы с устройством. Так появился новый тип взаимодействия Machine-to-Cloud(M2C), взаимодействия устройства с облаком.

Устройство взаимодействует с облаком, по средством стандартизованного протокола. Облако реализует все логику сбора, хранения, управления данных. Также позволяет отправлять команды на устройства для управления им. Облако является универсальным “клеем” для самых разных устройств, непохожих друг на друга. Пользователь взаимодействует с облаком через веб-интерфейс или публичное API. Ниже пойдет речь об облаке Intel IoT Analytics и взаимодействия с ним Intel Edison.
Читать дальше →

Задержки — камень преткновения интернета вещей

Время на прочтение5 мин
Количество просмотров19K


История развития интернета, компьютеров и гаджетов неразрывно связана с уменьшением времени реакции. Загрузка сайтов, запуск программ, обработка видео — всё это с годами становилось быстрее и быстрее. Однако человек субъективно начинает воспринимать как мгновенную реакцию задержки меньше определённой продолжительности. В случае с интернетом вещей пусть и короткие, но многочисленные задержки вполне способны складываться в секунды.

Это будет неприемлемо для пользователей и на корню погубит саму идею окружающей среды, объединённой в сеть.
Читать дальше →

Визуализация звука на лампе 6Е1П

Время на прочтение9 мин
Количество просмотров116K
Решил поделиться опытом создания звукового индикатора на лампе 6Е1П. При создании лампового аудио усилителя для наушников было решено визуализировать аудио сигнал. Выбор пал именно на эту советскую лампу. Результатом работы стала маленькая печатная плата размером 30х33 мм. В данной статье приведена схема этой платы и описание алгоритма работы.


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

Воспроизведение звука на Intel Edison через Bluetooth с использованием Advanced Audio Distribution Profile (A2DP)

Время на прочтение2 мин
Количество просмотров11K
В ходе реализации проектов на плате Intel Edison иногда возникает необходимость воспроизвести звук. В последних версиях образа Yocto добавлена поддержка Alsa, и можно воспользоваться USB аудиокартой. Но большую мобильность даст использование встроенного Bluetooth модуля. Например, устройство на базе Intel Edison, которое получает аудиофайлы по сети, может находиться стационарно в одном месте в комнате. Слушать же музыку можно в любой точке помещения, используя обычные беспроводные наушники. Итак, начнём.

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

Сверхбыстрое распознавание речи без серверов на реальном примере

Время на прочтение10 мин
Количество просмотров335K

В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
К статье я также прилагаю все исходники программы и саму сборку под Android.

Прикручиваем Pocketsphinx к своему Андроиду

К вопросу о подгонке резисторов

Время на прочтение3 мин
Количество просмотров18K

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


Рассмотрим несложную задачу увеличения точности резистора при помощи параллельного соединения двух резисторов, один из которых назовем базовым и обозначим r, а второй компенсирующим и обозначим R.Сразу отметим, что оба резистора являются постоянными и ни в коем случае не переменными. Причины подобного решения ( не использовать переменный резистор) оставим за скобками обсуждения, хотя это могут быть габаритные характеристики, стоимостные показатели и т.д. В практике разработки подобное решение встречается неоднократно.

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

И сразу же возникает вопрос — почему это работает? Ведь если r мы измерили и знаем абсолютно точно (в пределах погрешности измерительного прибора), то R мы просто берем из кассы и его точность определяется точностью изготовления резистора.Для ответа на этот вопрос привлечем немного математики.
Математика внутри

Многоуровневое меню для Arduino и не только

Время на прочтение7 мин
Количество просмотров139K


Несколько месяцев назад на хабре появилась статья «Реализация многоуровневого меню для Arduino с дисплеем». «Но, погодите, — подумал я. — Я написал такое меню еще шесть лет назад»!

В далеком 2009 году, я написал первый проект на базе микроконтроллера и дисплея под названием «Автомат управления освещением», для которого потребовалось создать такую оболочку меню, в которую влезет тысяча конфигов, а то и более. Проект был успешно рожден, компилируется и способен работать до сих пор, а оболочка менюОС пошла кочевать из проекта в проект, используя лучшие практики Ущербно-Ориентированного программирования. «Хватит это терпеть» сказал я, и переписал код.

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

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 5. Ловец Солнца)

Время на прочтение7 мин
Количество просмотров79K


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

«Мопед не мой», но для понимания принципа действия очень наглядно.

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

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 4. Сделано в России)

Время на прочтение6 мин
Количество просмотров120K


В России есть вся инфраструктура и собственные средства для построения солнечной электростанции в конкретно взятом хозяйстве. Более того, вся необходимая электроника, да и солнечные батареи производятся у нас самостоятельно и все это отлично работает. После экспериментов с ноунеймом, брендовым европейским китаем и прочей техникой, я решил обратиться к российским разработчикам техники для автономки и на себе испытать эти устройства. Первым попал на тест гибридный инвертор МАП HYBRID v.1 24В: 4.5 кВт , а следом за ним пойдет производительный солнечный MPPT-контроллер.



Даёшь свет!

Информация

В рейтинге
Не участвует
Откуда
Истра, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность