Хрпнилище данных

Алексей Н
Offline
Зарегистрирован: 02.01.2016

Привсетствую участников сообщества!

На данный момент в руках пытаюсь понять подойдет ли для моих целей ардуина. В руках еще пока даже не держал, все еще теоретизирую. Поэтому прошу прощения у завсегдатаев форума за возможно наивные вопросы.

Вопрос у меня такой: можно ли организовать на ардуине хранилище данных с доступом с компьютера? Само хранение реализуется с помощью СД-карты. В интернете достаточно примеров кода, так что тут вопросов нет. А вот как к этим данным получить потом доступ с компьютера? Самый очевидный ответ, конечно, вытащить карту и вставить в комп :). Но хотелось бы более автоматический вариант.

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

Алексей Н
Offline
Зарегистрирован: 02.01.2016

Эх... первый пост и столько опечаток нелепых :(

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

 Записывать то на карту можно - запись в конец файла займет немного времени. А вот читаться они будут очень долго. Поэтому лучше сразу откзаться от такого варианта - это будет работать но крайне медленно.

Logik
Offline
Зарегистрирован: 05.08.2014

Сделать хранилище можно, но будет очень медленно и с кучей ограничений. Нецелесообразно. 

Но если обем данных предполагается небольшой - порядка 10-100кБ, то вполне нормально, но не доступом к файлу по сети, а через какой протокол поспецифичней.

Алексей Н
Offline
Зарегистрирован: 02.01.2016

В том-то и дело, что файлы скоре всего будут достаточно тяжелые. Например архив температурных даных за пару месяцев. Вот думаю как правильнее такое можно реализовать. Может какое-то внешнее хранилище? NAS? На НАСе написать скрипт, который будет получать данные по эзернет протоколу и записывать в файл. А комп будет запрашивать данные уже с НАС? Или тоже кривое решение?

Logik
Offline
Зарегистрирован: 05.08.2014

Очень и не плохо. Особенно если у NASа будет USB, к нему ардуинку подключить и скрипт будет просто принимать с ардуинки и складывать в файл. Правда несколько небюджетно, но если NAS уже есть или просто надо то класно. Вместо NASа можна медиаплеер под андроидом, бюджетней и функциональней.

Алексей Н
Offline
Зарегистрирован: 02.01.2016

NAS, конечно крутовато. Хотя сетевое хранилише для домашней медиасетки все равно хочется сделать. Так что буду думать дальше. Спасибо за ответы.

Алексей Н
Offline
Зарегистрирован: 02.01.2016

Еще мысль в продолжение темы. NAS со скриптами, конено, со счета не сбрасываю, но оставлю напоследок как сильно дорогое, да и сильно сложное для меня решение.

Есть у ардуино интересный шилд w5100. На нем даже можно соорудить веб-сервер. Так может его приспособить для моих нужд? Если реализовать такой вариант: Включается компьютер, запускается программа обработки данных. (если это имеет какое-то значение, то я собираюсь использовать Мажордомо в качестве интерфейса) Программа при запуске обращается к ардуино и копирует файлы с СДкарты на компьютер и дальше с ними работает уже на жестком диске. парсит, заносит в базу данных, строит и выводит графики и т.д... Заодно и резервная копия получается. Копировать файл получится быстрее, чем считывать его с СДкарты в режиме реального времени?

Logik
Offline
Зарегистрирован: 05.08.2014

Распостраненные на ПК протоколы передачи данных SMB, FTP слишком сложны для ардуино. Подключить как сетевое устройство с файловым доступом не выйдет. Оригинальный протокол прийдется писать самому. И для ПК тоже. Про скорость забудьте, с ардуино  SD работает медленно, умеет держать открытым только один файл. Не плохой вариант вебсервера по http. Так в основном делают. Но он не ориентирован на файловый обмен. Шилд выбрали правильный, немного устаревший правда т.к. есть на WiFi. Но они обеспечивают уровень TCP. А выше - работа ардуино. 

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

На Ардуине свет клином не сошёлся, для сервера можно использовать не только NAS, но и любую платформу на линуксе. Я для этого использовал cubietruck, на котором запускал openHab (он на java). Винт на терабайт, ethernet и другие интерфейсы, так что есть все, что надо, устанавливал debian. Сейчас, правда, пылится, потому продемонстрировать не могу. NAS у меня тоже есть, но я его как то не хочу жабой перегружать. И да, NAS нынче очень дорого. У меня Sinology уже больше года круглосуточно, тогда то уже жаба душила, а уж сейчас..

 

 

Logik
Offline
Зарегистрирован: 05.08.2014
Алексей Н
Offline
Зарегистрирован: 02.01.2016

Спасибо всем за ответы. cubietruck, как и распберри и другие минипк я пока не рассматриваю, потому что реально понимаю, что не освою. Напоследок еще вариант я придумал:) Самый, наверное, фантастический.

Берем ардуиновский шилд, который для работы с СДкартой. И к его выводам припаиваем выводы от обычного USB картридера. Кроме питания и земли. Будет ли в таком случае доступ к карте и у ардуины и ПК? Или это совсем бред?

А вот, кстати, и у иностранцев похожая тема. http://forum.arduino.cc/index.php?topic=71523.msg535726#msg535726 Так что пока вопрос остается для меня открыт.

 

Logik, не уверен ,что однодумец, но похожие идея значит не у меня одного такая. И не я один с сожалением понимаю, что каких-то элементарных решений тут нет.

 

Logik
Offline
Зарегистрирован: 05.08.2014

Алексей Н пишет:

Или это совсем бред?

 

Именно здесь Вы правы!