Форум ModelldepO

Форум ModelldepO (http://forum.modelldepo.ru/index.php)
-   Rocrail (http://forum.modelldepo.ru/forumdisplay.php?f=211)
-   -   Rocrail и Raspbery Pi (http://forum.modelldepo.ru/showthread.php?t=16371)

pandrey 23.10.2014 08:58

Rocrail и Raspbery Pi
 
Вложений: 7
Собственно идея не новая и довольно активно реализуется и применяется. Суть заключается в использовании Raspbery Pi в качестве сервера Rocrail. Так же устройство должно быть минимально нагружено периферией (клава, мышка) и просто в использовании. Сервер ставится непосредственно рядом со станцией. Ethernet интерфейсом (сетевым кабелем) подключаем к локальной сети или домашнему маршрутизатору (модему). Так же возможен вариант установки на сервер модуля WiFi. Подключение к серверу производится с помощью программы RocView или клиентами под ipad, iphone, Java, Android. В общем практически с любого телефона, планшета и т.п.
Итак начну по порядку...

Установка на RasPi 3 здесь!!!

Raspbery Pi
Вложение 95650Вложение 95651Вложение 95652Вложение 95653Вложение 95654Вложение 95655
Raspberry Pi — популярный одноплатный компьютер на базе чипсета Broadcom BCM2835 с ARM-процессором тактовой частотой 700 МГц (ARM1176JZF-S).
Это полноценный компьютер размером с визитку. По уровню производительности Raspberry Pi сравнима с XBox первого поколения или с Pentium II, но хорошей графикой. Более полную информацию об устройстве можно почитать на Амперке
Купить сею штуковину можно например Тут и корпуса вот или вот. Так же желательны такие штуки.

Установка системы
Операционная система находится на SD карте. При покупке карточки стоит обратить внимание на ее класс. Чем выше, тем быстрее будет работать. Лучше использовать 10 класс, но я пробовал и на 6 классе. Вполне сносно работает. Объем от 4Gb. Чтобы записать операционку на флешку нужно
1. Компьютер под Windows с картридером.
2. Скачать последний образ системы https://www.raspberrypi.org/downloads/raspbian/
или любой из выпущенных ранее https://downloads.raspberrypi.org/raspbian/images/
Внимание!!! Для версии Raspberry Pi B с чипом Hynix, качать только версии, начиная с 2013 года. Более ранние работать не будут.
3. Скачать утилиту записи образа на SD карточкуhttp://www.softpedia.com/get/CD-DVD-...k-Imager.shtml
4. Записать при помощи утилиты образ на SD-карту
Первичная настройка
После первого запуска появляется окно
Вложение 95658
1.Выполняем expand_rootfs (позволяет использовать все пространство)
2 Меняем пароль change_pass
3. В пункте Memory_split ставим 16. (Минимальное использование видеопамяти)
4. Включаем SSH (позволит настраивать систему с клиентского компа)
Выходим, перегружаемся...

Далее устанавливаем Rocrail....

Продолжение следует.... :)

pandrey 23.10.2014 10:10

Цитата:

Сообщение от Василий (Сообщение 229442)
На выходе опять получается отдельная станция

Нет. Не станция... :)
Это компьютер, управляющий цифрой (макетом).
Одно, это уход от громоздкого системного блока. Второе цена комплекта. Грубо за 2т. вы получаете возможность использования не только для автоматизации, но и для управления локами, стрелками и т.п., со всякого рода гаджетов. Вариант может применяться покатушечниками.

laba 23.10.2014 10:29

Цитата:

Сообщение от pandrey (Сообщение 229445)
это уход от громоздкого системного блока

+1

pandrey 23.10.2014 10:43

Установка РокРаил
 
Для дальнейшей установки Rocrail нам нужен интернет. Точнее подключение Raspbery к интернету. Для этого достаточно подключить его сетевым кабелем к модему (маршрутизатору и т.п.) Сетевые настройки (назначение адреса) будут произведены автоматически.
Включаем Raspbery и ждем приглашения ввести имя и пароль.
Имя pi пароль (его устанавливали чуть выше).
Далее я приведу список команд, которые последовательно нужно выполнить.
cd /home/pi
mkdir rocrail
cd rocrail
mkdir source
sudo apt-get install wxgtk2.8-dev libusb-1.0-0-de
sudo apt-get install git
cd /home/pi/rocrail/source
git clone https://github.com/rocrail/Rocrail.git Rocrail (может занять некоторое время)
cd /home/pi/rocrail/source/Rocrail
make fromtar (этот процесс довольно долгий)
cd /home/pi/rocrail/source/Rocrail
sudo make install
Все. Рокраил установлен.
Для того, что бы запустить сервер, нужно ввести команду
sudo /opt/rocrail/rocrail.sh

Далее можно заходить на сервер с клиентов (RocView) и создавать свою схему, забивать таблицы локов и аксессуаров. Не забываем сохранять. Сохраненная схема и настройки хранятся на сервере...

Далее процесс автоматического запуска серверной части....

pandrey 23.10.2014 12:16

Цитата:

Сообщение от Василий (Сообщение 229452)
меть мелкий ноут типа EeePC под такие задачи

Да возможно... Но вот лично моя цель сделать некую коробченку, у которой было бы только вкл/выкл/reset. Ни монитора, ни клавы с мышкой.... Мне кажется в таком исполнении Rocrail сервер будет интереснее и доступнее...

t1000a 23.10.2014 13:04

Мне тоже кажется, что обе идеи и с ноутом и «с отдельной коробочкой» имеет право на существование!…
Цитата:

Сообщение от pandrey (Сообщение 229458)
Ни монитора, ни клавы с мышкой....

А рулить как?... (в смысле программировать рокрайл)

У меня маленький 7 дюймов планшет с разрешением 1280х800 (если не путаю) так там в некоторые значки программки Z21 не очень то и попадешь с первого раза…

А если будет не хилая схема путей отображаться… В общем я тоже сторонник миниатюризации :) но не нужно «обгонять японца из старого советского анекдота про телевизор в кулаке…»

