Node-RED: что к чему и главное зачем. Разбираемся.

node-red editing siteНаписать эту статью меня побудил шок от первого знакомства с Node-RED. Я давно уже не работал с продуктами с историей из недр IBM, поэтому как-то поотвык. Все дело в том, что IBM имеет давние традиции по написанию программного обеспечения. Они в стародавние времена, когда основатели Microsoft еще ходили в коротких штанишках, уже пожинали в полном объеме все проблемы, связанные с написанием крупных программных продуктов. Именно там, на вершине IT-прогресса, выкристаллизовывался тот самый подход, который позволил IBM в дальнейшем делать очень интересные программные продукты. Как правило, они отличаются по логике работы и внешнему виду от всего, к чему мы, работая за компьютером, обычно привыкли. Но как только начинаешь понимать логику и процессы работы в продуктах от IBM, то не перестаешь все время задавать себе один и тот же вопрос: «А как же раньше мы без этого работали?» За свою долгую историю «Голубой гигант», как называются компанию в США, прошел путь от табуляторов до одной из богатейших транснациональных компаний в мире. И богатство компании приносит в первую очередь ее интеллектуальная собственность: ноу-хау, патенты и прочее. Из того чем компания занималось особенно запомнилась: OS/360 (потомки этой операционной системы с обратной совместимостью живут и сейчас, а ведь прошло уже более полувека, почти вся история современной вычислительной техники), OS/2 (эта операционная система по сути крутится внутри всех современных Windows), Visual Age (интегрированные среды разработки с существенной визуальной составляющей).

Читать далее ...



Добавляем свою плату в PlatformIO в разрезе проекта на конкретном примере

platformio ide pio homeВот в старое время, бывало, откроешь текстовой редактор, накидаешь несколько сот строк на ассемблере, откомпилируешь одной программой, затем отлинкуешь другой и все, программа готова. А нынче? А нынче вычислительные мощности подросли настолько, что даже мои часы мощнее компьютера на котором я обучался алгоритмизации. А труд программиста почти не изменился. Разработчики все так же пишут код руками, вводят его в текстовом редакторе, затем компилируют, да линкуют. Только вот со времен Кобола, Алгола, да чистого ассемблера много чего изменилось. Сейчас никому и в голову не придет писать программу на ассемблере даже для микропроцессора. Это не только не эффективно, но и игра не стоит свечей, которые сгорят, пока программист будет выдавливать из себя инструкции для конкретного процессора. «Железо» нынче стоит куда дешевле труда человека.

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

PlatformIO поддерживает наверное все популярные платы, какие только могут быть. Поддерживается все это дело частной компанией и многочисленным комьюнити. И действительно, попробовав написать хоть небольшой проект на PlatformIO обратно на Arduino IDE возвращаться уже не захочется. Эффективность написания сложного кода для встроенных систем на PlatformIO, пожалуй, самая высокая, среди всех доступных пользователям средств. Да и IDE, став Open Source и опираясь на такие же продукты, позволяет без опаски и не пиратствуя писать свой код свободно. Прям утопия.

Но есть у всего этого малинового многообразия и отрицательная сторона, чем больше поддерживается плат и микропроцессоров в PlatformIO, тем сложнее и дольше происходит интеграция новых версий всего программного обеспечения. На такую проблему напоролся и я. Возникла необходимость написать прошивку для устройства на чипе STM32F103RE. Чип вполне актуальный, распространен, его поддерживает версия Arduino для архитектуры STM32 (STM32Duino) начиная с версии 1.7.0. Но вот беда. В PlatformIO самой актуальной версии хоть и интегрирована Arduino для STM32 от STM32Duino, но вот сам чип STM32F103RE поддерживается только устаревшей версией Arduino для STM32 (Maple). И использовать STM32Duino с PlatfromIO я не могу, хотя тот же процессор отлично прошивается через Arduino IDE с установленной поддержкой SMT32Duino. Вопиющая несправедливость, с которой следует разобраться.

Звучит сложно? Именно по этой причине, прежде чем приступать к подключению STM32F103RE к Arduino STM32Duino под PlatformIO мне пришлось на протяжении нескольких дней усиленной изучать документацию, исходные коды и сообщения на форумах. Пришлось даже вспоминать как писать на Python.

Читать далее ...



Arduino IDE: разбираемся с меню Tools и некоторыми другими функциями.

Итальянцы молодцы. Запустили в мир DIY настоящего монстра. С появлением экосистемы Arduino весь рынок цифрового DIY получил мощнейший толчок. Тысячи, сотни тысяч, миллионы пользователей принялись покупать оригинальные и совместимые платы для их последующего программирования и использования в своих поделках. Причина такой популярности в первую очередь связывают с низким порогом для входа в эту среду. Вам не нужно тратить много денег на приобретение плат: открытый стандарт дал дорогу на рынок множеству последователей и копировщиков. Вам так же не стоит сильно заморачиваться над программированием: поставляемая «в комплекте» Arduino IDE упрощена настолько, насколько это возможно. Пользователь просто пишет код и не задумывается о настройках компилятора, о том, что программировать при помощи Arduino IDE можно разными программаторами, а иногда и вообще голые микросхемы.

И вот, наступает момент, когда стандартная Arduino IDE становится тесновата, а ее неудобство начинает просто выбешивать, особенно, если пользователь знаком с более продвинутыми средами разработки по другим платформам и языкам программирования. Кто-то начинает мигрировать на что-то более интересное, например, на Atom или VS.Code в смеси с PlatformIO, а кто-то старается выжать из Arduino IDE все, что только можно.

Сегодня я выступлю как раз в роли подобного «особо интересующегося персонажа» и попробую вместе с читателем разобраться чуть-чуть побольше в тонкостях Arduino IDE. Все ниженаписанное более-менее соответствует версии 1.8.9 Arduino IDE.

Читать далее ...



Сказ о синем облачке или где именно порылась изюминка в Microsoft Office 365

Понадобилось мне, в очередной раз, организовать работу распределенной команды. Несколько человек, все в разных местах, общение идет по телефону, WhatsApp, Skype, да по электронной почте. Люди работают, в том числе и с документами, иногда плотненько над одними и теми же. Отсюда и возникла потребность в получении некоего онлайн хранилища для документов. В меру надежного, доступного и удобного. Раньше я с успехом пользовался персональным Microsoft OneDrive. Выделенного пространства в 5 гигабайт вполне хватало. Но наши «мелкомягкие» друзья решили, что раздавать доступ к папкам в OneDrive зарегистрированным пользователям есть не comme il faut и оставили доступ только по ссылке. В результате образовалась такая немаленькая дырень в системе контроля доступа к вашим файлам в облаке. Вы отправляете ссылку своему другу, а тот публикует ее где-то или просто перешлет ненароком ваше письмо кому-то еще. И всё, теперь все пользователи Сети сидят в ваших файлах.

Трей, skype, telegram, outlook, sync, resilio, onedrive, onedrive for business, engИменно эта причина и сподвигла меня на поиски альтернативы. Первым на ум пришел Google Drive. Система — проверенная временем, есть платная версия для рабочей группы, где дают много места и еще почту в придачу. И все бы ничего, если бы при попытке online редактирования офисных файлов, умный робот от Google не конвертировал бы исходные офисные документы в свой собственный формат. Таким образом, у нас получалось аж целых два файла с одним и тем же содержимым. Их оба можно открыть через обычное офисное приложение от Microsoft, но редактировать при помощи web-офиса от Google можно только копию файла. Рано или поздно данные в двух файлах становятся разными. Одни пользователи редактируют первый файл, вторые другой. Мириться с подобным безобразие решительно невозможно, поэтому мы двинулись в поисках альтернативных решений.

Такие недорешения, как Dropbox и им подобные были отвергнуты сразу. Хорошему облаку от Mail.ru был объявлен бойкот некоторыми членами команды и совсем без объяснений причин, поэтому наш взор упал на предложения от партнеров Microsoft. Нами была приобретена подписка на Office 365. Собственно, о ней пойдет речь далее.

Читать далее ...



Разбираемся с Microsoft Image Composite Editor или как сделать панораму из видеофайла

Панорамный снимок сельской местности. Сделано при помощи PixMaker. 2003 год.

Панорамный снимок сельской местности. Сделано при помощи PixMaker. 2003 год.

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

Читать далее ...



Microsoft Hyperlapse: Mobile versus Pro

Для начала необходимо разобраться, что же такое на самом деле техника съемки Hyperlapse. Чуть было не написал «техника съемки видео», хотя что это такое на самом деле, видео или фото, пока до конца еще неясно. Но зайдем издалека. Технику убыстренной съемки видео применяли еще издревле. Как только появилась возможность ускорять движение киноленты в проекторе или наоборот, замедлять ее в кинокамере, так сразу в художественных фильмах начали применяться специальные эффекты, связанные с замедлением или ускорением экранного времени. Выполнить такой трюк несложно. Гораздо сложнее добиться красочного художественного эффекта. Так на сцене появилась замедленная киносъемка или Time-lapse, а если по-русски, то «таймлэпс».

Как только операторы освоили технику Time-lapse, так сразу же в документальных или художественных фильмах начали появляться цветы, которые распускаются за считаные секунды, закаты, где солнце убегает за горизонт пока зритель моргает, загруженные муравейники-улицы, где автомобили снуют словно ненасытные насекомые, поедающие мелкий и беспокойный хворост. Но постепенно, подобные трюки приелись, зрителю и режиссерам хотелось немного большего. Хотелось непросто убыстрения течения времени, хотелось добавить к нему еще и движения. Так, в кинематографе появилась техника Hyperlapse. Замедленной киносъемки с добавленным движением.

