?

Log in

No account? Create an account

Previous 10 | Next 10

Aug. 27th, 2019

Двухканальное реле TOSR02 от TinySine

Добавил поддержку нового устройства



Проект позволяет подключить его как по USB, так и через платы расширения типа XBee,WiFiBee, BluetoothBee и т.п.
На данный момент в проект введена поддержка шлюза WiFiBee(остальные по мере необходимости)

Я не закладываю в проект настройку самого шлюза, в проекте можно прописать только необходимые параметры, как например IP и TCP порт. Настройка шлюза выполняется вручную. В теории я мог бы наработать функционал для полной настройки, но для этого нужно время, и главное - настройку можно легко выполнить через терминал или использовав кучу доступного ПО. При этом настройка выполняется обычно один раз.

Вот так выглядит устройство в клиенте:


Я специально добавил это устройство, чтобы тестировать облачный контроллер.
В принципе задумка удобная, но не надежная:
Я проброшу на своем домашнем роутере(которому выделен статический внешний IP адрес) порт на WiFiBee модуль(которому пропишу на роутере статический IP адрес в локальной сети).
Активирую облачный контроллер и добавлю в проект TOSR02, после чего мне останется на него подать питание, подключить потребителей к реле и все, устройство доступно откуда угодно через клиент, Алису, Почту или Телеграм. Могу сценарии посоздавать, в общем все что угодно.

Aug. 24th, 2019

Время собирать камни?

Да, наверное завтра я решу, что это было зря.

Но тем не менее я попробую высказаться, просто для себя или типа я предупреждал.

Думаю настал тот момент когда мой проект достиг максимальной фазы и уже летит в тар-та-ра-ры.

Потратил я на него что-то около 5-6 лет, лет проведенных за проектом вместо кружки пенного вкусного пива с соленой рыбкой, вместо игрушек, вместо дополнительного времени с семьей, вместо отдыха, вместо жизни по большему счету (когда вы развлекались я скорее всего хреначил над проектом, или продумывал его). И на это есть причины, но эти причины, какие бы они не были, никак не умаляют проделанную работу.

Сделал я не мало, учитывая что 5-6 лет назад я только нахватался опыта по автоматизации. А в схемотехнике я только знал, что есть какие-то микроконтроллеры и что такое pnp и npn транзистор.
Сейчас я достаточно хорошо владею схемотехникой в вопросах цифровой электроники(ttl) и достаточно уверенно себя чувствую в разработке подобных устройств (да, именно настолько чтобы презирать ардуинщиков).
У меня есть комплексное Java решение, охватывающее очень многие задачи, которое почти нигде не использует чужие наработки, типа библиотек Apache. А различные фреймворки меня забавляют как малые дети.

Я вырос из тех задач, которые 5-6 лет назад для меня были фантастикой. Не просто вырос, теперь у меня есть мощный универсальный и легко расширяемый инструмент.
А главное есть опыт, знания и наработки, которые я мог бы повторить.
Ведь самое сложное не написать код или сделать дизайн и рекламу. Самое сложное - опробованная, реально работающая концепция, сделать решение которое будет содержать минимум костылей и будет интуитивно понятно (конечно речь о крупном решении). Этого достичь можно только перелопатив кучу кода, найдя в итоге максимально подходящее решение. Да куча кода(сил, времени, стараний) было выброшено/потрачено для того, чтобы достичь чего-то стоящего.

Сейчас я в положении, при котором я получаю совсем не высокую зарплату(хотя мне платят за проект, по большей части на который я имею полные права, и компания тоже, конечно же) и в течении нескольких лет слышу постоянные обещания(99% которых не выполняется, к примеру у меня нет рабочего места вообще, работаю с дома в кабинете 2x3м с плохой вентиляцией и жарой минимум в 30 градусов Цельсия, по сути работаю в шкафу при этом часто с токсичными веществами. При этом часто за дверью орет подросток играя в игрушку про зэков и вертухаев), и это меня пока устраивает, так как есть семейные обстоятельства.

И это тупик, данное занятие начинает больше требовать чем отдавать. Далее либо каким-то образом оно становится решением приносящим прибыль, либо поддерживается правой пяткой, хотя это не страшно, большинство пи№;арасов людей вокруг меня считают такой подход к клиенту вполне нормальным.

Да, я помню свои обещания, проблема только в том, что я склонен постоянно совершенствовать свое решение(есть подходящее слово, увы, не помню, типа мании). Не хочу я отдавать продукт с проблемами. Благо у меня теперь есть гараж, остается только реализовать решение сначала себе и затем можно отгружать.

Ну и в конце концов, за эти 5-6 лет у меня появился сын, которому сейчас почти 4 года и дочь, которой еще нет 2-х месяцев. А еще есть подросток 17-ти лет, который 90% времени вне сна проводит в свое удовольствие ничем существенно не помогая(вопрос влияния отчима на пасынка и его мать). Времени свободного сами понимаете - не много.

И еще одна деталь, все мы по разному относимся к работе, вопрос, сильно ли выкладывается человек на работе, если у него не остается сил вести свои дела дома?
Я хотел сказать следующее, если Вы объединяете хобби и работу, то готовьтесь к тому, что работать вы будете всегда, кроме когда спите, хотя это поправимо бессонницей от постоянной переутомляемости.

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

И остаются не сделанными еще очень много дел, как по багфиксу в рамках общего проекта, так и по прошивкам новых устройств в моем личном проекте.

А главное нет сил, времени, опыта, знаний и желания, чтобы продвигать продукт в массы. Никто кроме меня не знает его возможностей, даже мой директор(должен быть максимально заинтересованным лицом) не знает и 30% возможностей моего решения. Как-то так.

Все спасибо если прочли.

Aug. 17th, 2019

Ардуино как шлюз

Приветствую.

Не так давно я реализовал шлюз в своем проекте с названием 'Arduino UNO'.

Все просто. Я описал в системе шлюз, у которого входным интерфейсом является UART или USB.
А исходящими GPIO, I2C и 1W.

А затем, посвятил пол дня на ардуино(ранее я с ним не работал, ну может раз среду разработки запустил оплевался и выкинул). Моих знаний было достаточно, чтобы почти не глядя создать скетчь(тьфу, матерное слово, простите). Это скетч (еще одно матерное слово) на данный момент выполняет функционал шлюза, т.е. по запросам от контроллера управляет портами. К примеру я легко запустил в проекте управление двухканальном реле и символьным дисплее winstar 1602.
Да, скетч прошивка еще сырая, будут дополнения как и по i2c функционалу так и другие плюшки. И никто не мешает доработать эту прошивку (протокол универсальный).

Для чего это?

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

P.S. все что вы знаете хорошего об ардуино заслуга только Atmel и никого более, все остальное паразитизм.

Видео:


Aug. 3rd, 2019

Не та учетная запись

Извиняйте, я сегодня сильно не в духе

http://5277.ru/distr/%d0%9f%d1%80%d0%be%20%d1%85%d0%b0%d0%ba%d0%b5%d1%80%d0%be%d0%b2.mp3

Jul. 20th, 2019

Java, изменение строки

Наткнулся на статейку http://www.skipy.ru/technics/strings.html#mutation

Там вполне грамотный чел рассказывает о возможности в Java изменить текст строки, даже не смотря на то, что строка объявлена неизменяемой (final).

Можно считать, что это очень хороший вопрос для собеседования.
В Джава есть множество подобных нюансов и список вопросов можно написать совсем не маленький.

В принципе так и делают многие компании, в нете также много онлайн тестов подобного характера.

И меня мучает один вопрос, как подобные знания применимы на практике?
Лично для меня это загадка.
Попросту потому, что нет никакой необходимости изменять таким образом текст строки в собственном проекте.
Более того, все эти хитрости в основном надуманные, мне незачем усложнять свой собственный код.
Оптимизация? А вам, к примеру, известно, что очень крупная торговая компания, пишет свои проекты в основном на 1C? Для этого она выделяет сервера с терабайтами оперативки и сетка между компьютерами там как минимум 1ГБит. Разработчики там получают по максимуму для нашего рынка.
Т.е. выигрыш в производительности после оптимизации кода на Java просто ничтожен, если сравнивать с продуктами писаными в той компании, а ведь там, судя по ЗП, программисты высшего уровня.

Да, можно сказать, что знание таких аспектов явно подчеркивает высокий уровень специалиста.
Можно было бы, если бы я лично не знал программистов с заученными шаблонами.
Ведь можно попросту начитаться книжек, если память хорошая. Но главное ли это свойство программиста?
Выходит, что да, для многих топовых компаний - хорошая память и начитанность - главное, за это и платят.

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

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

А еще меня смущает мода. Меня как-то поправил студент которого спросили, как правильно  Ява или Джава?
Парнишке с умным видом было невдомек, что некоторые названия имеют русский вариант произношения, например Австралия, мы же не говорим Оустрэлия.

Короче все плохо, мало того, что сферу интенсивно занимают люди, чья главная особенность - хорошая память, так еще хуже то, что сделать они надежные решения не могут. Ведь приглядитесь, все глючит, глючит в элементарной логике, в базовой логике, зачастую ошибки лезут из-за отвратительно плохой логики взаимодействия узлов системы.
Я из того поколения, который юность провел без интернета, работая на ZX Spectrum, позже немного в MS-DOS.
Я отлично помню программы, достаточно сложные программы, которые не глючили и были интуитивно понятны, в том числе и игры. Сейчас такое ПО - большая редкость. И можно сказать, что современная разработка ПО находится где-то на дне. Плохо то, что сейчас тоже самое происходит и со схемотехникой, где, на мой взгляд, основной причиной выступает торговая марка Ардуино.

Jul. 6th, 2019

RADIUS и что он здесь забыл

Когда-то давно мне довелось работать на местного сотового оператора - на Новую Телефонную Компанию в роли инженера отдела биллинга и отдела дополнительных услуг, занимался я там много чем, но большую часть времени - мобильным интернетом, а если точнее - системным, сетевым администрированием и разработкой сервисного ПО.

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

Но я увлекся, к делу, сразу предупреждаю, пишу по памяти давности этак лет 10.

RADIUS, у всех есть вики, можно 'умных' людей почитать там, я же скажу проще - это сервис, выполняющий Авторизацию, Аутентификацию(да,да, есть разница) и Аккаунтинг.
К ви-фи прямого отношения не имеет, быстрее к модемным подключениям, но так-как сервис выполняет необходимые задачи и по сегодняшний день, то применим и к ви-фи и к другим решениям, где нужен ААА.
Беда только в том, что он(протокол) древний как мамонт, к примеру размер пакета(запрос, ответ и т.п.) не может превышать 256 байт, в это же время мы используем для авторизации сертификаты на сотни килобайт или уже на мегабайты?...

Хотя, можно считать что тоже во времена мамонтов, был разработан DIAMETER.
Юмористы хреновы, RADIUS расшифровывается как Remote Authentication in Dial-In User Service, в то время как DIAMETER просто в два раза круче. :)
Он реально круче, но используется только подальше от глаз современных ИТ специалистов пишущих, прости госпаде на PHP или на Ардуино к примеру. Да и от глаз современных потребителей тоже, в лучшем случае на своей ви-фи точке вы найдете RADIUS Accounting рядом с RADIUS Authentification/Authorization
Это я к тому, что развитие ИТ остановилось лет так 15 назад, наверное даже больше. Мы до сих пор сидим на устаревших базовых протоколах, которые не рассчитаны на современные объемы информации и количество хостов и сервисов. При этом маразм крепчает, но это отдельная тема.

Стоит ли говорит о том, что в НТК я разработал хорошего конкурента тому-же FreeRADIUS? Он даже поддерживал MSCHAPv2, EAP, PEAP, ну вы поняли да... правда это еще одна хорошая технология заживо похороненная, теперь вместо нее у нас идиотизм ввиде авторизации в вифи по веб интерфейсу.

Так, ближе к делу.

Зачем мне вдруг в проекте по автоматизации говорить про RADIUS?
Дело в том, что если ваша Wi-Fi точка доступа поддерживает RADIUS, то мой новоиспеченный сервис на контроллере по данному функционалу может определять прибытие жильца домой. А если ваша точка доступа поддерживает еще и RADIUS Accounting(типа TP-Link eap 110v4 или семейства странноватых Mikrotik) то и убытие.
Т.е. все что нужно для контроля кто когда пришел/ушел - иметь в кармане самый обыкновенный смартфон с включенным Wi-Fi, и все, больше никаких дополнительных железок.

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

Jun. 9th, 2019

RGB Диммер/драйвер



Это трехканальный модуль на трех 'FDD8447L: N-Channel PowerTrench® MOSFET, 40V, 50A, 8.5mΩ' (управляет минусом).

Только что закончил прошивку для RGB драйвера, будет отдельная для твердотельного реле.

Управляет потребителями до 40V 50A(по даташиту), но я бы не стал на долгое время подавать большой ток, будет маловато охлаждения, да и дорожки рассчитаны на 3А на канал.

Характеристики и свойства:
1) Управление по шине RS485 с протоколом схожим с MODBUS RTU (управление, чтение значений, настройка)
2) Управление каждым каналом через шину, кнопку, выключатель или сенсор (задать значение в процентах можно только через шину).
3) Питание от 9 до 24 вольт.
4) Максимальное напряжение коммутации - 40В, ток - 3А на канал
5) Небольшой размер 50x40x12mm(можно выломать ушки креплений)
6) Частота ШИМ - 1.2 кГц.
7) Возможность задать пропорции для каждого канала (для получения 'белого' света)

Ну и мелочевка:
- индикация работы,
- плавный переход между устанавливаемыми значениями и возможность менять скорость перехода,
- настройка чувствительности сенсоров,
- настройка адреса на шине,
- режим инициализации (вкл, выкл и последнее состояние)

хм, забыл про ведение истории, значит скоро будет хранить историю о выполненных командах

Jun. 1st, 2019

Клиент, важная доработка



Вверху появился выбор площадки.

Пока только две:
1) 5277.ru (авторская площадка для DIY инженеров)
Это лично моя площадка. Здесь нет бизнес интересов, меня не интересуют ни крупные, ни мелкие деловые игроки.
Мне глубоко безразлично, что думают лично обо мне менеджеры различных компаний, будь то Ростелеком, Билайн, ДВФУ, Примтеплоэнерго, Dexp, PhoenixContact, Ронды, Транснефтьчего-тотам и многие другие.
Здесь мне интересна польза для любителей электроники, самоделкиных и тому подобных, т.е. частных лиц, с которыми можно работать просто не официально на каких-то личных договоренностях.
Я не являюсь официальным лицом, и не несу никакой ответственности, все на Ваш страх и риск.

2) auto.dipex.ru (официальная площадка интеграторов)
А вот здесь уже официальный представитель моего продукта, который имеет такие же права на ПО, как и я.
За исключением(по большей части) прошивок конечных устройств(мы не делаем секрета из схемотехники - там все просто).
Именно здесь будут рады официальным представителям различных компаний.
Здесь и вопрос к отказоустойчивости, и к безопасности, и к другим важным темам данной отрасли совершенно на другом уровне.

В ближайшем будущем мы развернем еще одну площадку, боле простую, чем предыдущий пункт 2.
Она будет использоваться для лаборатории Dipex. Эта лаборатория создана пока только для студентов ДВФУ.
Я надеюсь, что в этом году, эта площадка также будет полезна и студентам ВГУЭиС.


Другими словами, клиент один, облачных решений несколько, серийные идентификаторы контроллеров будут выделяться с привязкой к определенной площадке.

Мы не планируем выпускать разные версии клиентов или контроллеров для различных площадок.
Различаться будут услуги предоставляемые этими площадками.
Ну и скорее всего, второстепенные сервисы(например, такие как веб часть) будут индивидуальные.

May. 19th, 2019

CNC 1310

Не так давно былa массовая истерия по поводу всяческий комнат с квэстами.
А я вот думаю, нахрена?
Ну, к примеру, закажите вы себе станочек CNC 1310, вот это квэст, это я понимаю.



Сразу предупреждаю, я это чудо в первые вижу в реале, слов умных не знаю, в общем полный новичок.

Пришел с отвалившимся одним двигателем, один вал погнут, лазер с ним на 5500мВт с двумя шлейфами, причем с явно некорректной расспиновкой, болтов для крепления двигателя нет, маркировки нигде нет(совсем), сайт указанный на плате не существует, документации нет, в нете только видео как собирать но не как подключать.

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

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

Пока только выяснил:
1) Движки у меня 17HS4401(1.7А макс.), драйвер A4988(2А макс.)
напряжение на подстроечном резисторе в моем случае должно быть 1.36В, было около 0.62В
(RS = 0,100 Vref = 1.7 * 8 * 0,100)
Настройку по току брал здесь: https://3deshnik.ru/blogs/akdzg/pravilnaya-nastrojka-toka-dlya-shagovyx-dvigatelej

2) Версия GRBL контроллера 0.9, есть новее (1.1), прошиваться пока не стал, хотя, как я понял, с лазером умеет работать только 1.1

3) Для управления станка выбрал программу Candle (версия 1.0.11, более свежие рассчитаны на GRBL версии 1.1)
Можно взять здесь: https://github.com/Denvi/Candle/releases/tag/v1.0

4) В настройках моего контроллера не врено заданы размеры
$130=200.000 (x max travel, mm)

$131=200.000 (y max travel, mm)

$132=200.000 (z max travel, mm)
Как менять пока еще не знаю.

5) Пока ничего не сломал, пост буду дополнять.

25.05.2019, получил от продавца архив с документацией и софтом.
Скачать можно здесь: http://5277.ru/distr/other/cnc1310/software-%e8%bd%af%e4%bb%b6.zip

May. 11th, 2019

Мини реле на 10А



Ранее я уже писал об этом устройстве.
Но здесь я выложил фото последнего прототипа, дальше будет мелкое производство.
Пока серийно будут производиться только платы, паять буду сам.

Еще раз, что же здесь особенного, если в кратце:
1) Управление по шине RS485 с протоколом схожим с MODBUS RTU (управление, чтение показаний, настройка)
2) Потребление тока самой реле снижено в 2 раза (кроме процесса включения)
3) Управление через кнопку, выключатель или сенсор.
4) Подключаемый датчик температуры DS18B20 (без разъема, как и кнопка припаивается на плату)
5) Функционал термореле (автоматическое включение и выключение в зависимости от режима работы и температуры)
6) Датчик тока
7) Отключение по порогу тока.
8) Питание от 9 до 24 вольт.
9) Коммутируемый ток - реле на 10А, напряжение до 250В
10) Очень маленькие размеры, помещается во многие подрозетники, даже в некоторые удлинители.

Ну и конечно комплексное программное обеспечение, бесплатное, с широкими возможностями.

Previous 10 | Next 10