пятница, 19 апреля 2019 г.

Прошивка Cisco AIR-lAP1131AG-E-K9

Поговорим о том, как прошить точку доступа cisco AIR-lAP1131AG-E-K9 в режим Stand-alone.



Итак, имеем WiFi точку с прошивкой для работы с контроллером. Задача - перепрошить для работы без контроллера. Прошивку буду использовать c1130-k9w7-tar.124-25d.JA1, скачанную с официального сайта.
Нам понадобиться пк с com-портом и консольный цисковский кабель. Точки доступа пришли без блоков питания, так что буду использовать PoE инжектор. Из программного обеспечения Putty и tftpd32.
Открываем крышку нашей циски, подключаем консольный кабель.



Запускаем Putty, скорость ком-порта стандартная, 9600. При подаче питания если используете PoE инжектор - кабель со второго порта инжектора вытаскиваем. Если блок питания - Ethernet-кабель в циску не вставляем, иначе в режим загрузчика не попадете.
Внимание! Все последующие действия стоит выполнять используя источник бесперебойного питания. Есть риск окирпичить циску если пропадет электропитание во время прошивки и вырубиться комп и/или циска.
Зажимаем кнопку reset и подаем питание на циску. В консоли видим следующее:

Xmodem file system is available.
flashfs[0]: 47 files, 15 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 15998976
flashfs[0]: Bytes used: 12185600
flashfs[0]: Bytes available: 3813376
flashfs[0]: flashfs fsck took 42 seconds.
Base ethernet MAC Address: XX:XX:XX:XX:XX:XX
Initializing ethernet port 0...
Reset ethernet port 0...
Reset done!
link auto-negotiating....
auto-negotiation takes 10000 milli-seconds to complete
ERROR: timeout waiting for auto-negotiation to complete
ERROR: fail to bring ethernet link up

The system has been encountered an error initializing
ethernet port. You may need to check hardware
The system is ignoring the error and continuing boot.
If you interrupt the system boot process, the following
commands will reinitialize ethernet, tftp, and finish
loading the operating system software:

    ether_init
    tftp_init
    boot

button is pressed, wait for button to be released...


Отпускаем кнопку, точка продолжит загрузку, ждем появления букв ap и двоеточия.

button pressed for 46 seconds
process_config_recovery: set IP address and config to default 10.0.0.1
process_config_recovery: image recovery


ap:


Теперь назначим нашей точке IP, маску и шлюз, после чего инициализируем tftp-клиент. Я сконфигурировал на своем ПК на сетевом интерфейс статический адрес 192.168.0.10 c 24-той маской, на циске с этой же маской будет 192.168.0.11. А поскольку подключение будет напрямую к ПК, то шлюзом на циске будет адрес ПК. Делается все это следующими командами (для удобства то, что пишет в консоль циска, я помечу зеленым цветом, то, что пишем в консоль мы, то есть команды, красным).

ap: set IP_ADDR 192.168.0.11
ap: set NETMASK 255.255.255.0
ap: set DEFAULT_ROUTER 192.168.0.10
ap: tftp_init
tftp_init success: You can now use tftp file system!

Соединяем наш PoE инжектор и ПК патчкордом, если шьете с использованием цисковского блока питания - то соединяйте патчкордом циску и ПК. Инициализация интерфейса выполняется следующей командой

ap: ether_init
Initializing ethernet port 0...
Reset ethernet port 0...
Reset done!
ethernet link up, 100 mbps, full-duplex
Ethernet port 0 initialized: link is up

Точка готова к перепрошивке. Давайте подготовим саму прошивку и tftp-сервер.
Для удобства я создал на диске D папку с коротким цифровым названием и положил туда файл c1130-k9w7-tar.124-25d.JA1. Запускаем tftpd32.exe, отключаем в нем dhcp, если таковой включен. Указываем папку в которой лежит прошивка и прикрепляем наш tftp сервер к интерфейсу. После чего на самой циске даем команду на скачивание прошивки

ap: tar -xtract tftp://192.168.0.10/c1130-k9w7-tar.124-25d.JA1.tar flash:

extracting info (286 bytes)
c1130-k9w7-mx.124-25d.JA1/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/level/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/level/1/ (directory) 0 (bytes)

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