Если при съемке Time-lapse камера закрепляется неподвижно, то при Hyperlapse она перемещается. А где есть перемещения, там есть и дрожание камеры, ее смещение от заранее выбранной оси. В профессиональном кинематографе, там, где необходимо применить особо плавное перемещение, всегда используются рельсовые тележки с установленной камерой (dolly camera). Подобная техника пригодилась и для Hyperlapse. Ну а что делать операторам-любителям? Есть ли альтернативы прокладке рельсов или приобретения компьютеризированных ручных стабилизаторов? Как оказалось, альтернатива есть. На выручку аматёрным операторам пришло сразу две компании: Microsoft и Instagram.

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

А вот Microsoft приятно удивил. Microsoft вообще приятно удивляет в последнее время. С уходом Балмера, корпорация преобразилась и повернулась лицом не только к корпоративному сектору, но и обычным физическим пользователям, которым больше нужно приложение для съемки видео с рук, а не поддержка двух миллионов строк в Excel. Собственно, летом 2015 года, Microsoft выпустила сразу два продукта для создания видео (или фото, как кому больше нравится) по технологии Hyperlaps. Продукт первый Microsoft Mobile Hyperlapse работает на смартфонах и поддерживает операционные системы Windows Mobile и Android. Второй продукт Microsoft Hyperlapse Pro запускается на компьютерах под управлением операционной системы Windows и работает с уже отснятым видеоматериалом.

Немного о технологии Hyperlapse от Microsoft

В своих ранних анонсах компания приоткрыла завесу над сущностью технологии используемой в своих продуктах Hyperlapse. Основой качественной стабилизации видео выступает компьютерное моделирование пространства с использованием видеоматериала. Другими словами, при движении камеры, хитрый алгоритм анализирует пространство, пытается определить удаление от точки съемки различных предметов, создает виртуальную визуальную сцену, по которой и двигается камера. Это звучит невероятно, но по видео программа может создать часть реального мира, четко расположив все объекты в нужных местах.

Читать далее ...



Некоторые «секреты» Gmail — или как сделать свою жизнь немного легче

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

В 2004-м году подавляющее большинство пользователей пользовались почтой при помощи почтовых клиентов, таких как Outlook Express, Microsoft Outlook, The Bat и им подобными. Почта скачивалась на компьютер по протоколу POP3, а отправлялась по протоколу SMTP. Собственно, такой способ работы с почтой был вовсе не блажью, а необходимостью. Мало где было доступно постоянное подключение к Интернет. Большинство пользователей работали по очень медленным каналам, а некоторые и вовсе платили за каждую минуту подключения к сети (какой ужас и кошмар!). И чем быстрее скачается почта на компьютер, тем меньше будет заплачено денег.

Разумеется, Google предлагала своим пользователям не только возможность подключаться и работать с почтой через почтовые программы, но и использовать доступ к почте через web-браузер. Метод явно непопулярный в 2004-м году. Но, прозорливая компания смотрела в будущее и понимала, что уже через несколько лет большинство пользователей её сервиса будут работать именно через браузер, а сама компания будет анализировать содержимое писем, чисто механически, без вникания в тайну переписки, а только лишь составляя схемы метаданных, по которым в почте (а заодно и на всех других подконтрольных рекламных площадках) будет показываться персонализированная реклама. Достаточно обменяться с другом несколькими сообщениями по поводу приобретения нового телевизора, как услужливая рекламная сеть начнет вас заваливать рекламой телевизоров. Удобно. И конечно же прибыльно.

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

А, во-вторых, был применен метод объединения писем в цепочки (функционал отключаемый). Письма, объединенные общей темой теперь в web-интерфейсе, отображаются одной группой, в которой сами сообщения следуют одно за другим в хронологическом порядке. И такой подход очень упрощает жизнь при активной переписке по какой-либо теме. Вместо сотни другой писем от разных людей, имеется всего одна цепочка с сообщениями в хронологическом порядке. Позже подобный подход был применен как опция и в Microsoft Outlook (а он явный законодатель моды на почтовые системы в корпоративном секторе), но реализация примененная в Outlook не настолько удобна, как в GMail.

Архивируем, а не удаляем

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

Для того, чтобы пользователь не погибнул бы под кучами электронных писем в папке «Входящие» была придумана команда архивации. И ненужные больше письма можно просто архивировать. Архивированные письма исчезают из входящих, но их все еще можно увидеть во «Все письма».

Если работать с почтой активно, то постепенно количество писем становится столь велико, что даже листая страницу за страницей можно не найти требуемое письмо. На выручку тут приходит еще один декларируемый способ работы с почтой от Google. Поисковый гигант не был бы поисковым гигантом, если бы он не встроил поиск по письмам и в свой сервис.

Поиск по почте GMail

Поиск по почте GMail

Читать далее ...