Перейти к содержимому

kharlashkin

Дата регистрации: 13 ноя 2013
Вне сайта Был на сайте 22 июл 2017 08:05

#397919 Альтернативные прошивки маршрутизаторов.

Автор: kharlashkin16 Июль 2017 - 14:57

Должен сообщить, что OpenWrt лучше родной прошивки. Приведу пример.

Выше отписывал, что гроза потянула за собой стационарный ПК, который у меня как HTPC работает. Выгорел сетевой порт, и отвалились часть usb-портов. Во временное пользование был выпрошен у знакомого Wi-Fi usb-свисток. Так вот с родной прошивкой от Xiaomi наблюдалось периодическое отваливание беспроводной сети, помогало только физическое передергивание модуля. Изначально грешил именно на беспроводной модуль - так как мне сразу говорили что он очень глючный и пришлось повозиться с драйверами (в комплекте не было, в интернете тоже не сразу нашлись). После перепрошивки маршрутизатора, отваливаний не наблюдаю пока от слова "вообще".


  • 1


#397864 Альтернативные прошивки маршрутизаторов.

Автор: kharlashkin15 Июль 2017 - 21:51

Ну хоть один человек (кроме меня) одобрил мой выбор - плюсик поставил. Заказал я себе Xiaomi MiWiFi Mini, при чем оаказалось что дешевле и быстрее заказать себе этот маршрутизатор по месту, в Украине. На AliExpress цена около 718 грн с бесплатной доставкой, в интернет-магазине ROZETKA я покупал во вторник за 609 грн +35 грн доставка (сейчас ещё подешевел до 599 грн.). Вчера днем его забрал, вечером настроил на китайской стоковой прошивке и больше суток все нормально работало до сегодняшнего вечера.

Сегодня же руки зачесались, и решил попробовать установить на него ту прошивку для которого эта железка и покупалась - OpenWrt. Всё встало/заработало без проблем и считаю своим долгом поделиться опытом.

Первым делом сходил на страничку с описанием маршрутизатора на OpenWrt и увидел способ прошивки без плясок с бубном, регистрации и смс.

Вчера я обновлял прошивку на последнюю от производителя, и при попытке получить telnet доступ я не получил правильное сообщение об ошибки из описания:

{"msg":"未能連線到指定Wi-Fi(Probe timeout)","code":1616} 

Был ответ на китайском с кодом 1617 ;)

Первым делом я откатился в ручном режиме на стоковую прошивку с версией 2.1.6, хотя маршрутизатор после перезагрузки ругался что последняя версия доступная 2.15.78:

Прикрепленный файл  Снимок экрана от 2017-07-15 23-37-35.png   114,16 Кб   0 раз скачано

Далее в соседней вкладке вводим в адресную строку:

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqnetwork/set_wifi_ap?
ssid=whatever&encryption=NONE&enctype=NONE&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd

Где <STOK> это цифробуквенный код с обычного web-интерфеса, мой видно на скриншоте.

Получаю правильную ошибку, и ввожу следующий запрос:

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/xqsystem/set_name_password?oldPwd=<CURRENTPASS>&newPwd=<NEWPASS>

Где <CURRENTPASS> это установленный на этапе настройки пароль доступа к вебморде (кстати в родной прошивке он ключ к Wi-Fi) и <NEWPASS>, соответственно новый пароль. Открываем консольку и телнетом перешиваем, последовательно вводя несколько команд - загрузка прошивки OpenWrt, проверка расположения MTD и собственно прошивка. Ниже привожу просто копипаст из терминала.

kharlashkin@asus-K56CB:~$ telnet 192.168.31.1
Trying 192.168.31.1...
Connected to 192.168.31.1.
Escape character is '^]'.
XiaoQiang login: root
Password: 


