Продолжая воевать с почтой, которая наотрез не желала отправлять что-либо на замечательный mail.ru, пришлось взять, и решить проблему.
(more…)Author: khabradmin
-

Crazy Train
И зачем, я ненавижу поезда…
Л. Федоров – Девушки поютЭлектрички – это мракобесие. В любом случае. В любой стране.
Самые адекватные электрички, если их таковыми можно назвать были в северной Европе. Чистые, дорогие, быстрые. Для сравнения – в Дании доехать до места на поезде/электричке вышло дороже, нежели долететь на самолете.
(more…) -

Summer is coming
Раз уж погода решила все же побаловать нормальной погодой, получились вот такие фотки.
Технилогичнеские вещи будут ждать.
(more…) -

Royal Salute
Закончился праздник победы. Этот праздник должен быть.
По старой традиции по всем городам и весям отгремели салюты победы. Георгиевские ленточки, которые раздавались на каждом углу, будут заброшены, разбросаны, потеряны. А фотографии с салюта останутся.
(more…) -

Rockets & Bishops
А теперь и обещанная вторая часть этого мракобесия.
Все проверено и работает.
Напомню трепетному читателю, как это работает.
Светодиодная лента – драйвер светоидиодной ленты – в разрыве стоит реле – Arduino Nano – Raspberry Pi.
Собственно, чтобы это все работало нам нужно сделать:
- Залить на Arduino скетч. Привожу пример того, что сейчас работает, но это просто из-за того что не хочется идти и перезаливать:
int value; //переменная int Reley = 7; // порт к которму подключен пин реле. (порт D7) void setup() { Serial.begin(9600); // запускаем работу с портом pinMode(Reley, OUTPUT); //говорим, что порт Reley, т.е. порт D7 явлюяется портом вывода Serial.println(value); } void loop() { if (Serial.available()) //если из последовательного интерфейса что пришло, значит… { value = Serial.read(); // заносим в переменную value, то что пришло в порт if (value == '1') // если пришел символ "1" включаем реле, т.е. подаем высокий уровень на пин D7 { digitalWrite(Reley, HIGH); Serial.println("Reley — ON"); } if ( val == '0') // если пришел символ "0" выключаем реле { digitalWrite(Reley, LOW); Serial.println("Reley — OFF"); } } }- Далее нам необходимо все это счастье подружить с Rasp Pi. Как уже писал ранее, для того, чтобы что-то с этим делать, нам нужно для начала установить pySerial. В нашем случае для малинки это делалось так:
sudo apt-get install python-serial
После этого можно будет попробовать собрать скрипты для Python, ибо именно им проще всего, как показала практика пользоваться для управления этой радостью.
Использовались скрипты, сделанные на коленке:
Включение света:
import time
import serial
arduino=serial.Serial(“/dev/ttyUSB0”,9600,timeout=1000)
time.sleep(2)
arduino.write(‘1’)
Выключение света, очевидно:
import time
import serial
arduino=serial.Serial(“/dev/ttyUSB0”,9600,timeout=1000)
time.sleep(2)
arduino.write(‘0’)
Магическое использование библиотеки time обосновано исключительно тем, что Arduino при подаче на нее сигнала просто жаждет перезагрузиться и то, что происходит дальше – не происходит. sleep(2) не дает этому случиться.
Есть более радикальный вариант – прикрутить/припаять конденсатор в 10 микроФарад между GND и RST
Этот скрипт лучше изменить, чтобы он мог искать и другие порты, нужно добавить еще и возможные адреса этого порта:
locations=[‘/dev/ttyUSB0′,’/dev/ttyUSB1′,’/dev/ttyUSB2′,’/dev/ttyUSB3’,
‘/dev/ttyS0′,’/dev/ttyS1′,’/dev/ttyS2′,’/dev/ttyS3’]3. Следующим этапом этого мероприятия является подключение PHP для выполнения этих скриптов. Так как все происходит в ,мягко говоря, гетерогенной среде (скрипты писались в bash под Windows 10 из-под подключения через ssh к Raspberry PI), поэтому разместил Apache и PHP на малинке и нарисовал где-то такой скрипт для проверки работоспособности этого мракобесия:
<html> <head> <meta name="viewport" content="width=device-width" /> <title>Light Control</title> </head> <body> Light Control: <form method="get" action="light2.php"> <input type="submit" value="ON" name="on"> <input type="submit" value="OFF" name="off"> </form> <?php if(isset($_GET['on'])){ $python = exec('/usr/bin/python /var/www/html/enablelight.py'); } else if(isset($_GET['off'])){ $python = exec('/usr/bin/python /var/www/html/shutdownlight.py'); } ?> </body> </html>4. Чего стоит опасаться:
1.Связка с PHP не заработала с первого раза. Пришлось искать логи, которые нашлись тут:
/var/log/apache2/.
2. Если скрит работает нормально из консоли, но при этом через веб-морду не заработал, то есть несколько альтернатив:
- Изменить права для доступа на устройство: sudo chmod 666 /dev/tty…
- Более культурный вариант – изменение прав в /etc/udev/rules.d где-то до такого вида () потребуется перезагрузка
# navigate to rules.d directory
cd /etc/udev/rules.d
#create a new rule file
sudo touch my-newrule.rules
# open the file
sudo vim my-newrule.rules
# add the following
KERNEL==”tty…”, MODE=”0666″- Добавление пользователя в группу dialout на уровне индейца
Вроде как все, после этих манипуляций сможете включать и выключать свет через Wi Fi.
Что уж, решение совершенно дебильное, но тем не менее, рабочее.
Конечно же, не переключаемся, скоро будет еще больше всего интересного и ненужного!
PS А Rockets & Bishops – еще одно отличное пойло от пивоварни имени анархиста.
-