pandrey 23.10.2014 13:40

Цитата:

Сообщение от t1000a (Сообщение 229460)
А рулить как?... (в смысле программировать рокрайл)

Рулить с любого клиента, а вот править схему и т.д. только с windows клиента.
Если же схема очень большая, то ее (схему) можно при создании разделить на слои. Например каждый отдельный вокзал - отдельный слой.
Так или иначе с очень маленького гаджета управлять сразу всей схемой весьма проблематично.

tsgarp 23.10.2014 14:17

Вложений: 1
Есть еще чудо-роутер TP-LINK TL-MR3020. Маленький такой, меньше сигаретной пачки. Внутре у него вайфай, USB и даже COM порт есть. Стоит 900 р. У меня периодически чешутся руки на него рокрейл поставить :-D.

pandrey 23.10.2014 14:35

Цитата:

Сообщение от tsgarp (Сообщение 229463)
на него рокрейл поставить

Каким образом?

tsgarp 23.10.2014 14:47

Вывести компорт наружу через max232 чтобы рулить станцией. На стационарном компе поставиь toolchain и собрать рокрейл из исходников. Воткнуть в усбшный порт роутера флешку - у роутера мало памяти а нам нужен лог рокрейла. Поставить скомпилированный рокрейл на флешку. Как-то так :-D.

Я этим не заморачиваюсь потому что у меня уже собран маленкий системный блок на плате minitx с впаянным атомом, в корпус которого воткнут Genli и Nanox. Станция получается компактной, плюс можно поставить что угодно - хоть рокрейл, хоть трейнконтроллер, хоть jmri.

pandrey 23.10.2014 15:57

Цитата:

Сообщение от tsgarp (Сообщение 229466)
Как-то так

ох..... Ну эт и прям желания нужно много, что бы заморочиться....

pandrey 23.10.2014 17:49

Автоматизация запуска
 
Возможно вариант не очень аккуратный, но работает.
Сначала сделаем, что бы не нужно было вводить имя и пароль при запуске системы. Для этого в консоле пишем команду
Код:

sudo nano /etc/inittab
в запущенном текстовым редакторе ищем строку
1:2345:respawn:/sbin/getty --noclear 38400 tty1
и меняем ее на
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
нажимаем Ctrl+X, потом Y, потом Enter. (выходим из редактора и сохраняем изменения)
Далее делаем автоматический запуск серверной части Rocrail. Для этого в консоле пишем команду
Код:

sudo nano /etc/rc.local
в запущенном текстовым редакторе ищем строку
exit 0
И ставим выше перед ней
sudo /opt/rocrail/rocrail.sh
нажимаем Ctrl+X, потом Y, потом Enter. (выходим из и сохраняем изменения).
И так получаем практически искомый вариант.
Монитор и мыша с клавиатурой не нужны. Только сеть и питание. Т.е. включаем, ждем некоторое время и подключаемся клиентом.

tabun 23.10.2014 17:56

Андрей, ты у себя это делаешь счас?

pandrey 23.10.2014 19:28

Цитата:

Сообщение от tabun (Сообщение 229491)
Андрей, ты у себя это делаешь счас?

Ага. :)
Вот так это выглядит. К Raspberry подключена станция OpenDCC. Клиенты Rocview на ноуте, Ipad и android на телефоне.
http://www.youtube.com/watch?v=cLAAd...ature=youtu.be

t1000a 23.10.2014 19:40

Оно работает :)

А на тему роутера куда рокраил можно поставить тоже интересно! У меня есть асус 500 не знаю на сколько его можно приспособить?… ну там есть фтп сервер и туда можно вставить пару флешек к которым можно организовать доступ по сети…

laba 24.10.2014 21:46

Товарищи, давайте не будем отклоняться от темы. А тема называется "Rocrail и Raspbery Pi". К чему все эти сторонние разговоры про роутеры и остальное. Хотите по-флудить на эту тему пожалуйте в другой раздел, а если есть что по делу рассказать, создайте соответствующую тему.

pandrey 25.10.2014 13:06

Запуск Рокраил в качестве службы
 