BusyBox v1.19.4 (2015-03-20 10:08:59 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

 -----------------------------------------------------
        Welcome to XiaoQiang!
 -----------------------------------------------------
root@XiaoQiang:~# cd /tmp; wget http://downloads.openwrt.org/chaos_calmer/15.05.1/ramips/mt7620/openwrt-15.05.1-ramips-mt7620-xiaomi-miwifi-mini-squashfs-sysupgrade.bin
--2017-07-16 03:36:31--  http://downloads.openwrt.org/chaos_calmer/15.05.1/ramips/mt7620/openwrt-15.05.1-ramips-mt7620-xiaomi-miwifi-mini-squashfs-sysupgrade.bin
Resolving downloads.openwrt.org... 78.24.191.177
Connecting to downloads.openwrt.org|78.24.191.177|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3670020 (3.5M) [application/octet-stream]
Saving to: 'openwrt-15.05.1-ramips-mt7620-xiaomi-miwifi-mini-squashfs-sysupgrade.bin'

100%[======================================>] 3,670,020   2.61M/s   in 1.3s    

2017-07-16 03:36:33 (2.61 MB/s) - 'openwrt-15.05.1-ramips-mt7620-xiaomi-miwifi-mini-squashfs-sysupgrade.bin' saved [3670020/3670020]

root@XiaoQiang:/tmp# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 01000000 00010000 "ALL"
mtd1: 00030000 00010000 "Bootloader"
mtd2: 00010000 00010000 "Config"
mtd3: 00010000 00010000 "Factory"
mtd4: 00c80000 00010000 "OS1"
mtd5: 00b21c3e 00010000 "rootfs"
mtd6: 00200000 00010000 "OS2"
mtd7: 00100000 00010000 "overlay"
mtd8: 00010000 00010000 "crash"
mtd9: 00010000 00010000 "reserved"
mtd10: 00010000 00010000 "Bdata"
root@XiaoQiang:/tmp# mtd -r write openwrt-15.05.1-ramips-mt7620-xiaomi-miwifi-mi
ni-squashfs-sysupgrade.bin OS1
Unlocking OS1 ...

Writing from openwrt-15.05.1-ramips-mt7620-xiaomi-miwifi-mini-squashfs-sysupgrade.bin to OS1 ...     
Rebooting ...

После перезагрузки увидя активное сетевое подключения и посмотрев адрес полученный от dhcp - 192.168.1.115 я возликовал, а зайдя в веб-интерфейс и увидев OpenWrt - вдвойне ;)


  • 1


#397114 Альтернативные прошивки маршрутизаторов.

Автор: kharlashkin10 Июль 2017 - 13:04

Прошла гроза, сгорел мой добрый Asus RT-N16. Вот взял во временное пользование у знакомого железку попользоваться, теперь есть некоторое время ломать голову покупкой нового маршрутизатора. Денег много как то вообще не готов отдавать, потому как гроза за собой потянула и стационарный комп (пока масштаб бедствий не известен).

Что нужно - usb, пара внутренних портов и наверное AC. Разумеется чтобы работало это все под OpenWRT. Вот смотрю в сторону Xiaomi Mini, кто что думает?


  • 1


#396224 Альтернативные прошивки маршрутизаторов.

Автор: kharlashkin27 Июнь 2017 - 06:47

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

Как-то статья мимо меня прошла - "Умный обход блокировок в Украине". Ну и ссылка на репозиторий.


  • 1


#396213 Arduino и аналоги

Автор: kharlashkin26 Июнь 2017 - 22:53

умерла так умерла.

Приехала новая "тинька". Как не странно, всё завелось "с пол пинка".

Код Digispark
Код Arduino

Есть багофича - значения менее 17 тинька отрабатывает но вентилятор не крутится. Думаю переделать на более вменяемые значения мощности :)

P.S. Думаю что первоначальная платка имела брак - потому как новая завелась под Ubuntu на рабочем ноуте без "бубна";)


  • 1


#394460 Arduino и аналоги

Автор: kharlashkin09 Июнь 2017 - 13:46

Прочел книгу про кватернионы и трехмерную геометрию, начал заново копать ориентацию в пространстве с помощью MPU-9250. Набаловавшись до "не могу" со всякими фильтрами Маджвика, Махони и Калмана и так и не получив внятную картинку в Blender - пошел по пути наименьшего сопротивления. А если быть точным решил попробовать DMP (digital motion process), который по-умолчанию есть в датчике. Результат на видео.

Если я правильно понимаю, то для более точного позиционирования (а кубик гуляет по оси Z где то секунд 10, в самом начале), нужно дополнительно забирать данные магнитометра и корректировать полученный из DMP кватернион.


  • 1


#392712 Портал модов от WG

Автор: kharlashkin31 Май 2017 - 04:30

постоянная необходимость "идти на поклон" к разработчикам чтобы поддерживать "актуальность/совместимость с настоящем патчем"в свое время убила моё желание публиковать моды на res-mods.ru.

 

Отписываюсь по результатам публикации мода - может кому интересно будет. Отправил на модерацию мод изменения разрешения в игре менее чем 1024х768 (например для нетбуков 1024х600 или 720р - 1280х720). Поле нескольких часов пришел ответ от проверяющего - что нельзя нажать кнопку применить :)

Прикрепленный файл  b1d9f-clip-461kb.jpg   461,26 Кб   0 раз скачано

