Arduino+HTML+SD
- Войдите на сайт для отправки комментариев
Ср, 26/11/2014 - 15:49
Подскажите как использовать SD карту на Ethernet W5100 R3.
Каким образом правильно организовать подтяжку файла CSS с SD карты, что бы в скетч не ставить набор из
client.println("<style>#temp1 {font-family: Arial, Helvetica, sans-serif;color: #333;}</style>");
а просто добавить ссылку вида
client.print("link rel='stylesheet' href='http://ip/tp.css'");
при этом не увеличивать размер скетча?
Сделайте простейший "отвечатель" на HTTP запросы.
Нужно распарсить запрос и отдать файл html-странице, который она запрашивает.
А зачем?
Я хочу использовать полноценный CSS - подгрузаемый с SD карты
http://startingelectronics.com/tutorials/arduino/ethernet-shield-web-server-tutorial/
Как подключить SD я розабрался, но почему то после активации библиотеки #include <SD.h>, перестает отображаться страничка arduino.
Я делал так:
хоть часть кода находится в библиотеке(специально исправленной для этого), но общая суть должна быть понятна.
В итоге код обрабатывает ссылки http_://192.168.0177/sd/test.txt, где /test.txt это путь на карточке
А зачем?
Я хочу использовать полноценный CSS - подгрузаемый с SD карты
Собственно я это и предложил...
Появилась проблема.
Когда ставлю карту в SD слот то по сети не возможно достучаться до ардуино да же не используя в скетче функции SD карты. Карту извлекаешь - все работает. В мониторе порта карту видно нормально.
Что это может быть?
Появилась проблема.
Когда ставлю карту в SD слот то по сети не возможно достучаться до ардуино да же не используя в скетче функции SD карты. Карту извлекаешь - все работает. В мониторе порта карту видно нормально.
Что это может быть?
Перед инициализацией карточки нужно выключить W5100
Странно у вас W5100 работает - у меня проблем особых не возникало - вот прямо сейчас лежит на столе и работает - и лог пишет и файл с карты может отдать по http.
если шилд на меге, надо выключить не используемое устройство на SPI, в сетапе 53 пин в HIGH
Спасибо!!!
Теперь нормально работает
ткните носом,пожалуйста,как забирать файл с карты...сделал ардуину сервером,управляю релюшками с интернета,смотрю за температурами...пишется лог на карту...теперь хочется его удаленно изымать=)спасибо...
Скопировал еще разок
ткните носом,пожалуйста,как забирать файл с карты...сделал ардуину сервером,управляю релюшками с интернета,смотрю за температурами...пишется лог на карту...теперь хочется его удаленно изымать=)спасибо...
Всем спасибо,буду разбираться,идеи понял!
странно, вообще-то работать не должно.
стандартные библиотеки sd и ethernet конфликтуют друг с другом, поэтому их рекомендуют не использовать одновременно, только переключаться между ними.
Это стопроцентно,только поочерёдно обращение к каждому устройству путем установки низкого уровня на пине CS...
Все работает. В этом вся фишка.
Конфликтуют только во время инициализации.
здравствуйте.я скачал последнюю версию библиотеки webserver.h на https://github.com/sirleech/Webduino
но при компиляции выдает кучу ошибок
все ищу как скачать удаленно файл с карты памяти=(
да - я просто имею привычку допиливать библиотеки, до нужного мне стостояния))) http://yadi.sk/d/B-IHNu6QJdiCX все целиком, если поискать то там есть тот самый скетч в оригинале(логер темпиратуры с DS18B20).
P.S. Вообще кто сказал что ардуино для блондинок - тот был неправ. Понимание своих действий обязательно не только на уровне "Копировать"->"Вставить".
здравствуйте.я скачал последнюю версию библиотеки webserver.h на https://github.com/sirleech/Webduino
но при компиляции выдает кучу ошибок
На сколько я понял, когда разбирался с этой библиотекой - это оболочка над стандартной библиотекой. Во всяком случае та, что смотрел я (с таким же названием) была именно оболочкой.
я ее специально допиливал, чтобы она работала как мне надо, переделал там функцию обработки путей url - путь может быть больше чем указан при инициализации - в итоге обработчик получает все пути с совпадающим началом - и можно прямо указывать путь в адресе - все что не совпадает уйдет в функцию обработки и может быть обработано там как например путь на флешке.
Вобщем ща сделаю свой форк. И обновлю всю эту библиотеку у себя. 2 те функции очень нужные ...
Афтор там много переделал, а самое главное часть моих переделок совпала с его переделками(коллективное сознание шоли?) - сам шоке)))
https://github.com/NeiroNx/Webduino - надо доработать функцию getMime и сделать пулл в его мастер дистрибутив.
Вобщем нужна адекватная помощь - сам как мог сделал уже, а надо лучше!
спасибо за то что отозвались...сначала очень обрадовался,нашел у вас эту библеотеку,подменил,но теперь компилятор не "ест" все строки где есть server.printP(PSTR** =(
UPD.После вашего обновления библиотеки скетч почти скомпилировался,вылезли только ошибки
Вот это я незнаю - это уже у вас чего то в других библиотеках - у меня все компилируется, только не ясно работает ли как работало.
Вообще в папке(на моем яндекс диске, на который есть ссылка вше) data/temp_to_csv_web оригинал проекта с задействованной функцией отображения файлов.
наконец скомпилировалось,сейчас ковыряюсь/разбираюсь=)кстати,вот та последняя ошибка была из-за библиотеки SD.h которую скачивал у вас,я когда не знал на что грешить и ее тоже подменил на вашу с яндекс диска...после вашей поправки в webserver.h вернул родную SD.h и ошибка ушла=)
прохожу авторизацию логин user,пароль 19283746...и что потом не делаю,получаю в ответ EPIC FAIL....файлы и в корень ложу,и в папку,все никак...в адрессной строке писал 192.168.1.100:100/sd/temp.txt и 192.168.1.100:100/sd/new/temp.txt(файл так же есть в папке new) и даже так 192.168.1.100:100/temp.txt.... всегда эпик фэил пишет=(
значит что-то поменялось в библиотеке...(у меня тоже не работает)
вобщем в WebServer.h в строках должно быть это, вместо того что там есть:
После этого может перестать работать nextUrlParam в примерах, потому что ему нужен указатель на положение знака '?'. в случае когда имя запрашиваемой страницы равно имени указанном в функции надо добавить 1, чтобы пропустить знак '?'.
В библиотеке появилась команда UrlPath - которая получает на входе массив из имен папок и файла, но это не то что требуется чтобы читать файл с карты по указанному пути.
У себя проверил - после изменений начало работать...
спасибо,заработало!