• Никак не могу найти микроконтроллер для своего проекта (не ардуино), что посоветуете?

    ESP8266 если не так критично с потреблением. Функционал очень большой и довольно легко писать прошивки.
    Ответ написан
    Комментировать
  • Сколько стоит разработка подобного сайта?

    Такого уровня или даже хуже примерно 50 000.
    Плюс надо учесть что такие проекты делаются не за раз, после готового первоначального варианта идет стадия поддержки.
    Ответ написан
    9 комментариев
  • Беспроводной модуль?

    ESP8266 WiFi очень большие возможности за маленькую цену
    Ответ написан
    Комментировать
  • Стабильный роутер?

    Есть ли закономерность у данного события?
    Попросите всех отключится и подключайте по очереди.
    У меня есть подозрения что у кого то устройство со старым и оно переключает роутер на него.
    Или посмотрите стандарт до и после падения интернета.
    Ответ написан
  • Как сымитировать "нажатие" кнопки выключателя?

    Тоже задавался данным вопросом. Данные выключатели есть с радио управлением. И на плате есть разъем для радиоприемника. Один из контактов это RX.
    Если используете ардуину:
    int txPin = 9; // pin connected to RF transmitter
    int i; // counter to send command pulses
    int pulse; // count pulse repetitions
    int incomingByte = 0;   // for incoming serial data
    
    // hard coded commands (see txButton): 1 - pulse start, 2 - zero, 3 - one, 4 - pause, 5 - low
    int button1[45]={44, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2};
    int button2[43]={43, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2};
    int button3[41]={40, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 3, 5, 3, 4, 2, 4, 2, 4, 2};
    int button4[43]={42, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 3, 4, 2, 4, 2, 4, 2};
    int button5[43]={42, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2};
    int button6[43]={42, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 3, 4, 2, 4, 2, 4, 2, 4, 2};
    int button7[41]={40, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 3, 4, 2, 5, 3, 4, 2, 4, 2};
    int button8[43]={42, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 3, 4, 2, 4, 2};
    int button9[43]={42, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2};
    int button10[43]={42, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 2, 4, 3, 4, 2, 4, 2, 4, 2};
    int button11[41]={40, 1, 2, 4, 2, 4, 2, 4, 3, 5, 2, 4, 2, 4, 3, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 4, 2, 5, 3, 4, 2, 5, 2, 4, 3, 4, 2};
    
    void setup () {
    
    pinMode(txPin, OUTPUT);
         Serial.begin(9600);
         Serial.println("Number = button;  a to press 0;  b to shut off all");
    
    }
    
        void loop(){
          if (Serial.available() > 0) {
            // read the incoming byte:
            incomingByte = Serial.read();
            switch(incomingByte) {
            case 49:
            txButton(button1);
            Serial.println("Switching on 1");
            break;
            case 50:
            txButton(button2);
            Serial.println("Switching on 2");
            break;
            case 51:
            txButton(button3);
            Serial.println("Switching on 3");
            break;
            case 52:
            txButton(button4);
            Serial.println("Switching on 4");
            break;
            case 53:
            txButton(button5);
            Serial.println("Switching on 5");
            break;
            case 54:
            txButton(button6);
            Serial.println("Switching on 6");
            break;
            case 55:
            txButton(button7);
            Serial.println("Switching on 7");
            break;
            case 56:
            txButton(button8);
            Serial.println("Switching on 8");
            break;
            case 57:
            txButton(button9);
            Serial.println("Switching on 9");
            break;
            case 97:
            txButton(button10);
            Serial.println("Switching on 0");
            break;
            case 98:
            txButton(button11);
            Serial.println("Switching All off");
            break;
            }
          } // end if serial available
        }// end void loop
        
    // transmit command. Due to transmitter (or something, I don't know) transmission code should be INVERTED. Ex: one is coded as LOW-delay->HIGH instead of HIGH-delay-LOW
    void txButton(int cmd[]) {
    Serial.print("Processing. Array size is ");
    Serial.println(cmd[0]);
    digitalWrite(txPin, HIGH); // not sure if its required, just an attempt to start transmission to enable AGC of the receiver
    delay(1000);
    
    for (pulse= 0; pulse <= 100; pulse=pulse+1) { // repeat command 100 times
    for (i = 1; i < cmd[0]+1; i = i + 1) { // transmit command
    
      switch(cmd[i]) {
       case 1: // start
       digitalWrite(txPin, HIGH);
       delayMicroseconds(550);
       digitalWrite(txPin, LOW);
    //   Serial.print("s");
       break;
       case 2: // "zero", that is short high spike
       digitalWrite(txPin, LOW);
       delayMicroseconds(110);
       digitalWrite(txPin, HIGH);
    //   Serial.print("0");
       break;   
       case 3: // "one", that is long high spike
       digitalWrite(txPin, LOW);
       delayMicroseconds(303);
       digitalWrite(txPin, HIGH);
    //   Serial.print("1");
       break;      
       case 4: // pause, that is short low spike
       digitalWrite(txPin, HIGH);
       delayMicroseconds(110);
       digitalWrite(txPin, LOW);
    //   Serial.print("p");
       break;      
       case 5: // low, that is long low spike
       digitalWrite(txPin, HIGH);
       delayMicroseconds(290);
       digitalWrite(txPin, LOW);
    //   Serial.print("l");   
       break;      
      }
        
      }
    
    } 
    
    
    }


    Соединяете земли и выбранный пин с RX на плате. Программируете по на определенную последовательность и шлете команды.

    Все отлично работает. Так же работает команда на выключение.

    Пока эксперименты приостановил. Но следующим хотел найти как его можно напрямую включить или по UART
    Ответ написан
    2 комментария
  • Cms или собственный движок?

    попробуйте OpenCart
    Или еще проще найти SaaS решение которое вас устроит.
    Ответ написан
    Комментировать
  • Правильный реврайт nginx в подпапках с одинаковыми проектами. Как?

    Проверьте выдает ли 500 если test.domain.com/project1/login/index.php
    Ответ написан
    Комментировать
  • Перенаправление части интернет-трафика через VPN в Windows

    Способ может немного кривой, но как вариант можете попробовать.

    Поднимаете на виртуалке linux полегче.
    Поднимаете там VPN и делаете SSH туннель через proxifier.
    В нем настраиваете для каких приложений.

    Еще могу посоветовать поковырять балансировку в Kerio Firewall. (но не факт что будет, давно не использовал данный продукт)
    Ответ написан
    Комментировать
  • Что изучать веб-программисту самоучке, кроме самого языка?

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

    Что касается веба (но применима к любому языку, да и не только)
    Изучили php — посмотрите как оптимизировать. Как закэшировать и тд
    Изучили MySQL — изучите оптимизацию запросов.
    Изучили JS — найдите как более рационально его применить.
    Оптимизируйте сервера, в общем все что только можно.

    Извиняюсь за излишнюю эмоциональность. Просто наболело и надоело видеть кучу тормозного кода.
    Начиная от сайтов заканчивая приложениями.
    Ответ написан
    1 комментарий
  • Как вы храните пароли от серверов?

    Mars Notebook
    Удобный шифрованный контейнер.
    Ответ написан
    Комментировать
  • Кэширование картинок

    Duti_Fruti
    @Duti_Fruti Автор вопроса
    И еще вопрос. Кто сталкивался, подскажите как лучше реализовать.

    Скажем есть друго сервер все с тем же конфигом:

    location ~* \.(?:js|css|png|jpe?g|gif|ico|htc)$

    Который берет из папки картинки и раздает их, но если ее нет, отдает с первого сервера и ложит в эту папку (но под нормальным именем, а не md5)
    Интересует возможность реализации только средствами Nginx, без rsync или других скриптов.
    Ответ написан
  • Подскажите софт для автоматической синхронизации данных с сервером

    rsync — очень гибкое решение. Но возможно покажется сложным в развертывании.
    + многие IDE умеет заливать на FTP или SFTP
    Ответ написан
    1 комментарий
  • Можно ли починить клавиатуру ноутбука?

    Ремонту подлежат, но это долго и геморно. Разбираете полностью до прозрачных пленок на которых дорожки. Смотрите какие не работают и там ищите/вызваниваете обрыв. Если не работают несколько смежных то ищите общею дорогу. Далее берете контактол (автомобилисты должны знать что это) и проводите ровный и тонкий слой. Через 10-20 мин контакт будет нормальным, полное высыхание за сутки. Не один десяток клавиатур восстанавливал данным способом.
    Ответ написан
    Комментировать
  • Покупка подержанного iphone 4. На что стоит обратить внимание при осмотре?

    У четверок есть болезнь, не работает микрофон при разговоре. При работе диктофона он врубается, а вот при звонке нет. Ремонт очень проблемный, следует заребоулить одну микруху возле проца, но сделать это из за компаунда сложновато, компаунд выталкивает шары из под проца.
    Ответ написан
    Комментировать
  • phpFlickr

    Duti_Fruti
    @Duti_Fruti Автор вопроса
    Svyatov, тоже самое только нету строки:
    $f->setToken(«token»);
    Где взять token?
    Ответ написан
  • Топ по нескольким параметрам. PHP+MySQL

    Duti_Fruti
    @Duti_Fruti Автор вопроса
    gaelpa, я прошу помощи в реализации наиболее корректного топа. Как и что я сам не знаю. Изложил только суть, что есть книги, голоса и количество голосов. Интересует как бы делали Вы или как это делать надо.
    Ответ написан
    Комментировать
  • Топ по нескольким параметрам. PHP+MySQL

    Duti_Fruti
    @Duti_Fruti Автор вопроса
    Либо я не совсем вас понял, либо вы меня.

    Надо:
    Чтобы скажем оценка 4(среднее) и количество записей 50, было выше чем оценка 5 с 40 записей.

    Что бы было еще понятнее для чего это:
    Есть голосование за книгу, средний бал за книгу 4.3 пришел человек и поставил другой книге 5 (это первая оценка), что бы она не стала выше чем книга с 4.3 где проголосовало 20 человек.
    Ответ написан
  • Какие онлайн сервисы упрощают вам жизнь и экономят время?

    unite.opera.com (File Inbox, File Sharing)
    File Inbox — если вам надо что то принять, вы просто даете ссылку куда человек заливает файл и он сразу попадает к вам на винт.

    File Sharing — если вам надо что то кому то скинуть, даете ссылку и он качает прямо с вашего винта (не надо искать куда бы залить файл). Также можно слушать музыку потоком. Удобно иметь постоянный доступ к файлам из мобильного устройства.

    Ну и еще куча удобств + работает с сетью если компы в сети.
    Ответ написан
    Комментировать
  • Какие онлайн сервисы упрощают вам жизнь и экономят время?

    Миниплан хорош, но было бы хорошо если бы он умел отправлять не только на +7, но и на другие.
    Ответ написан
    Комментировать