Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет по практике, Умная розетка.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.57 Mб
Скачать

Государственное бюджетное образовательное учреждение

высшего образования Московской области

Международный университет природы, общества и человека «Дубна»

Кафедра проектирования сложных технических систем

«Утверждаю»

Заведующий кафедрой

__________ к.ф.-м.н. Деникин А.С.

Отчёт по учебной практике

Разработка проекта "Умная розетка"

Студенты-практиканты  Бурмистрова Анастасия Игоревна, Отряскин Роман Алексеевич, Миронов Михаил Анатольевич

Группа 2082 Направление: 13.03.02 – Электроэнергетика и электротехника                

Место прохождения практики              Университет «Дубна»                                                   

Руководитель от кафедры            Мороз Владимир Владимирович

Рекомендуемая оценка ___________________ ________________________________

(оценка) (подпись руководителя)

Дата представления отчета «24» июля 2015г.

Студенты-практиканты ________________________

(подписи)

Оглавление

Введение 3

Постановка задачи 4

Основная часть 5

Подготовка роутера TP-Link TL-MR3020 5

Изготовление первой части корпуса. 12

Проектирование "начиночной" части корпуса. 13

Некоторые особенности и хитрости работы в Solidworks, выясненные за время проектирования: 15

Проектирование "начиночной" части корпуса и печать 16

Введение

Признаюсь, мы не ожидали от университета такой интересной практики. Обещанное на кафедре простое проектирование обернулось для команды целым комплексом самых разнообразных работ, связанных с начальной реализацией проекта "Умная розетка": начиная от простого подбора компонентов и освоения программ для проектирования и вывода на 3D-печать, вплоть до проведения пайки, оживления маршрутизаторов (а так же программирования и настройки их с нуля), 3D-печати пластиком, шлифовки и доработки полученных компонентов. Сказать, что мы узнали много всего нового – ничего не сказать.

Благодарим "Центр прототипирования" за предоставление практикантам полной свободы действий.

Постановка задачи

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

Исходные данные: закупленная электроника (твердотельные реле, сетевой фильтр, датчики), 3D-принтеры, программируемые платы Arduino, компактный Wi-Fi роутер, соединительные кабели и провода разных видов.

Модель: соединенные воедино часть корпуса сетевого фильтра и корпус для внутренних компонентов проекта, напечатанный пластиком; внутри корпуса располагается электроника с выводами на штепсельные розетки.

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

Основная часть

Подготовка роутера tp-Link tl-mr3020

Основной задачей проекта "Умная розетка" является реализация удаленного управления посредством роутера. Для удаленного управления розеткой наш роутер должен быть программируемый, следовательно ему нужно открытое для изменения программное обеспечение. Как и во многом сетевом оборудовании в роутере TP-Link TL-MR3020 используется ОС Linux, поэтому установить на него открытое ПО не составит труда.

В качестве такого программного обеспечения (в дальнейшем, просто "прошивка") было выбрано OpenWrt. Замечу, что неслучайно был выбран именно TL-MR3020, так как мы заранее знали, что прошивка OpenWrt для него точно доступна для установки, и были уверены, что с этим не возникнет никаких трудностей.