Это нужно для более полноценного использования Raspberry.
Первым делом убираем последствия действий, описанных в автоматизации (возвращаем все назад)...
Далее выполняем команды
Код:

sudo cp /home/pi/rocrail/source/Rocrail/rocrail/package/rocraild.sh /opt/rocrail/
sudo cp /home/pi/rocrail/source/Rocrail/rocrail/package/rocraild /etc/init.d/
sudo su
chmod 755 /etc/init.d/rocraild
chmod 755 /opt/rocrail/rocraild.sh
sudo update-rc.d rocraild defaults

Перегружаем
Код:

sudo reboot
Все. Рокраил работает и запускается как служба.

P.S. Если Rocrail устанавливается не из исходников, а уже из собранных пакетов, то как минимум две верхние строчки нет необходимости выполнять.

pandrey 25.10.2014 17:21

Подключение станции OpenDCC
 
1.Втыкаем станцию в свободный USB
2.Создаем файл 10-opendcc.rules в папке /etc/udev/rules.d/
3. Далее редактируем файл
Код:

sudo nano /etc/udev/rules.d/10-opendcc.rules
вставляем в него
SYSFS{idVendor}=="0403", SYSFS{idProduct}=="bfd8", RUN+="/sbin/modprobe -q ftdi_sio vendor=0x0403 product=0xbfd8"
сохраняем, выходим.
4. Инициируем USB
Код:

sudo lsusb
5 Запускаем на клиенте RocView.
6. Меню файл/ Свойства Rocrail.
7. Вкладка контроллеры. Удаляем виртуал. Чуть ниже в меню новый добавляем opendcc. В свойствах opendcc где устройство пишем /dev/ttyUSB0 скорость 19200
8. Применяем, перегружаем Rocview.
Все...

tsgarp 25.10.2014 19:25

Вопрос - каким переходником станция подключена к Raspberry? У нее вроде Com?

pandrey 25.10.2014 19:31

Простой принтерный USB шнур
http://scaletrainsclub.com/board/dow...1054&mode=view

Если вопрос относительно шнурка USB-Com, то в ближайшем есть желание попробовать прикрутить к Raspberry Rocobus Депошный.

pandrey 26.10.2014 11:41

Вложений: 3
Опишу еще одну фишку, которую удалось запустить на raspberry.
Смысл заключается в следующем:
Подключить три кнопки, которые бы исполняли функции 1. Аппаратный reset. 2. Корректное завершение работы системы 3. Перезапуск софта Rocrail.
У себя я не стал заморачиваться с прикручиванием кнопок к самому девайсу. В последствии я выведу эти кнопки на общий пульт.
Итак по порядку...
1. Аппаратный reset. С этим все просто. Подпаиваем кнопку в указанное стрелкой место.
Вложение 95864
2.Две другие кнопки подключаем вот по такой схеме
Вложение 95865
Входы GPIO in контакты 11 и 12. Плюс и землю берем так же с разъема raspberry.
Вложение 95866
Далее создаем файлик в домашней папке с расширением py например knopka.py
Редактируем его
sudo nano /home/pi/knopka.py
и вставляем в него
Код:

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.IN)
GPIO.setup(12,GPIO.IN)
while True:
        time.sleep(2)
        input_button_pi_halt = GPIO.input(11)
        input_button_rocrail_restart = GPIO.input(12)
        if input_button_pi_halt == False:
                from subprocess import call
                call(["sudo","halt"])
                print" Button pi halt has been pressed !!"
        if input_button_rocrail_restart == False:
                from subprocess import call
                call(["/etc/init.d/./rocraild","start"])
                print" Button rocrail restart has been pressed !"

Что бы запустить скрипт, используем команду sudo pyton knopka.py
Далее ставим скрипт в автозагрузку,

droman42 26.10.2014 13:46

Цитата:

Сообщение от pandrey (Сообщение 229769)
Что бы запустить скрипт, используем команду sudo pyton knopka.py
Далее ставим скрипт в автозагрузку,

Пост не дописан... :)

Raspberry использую давно - сначала сыну мульты с сетевого хранилища крутил, потом -*как wi-fi сервак для принтера. Теперь уже более месяца лежит без дела, как раз начал думать в том же направлении :)

pandrey 26.10.2014 15:04

Цитата:

Сообщение от droman42 (Сообщение 229779)
Пост не дописан...

:) Ну почему же? Автоматизация описана в 15 посте. Можно и описать для конкретного случая
Для этого в консоле пишем команду
Код:

sudo nano /etc/rc.local
в запущенном текстовым редакторе ищем строку
exit 0
И ставим выше перед ней
sudo python knopka.py
нажимаем Ctrl+X, потом Y, потом Enter. (выходим из и сохраняем изменения).

droman42 28.10.2014 11:20

А как Вы конфигурируете Raspberry для апдейтов самой системы? На автомат, или на "ручное управление"?

pandrey 28.10.2014 12:03

На самом деле ни как. Пока не разбирался :) , но в мануалах на rocrail.de есть описание как автоматизировать процесс обновления системы и самого rocrail.


Текущее время: 11:56. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -