Pull to refresh
13
0.3
Сергей М. @sim31r

SAP R3, АСУТП

Send message

Как использовать Python для «выпаса» ваших неструктурированных данных

Reading time8 min
Views19K
Здравствуйте, уважаемые читатели.

В последнее время мы прорабатываем самые разные темы, связанные с языком Python, в том числе, проблемы извлечения и анализа данных. Например, нас заинтересовала книга «Data Wrangling with Python: Tips and Tools to Make Your Life Easier»:



Поэтому если вы еще не знаете, что такое скрепинг, извлечение неструктурированных данных, и как привести хаос в порядок, предлагаем почитать перевод интересной статьи Пита Тамисина (Pete Tamisin), рассказывающего, как это делается на Python. Поскольку статья открывает целую серию постов автора, а мы решили пока ограничиться только ею, текст немного сокращен.

Если кто-то сам мечтает подготовить и издать книгу на эту тему — пишите, обсудим.
Читать дальше →

FLProg – Новая реализация обмена по Modbus RTU

Reading time3 min
Views21K


Ранее ещё на хабре я рассказывал о реализации поддержки протокола Modbus в программе FLProg. К сожалению как показала практика его использования, реализация получилась не очень удачная. Если Slave работал ещё более менее уверенно, то мастер работал очень неустойчиво. Кроме того задание адресов регистров было возможно только в виде непрерывного массива, и не было разделения на области памяти. Мастер в той реализации мог обращаться только к Holding Registers слейвов, что очень ограничивало возможности его применения. Достаточно долго я искал нормально реализованную библиотеку Modbus RTU для Arduino, но поиски не привели к успеху. Поэтому было принято решение написать реализацию обмена по Modbus RTU самостоятельно. И вот в недавно вышедшей версии программы FLProg с номером 1.12 это сделано. Что изменилось:
  1. Реализация Modbus RTU полностью совместима с промышленным стандартом.
  2. Реализованы четыре таблицы переменных – Coils, Discrete Inputs, Input Registers, Holding Registers. Для каждой переменной, можно задавать любой адрес (не обязательно последовательно).
  3. Реализована возможность задания адреса слейва, скорости порта и отключения/включения опроса конкретного слейва мастером программным путём с запоминанием этих данных в EEProm.
  4. Реализована возможность одновременной работы мастера и слейва на одном контроллере (на разных портах).
  5. Реализована возможность применять в качестве порта SoftwareSerial
  6. Благодаря динамически генерируемому коду одновременная работа мастера и слейва возможна даже на плате Pro-Mini.
  7. Реализована прямая совместимость со старыми версиями – ранее созданные проекты будут работать на новой версии без переделки.

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

Мир без работы

Reading time30 min
Views49K

Сотни лет эксперты предсказывали, что машины сделают рабочих ненужными. И вот этот момент настаёт. Хорошо это или плохо?




1. Янгстаун, США [город на северо-востоке США, в штате Огайо]


Исчезновение работы — пока ещё футуристическая концепция для большинства жителей США, но для города Янгстаун это понятие уже стало историей, и поворотный момент его жители могут назвать с уверенностью: 19 сентября 1977 года.

Большую часть 20-го века сталелитейные заводы города процветали настолько, что город являл собой модель американской мечты, мог похвастаться рекордной величиной медианного дохода, а процент домов, находящихся в собственности, был одним из самых высоких по стране. Но после перемещения производства за океан после Второй мировой город начал сдавать позиции, и в серый сентябрьский день 1977 года компания Youngstown Sheet and Tube объявила о закрытии сталелитейного завода Campbell Works. За пять лет в городе число рабочих мест уменьшилось на 50 000, а фонд заработной платы в промышленности упал на $1,3 миллиарда. Это произвело настолько ощутимый эффект, что родился даже особый термин для его описания: региональная депрессия.

Янгстаун изменился не только из-за сбоя в экономике, но и из-за культурного и психологического упадка. Резко возросло количество депрессий, семейных проблем и самоубийств. Загрузка регионального центра психологического здоровья за десять лет утроилась. В городе в 1990-е годы было построено четыре тюрьмы – редкий пример роста в этой области. Одним из немногих проектов пригородного строительства стал музей, посвящённый упадку производства стали.

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

«История Янгстауна — это история Америки, поскольку она показывает, что когда работа исчезает, культурное единство местности уничтожается,- говорит Джон Руссо, профессор, специалист по изучению труда в Янгстаунском государственном университете. – Упадок культуры значит больше, чем упадок экономики».
Читать дальше →

CRISPR/Cas как сигнатурный антивирус. Часть 2

Reading time2 min
Views6.9K
Продолжаем разбираться в иммунитете бактерий CRISPR/Cas через сравнение с антивирусом, подробнее рассматриваем механизмы распознавания и нейтрализации вирусов.



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

Разжёвываем линейно-квадратичный регулятор для управления перевёрнутым маятником

Reading time8 min
Views35K

Преамбула


Продолжаю подробное описание использования линейно-квадратичного регулятора на примере управления перевёрнутым маятником. К слову сказать, термин «ЛКР» очень неточно отражает суть происходящего, как мне уже подсказали в комментариях, в русской школе теории управления этот подход называется «аналитическим конструированием оптимальных регуляторов», что существенно точнее.

Как обычно, я стараюсь разжевать математику по максимуму, чтобы материал был доступен заинтересованному школьнику. Я глубоко убеждён, что использование математики по-хорошему должно бы быть платным: любая формула должна быть использована только тогда, когда она призвана облегчить понимание, а не для того, чтобы выпендриваться.

Итак, это уже четвёртая статья, для лучшего понимания происходящего неплохо бы прочитать предыдущие три:


Вот фотография системы (кликабельно):


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

RS232 устройство 3-в-1 для домашнего Linux сервера: Часть 1 (Аппаратная)

Reading time21 min
Views20K

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


Также в домашнем сервере часто возникает необходимость иметь более экономный, по сравнению с Wi-Fi, радиомодуль для связи с автономными датчиками.


Существует большой выбор устройств, с помощью которых можно решить любую из этих проблем, но подключение каждого из них требует отдельный порт. Оценив ситуацию, в итоге решил разработать устройство 3-в-1 подключаемое в RS232 (COM) порт. Остальные требования получились следующими:


  • Аппаратный сторожевой таймер, пригодный для работы со стандартным демоном watchdog;
  • Генератор истинно случайных чисел на базе эффекта обратного лавинного пробоя p-n перехода;
  • Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.

Таким образом устройство получило наименование WRN от названий составляющих его подсистем: WDT (WatchDog Timer), RNG (Random Number Generator), nRF24L01+.


WRN устройство

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

Тепловизор на платформе Arduino UNO

Reading time4 min
Views32K

Предисловие




Шел 6-й семестр обучения, перед нами (т.к. над проектом работали 3 человека) стала серьёзная задача — необходимо сделать аппаратный курсовой проект. Было много различных идей: автопилот для автомобиля, прибор ночного видения и др. Но выбор пал на тепловизор, так как он получался не сильно простым и не сильно затратным. Да и кто не мечтал о своем личном тепловизоре? В данной статье мы расскажем о том, как нам удалось собрать тепловизор с довольно неплохими характеристиками в домашних условиях.
Читать далее...

Измерение электроэнергии. Часть 1. Измерение напряжения и тока

Reading time9 min
Views68K
image

Введение


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

В процессе разбора будем решать те или иные практические задачи на микроконтроллерах до достижения результата. Разумеется, большая часть данного цикла будет посвящена измерению переменного напряжения и может пригодиться всем любителям контролировать электроприборы своего умного дома.
По итогам всего цикла мы изготовим некий умный электросчетчик с выходом в интернет. Совсем отъявленные любители контролировать электроприборы своего умного дома могут оказать посильную помощь в реализации коммуникационной части на базе, например MajorDomo. Сделаем OpenSource умный дом лучше, так сказать.
В этой серии в двух частях мы разберем следующие вопросы:
  • Подключение датчиков тока и напряжения в устройствах постоянного тока, а также однофазных и трехфазных цепей переменного тока;
  • Измерение действующих значений тока и напряжения;
  • Измерение коэффициента мощности;
  • Полная, активная и реактивная мощность;
  • Потребление электроэнергии;

Подкатом вы найдете ответы на первые два вопроса данного списка. Я намеренно не затрагиваю вопросы точности измерения показателей и с данной серии лишь радуюсь полученным результатам с точностью плюс-минус лапоть. Этому вопросу я обязательно посвящу отдельную статью в третьей серии.
Читать дальше →

DIY-осциллограф из звуковой карты за $1

Reading time2 min
Views52K


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

Именно столько стоит внешняя звуковая карта, которая изображена на анонсной фотографии. Купить это чудо техники можно на электронной барахолке (во многих городах такие есть), или же на интернет-аукционе, где всегда есть, из чего выбрать. Маркировка текущего девайса — HX2010-0705, выпущен он в конце 2013 года.
Читать дальше →

Добавляем WiFi к Raspberry Pi всего за $2

Reading time2 min
Views29K


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

Пользователь Hackaday.io с ником ajlitt некоторое время задумался о возможности добавления WiFi модуля к таким платам, как Raspberry Pi A+ и Raspberry Pi Zero. Дело в том, что у Raspberry Pi B+, например, несколько USB портов, и один из них можно без проблем занять соотвествующим WiFi модулем. Но у Zero и A+ портов минимум, и подключать к ним WiFi модуль не всегда представляется возможным. Решение умельца оказалось довольно оригинальным. Дело в том, что у Raspberry Pi есть специальный GPIO-разъем с пинами, и к этому разъему можно подключать различные устройства, в том числе, и SDIO-девайсы. Эту особенность «малинки» и было решено использовать.
Читать дальше →

STM32F103C8T6 — первые шаги. Продолжаем делать осциллограф

Reading time5 min
Views70K
Продолжение статьи. На этот раз попробуем подключить USB без падения частоты измерений и соберём одноканальную аналоговую часть.

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

Щелкаем реле правильно: коммутация мощных нагрузок

Reading time3 min
Views251K
Привет, Geektimes!

Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.

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

Вместо реле можно поставить симистор или твердотельное реле (по сути, тот же тиристор или полевик со схемой управления логическим сигналом и опторазвязкой в одном корпусе), но у них другой минус — они греются. Соответственно, нужен радиатор, что увеличивает габариты конструкции.



Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:

  • Гальваническая развязка входа и нагрузки
  • Коммутация индуктивных нагрузок без выбросов тока и напряжения
  • Отсутствие значимого тепловыделения даже на максимальной мощности


Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.

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

Отладка кода Arduino (AVR). Часть 1. Виртуальная отладка

Reading time11 min
Views69K

Предисловие


Как известно, среда Arduino (AVR) не содержит функции внутрисхемной отладки, что создаёт большие неудобства при поиске сложных ошибок и сопровождении проектов. Я хочу показать два способа, при помощи которых вы сможете отлаживать свои скетчи разного уровня сложности. Для первого способа вам понадобятся только программы, а для второго нужен недорогой (по сравнению с оригинальным отладчиком) адаптер, который вы можете либо собрать самостоятельно, либо купить готовый.
В общем, ничего нового для тех, кто пользуется отладчиками постоянно, но может быть полезным для пользователей Arduino (AVR).
Читать дальше →

Беспроводной адаптер для программирования Arduino или AVR с загрузчиком на базе ESP8266

Reading time3 min
Views21K
Небольшая заметка о самодельном адаптере на базе ESP8266, позволяющем загрузить прошивку в микроконтроллер с установленным UART загрузчиком или Arduino.
Последнее время при проектировании устройств на микроконтроллерах AVR, для программирования вывожу только один 6-пиновый разъем (не ISP) для FTDI адаптера. Он позволяет и загрузить прошивку, и отладиться по UART после прошивки. Именно так сделано в Arduino, идея позаимствована оттуда. Это удобно.
Тем временем, не раз приходилось сталкиваться с ситуацией, когда нужно загрузить прошивку в микроконтроллер, но он уже в корпусе который не помещается на рабочем месте/лежит на антресоли/в другом городе/замурован в стену. В таких случаях адаптер FTDI не применим из-за короткого USB шнурка и приходилось изворачиваться с ноутбуком. Задумался о беспроводном программаторе. Тут как нельзя лучше подойдет ESP8266, ведь он обладает UART и в любом исполнении имеет хотя бы один GPIO, пригодный для перезагрузки контроллера и входа в режим программирования.
Читать дальше →

Загрузка скетчей в Arduino через Bluetooth

Reading time4 min
Views105K
Программируя Arduino, иногда желательно обойтись без физического соединения через USB к компьютеру, например:

  • Силовые цепи — коммутирование 220В. Одна ошибка в соединении и прощай USB-контроллер любимого ситемного блока.
  • Радиочастотные цепи — много наводок по питанию.
  • Собранные и где-то закрепленные устройства, которые желательно перепрошивать, но неудобно к ним подлезать.

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

Плата Arduino подключена к Bluetooth модулю для беспроводной заливки
Читать дальше →

Espruino: JavaScript в микроконтроллере

Reading time7 min
Views54K
image

«Зачем?», «Что за бред?», «Извращение!», «Фу-фу-фу» — вот некоторые из многих высказываний, которые мы услышали, когда выпустили плату Iskra JS на ядре Espruino.

Зачем


Когда правильный электронщик слышит, что что-то сделано на Arduino, температура его тела поднимается примерно на полградуса: «взяли годный микроконтроллер и вместо того, чтобы фигак-фигак и регистрами выжать из него все соки, опошлили всё на свете… нет слов, одна ненависть».

Но ведь можно пойти ещё дальше. Взять микроконтроллер Cortex M4, который в десятки раз богаче того, что стоит на той же Arduino Uno, запихнуть туда интерпретатор JavaScript и делать проекты на JavaScript!

Думаю, что на этом моменте те, кто не готов к такому надругательству над святыми микросхемами, уже лопнули. Я продолжу для остальных.

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

Простой расчет контрольной суммы

Reading time12 min
Views230K
При передачи данных по линиям связи, используется контрольная сумма, рассчитанная по некоторому алгоритму. Алгоритм часто сложный, конечно, он обоснован математически, но очень уж неудобен при дефиците ресурсов, например при программировании микроконтроллеров.



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

Ученые создали нейросеть, распознающую «пьяные» сообщения в Twitter

Reading time4 min
Views12K
В свете текущих выходных, важно не забывать, что алкоголь и общение, вместе составляют не всегда хорошую комбинацию, даже у звезд. Тем не менее, многие из нас повторяют этот опыт снова и снова. И этот опыт дал американским ученым (Nabil Hossain с приятелями из University of Rochester) интересную идею. В итоге, американские ученые разработали нейронную сеть, способную распознавать в Twitter посты написанные в состоянии алкогольного опьянения. Кроме того, полученная математическая модель может определять, где авторы «пьяных» постов находились в момент их написания.
Об этом сообщает MIT Technology Review.


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

Все советские диафильмы оцифруют и выложат в Сеть до конца 2016 года

Reading time1 min
Views32K


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

Диафильмы, что удивительно, вовсе не умерли с течением времени, и даже телефоны с компьютерами не уничтожили диафильмы, как класс. Напротив, для ПК и телефонов выпускаются программы, которые имитируют демонстрацию диафильмов, показывая оцифрованные версии пленок того времени. А сейчас и вовсе отличный момент поностальгировать — Российская государственная библиотека собирается оцифровать все диафильмы, которые у нее есть. А это, на минуточку — около 16 тысяч пленок.
Читать дальше →

Об измерении скорости потока жидкостей и газов

Reading time6 min
Views30K
В нынешнем году мы начали представлять в России компанию IST — швейцарского производителя тонкопленочных датчиков температуры, относительной влажности, проводимости жидкости и скорости потока.

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

Среди многообразной продукции IST есть такая интересная штука как flow sensors — датчики скорости потока сплошных сред. Под катом рассказываю как они работают, как выглядят и зачем нужны. Думаю что это будет интересно не только разработчикам расходомеров.
Читать дальше →

Information

Rating
2,277-th
Location
Белгород, Белгородская обл., Россия
Registered
Activity