неділя, 29 січня 2017 р.

Raspberry Pi, Pi Camera и отправка email

Вот уже как пару дней, я пользуюсь своим детектором движений на малине. Основной принцип работы, я описал в первом абзаце этого поста. Фото и видео делает Pi Camera Module. Вот статья, в которой описаны основные моменты. Питанием для всей системы я выбрал Xiaomi Mi Power Bank 16000mAh. Реальная емкость где-то на уровне 12000 мАч. Непрерывной работы от одной полной зарядки банки хватает на 24-25 часов. Значит система потребляет где-то 500мА в час.
Корпусом для мини-пк я выбрал коробку от смартфона. Прорезал в ней отверстия под питание, usb-выход и кабеля для датчика движений. В итоге, в собранном виде все это дело выглядит вот так:
На Raspberry был установлен TeamViewer и, перед каждым уходом на работу, я подключаюсь и запускаю скрипт. Для того что бы камера не фиксировала меня когда я ухожу, я поставил задержку в 1 минуту.
Привожу полный код скрипта, который сейчас благополучно работает у меня:

Код по записи видео я закомментировал - мне, пока что, без надобности.

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

пʼятниця, 27 січня 2017 р.

CLOB через DBLink

Есть 2 базы, надо передавать CLOB с одной в другую. Сначала сделали процедуру, которая принимала на вход CLOB, но:
PLS-00564: lob arguments are not permitted in calls to remote server

Решили, что будем передавать CLOB в удаленную таблицу, а на той стороне обрабатывать. Написали инсерт и:
Error: PL/SQL: ORA-22992: cannot use LOB locators selected from remote tables


Решение проблемы:
Сделали у себя темповую таблицу:
create global temporary table TBL_TMP_CLOB
(
  c_clob CLOB
)


Делаем Insert From Select в удаленную таблицу:
INSERT INTO schema.remote_table@dblink(rem_clob) SELECT * FROM TBL_TMP_CLOB;





вівторок, 24 січня 2017 р.

Проблемы с Task Scheduler в Windows 10

Продолжаю допиливать свою raspberry pi-"систему видеонаблюдения". Для себя решил, что она должна работать по принципу: датчик фиксирует движение, камера делает снимок и отправляет мне на рабочую почту письмо, на работе у меня запущен шедуллер, который мониторит определенную папку в outlook и если там поменялось количество писем, то будет вызвана процедура по отправке смс мне на телефон. 
Столкнулся с проблемой простого создания задания, которое будет выполняться по расписанию.
Сразу приведу текст батника:
python webScrap1.py

Создал задание в Task Scheduler на запуск батника по расписанию в Windows 10. Жду... Ничего не запускается :(. Запускаю вручную - тоже ничего. Погуглил и нашел, что проблема может заключатся в положении переключателя "Run only when user is logged on". 
Изначально я поставил его в положение "Run whether user is logged on or not". Поменял, запустил вручную и увидел cmd-окно.
Но, хоть окно и мигнуло на секунду - ничего не произошло, смс не пришла. Поставил паузу в батнике - ошибка "не могу найти файл webScrap1.py". Прописал полный путь к файлу - cmd запускается и висит. Попробовал другие варианты - зависает пустое окно.
Методом "научного тыка" пришел к выводу, что просто указать название батника в поле с файлом, который будет запускаться не получится. Пришлось, как мне кажется, извратиться и запускать python.exe, а в аргументах указать путь к скрипту. Также надо указать папку, где лежит скрипт. Пример:

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

неділя, 15 січня 2017 р.

Futurama на дверях

Предыстория: у меня в квартире входные двери с обратной стороны белого цвета. Моя жена решила нарисовать на них картинку с космосом. Нарисовала, а потом через несколько дней все стерла, сказала, что ей не нравится. Я подумал и предложил нарисовать героев мультсериала Футурама. Поискал в интернете подходящую картинку и остановился на этой:
Решил, что нарисую только героев и только до линии плеч. Начал срисовывать. Сначала карандашом нарисовал все линии (может быть плохо видно, надо увеличить картинку):



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

В крышке замешивал цвета для более похожего цвета кожи и губ, так как телесный цвет с флакона был очень светлым. Размешал его с каплей красного и результат мне понравился.
Начал разукрашивать Бендера:

Уже в процессе понял, что надо было купить еще одну кисточку, тонкую, что бы делать обводку черным цветом. Решил проблему так: отрезал маленький кусочек картона с коробки от пиццы и макал в краску. Результат:

Дальше перешел к Фраю и Лиле:

Делаю черный контур:
Итог работы:
Конечно, я понимаю, что можно было сделать лучше: Фрай получился меньше остальных (будем думать, что он стоит дальше всех), обведение черным неровное и местами чересчур жирное (в следующий раз куплю тонкую кисточку), где-то краска выходит за контуры (буду говорить, что так и было задумано). Но так как подобным я занимаюсь первый раз, я остался доволен проделанной работой.
Всем добра и творческих успехов =)

пʼятниця, 13 січня 2017 р.

Ремонт воздухоувлажнителя Delfa или первая пайка

История начинается с того, что у меня перестал работать воздухоувлажнитель Delfa DH-404: вроде гудит, а пар не идет. Гугл выдал, что при такой проблеме надо заменить мембрану излучателя и, желательно, транзистор BU406.
Купил детали, а также паяльник, флюс и припой. Проблема только в том, что до этого, я ни разу не паял. Но подумав, что воздухоувлажнитель не такая дорогая вещь, решил, что буду учится на нем.
Дальше пойдут фотки процесса и мои комментарии:
Детали на замену:

Раскручиваем увлажнитель:
Вот вас и будем менять:
Рабочий стол:
Сначала выпаял транзистор - прогревал ножки и тянул, но транзистор быстро нагрелся, поэтому тянул плоскогубцами. С мембраной было легче. Плата с обратной стороны, с уже выпаянными деталями:
Впаиваем новые элементы (мембрана):
Пришло время теста. Скручиваю все назад, наливаю на мембрану воду, приподнимаю поплавок и ... слава Великому Рандому - я ничего не спалил и все работает. Дальше уже полностью скручиваю увлажнитель, включаю:
Оставляю работать. Собираем инструмент:





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