Data сервер для Arduino на orange pi или raspberry pi

YaSerg
Offline
Зарегистрирован: 02.03.2017

Изучая arduino и ставя задачи понимаю, что мне необходимо будет управлять арудиной исклдчительно через сеть. 

Из того что мне удалось понять, управлять можно посредством сервера которой принимает и сохраняет запросы арудины. Как второй вариант есть через websocket, но многие пишут что библиотека кривая.

Хостинг не очень подходит поскольку могут быть моменты, когда просаживается интернет у меня или у хостера + траффик. Поэтому решил поднять сервер дома. Из самых не дорогих вариантов, мне попались orange pi или raspberry pi.

Первый более энергоёмкий и функциональный, но пишут что много глюков. Чаще про работу с графикой. raspberry pi менее энергоёмкий, но возможностей у него меньше.

Буду рад рекомендациям.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Зачем вам графика? Не фильмы же смотреть через сервер.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

YaSerg пишет:

Изучая arduino и ставя задачи понимаю, что мне необходимо будет управлять арудиной исклдчительно через сеть. 

Буду рад рекомендациям.

что понимаете под словом сеть, это интранет, интернет или их совокупность?
если интернет, IP выделенный? иначе как вы думаете к себе попадать?
К примеру у Ростелекома это платная услуга рублей 100-150, точно не скажу,

иначе динамически выделяется из пула свободных, то-есть всё время разный, даже
в течении одного дня

YaSerg
Offline
Зарегистрирован: 02.03.2017

Yarik.Yar, графика почти не нужна, разве сделать интерфейс для отображения информации на телевизор по HDMI. 

ua6em, проблема с выделенным ip давно решена, пользуюсь домашним облаком.

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

YaSerg пишет:

 проблема с выделенным ip давно решена, пользуюсь домашним облаком.

не стоит называть пар из кипящего чайника облаком;)

Вам не кажется, что каждую ардуину к езернету подключать несколько неразумно?

Про оранж есть тема - там все обглодано до костей.

YaSerg
Offline
Зарегистрирован: 02.03.2017

Logik пишет:
не стоит называть пар из кипящего чайника облаком;)

Не кажется, вопрос не в этом. Белый ip уже есть.

Logik пишет:
Вам не кажется, что каждую ардуину к езернету подключать несколько неразумно?

Кажется, но это вопрос другого топика.

Logik пишет:
Про оранж есть тема - там все обглодано до костей.

Это я знаю, вопрос в другом. Что лучше для моих потребностей?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а к чему можно подключить SATA SSD диск и где памяти поболее то и лучше

YaSerg
Offline
Зарегистрирован: 02.03.2017

ua6em пишет:

а к чему можно подключить SATA SSD диск и где памяти поболее то и лучше

 

А если потребность исключительно веб сервер, по объему БД не думаю что будут большими, вполне достаточно карточки? Как я понял raspberry pi, отличается более низким потреблением энергии, но как минус поддерживает меньше ОС. Можно ли raspberry pi считать более стабильным для небольшого вебсервера?

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Карточка имеет ограниченное число циклов перезаписи. Если использовать её, лучше настроить автоьекап, чтобы не потерять всё и сразу. У меня уже так умерла одна карточка, использовал для сервера, потом в телефон воткнул. Через месяц телефон просто сказал "отформатируйте карту", и с тех пор она так и лежит, ничем не определяющаяся...

sadman41
Offline
Зарегистрирован: 19.10.2016

YaSerg пишет:

по объему БД не думаю что будут большими

MySQL, PostgreSQL, MSSQL? Пляшите от БД, а не от Web-сервера.

YaSerg
Offline
Зарегистрирован: 02.03.2017

sadman41 пишет:

YaSerg пишет:

по объему БД не думаю что будут большими

MySQL, PostgreSQL, MSSQL? Пляшите от БД, а не от Web-сервера.

 

MySQL

sadman41
Offline
Зарегистрирован: 19.10.2016

MySQL на SD-карте? Надеюсь, что LAMP целиком ставить не собрались...

Вам максимум RRD светит. Или NoSQL. Со всеми сопутствующими локами в самый ответственный момент.

YaSerg
Offline
Зарегистрирован: 02.03.2017

sadman41 пишет:

MySQL на SD-карте? Надеюсь, что LAMP целиком ставить не собрались...

Вам максимум RRD светит. Или NoSQL. Со всеми сопутствующими локами в самый ответственный момент.

 

Ранее пользовался только платными хостами, поэтому опыта подобного не имею. А в чём проблема? Слабова-то железо? 

sadman41
Offline
Зарегистрирован: 19.10.2016