extracting c1130-k9w7-mx.124-25d.JA1/6701.img (131328 bytes)............................
extracting c1130-k9w7-mx.124-25d.JA1/info (286 bytes)
extracting info.ver (286 bytes)
ap:


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

extracting c1130-k9w7-mx.124-25d.JA1/html/level/15/ap_contextmgr_scm_summary.shtml.gz (5559 bytes).
extracting c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1 (4758352 bytes)Error writing flash:/c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1 (Not enough space on device)

ap:

Если видим ошибку записи Not enough space on device - просто удаляем ненужные файлы с флеш-памяти циски. Как это делать я опишу в конце статьи. После удаления просто заново запускаем команду на скачивание и распаковку прошивки.
После того, как наша точка скачает и распакует прошивку, нам нужно с этой прошивки загрузиться. Для этого есть команда boot, параметром параметром в которой будет файл, с которого мы хотим грузится.

ap: boot flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1
Loading "flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1"...################

File "flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1" uncompressed and installed, entry point: 0x3000
executing...

Дальше пойдет стандартная загрузка. По окончанию увидим следующее

Product/Model Number : AIR-LAP1131AG-E-K9

Press RETURN to get started!

CESS: RADIO crypto FIPS self test passed on interface Dot11Radio 1
*Mar 1 00:00:12.939: %LINK-3-UPDOWN: Interface FastEthernet0, changed state to up
*Mar 1 00:00:13.162: %LINK-5-CHANGED: Interface Dot11Radio0, changed state to administratively down
*Mar 1 00:00:13.162: %LINK-5-CHANGED: Interface Dot11Radio1, changed state to administratively down
*Mar 1 00:00:13.231: %SYS-5-CONFIG_I: Configured from memory by console
*Mar 1 00:00:13.235: %SYS-5-RESTART: System restarted --
Cisco IOS Software, C1130 Software (C1130-K9W7-M), Version 12.4(25d)JA1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2011 by Cisco Systems, Inc.
Compiled Thu 11-Aug-11 02:44 by prod_rel_team
*Mar 1 00:00:13.235: %SNMP-5-COLDSTART: SNMP agent on host ap is undergoing a cold start
*Mar 1 00:02:07.689: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0, changed state to up
*Mar 1 00:02:07.912: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to down
*Mar 1 00:02:07.912: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio1, changed state to down
*Mar 1 00:02:07.917: %LINEPROTO-5-UPDOWN: Line protocol on Interface BVI1, changed state to up

ap>

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

ap>enable
Password:
ap#conf t
ap(config)#boot system flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1
ap(config)#exit
ap#write
Building configuration...
[OK]
ap#

Ну вот мы и прошили нашу Cisco Aironet 1130AG Series Access Point для самостоятельной работы без контроллера. Теперь можно присвоить ей адрес (на bridge, vlan или на физический интерфейс) и зайти на web интерфейс



Настройку я уже рассматривать не буду, тут на ваше усмотрение. Инструкция подойдет от любой циски, если работали с ними - то сложного ничего нет.

Давайте теперь вернемся к той ситуации, когда шиться циска не хочет из-за недостатка свободного места на флешке. В таком случае она пишет ошибку Not enough space on device. Для начала нужно посмотреть, что же занимает место и удалить лишнее.

Как посмотреть память на Cisco.
Для просмотра дисков и файловой системы в cisco есть команда dir. Пример

ap: dir
List of filesystems currently registered:
    flash[0]: (read-write)
    xmodem[1]: (read-only)
    null[2]: (read-write)
    tftp[5]: (read-only)

Тут мы видим все файловые системы, но нам нужна только flash. Для того чтоб посмотреть flash указываем после dir нашу флешку.

ap: dir flash:
Directory of flash:/
2   -rwx   286   <date>   info
9   drwx   320   <date>   c1130-k9w8-mx.124-23c.JA6
4   drwx   128   <date>   c1130-rcvk9w8-mx
3   -rwx   5144   <date>   private-multiple-fs
7   -rwx  201   <date>   env_vars
8   -rwx   92018   <date>   event.log
16   drwx   320   <date>   c1130-k9w8-mx.124-25e.JAL
63   drwx   0   <date>   configs
64   drwx   64   <date>   c1130-k9w7-mx.124-25d.JA1

