Теперь сделаем на базе W5500 простенький “TCP SERVER”. Настраиваем W5500 в режим TCP/IP согласно даташиту от производителя. (https://wizwiki.net/wiki/doku.php?id=pr ... p_function) Пишем в память МК HTML (https://ru.wikipedia.org/wiki/HTML) строку <html>Привет от кораблика!</html> Проверяем: В строке браузера пишем локальный IP адрес нашего кораблика (192.168.0.2).
Подключаемся к кораблику по локальной сети... Компьютер (192.168.0.3) отправляет кораблику GET запрос... Кораблик нам в ответ отправляет HTML строку <html>Привет от кораблика!</html>
Теперь надо чем-нибудь поуправлять... Например включить/выключить подсветку экранчика Nokia 5110. И так... Кораблик у нас в режиме приёма. Кораблик (модуль W5500) принимает все запросы (SYN) на соединение по локальной сети на IP адрес 192.168.0.2, порт 80 и автоматически отправляет всем в ответ приветствие (Привет от кораблика!)...)) После чего кораблик автоматически закрывает соединение (FIN) и ждёт нового соединения...
Чтобы включить/выключить подсветку экранчика, нужно отправить кораблику GET запрос, в котором необходимо указать что мы хотим..)) Например для того что-бы просто включить подсветку экранчика отправим условный запрос... например цифру "1". А что-бы выключить подсветку отправим соответственно цифру "0"... по-моему логично))
Чтобы отправить GET запрос кораблику с цифрой "1" достаточно просто в адресной строке браузера написать цифру "1"... логично)) Проверяем:
Работает..)) -Кораблик принял GET запрос с цифрой "1" (цифра "1" в шестнадцатиричной системе - 0x31, согласно таблице ASCII). -Кораблик увидел в GET запросе цифру "1" и включил подсветку экранчика Nokia 5110.
Теперь выключим подсветку. Пишем в адресной строке браузера цифру "0".
Работает..)) -Кораблик принял GET запрос с цифрой "0" (цифра "0" в шестнадцатиричной системе - 0x30, согласно таблице ASCII). -Кораблик увидел в GET запросе цифру "0" и выключил подсветку экранчика Nokia 5110.
Мдя... ---------- В принципе радиоуправления корабликом по Wi-Fi у нас уже готово)) Достаточно просто поставить в наш кораблик старенький Wi-Fi роутер (который не жалко если утонет ), как это сделали тут - http://cxem.net/uprav/uprav34.php
и можно отправляться в путь)) Управлять будем из браузера строки любого устройства с Wi-Fi... ноутбука, планшета и т.д.)) Только добавим команды... "вперёд", "назад", "лево", "право"... и т.д. )) ---------- Всё это интересно, но управлять из строки браузера неудобно...)) Тогда сделам посложней...
3- Теперь нажимаем кнопку ON. При нажатии кнопки ON браузер отправил GET запрос кораблику, с указанием параметров запроса (? - начало запроса, LED - подсветка экранчика, 1 - включить подсветку). Кораблик принял GET запрос, проанализировал и включил подсветку экраничика:
5- Теперь нажимаем кнопку OFF. При нажатии кнопки OFF браузер отправил GET запрос кораблику, с указанием параметров запроса (? - начало запроса, LED - подсветка экранчика, 0 - выключить подсветку). Кораблик принял GET запрос, проанализировал и выключил подсветку экраничика:
Всё..)) Вот так всё просто работает..)) ---------- HTML позволяет создавать кучу всего... кнопки, переключатели, ползунки, загружать картинки, ссылки... и т.д. и т.п. ))
Далее... Потребление у модуля 5500 довольно большое... ~140 mA на скорости 100 Мбит/c ~80 mA на скорости 10 Мбит/c ... Выбираем пониженную скорость... Правда я так и не понял, как программно перевести модуль на пониженную скорость... Регистр настройки PHY не работает - если записать другое значение (отличное от заводских), моудуль W5500 просто отключает весь блок PHY... Может кто знает в чём проблема? Пока просто замкнул выводы TD- и RX-, чтобы W5500 не мог работать на 100 Мбит/c...
После включения W5500 немного подумав... переключается в режим пониженной скорости 10 Мбит/c... Автоопределение у W5500 работает чётко.. )) https://en.wikipedia.org/wiki/Autonegotiation
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Цитата из даташита W5500: "Настройка режима работы PHY: Аппаратная настройка с помощью выводов PMODE [2: 0] на схеме. Программная настройка с помощью регистра OPMDC [2: 0]..." Конец цитаты.
Я хочу настроить PHY программно. Но похоже эта функция не работает...
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Уже сам разобрался. Функция работает. Просто перед настройкой PHY забыл сделать программный сброс PHY... Тогда всё работает как надо)) А то тут уже предложили бежать за паяльником... и перепаивать выводы на плате... Развелось советчиков... блин..))
Да это просто офигенный совет! ))) Как же я сам до этого не догадался... Я понял.. Вы вопросов не читаете и с модулем W5500 никогда не работали... а только даёте советы))
А если внимательно читать вопросы, то можно давать дельные советы...
roman.com писал(а):
Регистр настройки PHY не работает - если записать другое значение (отличное от заводских), моудуль W5500 просто отключает весь блок PHY... Может кто знает в чём проблема?
Если весь блок PHY отключается, значит сброшен бит RST в регистре PHYCFGR (W5500 PHY Configuration Register) по адресу [0x002E]... Надо исправить ошибку в программе, а не бежать сразу за паяльником ... )) Да, и второе - перед записью новых значений в регистр PHYCFGR (W5500 PHY Configuration Register) по адресу [0x002E]... необходимо произвести аппаратный сброс блока PHY... бит RST в этом же регистре. Вот и всё)) Вот это был бы дельный совет)) Вот я и говорю... Развелось советчиков... блин..))
В UDP режиме W5500 тоже нормально работает - https://wizwiki.net/wiki/doku.php?id=pr ... p_function Можем обойтись и без ПК..)) Тогда поставим два WiFi роутера... по такой схеме: пульт (ATmega8 + W5500 + WiFi роутер) ----- эфир ----- (WiFi роутер + W5500 + ATmega8) кораблик.
Рано или поздно наткнётесь на ограничения и негибкость внутренней реализации протоколов в W5500. С домашним роутером скорее всего будет работать без проблем... позже весь кампус перевели под IPv6 и W5500 кончилась (нужна была полная поддержка IPv6 включая DHCPv6). Вот тут-то и вспомнится ENC28 с гибкой программной реализацией стеков.
Да, Вы правы... заметил ограничения и негибкость внутренней реализации.
Ещё немного поигрался с MACRAW... Полноценно под IPv6 использовать W5500 не получится. На приём MAC-адрес IPv6 не поддерживает. Можно использовать W5500 под IPv6 только на передачу, если написать свой стек протоколов IPv6... Но так не интересно.
С домашним роутером W5500 работает без проблем. MACRAW можно использовать в пределах домашней сети, достаточно просто прописать MAC-адреса (IP не обязательно, WiFi роутер работает на MAC-уровне). И включить фильтрацию broadcast и multicast (в W5500 есть такая функция), а то broadcast и multicast уже задолбали..)) Особенно если в домашней сети много устройств..))
Но лучше всё таки использовать стандартные протоколы UDP и TCP/IP... Работать только в домашней сети не интересно. Нужен выход в инет..)) А в остальном вообщем-то простенький такой модулёк..)) Для опроса удалённых датчиков по инету ... пойдёт)) Собственно за этим он и нужен))
Всё работает)) Принцип работы по Wi-Fi такой же, как и в предыдущих схемах. Только немного сложней протокол передачи по Wi-Fi: UDP (англ. User Datagram Protocol — протокол пользовательских датаграмм).
Продолжим "ломать" W5500..)) В даташите ещё рекомендуют использовать режим MACRAW для всяких PING... Добавим в кораблик режим автоматического запроса - https://ru.wikipedia.org/wiki/Ping
87.250.250.242 - яндекс в шоке)) Замечательно)) Теперь наш "кораблик" ещё и автоматически проверяет целостность и качество соединений... И (что важно) контролирует работу Wi-Fi роутера (через который он работает) и может автоматически перезагрузить Wi-Fi роутер (в случае его "зависания").
Доброго времени суток любители радио конструкторы,я последний раз тут был 04м а щас 11м,за бортом -13гр пора ставать на якорь. Этим летом я мало выезжал на природу(2 раза и раз давал брату) кроме того что умерла одна батарея а точнее за два года уже две(уходят в короткую) технических проблем не обнаружено,вчера розабрал смастил и собрал.V2-доволен волне,когда розбагатею переделаю печатки так чтоби на разйомах без кучи проводов итогда сниму видюшку.Понял одну вещь что нада делать пульт управления легким,и для одной руки. потому я прикупил запчастей для V3(Atmega128) делать будем толька пульт,все на оддельных модулях,соеденяя их между собой проводами, чем по проще для повторения, на схеме тупо модули и провода так чтобы можна было спаять за пол часа. Все что нарисовано на схеме есть в наличеи,последнее слово за тобой,так как ты roman.com мозги этого проэкта. https://drive.google.com/open?id=1FnbOM ... GkqvFMjnPE
_________________ И опыт сын ошибок трудных и гений парадоксов друг
прикупил запчастей для V3(Atmega128) делать будем толька пульт
Сделать прошивку для Atmega128 не проблема. Не понял что ты хочешь улучшить... C какой целью в пульте Atmega128 ? Добавит кнопки? )) А в кораблике оставить Atmega8 ? У Atmega8 в кораблики нет свободных выводов... ничего больше не подключишь...
В идеале в кораблик тоже надо поставить ATmega-128... А лучше две ATmega-8... Будет двухядерный процессор..)) Вот пример заводского пульта (для размышлений) - https://www.youtube.com/watch?v=NmY4xCs1V8I
roman.com я извеняюсь на перед щас очень много работы по всех фронтах (буду на связь выходить с пробелами), но хочетса модернезировать пульт. В том видео я не увидел ничего интересного для нас.(мы хотели красивую визуализацыю,меню пошыре) я планирую на нашэй управлялке сделать 1карабль(сделано) 2машынка https://item.taobao.com/item.htm?spm=a1 ... 5569912543 3квадрик Щас было бы хорошо перенести все что мы имеем в 128 (128 очень дешовая может быть пальонка,екран тоже я взял на пробу тот дешовый) V2-останетса не тронутим навсегда(И ПУЛЬТ И КАРАБЛИК) ВСЕ БУДЕТ СОЗДАВАТСА ИЗ НОВЫХ КОМПОНЕНТОВ. А ПРО ИНТЕРНЕТ ВЕЩИ Я СЛЫШАЛ (У НИХ СНАЧАЛА ВЫРОСТУТ УШЫ ПОТОМ ГЛАЗА)
Добавлено after 1 hour 56 minutes 15 seconds: roman.com для полного упрощения повторения проекта я попрошу чтобы у нас не было ни spl схем ни ley печаток (тупо один jpeg-файл-где все просто и понятно.(я пропечатал на чернобелом лазернике все очень хорошо видно и понятно) Посмотри пожалуста может я чтото не так подключил ,и подключи что осталось. https://drive.google.com/open?id=1MxzKH ... 4oaD6v8CeQ
_________________ И опыт сын ошибок трудных и гений парадоксов друг
2 машинку? Эта "китайская" машинка (https://videocdn.taobao.com/oss/ali-vid ... /video.mp4) - это упрощённый вариант нашей машинки. Уже делали (в прошлой теме). Только мы делали на самых дешёвых радиомодулях - 433 Мгц. С мигалками, автоматическими поворотниками (включаются автоматически на поворотах), с автоматическими стоп сигналами (включаются автоматически только при замедлении хода)... и т.д. Сама машинка с независимой подвеской..))
И т.д.)) Впринципе всё работает, только одна проблема была:
zhuplev писал(а):
быстродействие маловато, может для тихоходных лодок пойдёт для машинки нет...
roman.com писал(а):
Сейчас наша ATmega8 передаёт 250 импульсов в секунду (4,6 пакетов в секунду). Это значит, что от момента когда мы дёргаем джойстик на пульте, до момента выполнения команды нашей машинки... проходит не более 0,4 секунды (зависит от того, в какой момент времени мы дёргаем джойстик).
Оно и понятно, т.к. дешёвый радиомодуль (433 Мгц) - максимальная скорость передачи до 5 кБит/c. )) Да ещё и старая кодировка сигнала была - типа "манчестер", который уже давно никто не использует... )) И т.д и т.п.
ley я не пользуюсь, у меня всё на макетках)) spl схемы - просто для удобства. Ну можно и без spl. Для написания программы достаточно знать номера выводов и (самое важное) "букавки" на выводах - типа MOSI, MISO, CLK, ... и т.д.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения