Архив за год: 2019

Первая кровь (1972) versus Первая кровь (1982)

В последнее время мне нравится сравнивать оригинальные литературные произведения и их экранизации. В копилку подобных опусов уже попали «Нечто» и «Пролетая над гнездом кукушки». Все эти труды, что литературные, что их воплощения на экране достаточно стары, некоторым из них лет больше, чем мне, и по этому очень интересно их ставить в один ряд и подмечать различия. Вот и на этот раз в мои руки попало два образчика «классической» американской действительности: роман Дэвида Моррелла и кинофильм Теда Котчеффа.

book cover, first blood, книга, обложка, первая кровь, рэмбо

Суперобложка First Blood

Впервые я познакомился с Рэмбо еще на видеокассетах. Официально в СССР фильм не прокатывался, по крайней мере, для широких масс, но на «домашнем видео» кинокартины с Сильвестром Сталлоне пользовались повышенной популярностью. Еще бы, резкий парень из народа, пробившийся на большой экран и снискавший небывалый успех. А милиция ловила по вечерам незадачливых киноманов и наказывала с просмотр антисоветской продукции. Как гласит легенда, поздним вечером, по улицам города прогуливался наряд дружинников с милиционером и смотрел, у кого из граждан после окончания трансляции официального телевещания, окна освещались «танцующими» тенями от «ящика». С большой долей вероятности, там смотрели видео. И наверняка не одобряемое советской идеологией. Группа поднималась на этаж и с лестничной клетки отключала электричество в квартире. Без электроэнергии вытащить видеокассету из видеомагнитофона нельзя от слова совсем никак, хозяин выходил на лестницу, где его и брали под белы рученьки и вели к средству воспроизведения. А почему Рэмбо был антисоветским фильмом? А все по тому, что во второй части он охотно истреблял дружественных СССР вьетнамских военных, а в третьей части и вовсе вступил в открытую схватку с регулярными силами Советской Армии в Афганистане. Но ничего из этого ни в коей мере не относится ни к роману Моррелла, ни к самому первому фильму про Рэмбо.

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



Переход с Arduino IDE на PlatformIO IDE на базе Microsoft Visual Studio Code. Что нужно знать.

Несколько лет тому назад я подарил сыну набор «Матрёшка» с электронными компонентами и микроконтроллером Arduino Uno. Набор сопровождался скромным, но толковым учебным пособием, с которым можно не только освоить основы электроники, но и попытаться научиться программировать в среде Arduino. И хотя по первому образованию я радиотехник, а по второму инженер в ИТ, но мне было жутко интересно проходить все уроки «Матрешки» вместе с молодым поколением. Постепенно я втянулся и по дому начали плодиться многочисленные системы «Умного дома», различные датчики, улучшители и все прочее. А затем хобби перекинулось и на профессиональную сферу деятельности. И вот уже по рабочим вопросам начали появляться устройства автоматизации, измерительно-контрольные приборы и прочая уникальная незаменимая электронная утварь.

Но время идет и постепенно проекты начали усложнятся. В скетчах Arduino уже не десятки, а сотни строк. Количество переменных не влезает на один экран, а отсутствие отладчика временами приводит к нервному истощению. И в конце концов, было принято окончательное решение по миграции с Arduino IDE на что-то более удобное в плане разработки. Мой выбор почти сразу пал на PlatformIO IDE, причем перешел я на него только со второй попытки. Первая оказалась неудачной, поковырявшись несколько часов с PlatformIO я пришел к выводу, что в Arduino IDE все делается куда легче и быстрее. Но затем, спустя несколько месяцев я выкроил еще несколько часов своего драгоценнейшего времени для того, чтобы все же разобраться с PlatformIO IDE и постараться понять ее, а затем и полностью перейти на эту интегрированную систему. В качестве альтернативы я рассматривал Atmel Studio 7… Но обо всем по порядку.

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



ИБП для роутера

На моей фазенде хоть и проведено оптоволокно для добычи Интернет, но электропитание склонно к частому отключению. Бывало, сидишь так, работаешь за компом, а ботом бац и «всё пропало!». Но расстраивает и беспокоит не просто отключение электричества. Все многочисленные системы «умного дома» завязаны так или иначе на беспроводную сеть, да на выход в интернет. Что толку, если я могу посмотреть удаленно есть у меня электричество или нет, если вся интернет система, состоящая из оптического модема и корневого роутера, потухла при отключении этого самого икстричества.

Немного подумавши, решил поставить ИБП. Обычный источник бесперебойного питания, кои продаются на любом углу. Мой выбор пал на относительно недорогой ИБП от известной только в РФ фирмы IPPON, такие «бесперебойники» стоят у меня на производстве и отлично тянут «серваки», коммутаторы и прочую периферию. Немного поразмыслив, решил, что одного часа работы для интернет системы мне недостаточно, поэтому приобрел ИБП помощнее. Это и стало моей ключевой ошибкой.

Каково было мое изумление, когда новенький ИБП держал сеть всего-то минут пять. Я уже было подумал, что все, кранты, продали мне устройстве с залежалой батарейкой. Уже было поднял руку на покупку новой, но для порядку решил прочитать, что же пишут в сети по схожим проблемам. А дело оказалось вовсе не в батарейке. Повинуясь давлению зеленых, многие, если не все, производители ИБП отключают выходы в случае работы от батарей при условии, что сам ИБП не может обнаружить никакую нагрузку на своем выходе. Дескать, нечего энергию тратить просто так, безосновательно, если все равно ничего не подключено.

Мой оптический модем питается от адаптера на 12 вольт с током 1.2 А, а роутер просит те же самые 12 вольт, но уже 1.8 А. Суммарно максимальная потребляемая мощность 36 ватт, а на практике, она скорее всего болтается в районе 10-15 ватт максимум. Такая нагрузка у мощного ИБП вообще не определяется, оттого он и выключается ровнехонько через пять минут, благополучно посчитав, что нагрузка либо сама отключилась, либо ее там вообще не было. Покопавшись еще немного в сети, обнаружил, что на этих самых IPPON данный режим можно отключить, достаточно только убрать на плате соответствующую перемычку в виде мощного резистора. Упоминаний данного процесса на страничках «пострадавших» премножество, да и на самих платах обычно приводится соответствующая инструкция, где и что отрезать. Но увы, аппаратное отключение «зеленого режима» недоступно у новых моделей. Там все намертво зашито в прошивку и без визита в сервисный центр убрать вредную функцию никак.

Пришлось немного пораскинуть мозгами, собрать коллективный разум в кучку и поискать альтернативные решения. А IPPON поставить на защиту от вырубания питания у стационарного компьютера. Там нагрузка идет порядка 100 ватт и ИБП должен ее чуять безупречно.

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



Who Goes There? (1938) / The Thing from Another World (1951) / The Thing (1982) / The Thing (2011)

Кадр из х/ф "Нечто" (1982), собакен, клетка, сено

Кадр из х/ф "Нечто" (1982)

К написанию еще одного супер-обзора, пробегающего сразу по нескольким произведениям искусства меня сподвигло наличие экранного долгожителя, в лице старательно позабытого фильма «Нечто». На заре моего детства, на засаленных видеокассетах, среди прочих ужастиков, соперничая с легендарным Фредди Крюгером, попадался и фильм про злоключения полярников в их неравной борьбе с инопланетным существом. Экраны телевизоров системы SECAM в те времена были небольшими, а множественная перезапись аналоговых видеокассет добавляла шумов и уменьшала динамический диапазон. В общем, просмотр темных сцен, да и всего фильма, доставляли мало удовольствия. Но в память он врезался. А тут, я совершенно случайно узнал, что вышла remastered версия фильма 1982 года. И почему бы не пересмотреть ее, не посмотреть оригинальный кинофильм 1951 года, прочитать произведение, по которому вообще все это было снято, а до кучи познакомиться со свежей версией из 2011? Вот и пришлось, все взять и просмотреть, а заодно и прочитать.

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



Прошивка AVR (ATMEGA328) различными программаторами (в том числе и из-под Arduino)

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

Итак, в качестве хобби я решил разработать для своей компании электронное устройство с «сердцем» в виде микропроцессора ATMEGA328P. Да-да, именно на основе той микросхемы, что применяется в Arduino. Только вот никакой обвязки вокруг микросхемы нет. В ней некуда подключать USB, полностью отсутствует и внешний стабилизатор питания, не говоря уже о каких-либо индикаторных светодиодах. И это чудо как-то нужно программировать, как-то заливать в него свою прошивку, как-то оживлять. Я уделил данному вопросу некоторое внимание в своей статье по детальному анализу среды разработки Arduino «Arduino IDE: разбираемся с меню Tools и некоторыми другими функциями», а в этой статье я лишь продолжу изыскания по своим наработкам.

atmel studio, blink, arduino, assempler, c++, c/c++, open, file, version7

Интерфейс Atmel Studio с импортированным Blink из Arduino

Прошивать ATMEGA можно при помощи Atmel Studio, специальной среды разработки для AVR. Среда обладает неплохим набором инструментов для полноценной разработки чего-либо под фирменные микроконтроллеры. В 7-й версии «из коробки» доступно создание проектов на С, С++ и на Assembler. Более того, возможно создание проекта из скетча Arduino. При всем при этом у разработчика в руках оказывается отладчик, с возможностью дизассемблирования кода, просмотра всех регистров и любого уголочка памяти микроконтроллера. Прямо-таки золотая мечта любого ардуиниста. А если учесть, что программировать и отлаживать код, в большинстве сценариев, можно на эмуляторе микроконтроллера, то очевидно, что Atmel Studio кроет Arduino IDE с заметными преимуществами. Но… Atmel Studio — профессиональный инструмент и для подавляющего большинства энтузиастов окажется слишком затратным по времени для изучения. Поэтому дальше речь пойдет больше про Arduino IDE в связке с AVRDUDE. Тем не менее, если вы вдруг, после знакомства с Atmel Studio почувствовали нестерпимый зуд от желания познакомиться с этой IDE поближе, то You Are Welcome. А мы же продолжим далее.

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



Дуська

Дуська, Владислав Кравченко, 2019, кошка, девочка, юлаНаконец-то на работе включили отопление. Уже и октябрь заканчивается, до «ноябрьских» осталась всего-то неделька, а отопления в большом помещении на двадцать человек еще вчера не было. В ее родном Фрязино всегда осенью и весной с теплом случалась напряженка. То отопление не включали, пока температура в квартирах не опускалась до десяти градусов по утрам, то не выключали весной, и люди изнывали от жары аж до середины мая. Этой же осенью в детских садах и до́ма уже топили, а вот производственные помещения по какой-то непонятной причине так и оставались без тепла. Марина куталась во что только могла, а на полу их просторного кабинета, способного вместить человек сорок вместе со столами, печатными машинками, пыльными шкафами для бесчисленных папок-скоросшивателей, стульями для посетителей и самих сотрудников, расположились калориферы, дающие хоть какой-то комфорт.

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

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

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

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



Arduino: один скетч под несколько платформ

Мир DIY на основе экосистемы Arduino цветет и пахнет. Количество плат, совместимых с Arduino становится все больше и больше. Какие-то платы полностью совместимы с Atmel AVR, какие-то имеют существенные отличия. Да и среди микроконтроллеров AVR могут быть значительные несоответствия, которые необходимо учитывать, если требуется написать скетч или библиотеку, которые должны без проблем работать на разных аппаратных платформах.

robot, франкенштейнРазличия между микроконтроллерами и платформами обычно заключается в следующих моментах (список далеко не полный):

  • Конкретные пины у разных микроконтроллеров могут иметь различные функции. К примеру, на одном микроконтроллере пин за номером 1 умеет делать PWM, а на микроконтроллере другого типа нет.
  • Могут различаться разрядности АЦП (используем для analogRead) и ЦАП (используем для analogWrite, т.е. для ШИМ). На одном микроконтроллере разрядность 8бит (изменение от 0 и до 254), на другом 10бит (измерение от 0 и до 1023), а на третьем 12бит.
  • Могут кардинально различаться даже способы указания пинов. Так, для Atmel AVR применяется просто числовое указание пинов 1, 2, 3 и т.п. А для экосистемы ESP используется наименование пинов D1, D2, D3 и т.п.

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

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