3137536 bytes available (12861440 bytes used)


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

Как посмотреть файлы в папке на cisco.
Чтоб посмотреть файлы в каталоге, нужно после dir добавить в команду файловую систему и ту папку, которая нас интересует. Например

ap: dir flash:c1130k9w8-mx.124-25e.JAL


Как удалить файл на Cisco.
Для удаления файлов есть команда del, ее нужно написать с полным путем к файлу, который хотим удалить. Пример

ap: del flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL
Are you sure you want to delete "flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL" (y/n)?y
File "flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL" deleted

Как удалить каталог (папку) на cisco.
Для удаления папок на циско есть команда rmdir. Почему-то она не захотела удалять полные папки с ключом recursive, поэтому для удаления каталога сначала удаляем из него все файлы командой del, после чего удаляем пустую папку.

Итак, в статье я рассказал как прошить Cisco Aironet 1130AG Series Access Point, показал на примере модели AIR-lAP1131AG-E-K9. Так же рассказал как смотреть и удалять файлы из файловой системы. В дальнейшем может хватит времени на написание статьи про настройки данных точек доступа, в чем я очень сильно сомневаюсь, ибо времени, простите за тавтологию, последнее время катастрофически не хватает.

среда, 17 апреля 2019 г.

Электрический кран-водонагреватель проточного типа

Речь пойдет о кране для ванны, который греет воду. Недавно приобрел себе такой девайс, установил и решил поделиться впечатлениями. Вот так выглядит кран-водонагреватель в собранном виде.



Описание
Проточный водонагреватель фирмы Zerix, модель не указана ни на самом электрокране, ни на коробке, ни в инструкции. Этот же кран можно найти в интернет-магазинах под маркой Delimano.
Установка крана настенная, тоесть ставиться вместо стандартного смесителя для ванны, но только на холодную воду. Горячую попросту закрываем заглушкой. Помимо стандартного гусака имеет шланг для душа с лейкой. Так же есть семисегментный двухразрядный светодиодный индикатор температуры воды. В наборе есть фактически все для установки этого крана. На самом кабеле есть узо lby-16 с током срабатывания 30мА.
Характеристики
Электрокран рассчитан на стандартную сеть 220 вольт, потребление 3 кВт. На самом кране написано 3 - 3,6 кВт. Воду греет до 60-ти градусов. Для работы требуется минимальное давление 0.04 мпа, в инструкции говориться от 0.04 до 0.6 мпа.

Установка
Как я уже и говорил, в комплекте есть все, что потребуется при установке. Поскольку корпус крана пластиковый, то очень важно не перетягивать гайки дабы не сорвать резьбу. Докупал только заглушку на горячую воду. Ну и прокладки на всякий случай.
В общем, в ванной снимаем смеситель, снимаем эксцентрики, глушим горячую воду и устанавливаем проточный водонагреватель. Шланг для душа я снял со старого смесителя, так как в комплекте с краном шланг оказался немного короче. На самом кабеле питания стоит узо, но вот защиты от замыкания нет. Специально для этого был куплен двухполюсный автомат на 16 ампер C16. Так же в ванной была установлена розетка с защитой IP54.
Вот так выглядит полностью смонтированный включенный кран.



Теперь поговорим о преимуществах и недостатках.
Я читал на кран водонагреватель отзывы перед покупкой, но все они были необъективны. Из опыта использования вижу, что не все так радужно, как пишут.
Преимущества
В отличие от бойлера меньше потребляет электричество. Обусловлено тем, что бойлер постоянно греет, даже когда не используется - немного остыл и тут же врубается тэн для поддержания температуры.
Легкость установки - монтаж проточного крана водонагревателя очень легок и занимает мало времени.
В отличие от газовых колонок можно ставить там, где газ не проведен.
Стабильность температуры воды. Для примера в том же бойлере вода имеет свойство заканчиваться и приходиться либо обходиться холодной, либо ждать, пока нагреется.