Тут как бы и моя ошибка - не указал явно что перед установкой нужно выставить "Масштабирование интерфейса" в позицию "х1", хотя на приложенном скриншоте это явно видно:

Прикрепленный файл  720.jpg   117,59 Кб   0 раз скачано

Ну да ладно, добавил строчку о необходимости, добавил скриншот с явно выделенным масштабированием, отправил повторно.

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

 

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


  • 5


#392435 Запрещенные моды - Q&A

Автор: kharlashkin30 Май 2017 - 09:28

Эмм... Получается, что я свои "бедные несчастные" два мода больше не буду поддерживать/обновлять. Хотя если честно, я их и обновляю от случая к случаю - но они до сих пор корректны.  По правде сказать они настолько просто устроены что работают уже много-много патчей, но постоянная необходимость "идти на поклон" к разработчикам чтобы поддерживать "актуальность/совместимость с настоящем патчем"в свое время убила моё желание публиковать моды на res-mods.ru. Теперь опять начнется, и если вибромод ещё признан не нарушающим правила, то "хитрый автоприцел" однозначно попадет в список ЗМ. Пофиг что жестко завязан на кнопку геймпада и весь зашифрован, дабы нельзя было использовать данный функционал по-другому, а завязанный с ним плавные ускорения/торможения вообще без стика неюзабельны.

Хотя может просто добавят поддержку геймпада в игру на ПК, надо то просто внести 100 строк кода в игру и допилить флеш в ангаре для настроек.

 

P.S. И да, я наивен и добр - потому как всегда хочется верить что не все люди вокруг козлы, и KR этому подтверждение.


P.P.S. Ребята расходимся - автор темы даже не подписан на неё...


  • 1


#392413 Arduino и аналоги

Автор: kharlashkin30 Май 2017 - 06:57

http://micropython.org/live/
Что-то очень прикольная штука для поиграться)))

Читал когда-то на хабре про эту платку - отзывы были неоднозначны, ведь можно использовать те же малины, апельсины, бананы с полноценной операционной системой и полноценным python - примерно за те же деньги. На странице проекта выложены бинарники для ESP8266 и STM32F4 - а это уже интереснее :)


Чет мне кажется спалил я тиньку или сбросил память в "0" - перепутал "+" с землей.

Пробовал прошить загрузчик Digispark в плату несколькими способами - умерла так умерла.

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


  • 1


#391446 Шанс на победу. Включить обратно.

Автор: kharlashkin22 Май 2017 - 08:22

а так и есть, влияет на психику, меняется настроение и тд и тп ...

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

Учитывая давние взаимоотношения WG с XVM значит ли это что последних могли просто "купить" - не знаю.

Ss_%282014-02-22_at_05.04.56%29.png


  • 1


#391443 Шанс на победу. Включить обратно.

Автор: kharlashkin22 Май 2017 - 08:06

Потому что фишка изначально бестолковая и отчасти даже провокационная.

Эм...

Прикрепленный файл  Mr 13.png   44,34 Кб   1 раз скачано

Ссылка


  • 1


#391435 Шанс на победу. Включить обратно.

Автор: kharlashkin22 Май 2017 - 07:26

█XlebniDizele4ku, Спасибо тебе, добрый человек ;)


  • 1


#391031 Arduino и аналоги

Автор: kharlashkin18 Май 2017 - 09:47

Буду пробовать прошивать в ATtiny85.
 

Чет мне кажется спалил я тиньку или сбросил память в "0" - перепутал "+" с землей. Пока гуглю как прошить в неё загрузчик Digispark с помощью ардуинки. Имхо, управлять тиристором и считывать значения датчиков параллельно, наверное не самый лучший вариант - ресурсов не хватит.


  • 2


#390315 Arduino и аналоги

Автор: kharlashkin12 Май 2017 - 12:31

буду пробовать

 
Наступил на некоторое количество граблей - опишу свой опыт.
Прикрепленный файл  dimmer.jpg   94,96 Кб   0 раз скачано
Грабли №1.
Нормальной вменяемой инструкции "для чайников" нет, AliExpress дает вроде как две ссылки на RobotDyn, но они неправильные, в русском сегменте вообще нет этой железки, правильная ссылка на международный сайт - http://robotdyn.com/~jZEda. В свою очередь в качестве документации дается ссылка на instructables - Arduino Controlled Light Dimmer, где уважаемый diy_bloke, всесторонне довольно подробно расписывает что к чему. В принципе, данный пост я несколько раз прочел на этапе размышлений как же мне плавно управлять вентилятором. Но, может правда это только в моем случае, ни один из приведенного скетча у Вас не заработает! Пробовал это все дело подключать к Arduino Uno R3.
Грабли №2.
После 2-х ночей, и прочтения вот этой информации со "Школы для электриков", я подумал что вообще зря купил эту железку:

