Category Archives: Копилка опыта

Перечисления в Python

Эта публикация является как бы продолжением этой Константы в Python.

В той статье мы говори о простых («одиночных») константах. Но в жизни часто бывает, когда нужно работать с «групповыми» константами. (Я взял слова «одиночные» и «групповые» в кавычки только потому, что, мне кажется, что я нигде более не встречал квалификации констант по такому типу. В общем, это моё определение.)

Читать далее

Вычисление CRC для Modbus RTU

Ха! Вот, удивил!

Та, не-е! Совсем не собирался никого удивлять. Просто возникла такая необходимость — написать быстренько прогу, которая посылает/принимает пакеты по Modbus. Ну, на одном предприятии случилась крупная авария, пострадало оборудование. Теперь это оборудование нужно как-то «поднимать». Что-то там работает, что — нет. В общем понадобилась тестилка, с функцией эмуляции. Ничего уже готового и проверенного, естественно, нет. Практика показывает, что в таких случаях получается быстрее состряпать что-то самому, чем лазить по Всемирной помойке в поисках годных для употребления шмоток.

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

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

Код-под-катом. Простите за каламбур!

Читать далее

OPC UA — путь в никуда?

Либо — велосипедист-хренов, либо лыжи по асфальту точно не ездят.

За прошедшие полгода я сумел поиграться с несколькими реализациями технологии OPC UA. Я поигрался установкой OPC UA на обычные компы, на RaspberryPi. Попробовал заставить работать UPC UA на «голом железе». Ну что я могу сказать… Жуть!

Читать далее

Потерял бдительность

Сидел, починял примус, ни кого не трогал…

И вдруг н-н-на тебе, разработчик, — поразвлекайся! И ни в чём себе не отказывай!

Что было? Да как обычно. Обычная работа. Второй день сижу, пилю новый проект. Уже есть кое-какие наработки, которые не хотелось бы терять. Значит пора создавать git-репозиторий.

В общем, создал репозиторий на gitlab-е. Создал локальную рабочую «репу». Сделал начальный коммит.

Всё ОК.

Читать далее

Неустановленная причина

На прошлой неделе у меня вышли из строя друг за другом два программатора.

Первый издох с явным перегревом. Температура корпуса была более 60-70˚С (пальцы жжёт так, что не удержать). Второй тихо почил в бозе с нормальной температурой тела.

Читать далее

Радислав Гандапас о воспитании и развитии детей

Китайский ширпотреб

Я тут намедни по случаю прикупил H₂O аж пять штук китайских сенсорных выключателей.

Ну, как это обычно бывает — прочитал короткую заметку на mysku.ru про вашего мальчика про эти сенсорные выключатели, примерялся к цене, жаба улыбнулась и дала добро.

Не-е, ну это всего 26 рублей за коробочку:

— Э-э-э… 26 рублей?! О-о! Дайте два!… Не! Дайте пять!

И я хапнул, как таблеток от жадности, — «да, побольше-побольше!»

Читать далее

STM32F091. Система тактирования

Система тактирования у STM32F091 немного отличается от системы тактирования у STM32F030.

Ко множеству задающих генераторов добавился ещё один на 48 МГц. Наименование генератора — HSI48. Точность настройки частоты 3% для температуры 25°С («… each device is factory calibrated by ST for ~3% accuracy at TA = 25°C», Reference manual RM0091 страница 101.) Для сравнения, точность настройки частоты HSI в три раза лучше — 3% для той же температуры.

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

Читать далее

Far Manager for Linux

Да-да, этот тот самый Far Manager, который очень сильно облегчал жизнь пользователям в Виндовсе.

Всё то же самое, только в Линуксе. Far Manager работает непосредственно, без привлечения Wine и виртуальных машин.

Под катом — описание действий, как поиметь его у себя на компе.

Читать далее

Дом с зачатками ума. Начало.

«Умный дом» — это хата с видеокамерами, умными розетками, лампочками, водопроводными кранами, охранно-пожарными датчиками, музыкой, Wi-Fi, выходом в интернет… Короче, эдакий гипотетический дворец с колоннами, который стоит чрезвычайно нескромных денег, напичканный под завязку всем, что только можно придумать. На все деньги. В общем, это не к нам!

У меня будет попроще. Значительно дешевле и ближе по возможностям к основной массе народа. У меня — не ради демонстрации своего финансового превосходства, а просто потому, что, с одной стороны, это (имеется в виду какая-то определённая функциональность) надо, а с другой, я эту функциональность могу сам реализовать своими силами. Поскольку я опять сижу без дохода, то буду колхозить свой «полоумный дом» исходя из своих финансовых возможностей.

Ну что, нищеброды? Поехали!!!

Читать далее