Все далее приведенные манипуляции проводились в соответствии со статьей TP-Link TL-MR3020 [OpenWrt Wiki] [http://wiki.openwrt.org/ru/toh/tp-link/tl-mr3020] из базы знаний по OpenWrt.

Доводим до внимания, что данный отчет содержит важные пояснения, которых не встретить в вышеуказанной статье.

Следует вспомнить о том, что многие закупленные роутеры, попавшие в наше распоряжение, уже были затронуты прочими практикантами. В связи с этим нам попадались 3 варианта состояния роутеров MR3020:

  • Рабочий, с официальной прошивкой от TP-Link – самый простой случай.

  • Ранее рабочий с уже прошитой тестовой OpenWrt с рабочим доступом по Telnet/SSH, но без возможности настройки через Lucy и соответственно без возможности перепрошиться на OpenWrt stable напрямую из браузера. Доступ к роутеру осуществляется только в безопасном режиме (Failsafe).

  • Ранее рабочий с прошитой OpenWrt stable, но с невозможностью доступа к консоли по Telnet/SSH из-за отсутствия в конфигурации каких-либо сетевых интерфейсов (были кем-то стерты). Доступ в Failsafe режим так же отсутствовал.

Первый случай

Подключаемся к роутеру через Ethernet-кабель, далее просто устанавливаем stable-версию (именуемую как Attitude Adjustment) OpenWrt через вэб-интерфейс роутера с компьютера (по адресу 192.168.0.254; в случае недоступности роутера по этому адресу можно выставить статический IP в настройках ipv4 в настройках адаптера подключения по Ethernet-кабелю на компьютере: выставляем например 192.168.0.100 как IP адрес компьютера, маску оставляем авто-заполненной (255.255.255.0), за основной шлюз берем разумеется 192.168.0.254, за первичный DNS тоже его, сохраняем, пробуем подключиться по адресу основного шлюза). На этом мучения завершаются.

!!! ВАЖНО: следует устанавливать именно stable-версию прошивки, потому что в ней в отличии от trunk-версии заранее присутствует интерфейс Lucy и доступен почти весь объем памяти под пакеты.

Второй случай

Возможно восстановление через SSH из режима Failsafe с помощью поднятого на компьютере FTP-сервера.

### Для начала организуем окружающему оборудованию доступ в интернет (и в локальную сеть) по Wi-Fi для дальнейших манипуляций.

На ПК с Wi-Fi модулем (ноутбук в нашем случае) с уже полученным через VPN-подключение интернетом входим в командную строку от имени администратора и вводим команды

netsh wlan set hostednetwork mode=allow ssid="MyHomeInternet" key="pass12345678" keyUsage=persistent

(где ssid и key можно изменить на своё усмотрение)

netsh wlan start hostednetwork

Всё, сеть создана. Зайдя в Центр управления сетями и общим доступом \ Изменение параметров адаптера, выбрав вкладку "Доступ" в свойствах подключения с доступом в интернет (VPN в моём случае), предоставляем доступ нашей созданной беспроводной сети. Проверяем подключение и интернет, подключившись к ней с любого устройства по Wi-Fi.

В случае возникновения проблем обращаемся к статье Переключаем WiFi в режим точки доступа в Windows / Хабрахабр [http://habrahabr.ru/post/130271/]. ###

  1. Подключаем роутер одновременно через USB и Ethernet кабель к ПК.

  2. Организуем FTP-сервер:

- Устанавливаем например FileZilla Server

!!! Выключаем антивирус и файрволл на ПК

- Сразу при первом запуске FileZilla вводим localhost в поле адреса сервера, никакие настройки не трогаем, подключаемся.

- В настройках Users в FileZilla создаем пользователя с именем anonymous (именно в таком регистре), снимаем галочку с password, переходим во вкладку Shared folders; добавляем папку, в которую вы положили скачанную прошивку OpenWrt (как я уже говорил, лучше скачать stable) в формате "bin". Важно, чтобы путь папки не содержал кириллических символов, а сама папка имела в себе лишь только файл прошивки. Всё там же, в настройках папки, отмечаем галочками атрибуты Read, List, Subdirs.

- На всякий случай перезапускаем программу и подключаемся снова.

3. выставляем статический IP в настройках адаптера локальной сети как было рассказано в "первом случае", только теперь за IP берем 192.168.1.100, за основной шлюз 192.168.1.1, за DNS его же, маску как всегда авто-заполняем.

4. вводим в роутер в Failsafe как написано в статье

5. подключаемся к консоли роутера через программу Putty по адресу 192.168.1.1 по протоколу Telnet (если подключится не удается то опять же выставляем статический IP в настройках адаптера); когда консоль замрёт на строчке Press the [f] key and hit [enter] to enter failsafe mode быстро нажимаем комбинацию F+Enter; если после этого консоль не отобразилась, то нажимаем Enter

6. вводим в консоли команды:

cd /tmp

wget ftp://192.168.1.100/openwrt.bin

# где вместо openwrt.bin пишете имя файла вашей скаченной прошивки

# если 192.168.1.100 не подошел, попробуйте 127.0.0.1

mtd -r write openwrt.bin firmware

# опять же проверяйте имя файла

7. На этом прошивка завершена, ждем пока роутер перезагрузится, переподключаем его, проверяем Lucy по адресу 192.168.1.1 в браузере (если не удается зайти, то как всегда выставляем статический IP), далее переходим к базовой настройке:

8. в Lucy в настройках подключения локальной сети (LAN) убираем галочку около режима моста (Bridge), там же галочками предоставляем доступ всем интерфейсам, сохраняем настройки и ждем их применения

9. переходим во вкладку Wireless, нажимаем Scan, находим нашу точку доступа Wi-Fi, которую мы создали в самом начале, подключаемся, затем как можно скорее редактируем это подключение, так как по-умолчанию выставлена мощность аж 500мВатт и Wi-Fi модуль вскоре начнёт нагреваться и может расплавиться; выставляем мощность сигнала 20дбм (100мВ), отмечаем галочкой интерфейс wwan, сохраняем и ждем применения.

!!! В России запрещено ставить значения больше 100мВ – при больших значениях он будет создавать помехи в работе других передающих устройств.

10. Для подключения к роутеру USB-устройств и для управления Arduino, необходимо зайти во вкладку Software, нажать Update list, перейти в Available packages и поисковым запросом найти пакеты (и их библиотеки) с именами kmod-usb-serial и kmod-usb-serial-ftdi, установить их.

# Недостаток роутера MR3020 в его малом объеме памяти, выделенной под пакеты. Для установки вышеуказанных пакетов памяти хватит точно, в противном случае расширение памяти можно обеспечить подключением внешнего накопителя и монтированием его через консоль роутера.

11. Подключаемся к модему через протокол telnet (адрес 192.168.1.1). После успешного входа устанавливаем пароль командой passwd, закрываем сессию. Отключаем и подключаем роутер заново. Теперь входим через SSH (адрес тот же).

12. переходим в папку устройств командой

cd /dev

ls

ищем в таблице обозначение подключенной по USB плате Arduino (скорее всего она будет обозначена как ttyUSB0); если она появилась, то значит пакет драйверов установлен и работает успешно, запоминаем обозначение Ардуино конкретно в вашем случае

13. проверяем отклик Ардуино на команды с роутера – через консоль вводим

echo "H" > /dev/ttyUSB0

# вместо ttyUSB0 будет ваше обозначение (хотя в большинстве случаев обозначение совпадает)

# эта команда вызывает перезагрузку Ардуино, что будет видно по миганию светодиода на его плате

Третий случай

Возможно восстановление через Serial-порт программатором с помощью заливки прошивки через поднятый на компьютере TFTP-сервер.

Через последовательный порт (без настройки сетевых адресов), зная лишь номер COM-порта мы можем напрямую попасть в консоль управления роутером, откуда можно легко провести перепрошивку.

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

Вид контактов для пайки Конечный результат

В процессе пайки использовались:

- жидкая канифоль от AVRGroup

- простой электропаяльник (индукционный в данном случае не использовался, так как предназначен для точной пайки мелких деталей, в чем мы не нуждались)

- очиститель универсальный "Уфареактив"

- моток припоя

- кисточка

- деревянная болванка для очистки и лужения паяльника

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

После пайки окунаем кисточку в очиститель и уверенно отчищаем с платы черный и белый налёт.

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

Для подключения через последовательный порт нам понадобятся 4 провода типа "мама-мама", которые можно взять в наборе CP2104-Serial-Converter-USB-2-0-To-TTL-UART-6PIN-Module-Replace-Compatible-CP2102-module.

Разумеется, понадобится и сам программатор CP2104, который есть в том же наборе, поэтому мы приобрели набор целиком.

Подключаем 4 провода в соответствии с распиновкой контактов последовательного порта в статье и в соответствии надписями на самой плате CP2104:

# как сказано в статье: символом P1 на плате справа от контакта обозначен первый контакт, соответственно справа налево будут идти оставшиеся 2, 3, 4 контакты

# контакты в виде игл далее будем называть "пинами"

!!! подключения парочек RX и TX инвертируем, т.е. от пина RX на программаторе ведём к пину TX на последовательном порте (вход к выходу, выход ко входу)

# правильно выбираем, куда подключать контакт VCC – это пин питания (в нашем случае 3.3 вольта, что нам подсказала статья строкой с названием кабеля - FTDI Serial Cable 3.3V), соответственно провод 5V останется незадействованным

Подключаем USB-разъём программатора к ПК.

!!! Заметим, что на USB-порт подается 5 вольт, а на последовательный только 3.3 вольта), но всё питания только лишь от последовательного порта роутеру не хватит и его вдобавок придётся подключить к ПК через USB.

!!! Важно, чтобы mini-USB кабель был 4-ёх контактный. Например, USB-кабели предназначенные только для зарядки имеют лишь два контакта (первый – обод снаружи, второй – штырь внутри) – такой кабель не подходит для передачи данных.

На ПК открываем Диспетчер устройств, ищем в разделе "Порты" COM-порт роутера, запоминаем его номер. В Putty выбираем протокол Serial, меняем число COM-порта на запомненное, выставляем Speed на 115200 (так сказано в статье), подключаемся. Если видим пустое окно, то жмём Enter.

Руководствуясь статьей, а конкретно разделом про "Консоль загрузчика U-Boot", не обращаем внимание о приглашении вас в Failsafe режим, и успеваем с клавиатуры ввести слово tpl после надписи про Autobooting

Если всё сделано правильно, то появится командная строка от имени hornet. Если же она попросит с вас логин, то как логин укажите root, а как пароль 5up

# Если вы не успели ввести слово tpl, то просто отключаем роутер и программатор от ПК и опять подключаем их, повторяем попытку снова.

Организуем TFTP-сервер на ПК:

- В настройках адаптера на ПК выставляем статический IP: 192.168.1.100 как адрес ПК, 192.168.1.1 как шлюз и как первый DNS, маску авто-заполнением.

- Устанавливаем например TFTP Server manager

!!! Выключаем антивирус и файрволл на ПК

- Сразу при первом запуске программы выбираем Local Server, ОК.

- В настройках Virtual Folders, изменяем путь до папки с вашей прошивкой на такой же как во "Втором случае" (руководствуясь теми же правилами).

- На всякий случай перезапускаем программу и подключаемся снова.

Находим в статье абзац "Вы попадете в U-Boot-консоль, она отобразится строкой hornet> и будет ждать ввода. Вводите следующие команды". Внимательно вводим (а лучше - копируем) команды:

setenv ipaddr 192.168.1.111

setenv serverip 192.168.1.100

tftpboot 0x80000000 openwrt.bin

# где "openwrt" вам вероятно придется заменить на имя файла своей прошивки)

# если всё правильно то начнется Loading

erase 0x9f020000 +0x3c0000

cp.b 0x80000000 0x9f020000 0x3c0000

bootm 9f020000

Роутер перезапустится с чистой рабочей прошивкой.

Входим в Lucy как в пункте 7 второго случая, затем выполняем все 8-13 пункты как во втором случае.

Четвертый случай

Один из роутеров попался с неработающим Wi-Fi (в Lucy раздел Wireless напросто отсутствовал). Смена множества разных прошивок с полным затиранием памяти через Serial-порт не решила проблему. Как утверждает база знаний OpenWrt, если на роутере отсутствует или поврежден раздел ART (Atheros Radio Test - раздел с RF-калибровочными данными Wi-Fi), то Wi-Fi не будет работать, отсюда предположение что поврежден модуль Flash-памяти Spansion S25FL032P, излечение возможно только программатором под этот модуль.

За время практики мы уяснили, что лёгкий способ проверить, работает ли компонент платы – потрогать его пальцем на теплоту (рабочие части становятся теплыми).