Наиболее широкое применение в силовых электронных аппаратах получили фазовое (рис. 4,а,б) и широтно-импульсное управление тиристорами (рис. 4,в).
Прикрепленный файл  pwm.jpg   17,43 Кб   0 раз скачано
Рис. 5. Вид напряжения на нагрузке при: а) – фазовом управлении тиристором; б) – фазовом управлении тиристором с принудительной коммутацией; в) – широтно-импульсном управлении тиристором

В названии этого модуля явно указано PWM, соответственно только широтно-импульсном управление платка может. У меня уже был модуль с твердотельным реле, который можно примерно таким же образом использовать. В общем и целом пичалька. Код который заточен работать для пропуска полупериодов уже не помню где взял. Основная идея там счетчик перехода синусоиды через 0, и закрытие / открытие тиристора и обнуление счетчика. Как работает с вентилятором не понравилось - например, в течении 5 циклов, 4 идет на 100% и 1 цикл на 0% мощности. За счет инерции двигателя вентилятора возможно он и крутиться на 80% максимальной мощности. Но меня этот вариант не устраивал. Думаю, он хорош только для нагревателей.

Грабли №3.

Устав топтаться на одном месте и не высыпаясь, перешел ко второй части "Марлезонского балета", а именно к платке Digispark ATtiny85 MicroUSB. Практически сразу нашлась тема, где на этом чипе уже делали диммер. Захотелось попробовать прошить соответствующий скетч, но сработала "защита от дурака", подробнее в этом сообщении. Покопав исходники и погуглив - оказалось, что прошив данный скетч в ATtiny85, я потеряю возможность использовать функционал Digispark, и прошивать нужно только программатором или вот так незатейливо по инструкции с официального форума Arduino. Я так понимаю, что приведенный скетч использует внутренний таймер процессора, который так же используют Digispark для связи по usb с ПК.

 

Самое интересное что я для себя вынес из этих уроков - ссылка в скетче ;) Voltage controlled dimmer with an ATtiny85. Которая привела меня куда нужно - AC Phase Control.

Прикрепленный файл  ACWave.png   65,89 Кб   0 раз скачано

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

#define ControlSimistor 3 //  Выход на симистор
#define ControlZero 2 //  Вход контроля перехода через 0
volatile byte dimming = 0; //  Начальное значение мощности

void setup()
{
  pinMode(ControlSimistor, OUTPUT);
  digitalWrite(ControlZero, 1); // Активируем контроль перехода через 0
  Serial.begin(57600);  //  Значения мощности через порт
  attachInterrupt(0, zero, RISING); //  Внешнее прерывание контроля перехода через ноль
}

void zero() //  Если есть переход через 0
{
  if (dimming >= 255) // Если задано максимальное значение
  {
    digitalWrite(ControlSimistor, HIGH); // Тиристор постоянно открыт
  }
  else if (dimming <= 0) // Если минимум
  {
    digitalWrite(ControlSimistor, LOW); // Тиристор закрыт
  }
  else if (dimming > 0 && dimming < 255) // Если не минимум и не максимум
  {
    digitalWrite(ControlSimistor, LOW); // Сначала закрываем
    delayMicroseconds((5100 - dimming * 20)); // Ждем
    digitalWrite(ControlSimistor, HIGH); // Открываем тиристор
  }
}

void loop()
{
  if (Serial.available()) // Если порт открыт
  {
    dimming = Serial.parseInt();  // Считываем данные и находим в них целое число
  }
}

Ну, могу себя поздравить, на Arduino все работает как нужно! Буду пробовать прошивать в ATtiny85.

Хочу кое-что прояснить. Изначально я испытывал полный цикл в 10 мс на полупериод, но учитывая особенности вентиляторов он начинает более-менее нормально крутить крыльчатку где-то с 45% мощности, именно поэтому задается такая задержка в начале полупериода до открытия тиристора + в дальнейшем буду использовать analogRead().


  • 2


#386956 Arduino и аналоги

Автор: kharlashkin26 Апрель 2017 - 21:09

Модернизировал страничку загрузки скетча:

Прикрепленный файл  flask_upload.png   129,37 Кб   0 раз скачано

run.py
forms.py
upload_sketch.html
base.html

Нужно попробовать монитор порта прикрутить ;)


  • 2




© Mr 13