March Of The Penguins
Купи себе кота, уравновесь свою природу,
Коты такие умницы, коту всегда нештяк
Башня RowanМарш пингвинов
Наверное, марш пингвинов явление, которое не существует, но ведь раз в сто лет и палка стреляет.
Приблизительно 2 года назад покинул то самое насиженное место.
Ушел не сильно далеко, через организацию, которая начинается на Г до фирмы, которая начинается тоже на М. Удивительный мир, который меня уверял в светлом будущем направился вслед за коммунизмом в тоннель, но уже без автора сих строк.
Было много времени подумать, решить, что делать дальше, почему так делать, и тому подобное. В общем, словесный понос пережил, можно и адекватно оценить то место, где оказался.
Итак, чего по-настоящему не хватает, так это поездок. Долгих, утомительных перелетов, проозоненных аэропортов, накрахмаленных простыней отелей и неуемного пьянства в барах при отеле. Плюс к этому, наложившаяся безколесность вообще кардинально изменило все то, к чему привык за последние много лет.
С другой стороны приобретеней оказалось много больше, нежели казалось сначала: множество увлечений, которые позволяют заменить все вышеперечисленные аморальные занятия.
Подводя итог двух лет, пожалуй, что можно сказать так: большие конторы уводят тебя от реальности, переводят в параллельную вселенную гипотетических проблем и еще более гипотетических решений. Огромное словоблудие, которое практикуется, ни в коей мере не может коррелироваться с теми действиями, которые необходимо выполнить.
Второй момент, который хочется отметить, так это, пожалуй, что проблема поиска работы стоит все так же актуально даже с наличием восхитительного резюме, красного диплома и щенка бульдога – то что ищешь явно не соотнесется с тем, что найдешь. Но, порой, это даже хорошо. Потому что #меняневзяли или даже так, #янепошел в н-ное количество организаций из-за их удивительно совкового подхода, даже не так. Из-за потрясающего ощущения 90-х, витающего в коридорах некоторых организаций, с которыми мне посчастливилось пообщаться.
Пожалуй, что эта увлекательная история подходит к концу, потому что дале уже вообще не интересно.
Вывод сего опуса: все что не происходит все к лучшему. Потеря работы – не потеря ноги, и это можо исправить. Вот такой позитив.
PS. March of The Penguins – это замечательное пиво. Настоящий IPA, лучшее что можно купить.