На мотоцикле без коляски холодильник двухметровый возили? Вот то же самое будет и у вас.

Так что советую хорошо подумать над тем, какими данными, в каком объеме вы собрались оперировать. А так же - насколько просто будет пережить их потерю.

YaSerg
Offline
Зарегистрирован: 02.03.2017

sadman41 пишет:

На мотоцикле без коляски холодильник двухметровый возили? Вот то же самое будет и у вас.

Так что советую хорошо подумать над тем, какими данными, в каком объеме вы собрались оперировать. А так же - насколько просто будет пережить их потерю.

Я думаю БД будет не более 500Мб, планирую делать бэкап в облако.

БД будет хранить месячную стастистику по датчикам и настройкам.

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну 500. Просто будет записано и всё? Или каждую секунду будет по 50 мб инсертится, апдейтится и удаляться? Как там у нас на SD-карте данные хранятся... блоками, вроде, по 512байт. Т.е. через какое-то время все таблицы будут раскиданы ровным слоем по всему объему и каждый инсерт будет устраивать ковровую бомбардировку карте. 

Впрочем, накатите MySQL - расскажете потом о впечатлениях через месяцок-другой работы. Люди же разные бывают, некоторые просто никуда не торопятся.

YaSerg
Offline
Зарегистрирован: 02.03.2017

sadman41 пишет:

Ну 500. Просто будет записано и всё? Или каждую секунду будет по 50 мб инсертится, апдейтится и удаляться? Как там у нас на SD-карте данные хранятся... блоками, вроде, по 512байт. Т.е. через какое-то время все таблицы будут раскиданы ровным слоем по всему объему и каждый инсерт будет устраивать ковровую бомбардировку карте. 

Впрочем, накатите MySQL - расскажете потом о впечатлениях через месяцок-другой работы. Люди же разные бывают, некоторые просто никуда не торопятся.

Отправка будет постоянная, данные не более полумегабайта за раз.

Суть в том, что карточка быстро умрёт от постоянной записи? Я пожалуй воспользуюсь вашим советом не реализовывать это на карте памяти, но хотелось бы понять причину.

sadman41
Offline
Зарегистрирован: 19.10.2016

YaSerg пишет:

Отправка будет постоянная, данные не более полумегабайта за раз.

А этот раз - каждую миллисекунду ))

YaSerg пишет:
Суть в том, что карточка быстро умрёт от постоянной записи? Я пожалуй воспользуюсь вашим советом не реализовывать это на карте памяти, но хотелось бы понять причину.

Суть в том, что SD-карта, в целом, не тот носитель, который нужен настоящим SQL-серверам (даже малонагруженным). Они не учитывают специфических особенностей и будут обращаться с ней так же, как с обычным диском. Например, PostgreSQL может запускать avtovacuum и читать-писать на носитель не ставя в известность пользователя. Всякие внутренние механизмы SQL-сервера будут писать статистику в служебные таблицы и т.п. Хотя, я не буду отрицать, - запустить MySQL в такой конфигурации можно. Но на мой взгляд - не нужно. Проигрыш будет во всем - в скорости работы, в надежности.

Для SD-карты стоит использовать хорошо управляемые базы данных (см. RRDTool, например).  Но у них много недостатков. А в целом - SD-карта не любит постоянную random запись. Чтение - пожалуйста, сколько угодно.  Потоковая запись - уже получше. Но тыканье байтом в одно и то же место быстро приведет это самое место в убитое состоянии. А заодно и 511 окружающих. Так что бэкапы придется делать очень часто. Или работать с БД на RAM-диске, периодически скидывая базу на карту. И придумать, что делать при отключении питания. Соответствующие работы с системой провести - отучить логи писать на карту, свопиться и пр. Вобщем, прыжков и ужимок будет не на один день.  Стоит ли овчинка выделки? По мне так нет.

Если уж решили непременно в мыльнице собрать сервер, то обратите внимание на семейство Cubieboard - к ним подцепляется полноценный SATA-носитель. Можно из старого ноутбука вытащить винт и приделать. На Cubietruck с SATA-диском под Debian от Igor Pečovnik вполне себе крутится MySQL, Nginx, Zabbix, да еще пару RTPM-потоков можно пустить перекодироваться в realtime. Но, конечно, любая миниатюризация дорога. 

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

поэтому я и сказал - а к чему можно подключить SATA SSD диск и где памяти поболее то и лучше!!!
Сейчас есть очень достойные SSD, в том же М-ВИдео, и по цене тысяч в 7, тоесть для небольшого домашнего малошумящего сервачка вполне