В предыдущих частях повествования о проекте по мониторингу температуры и потребления газа, я достаточно подробно описал всю подноготную устройства. Еще в первой версии устройства, построенной непосредственно на платформе Arduino, я отказался от электрохимических датчиков серии MQ и заменил неточные сенсоры DHT11 на своих более точных и обладающих большим диапазоном измерений собратьев DHT22. Но и тут все оказалось не так радужно, как хотелось бы.
После миграции с Arduino Uno на ESP8266 вдруг выяснилось, что помимо очень сложного алгоритма получения сведений температуры и влажности с сенсоров серии DHT, они имеют еще и мерзкую особенность уходить в ступор выдавая вместо реальных показаний -5 как по градусам, так и по влажности. Что меня ни в коей мере не устраивало, тем более что происходило сие в случайные моменты времени и лечилось только перезагрузкой всего устройства.
Заморозка показаний до -5 на одном из сенсоров DHT22
При вводе в эксплуатацию подобнее поведение датчиков — недопустимо и назрела насущная проблема по апгрейду всей конструкции.
Собирать данные о потреблении газа — здорово. Но собрать их мало, нужно собранные данные научиться анализировать и извлекать из них полезные сведения. Ведь, в конце концов, устройство для регистрации расхода создавалось не просто так, а с конкретными целями. Попробуем разобраться с тем, каким образом можно обрабатывать данные, с таким трудом добываемые устройством. Но хочу сразу предупредить, перечисленные ниже способы совсем не исчерпывающи и пытливый ум способен разработать еще множество вариантов того, как можно использовать накопленные данные.
- Итак, дорогие мои детки, – старик подманил широкими жестами детвору к себе. - Хотите расскажу вам историю? Историю того, как я очутился на этой благословенной земле. Ну же, угомонитесь, угомонитесь!
Старик совершил еще несколько пассов руками. Детвора наконец-то заметила его движения и с интересом собралась вокруг старца, образовав что-то наподобие небольшого, но живого кружка.
- Когда-то давно, меня звали Николай Трубочкин. А друзья называли меня просто Колей. Тогда я еще лелеял надежду на то, что буду выдающимся ученым-биологом. Я был еще молод, полон сил и хотел покорить этот мир…
- Деда, – протянул взлохмаченный внук, – а что такое ученый?
- Ученый? – старик нахмурился, стараясь подобрать верное слово. – Ну, ученый, это такой… Ну, кто занимается наукой. А в моем случае я занимался наукой биологией. Разбирался с тем как устроены наши тела, как они работают. Тебе понятно?
Старик недоверчиво зыркнул на своего потомка, и замер в ожидании ответа.
- В те далекие времена, – рассказчик закатил глаза, – я жил со своей семьей в далекой и холодной России. Зимой там очень холодно, идет снег, а люди вынуждены носить теплые одежды, иначе умрут от холода.
Глаза нескольких детенышей округлились, и они уставились на пращура с невероятным интересом.
- Да, так зимой выйдешь и все, замерзнешь и скончаешься в снегу! В те года у нас там царил настоящий хаос. Везде была разруха, голод. Мне и моей семье чудом удавалось добывать пропитание. Я и моя жена, мы регулярно ходили на работу, но наше положение становилось хуже с каждым днем. В нашей квартире становилось все холоднее, а денег на работе платили все меньше и меньше. Да и везде так происходило, по всей стране. И я даже слышал, что врачи, приезжающие на вызовы к пенсионерам, иногда грабили несчастных стариков, убивали их. А иногда и съедали. Вот такой голод был в то время у нас.
- Деда, – взлохмаченный малыш встрял в рассказ, пытаясь затолкнуть в себя очищенный банан, – а кто такие пенсионеры?
- Ну это старые люди, которые всю жизнь работали, а потом уже не могли работать. Так государство платило им деньги на проживание. Ну или должно было платить.
Рассказчик обвел свою паству, сидящую с открытыми ртами и внимательно смотрящими ему в рот, взглядом и удовлетворенный, продолжил:
- И вот однажды, меня вызвал мой начальник и говорит, что институт закроется через две недели и у него нет денег мне на зарплату. Я был очень опечален. Я не знал как кормить моих детей. А вечером, придя домой и рассказав все своей жене об институте, я втайне принял решение уехать в благополучные страны на заработки. А все заработанные деньги высылать ей в Россию. Решил и подговорил своего соседа дальнобойщика провезти меня контрабандой туда, куда он поедет в следующий рейс. Мне на удачу наутро тот отправился на своей фуре в самое сердце Франции, в большой город Париж.
- Деда, – встрепенулся все тот же взлохмаченный сорванец, успевший тем не менее проглотить половину банана, – а что такое фура?
- Фура — это такой большой и длинный грузовик, для перевозки товаров между городами и странами. И вот притаился я в фуре, в кузове, под грудой какого-то научного оборудования. А уже через несколько дней, пережив холод и голод в кузове грузовика, я вдыхал пьянящий воздух Монмартра и любовался яркими огнями Мулен-Руж. Моя жизнь на чужбине была не сахар. Я скитался, жил под мостами с другими бродягами. Работал носильщиком багажа за богатыми китайскими туристами, мыл посуду в уличных кафе, развлекал публику в качестве живой мишени. Но сколько бы я ни работал, мне хватало денег только на то, чтобы купить себе еду.
«Ледокол», тот самый случай, когда отличную историю положили в немощные руки.
В основе сюжета российского художественного кинофильма «Ледокол», лежат реальные события, произошедшие с советскими моряками в 80-х года прошлого века. Ледокол, посланный для смены полярников на арктической станции, застревает во льдах южного полушария. Вот в таком сеттинге и развивается действие по выживанию, помноженное на суровость советского бюрократизма. Согласитесь, что кинофильмов с подобным сюжетом на наших экранах не то что много, их откровенно мало. Придумать такое сложнее, чем очередной блокбастер по спасению планеты от травоядных захватчиков.
Кадр из х/ф "Ледокол"
Но историю с отличным потенциалом оставили нереализованной. Давайте попробуем разобраться как же так произошло, ведь на производство были потрачены, в том числе, и государственные деньги.
Начнем все с той же истории. Застрять на ледоколе в южных морях — что может быть интереснее? Тут моментально возникает великое множество различных сценарных поворотов, начиная от борьбы моряков с силами природы в виде суровой погоды, обледенения судна, холода и сильного ветра, и заканчивая борьбой человека против себя самого, когда экипаж и пассажиры сходят с ума от скуки и безделья, а отдельные личности и вовсе проявляют признаки буйного помешательства. Но нет, ничего этого нет. Вернее, оно есть, но я, как зритель, ничему из показанного на экране не верю. Месяцы в замкнутом пространстве, без какой-либо активности, на экране проходят совсем незаметно для зрителя. Зритель просто не понимает, почему один моряк кидается на другого. Уж не из-за личной ли неприязни?
Кадр из х/ф "Ледокол"
А что произошло с радиомолчанием, установленном по приказу капитана? Сценаристы вкупе с режиссером решили не рассказывать широким массам, что советский экипаж ну никак не мог запросить помощь у капиталистических стран. Если бы такое произошло, то советы оказались бы посрамленными на весь мир. Но зритель-то об этом не знает и только старшее поколение догадывается о причинах. И такой нереализованной мутью фильм нашпигован с первого и по последний кадр. И два часа экранного времени проходят под впечатлением «ну не верю я в то, что там происходит». Почему «Бриллиантовую руку» посмотрели 77 раз? Почему айсберг назвали «Семен Семенычем»? Почему сменный капитан привез с собой на судно детскую одежду? В чем мотивация и власть гебиста? Почему полярники проводят все свое время в каком-то трюме и как они его обогревают, если введена тотальная экономия топлива? Увы, на эти вопросы зритель не найдет ответа в «Ледоколе».
Кадр из х/ф "Ледокол"
Под стать нереализованной истории провально в фильме сыграли и актеры. Федоров, кто по идее, должен был бы играть душещипательно красивого, мудрого и честного мужика, настоящего лидера, почему-то на экране выглядит сюсюкающим кидалтом, неспособном на реальное действие. Он мечется между признанием экипажа и внутренними понятиями о чести и достоинстве. А ведь Федров может куда лучше, вспомнить хотя б ремейк «А зори здесь тихие». Вот там герой Петра — настоящий и подлинный, а в «Ледоколе» он из вылеплен папье-маше.
Наличие в фильме Сергея Пускепалиса предвосхищает отличный фильм. А в действительности герой Пускепалиса полная противоположность амплуа актера. И с ролью Сергей не справился совершенно. В каждом движении, в каждой реплике актера чувствуется неприкрытая фальшь. Зритель же пребывает в шоке от напущенной строгости и бесцеремонной грубости персонажа. И даже конфликт между героями Федорова и Пускепалиса выглядит примерно, как ссора двух карапузов в песочнике. Вот только что они дулись друг на друга, а мгновение позже с увлечением лепят куличики. Отдельно хочется отметить старания Александра Паля. Актер он вполне неплохой, местами даже отличный. Но роль в «Ледоколе» не только не позволила раскрыть талант Паля, но и наоборот, добавила ему баллы к негативной карме.
Кадр из х/ф "Ледокол"
Если пройтись по режиссуре или по операторской работе, то в кинокартине они отсутствуют. Изобилие слабенькой компьютерной графики, провальные планы, да неумелые массовки. Что делать, такова суровая реальность современного датируемого кинематографа. Удивительно, но в прокате «Ледокол» набрал какие-то невероятные суммы, обошел Бреда Пита, да и вообще был воспринят зрителем благодушно. Но коммерческий успех скорее не показатель качества фильма, а лишь сигнализирует о страшном голоде киноманов о фильмах с хорошим, родным и близким нам сюжетом. Да, иногда интересно посмотреть на страдания зарубежных протагонистов, но свои-то как-то ближе.
Завершая свою рефлексию отвечаю на вопрос «можно ли смотреть «Ледокол»?». Да, можно. Но вот стоит ли?
Я уже писал про систему управления карточками Trello. Система весьма и весьма удобна своей простотой и гибкостью. В Trello можно управлять любыми списками любых карточек. А каждая карточка — настоящий квант сведений и информации. Иногда я пишу художественные произведения и имею потребность удобно планировать их структуру. В своем стремлении к совершенству я уже опробовал некоторые способы планирования, начиная от составления плана прямо в рабочем документе и заканчивая таблицами Excel. Так почему бы не попробовать планирование в Trello, тем более что такой метод составления структуры произведения из карточек существует.
У меня всегда есть некий пул идей, которые однажды пришли в голову и были зафиксированы в OneNote. Поэтому с выбором истории, вернее ее ключевой идеи, интриги, вопросов не было. Под руку попалась история о Коле Трубочкине, которую предстояло превратить в небольшой рассказ.
Итак, в Trello я завел несколько списков:
«Вводная», где я завел несколько карточек с кратким содержанием, параметрами рассказа.
«Часть х», для четырех частей. В каждом списке по несколько карточек символизирующих отдельные главы.
И список «Обязательные условности» в которых отдельными карточками запланированы те самые условности, что ждет читатель от заявленных жанров.
Общий вид всего плана текста. Зеленые метки на уже готовых частях.
Во вводных карточках я поместил краткое содержание, если уж я работаю с карточками Trello, то вся необходимая информация, в том числе и сюжет, должны быть всегда под рукой. Не секрет, что даже рассказы порой пишутся не за один раз и постоянно приходится настраиваться на нужный лад, вспоминать основу произведения. Именно по этой причине, в другой карточке у меня перечислены параметры рассказа. К ним я отношу тип сюжета (арочный), герой (один, активный), конфликт (внешний), время (линейное), реальность (связанная), тип реальности (фантазия), стиль (драма) и тому подобное. Все это необходимо при работе над произведением.
Карточка с параметрами произведения. Полезно к ней обращаться при каждой попытке написания текста.
В каждой из карточек списков частей рассказа, а такая карточка символизирует главу, я указываю размер главы, краткое содержание. Изменение ценностей героя как внутренних (StoryLine B), так и внешних (StoryLine A). Во время работы по написанию текста, я работаю с конкретной карточкой. В нее можно добавлять комментарии, вставлять свои заметки и присваивать соответствующий статус через метки. Я использовал зеленую метку, когда глава написана и желтую метку, если требуется доработка. Какого рода доработка требуется, я указываю в комментариях к самой карточке.
Карточка единицы текста
Работа с Trello не составляет труда. По мере необходимости можно добавлять новые списки, архивировать уже ненужные карточки. К плюсам планирования в Trello я отношу простоту, гибкость, доступность с любого компьютера или мобильного устройства. Но и минусы у способа тоже есть: требуется либо постоянно переключаться туда-сюда между приложениями, дабы посмотреть содержание, либо работать сразу на большом мониторе или использовать второй экран, например, планшета.
В целом, можно рекомендовать применение Trello в качестве инструмента для планирования.
В проекте по подсчету и публикации в сети показаний газового счетчика, я уже упоминал, что хорошо бы иметь возможность измерять не только температуру, но и содержание различных газов в воздухе. Тогда, в проекте, я пытался использоваться электрохимические датчики серии MQ. Один для измерения содержания природного газа в воздухе, второй для отслеживания концентрации CO. И если бы не полное фиаско с сенсорами MQ, вполне возможно, что данный проект и не появился бы.
Тем не менее понимать и вести статистику по содержанию CO2 в воздухе — очень важно. Ведь за счет удаления углекислого газа из нашего тела, собственно, мы и живем. Высокие показатели содержания CO2 в воздухе ведут к потере работоспособности, плохому самочувствию, а при очень высоком содержании углекислого газа в воздухе, увы, наступает досрочное завершение жизненного цикла.
Итак, цель настоящего мини-проекта в том, чтобы опробовать связку из Arduino-совместимой платы WeMos D1 Mini Pro, датчика содержания углекислого газа в воздухе и сервиса по хранению показаний ThingSpeak. На самом деле, данный мини-проект — проба пера, технологии определения содержания CO2 в воздухе, перед началом другого, немного более крупного проекта. Хотя результатами проекта можно пользоваться без каких-либо ограничений. Собранное устройство делает именно то, что от него требуется.
По сравнению с предыдущими частями увлекательного повествования о создании уникального устройства эта часть получилась не такой уж и объемной. В ней я расскажу о том, как от макетной платы проекта измерения температуры, влажности, атмосферного давления и импульсов газового счетчика, перейти к законченному продукту. Конечно, «продукт» наименование применено как абсолютно условное. Все же делалось все исключительно для себя.
Я не отрицаю, что для некоторых проектов вполне допустимо использование микроконтроллера с макетной беспаячной платой на постоянной основе, а все датчики и индикаторы вполне могут болтаться на соплях проводах. Но, как я уже писал ранее, применение макетной платы может вести к ненадежному контакту и, как следствие, к некоторым, трудно отлавливаемым, проблемам с устройством как таковым. В частности, у меня есть веские причины подозревать, что уход сенсоров DHT22 в положение -5 может происходить именно по причине использования макетной платы, а не из-за выходящего из строя контроллера. В любом случае после сборки всего устройства на плату с пайкой и в корпусе, проблема с DHT22 исчезла. Хотя попутно была заменена и сама плата с микроконтроллером на новую, еще не измученную многочисленными прошивками. Поэтому достоверно я ничего не могу утверждать.