Просмотр этой темы:
4 анонимных пользователей
Технический Директор
Зарегистрирован:
08.02.2009 21:08 Из: Днестровск
Сообщений:
2520
|
Это мой первый опыт новичка в том деле, потому рассказываю, как я его создавал. Чат предполагается вести в программе telnet (она есть и прописана в самой Windows, но по умолчанию не установлена).
Для создания чата на Arduino приобрёл плату-дополнение (иначе говоря шилд) Arduino UNO Ethernet Shield Wiznet W5100 Установил его в контакты поверх платы Arduino UNO. Подключил сетевой кабель к шилду Ethernet и свободному порту роутера. Подключил кабель питания от адаптера 12В/2А к плате Arduino UNO. При этом на шилде начнёт светится и мигать линейка светодиодов. Подключил USB кабель к компьютеру и Arduino UNO. Установил программу telnet. Для этого нужно перейти в: Пуск - Параметры - Приложения - Программы и компоненты - Включение или отключение компонентов Windows - ставим галочку напротив Telnet Client - жмём OK и ждём окончания установки. Узнал IP адрес своего компьютера в домашней сети: Пуск - Параметры - Сеть и интернет - Просмотр свойств сети - Нахожу строчку "IPv4-адрес: 192.168.0.102/24". Запоминаю только цифры до знака косой черты, то есть "192.168.0.102". Просканировал свою домашнюю сеть на наличие других подключенных устройств, бесплатной программой Advanced IP Scanner, чтобы наглядно увидеть список какие IP адреса уже заняты. Среди списка IP адресов домашней сети много свободных, выбрал один из них, например 192.168.0.103 Запустил программу для прошивки Arduino, вставил готовый встроенный скетч из примера: Файл - Примеры - Ethernet - AdvancedChatServer. В скетче в строке "IPAddress ip(192, 168, 1, 177);" изменил цифры, а точнее IP адрес моего шилда, присвоил ему свободный адрес домашней сети 192.168.0.103 и прошил. Я выложил здесь этот же самый скетч, но с комментариями на русском языке. После прошивки в этой же программе запустил монитор порта: Инструменты - Монитор порта. В открывшемся окне с названием COM4 появилась надпись "Адрес сервера чата:192.168.0.103". Ясно сервер-чат на Arduino уже в работе. В противном случае могла бы появиться надпись "Шилд Ethernet не найден. Извините, не могу работать без оборудования. " Теперь подключился к созданному чат-серверу на каждом компьютере в домашней сети: Запустил программу telnet: Пуск - Служебные-Windows - Выполнить - Напечатал слово telnet и нажал кнопку ОК. Открылось окно с названием "C:WINDOWS\system32\telnet.exe". В этом окне написал всего одну латинскую букву o и нажал клавишу Enter. Появилась надпись ( в ). Напечатал адрес сервера чата, а именно цифры с точками: 192.168.0.103 и нажал клавишу Enter. Появилась надпись: "npuBem, k^ueHm HoMep: 0", а название окна сменилось на "Telnet 192.168.0.103" Переключил раскладку своей клавиатуры на кириллицу и написал сообщение в программе telnet. Моё сообщение тут же по буквам появилось на другом компьютере в программе telnet также подключенному к чат-серверу. Заглянул в монитор порта Arduino, там отобразился мой и второй подключенный компьютер. Так как мне нет необходимости следить за клиентами сети, то закрыл программу Arduino и отсоединил USB кабель, оставив лишь питание самой платы Arduino с её Ethernet шилдом, чат сервер при этом продолжил работать предоставляя возможность писать сообщения друг другу в программе telnet.
/*
Прикреплённый файл: Шилд Ethernet.jpg (109.90 KB) Монитор порта.jpg (32.56 KB) Окно telnet.jpg (48.50 KB)
Отправлено: 05.06.2020 18:54
|
|
Технический Директор
Зарегистрирован:
08.02.2009 21:08 Из: Днестровск
Сообщений:
2520
|
Для того, чтобы вести чат со смартфона на ОС Android через веб-чат на Arduino c Enthernet шилдом, нужно войти со смартфона в домашнюю сеть по WiFi, установить с "Google Play" приложение
Запустить на телефоне приложение "Mobile Telnet", нажать на экране в правом верхнем углу три точки, затем надпись "Telnet Setting" и ввести адрес нашего чат-сервера, а именно 192.168.0.103 и нажать на "ОК". Снова нажать на экране в правом верхнем углу три точки, затем на "Connect". Появится надпись "Connecting to 192.168.0.103 port 23, please wait..." и ниже "npuBem, k^ueHm HoMep: 1". Внизу дисплея в белом поле пишем сообщение латинскими буквами (главный недостаток Mobile Telnet - кириллицу не поддерживает в обе стороны), например, "Privet!" (можно без кавычек) и жмём рядом справа на надпись "Send". На компьютере другого клиента в программе "telnet" появится ваше сообщение со словом "Privet!". Если другой подключенный клиент начнёт печатать латинскими буквами у себя на компьютере, то на вашем телефоне начнёт отображаться набираемый текст. Прикреплённый файл: Чат в Mobile Telnet.jpg (33.52 KB)
Отправлено: 06.06.2020 1:48
|
|
Технический Директор
Зарегистрирован:
08.02.2009 21:08 Из: Днестровск
Сообщений:
2520
|
Telnet на "десятке" также устанавливается вручную, но работать, как на "семёрке", не будет. При попытке соединиться выдаст следующее:
Подключение к 192.168.1.133...Не удалось открыть подключение к этому узлу, на порт 23: Сбой подключения. Не помогут ни отключение брандмауэра, ни создание разрешения в создании правил для входящих-исходящих портов, ни прописка и перенаправление портов в самом роутере, ни запуск из под Администратора. Чтобы я ни делал Telnet на "десятке" к "просьбам трудящихся глух как топор". Не рекомендую устанавливать ещё какие либо компоненты Windows, если вы не знаете для чего они, иначе будут проблемы с загрузкой "десятки" и тогда, как вариант, поможет (лучше предпоследняя) точка восстановления системы. Обойти проблему с Telnet-ом на VirtualBox-е с той же "семёркой" тоже не получится, так как там свои "внутренние" IP адреса и сканер не показывает знакомые устройства домашней сети. Ну и заодно Telnet тоже не подключается к нужному вам узлу. Сторонний софт (PuTTY) также не решает проблему. Тем не менее, не смотря ни на что, мобильные приложения Telnet между собой прекрасно работают и в мониторе порта Arduino IDE на той же "десятке" всё отлично отслеживается. Даже 127.0.0.1 110 и он не работает, что вообще удивило! Может у вас получится?
Отправлено: 16.05.2021 9:21
|
|
Технический Директор
Зарегистрирован:
08.02.2009 21:08 Из: Днестровск
Сообщений:
2520
|
После долгих мытарств нашёл такую информацию, что мол китайцы по ошибке впаяли не ту сборку резисторов. Должны были установить 510, но почему-то ставят 511, хотя согласно схеме в datasheet указано 49,9 Ома. Понятное дело китайцы ставят резисторы близкие по значению, но всесто 51 Ом (SMD код 510) они поставили 510 Ом (SMD код 511), отсюда и все беды с шилдом Ethernet W5100. Что интересно роутер куда подключен шилд видит его IP-адрес и показывает его всем Wi-Fi устройствам, а по сетевому кабелю на компьютер не передаёт, будь-то не видит. Ну здесь такой выход предлагается: у кого есть опыт замены SMD-деталей, то сборку 511 меняют на 510 и проблема исчезает. Кто без опыта подпаять резисторы сверху не получится, но с обратной стороны платы подпаивают к сетевому гнезду по два сопротивления по 100 Ом, но как я понял это не то же самое, что к сборке резисторов 511, а к трансформаторам тока, что в сетевом гнезде. Но и после такого обещается, что шилд будет вести себя постабильнее, но я так подозреваю, что постабильнее на коротком сетевом кабеле. Проверять не стал. Я думаю другой вариант: если роутер видит шилд, то можно ли как-то в настройках роутера перенаправить IP-адрес шилда на другой адрес, но уже хорошо видимый компьютером? У кого есть опыт, поделитесь.
Если интересно: А вот на фото та самая неправильная сборка 511: Прикреплённый файл: 511-510.jpg (37.70 KB)
Отправлено: 19.05.2021 22:53
|
|
Технический Директор
Зарегистрирован:
08.02.2009 21:08 Из: Днестровск
Сообщений:
2520
|
Сегодня у меня дома работники ИДК заменили оптический модем на новый, другого производителя. И, о чудо! IP-адрес шилда Ethernet стал виден по проводной сети, не только по Wi-Fi, а заодно и отобразилась его веб-страница, что лежит на SD-карте шилда. Это событие порадовало! Ведь с предыдущим модемом, как я писал в предыдущих сообщениях, были проблемы и не только у меня, а у многих.
Рис.1 Так выглядит веб-страница шилда. Рис.2 А это новый оптический модем
Отправлено: 05.08.2021 18:05
|
|