TCP/HTTP и тинька

Решил немного побаловаться и посмотреть насколько смогу ужать свой TCP/IP стек.

Выкинул всякую лишнюю фигню вроде DHCP и TCP-ретрансмиссий. Сделал небольшой примерчик, который может отвечать на пинги и отдавать одну страничку по HTTP.

вебмордочка

Примерчик занял 2002 байта флеша и 72 байта памяти. Поприколу запустил на тиньке2313)

тинька

Кстати, аццкому флудопингу тинька противостоит весьма неплохо)

флудилка-пинговалка

Проектик под тиньку: tinyhttp.zip

зы. Тинькино USI убило) Ножка, которая в даташите на распиновке обозначена, как MOSI — это на самом деле MISO в режиме SPI (и наоборот). Вот обязательно было так делать)) Из-за этого у меня ничего не хотело работать.

Комментарии (58)

RSS свернуть / развернуть
Нормально так :) вот это мы попробуем :)
0
Прикольна :)
0
Это мы щас балуемся, пины в окошке браузера переключаем. А у Lifelover'а дома лампочки мигают :)) Дайте поспать человеку :))
0
Хе-хе, упихал. Молодец) А напомни линк на камеру, которая на светодиодики смотрит?
0
  • avatar
  • Vga
  • 16 мая 2011, 00:08
Она щас не смотрит на диодики, да и диодики я откусил чтобы не мелькали)
0
отлично!
спасибо за код, думаю через месяц доберусь до реализации в железе :)
0
  • avatar
  • ZiB
  • 16 мая 2011, 10:38
эх, не удержался :)
ziblog.ru/2011/05/19/enc28j60/
0
С утра народ активно щёлкал ногами, сейчас успокоились :)
А за пример спасибо.
0
как только поняли, что светодиодов нет
0
Чёрт, не заметил сообщения Lifelover'а. Так и представлял, как они включаются/отключаются… Теперь чувствую себя обманутым :(
0
я тоже. =(
0
сори
0
хохо!
а запихнуть туда еще 1wire не получится уже?
0
хмм ну можно если хорошо постараться)
0
было бы очень интересное и полезное баловство! особенно, если бы получилось с поддержкой нескольких датчиков! ;-)
про MOSI и MISO не очень понял, но по даташиту подключал программатор и все вроде с первого раза ок получалось.
а здесь по пяти контактам тиьнка прикручена к тем же выводам меги? чем докажешь, что работает тинька, а не мега? :-))
0
Фоткой :)
А также можешь сам собрать, прошить и убедиться.
Эм… что значит по 5проводкам тинька к меге?
Тинька подключена к enc28j60 по spi (sck/mosi/miso/cs) и 2 проводка питание.
зы. В даташите подписаны sck/mosi/miso для подключения программатора! А у USI выводы — usck/do/di. Подписи mosi/miso несколько сбивают с тольку — т.к. у межек они соответствуют распиновке спи, а тут нет))
0
тьфу, фотку не разглядел толком :-)

ну то есть прошилась именно тинька, не уже установленная мега?
короче, очень крутая тема! и было бы здорово, если бы она получила развитие и практическое применение в чтении датчиков или управлении парой серв…
0
Хмм, да не вужу особого смылса.
С учётом всей сетевой обвязки, разница по цене между девайсами, скажем, с тинькой2313 и с межкой8 становится уж совсем минимальна.
А в межке можно уже получше развернуться, не воюя за каждый байтик флеша)
0
ну а иначе к чему все эти упражнения? :-)
я вот уже мегу прикупил, но боюсь запутаться в ее ножках (ха, кстати, замечательные ассоциации с «завтраком нагишом» — негде было поделиться :-)
я и в тиньковских ножках, бывало, путался)
0
Да где ты мегу-то увидел?
0
даа там на плате enc28j60 а не мега если что))
0
тьфу блин, слепой и тупой. кстати, а что на маленькой плате помимо самой тиньки?
0
Кварц, конденсаторы, штырьки
0
на все устройство два кварца? по фотке с хабра очень похоже, что мелкая плата — это типа потому что под рукой не было тини в DIP? :-)
0
Тинька в со тупо дешевле.
Можно и от rc тактовать, либо взять такту с enc28j60. Здесь это вообще непринципиально)
0
я правильн опонял, что взята схема где-то из начала и вместо меги к тем же выводам подставлена тинька?
0
ага. enc28j60 включен по станадртной схеме из шита и к тиньке подключен по спи
0
кстати, а никогда не было желания попробовать winavr? где-то бы научиться компилировать подобные проекты через makefile… до сих пор самое сложное, что компилировалось — программы из одного файла.
0
а можно взять для удобства вот такой модуль, правильно я понимаю? и не заморачиваться трансформаторами…
0
аха. за 30баксов. ну возьми если нежалко)
я трансформаторы просто из сетевушки за 100рублей выдрал которая у мя валялась незнамо скока. там же и резюки точные на 50ом нашлись и кварц.
0
ну если нет под рукой сетевушки на разборку — покупать в магазине те же детали — столько же и выйдет. а если в интернет-магазине с доставкой — то, небось, еще дороже)
0
Хд) Ну покупать на разборку это ваще варварство.
К тому же этого хлама вроде бы всегда и так найти можно)
0
зацени, плз, это то же самое? (13 долларов с доставкой вроде хотят)
не такой навороченный, но и ценник — как одна микросхема в чипе-дипе, до которого еще доехать надо…
0
Привет!
Подскажи пожалуйста какие ноги задействованы в микросхеме attiny 2313 в связке с ENC28j60.
и еще один вопросик, ENC28j60 работает только с МК или самостоятельно тоже может работать?
0
SPI в составе четырех ног — MOSI, MISO, SCK и любая из оставшихся на CS.
и еще один вопросик, ENC28j60 работает только с МК или самостоятельно тоже может работать?
Даже если и работает — какой в этом смысл? Это голый Eth-интерфейс. Ну, мона конечно соединить с ПЛИСкой вместо МК. Или к компу через битбанг, но в этом смысла мало.
0
Спасибо!!!
Еще такой вопросик, выше описанные примеры кода я так понимаю заливаются в МК
и дальше все работает по SPI или все же ENC28j60 программировать нужно отдельно.
Я к тому как настроить IP в новой плате с ENC28j60.
Брал такую www.ebay.com/itm/ENC28J60-Network-Module-Schemati-c-51-STM32-LPC-AVR-/330604616853?_trksid=p5197.m7&_trkparms=algo%3DLVI%26itu%3DUCI%26otn%3D1%26po%3DLVI%26ps%3D63%26clkid%3D3997671559644435137
0
ENC28J60 не реализует IP, а значит и IP адреса иметь не может. Он настраивается в IP-стеке, реализуемом на МК (если, конечно, он реализуется — это, вообще говоря, необязательно). Все, что настраивается в ENC28J60 — заливается туда самим МК при старте. Своей энергонезависимой памяти енка не имеет.
0
Подешевели за год. я за $10 покупал такой. В прочем он до сих пор валяется без дела.
0
Действительно ли в 2113 перепутаны mosi и miso?
0
точнее 2313
0
Нет, ничего не перепутано.
0
А тогда вот это пояснение, что означает
Ножка, которая в даташите на распиновке обозначена, как MOSI — это на самом деле MISO в режиме SPI (и наоборот).
0
Моси и мисо — это только для программатора, к уси отношения не имеет.
0
По фотографии непонятно подключение тиньки. Можно посмотреть схему целиком?
0
слу, а jabber-клиент туда не возникало мысли запихнуть?
0
спам рассылать аппаратно? мощи мало.
0
ну зачем обязательно спамить? просто красивое решение для оповещения о каких-либо событиях. не надо никаких костылей с промежуточными звеньями (сохранять значения на сервер, регулярно опрашивать сервер, никаких головных болей с размещением бота и тд и тп)
полноценный клиент не нужен-достаточно хотя бы просто отправлять заранее известному адресату.
ну и в идеале уметь отвечать на поступающие сообщения.
0
А почему бы тебе не попробовать самому? Благо протокол XMPP открытый.
Правда, насколько я знаю, там сжатие, XML и прочие прелести, которые требуют тучу оперативки. Ну и в тини2313 оно врядли влезет.
Для оповещения думаю проще реализовать SMTP. Он вроде куда проще. И, возможно, в инете есть гейты, пересылающие приходящие к ним имейлы в жаббер (примерно как сервисы «имейл в смс»).
0
уже подумал, что слишком роскошно. намного проще костыль — cgi-скрипт бота на сервере, который будет отправлять сообщение, а вызывать его мы вроде умеем с помощью этого стека…
0
Подскажите, пожалуйста, что нужно изменить в этом проекте, чтоб запустить его на атмеге48? хотим создать сайт, который будет показывать температуру с датчиков ds18b20… Я поменял название регистров и порты, отвечающие за работу spi.
0
Привет! Дайте пожалуйста схему подключения.
0
Схема платы с ENC28J60 и ее обвязкой давалась раньше. А на плате тиньки только кондер на питании и стандартное подключение по SPI.
0
Ёпта! Первый раз такое вижу, «оно» на асме
автор маладца.
0
подскажите пожалуйста, что куда дописать, чтобы порт переключался в исходное состояние через х секунд?
0
добавил таймер а оно ваще перестает запускаться :(
0
Автору огромное СПАСИБО за статью! Очень нужен был исходник на асме для работы с enc28j60. Но, просьба — добавьте в исходнике ip.inc закомменченную процедуру process_udp. Очень надо сделать udp-сервер. Заранее спасибо!
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.