Author: khabradmin

  • Apache and LDAP

    Apache and LDAP

     Администраторы бывают двух типов: те, которые ставят обновления, и те, которые покупают Биткоины

    народная мудрость

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

    (more…)
  • Mail

    Mail

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

    (more…)
  • Crazy Train

    Crazy Train

    И зачем, я ненавижу поезда…

    Л. Федоров – Девушки поют

    Электрички – это мракобесие. В любом случае. В любой стране.

    Самые адекватные электрички, если их таковыми можно назвать были в северной Европе. Чистые, дорогие, быстрые. Для сравнения – в Дании доехать до места на поезде/электричке вышло дороже, нежели долететь на самолете.

    (more…)
  • The Boss

    The Boss

     Алкоголизм – не шутка, прощай, Мишутка

    Л.Федоров

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

    (more…)
  • Summer is coming

    Summer is coming

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

    Технилогичнеские вещи будут ждать.

    (more…)
  • Royal Salute

    Royal Salute

    Закончился праздник победы. Этот праздник должен быть.

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

    (more…)
  • Beltain

    Beltain

    Скрывают тайны космоса немало важных тайн,
    Но не боится ничего, кто пережил Бельтайн.

    Infornal FuckЪ
    (more…)
  • Pet cemetery

    Pet cemetery

    Sometimes dead is better.

    Stephen King

    Иногда гуляя можно найти много интересного.

    (more…)
  • Rockets & Bishops

    Rockets & Bishops

    А теперь и обещанная вторая часть этого мракобесия.

    Все проверено и работает.

    Напомню трепетному читателю, как это работает.

    Светодиодная лента – драйвер светоидиодной ленты – в разрыве стоит реле  Arduino NanoRaspberry Pi.

     Собственно, чтобы это все работало нам нужно сделать:

    1. Залить на 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");
     }
     }
     }
    1. Далее нам необходимо все это счастье подружить с 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 – еще одно отличное пойло от пивоварни имени анархиста.

  • Bakunin

    Bakunin

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

    (more…)