Недостатки
Очень слабо греет воду. Реально выше 55 градусов поднять температуру с сохранением силы давления воды у меня не получается. Можно принять душ, но ванну по этой причине на наберешь - вода остывает быстрее, чем набирается ванна.
Регулировка температуры воды открытием-закрытием крана. Чем больше сквозь кран протекает воды в секунду - тем ниже температура. Вода попросту не успевает нормально прогреться. При полностью открытом кране вода прогревается где-то до 38-41 градусов. Даже душ не особо комфортно принимать.
LCD дисплей некорректно отображает температуру воды, скорей всего датчик установлен слишком близко к ТЭНу.
Пластиковая резьба. Это существенный недостаток, ведь пережать и сорвать резьбу на пластике очень легко. А зажимать нужно качественно, дабы не было протечек воды.
Большая мощность ТЭНа, 3 кВт это довольно много, особенно с оглядкой на то, что вода нормально не нагревается.
Так же к недостаткам можно отнести короткий шланг для душевой лейки.

Заключение
В заключении скажу, что проточный кран водонагреватель для ванной с душем не самое лучшее решение. Если использовать его только для душа - то вполне можно привыкнуть и пользоваться, ванну принять не получиться. Технология крайне сыра и недоработана, может со временем электрический проточный водонагреватель немного улучшат. Так же мной было замечено несоответствие температуры, которую показывает индикатор на кране, с температурой вытекающей из него воды. Замеров я не проводил, но по ощущениям 50-ти градусов там явно нету, кран врет градусов на 10.
В общем, в качестве основного источника горячей воды я это изделие не советую. Особенно в ванной. Для кухни, когда 40-ка градусов достаточного для того, чтоб помыть посуду или руки, вполне сойдет. Для душа - кое-как сойдет, но только в случае отсутствия альтернативы, если встанет вопрос проточный водонагреватель или бойлер - то, на мой взгляд, лучше ставить бойлер.
Потому, прежде чем купить проточный кран водонагреватель с душем, посмотрите в сторону водонагревателей без душа с установкой на раковину. Все то же самое, на гусак только купить специальный переходник, который ставиться вместо аэратора и прикрутить душевой шланг с лейкой - получится вполовину дешевле, нежели покупать такой девайс, который купил я.

суббота, 6 апреля 2019 г.

Шаговый двигатель из CD/DVD привода

Попались в мои руки несколько приводов оптических дисков, которые я разобрал. В итоге помимо плат и прочей механики стал обладателем нескольких шаговых двигателей, которые позиционируют лазерную головку. Захотелось их как-то использовать, но информации по ним фактически никакой. После продолжительного и настойчивого гугления информацию я таки нашел и решил поделится ею с вами.
Итак, шаговый двигатель cd rom



Он имеет маркировку 0550902, чуть ниже 15RF 172KP, хотя можно прочитать и слитно, получится 15RF172KP. Так же маркировка на шлейфе 3 e232171. С обратной стороны выгравировано SM15DD - это тип винта двигателя.



После длительных поисков datasheet я нашел каталог продукции фирмы MOATECH, в котором и упоминается данный двигатель из сд привода. Это двигатель SPS-15RF-172KP, в каталоге есть небольшое упоминание SPS-15RF Type, где присутствует позиция 172FH.



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

Характеристики шагового двигателя
В табличке есть данные по сопротивлению обмоток, 10 Ом на обмотку, я проверил - мультиметр показал 10 Ом. Так же можно увидеть угол поворота - 18 градусов на шаг. И, самое важное, напряжение питания двигателя - 5 вольт. Идеально для использования с AVR микроконтроллерами или Arduino.
Этот двигатель dvd привода имеет две фазы, видим, что он биполярный (это должно быть и так ясно, исходя из количества выводов). Для таких двигателей необходимы специальные драйвера управления, в следующей статье будем собирать свой драйвер на полевых транзисторах. Это обусловлено их принципом работы. Давайте посмотрим, как управлять биполярным шаговым двигателем.

Распиновка шагового двигателя
Тут все предельно просто, имеем четыре вывода и две обмотки - по два вывода на обмотку.



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

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



Я привел схему подачи тока на биполярный шаговый двигатель в виде четырех полных шагов двигателя. Чтоб двигатель вращался, достаточно после четвертого шага выполнить первый шаг и продолжить дальше. Чтоб двигатель вращался в обратную сторону, то шаги нужно выполнять с обратной последовательности, например 4-3-2-1-4-3... и так далее.
Эта схема управления не такая уж сложная, но в плане подачи тока могут возникнуть затруднения. Но об этом мы поговорим в следующей статье, а сейчас давайте вернемся к нашим двигателям. Я описал только один, а у меня их два.

Второй двигатель выглядит точно так же, как и первый, но имеет другую маркировку - 172F p10816H1. Тем не менее это тот же самый SPS-15RF, который с этой же буквой F после 172 есть в первой позиции таблички из каталога. Так что идентификация обоих двигателей успешно произведена, технические характеристики определены и можно приступать к повторному использованию этих шаговиков.

понедельник, 1 апреля 2019 г.

Как сделать макет электронного устройства

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

Технологии макетирования электронных устройств
Условно можно разделить на паечный метод макетирования и безпаечный. В первом стыковка компонентов исполняеться методом пайки, во втором либо монтаж накруткой, либо стыковкой. Для паечного метода есть куча готовых макетных плат, некоторые люди делают макеты даже на картонке. Недостаток такого метода в том, что при переделывании макета приходится довольно много паять, особенно если уже пропаяны дорожки на плате.
Монтаж накруткой столь редкий, что я не буду на нем останавливаться и скажу лишь, что он мало чем отличается от паечного метода.
А вот монтаж стыковкой, когда соединяются либо отдельные модули (ардуиновские шилды, например) либо детали на макетных платах - технология довольно интересная и я последнее время макетирую именно таким способом. Вот пример макета собранного мной устройства.



Про сами платы для макетирования вы можете почитать в моей статье "Паечные и беспаечные макетные платы"

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

Проблемы макетирования с использованием SMD компонентов
Одной из проблем при изготовлении макета является использование планарных микросхем для поверхностного монтажа. Если SMD резистор с успехом заменяется резистором для сквозного монтажа, то некоторые микросхемы не выпускаются в DIP корпусах. Как же тогда использовать SOP SOIC микросхемы с макетными платами?

Я нашел выход и использую либо переходники с нулевым усилием, либо паечные переходники sop-dip или soic-dip. Фактически это изготовление модуля, шилд для Arduino своими руками на коленке. Вот пример такого модуля с микросхемой mx25l3206e.



Как видите, использовать smd в макетировании вполне реально. На фото представлена микросхема в корпусе sop8, тем не менее с таким же успехом можно распаять TQFP, например Atmega328. С микросхемами BGA я пока еще не сталкивался в макетировании, но думаю вполне можно и под них разработать или купить некий переходник под DIP.

Использование готовых модулей
Использование готовых ардуиновских шилдов зачастую еще сильнее упрощает процесс. Модуль, в основе которого лежит микросхема или датчик, который сложно распаять на плате самому, убирает само понятие пайки. Конечно, при изготовлении прототипа это уже не самый подходящий вариант, но макет собрать и отладить можно намного быстрее. Например, использование гироскопа и акселерометра MPU-6050 в корпусе QFN создаст некие трудности в плане монтажа, но вот готовый модуль паять не надо, достаточно вставить в макетную плату - это громадная экономия времени и сил.



Такими модулями не стоит пренебрегать, я стараюсь использовать их там, где это можно. В том числе и аппаратную платформу Arduino, микроконтроллер Atmega328 можно прошить и без ардуновского загрузчика, используя прошивку, написанную в Atmel Studio, например.

Заключение
В статье я поделился своим опытом, и в заключении хочу сказать, что для создания и отладки устройства изначально использовал самые разные технологии. Самым тяжелым путем было изготовление печатной платы под конкретное устройство и отладка этого устройства на готовой плате. Зачастую в процессе разработки я что-то мог не учесть или где-то ошибиться. Либо же в конце выяснялось, что нужно добавить в устройство новый функционал. В итоге это выливалось в лишние ночи корпения с паяльником над платой, перерезанием существующих дорожек и прокидкой новых дорожек проводами. С переходом на макетные платы я позабыл, что такое запоротая печатка. После отладки, когда схема полностью доработана, можно спокойно разрабатывать печатную плату, распаивать компоненты и наслаждаться сразу же заработавшим прибором.
Если вы используете иные технологии - делитесь ими в комментариях, с удовольствием буду перенимать ваш опыт.