Управление ардуино с использованием базы данных

DEN75
Offline
Зарегистрирован: 16.01.2014

Здравствуйте уважаемые коллеги !

Имею следующие аппаратные средства:

Робоплатформа под управлением Arduino MEGA 2560,

Wi-Fi Маршрутизатор TP-LINK3020,

Домашняя WIFI сеть.

Что хочу сделать:

Управление робоплатформой в условиях цеха в автоматическом режиме с использованием базы данных, установленной на стационарном компьютере. База данных содержит перечень клиентов (рабочих мест) и заносимое в нее время выдачи тому или иному клиенту деталей. При наступлении времени выдачи детали со стационарного компьютера направляется управляющая команда, принимаемая через роутер ардуино и контроллер приводит робоплатформу в движение по направлению к клиенту. Движение организовано по линии. После того как клиент забрал деталь из лотка, ардуино должен послать сигнал о времени выдачи детали и эта информация должна попасть в базу данных. И т.п.

Вопрос: Поскольку я понимаю конечную цель, но никогда не занимался базами данных, подскажите с чего начать, что почитать, с чем ознакомиться на просторах интернета, чтобы "не мудрить" и создасть в итоге то что может быть и поверхностно, но описал выше.

Спасибо и не казните сразу, поскольку я думаю, что проект заинтересует Вас тоже, несмотря на кажущуюся его нелепость.

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

Для начала отладьте работу платформы. Отладьте идентификацию рабочего места(платформа должна знать куда она прибыла).

Я пологаю будет два веб сервера - один на платформе для напраления ей команд, другой на стационарном компьютере для приема состояний.

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

1. Таблица команд для выполнения: ид, дата начала, деталь ид, рабочее место ид, состояние ид

2. Таблица команд выполненых: ид, дата начала,дата окончания, деталь ид, рабочее место ид, состояние ид

3. Таблица платформ: ид, имя, адрес, состояние ид, последнее рабочее место ид, целевое рабочее место ид

4. Таблица деталей:ид, Наименование, инвентарный номер, количество на складе, ячейка склада

5. Таблица рабочих мест: ид, специальность, Фамилия, Имя отчество, состояние

6. Таблица состояний: ид, Текст состояния, Текст описания

Таблица 1 постоянно проверяется сервером и он отправляет команды ожидающие выполнения на платформу. Платформа выполняет действия сообщая состояния при пересечении рабочих мест(обновляя таблицу 3) и результате выполения. При этом добавляются записи в таблицу 2 а из таблицы 1 они удаляются.

Вот примерно что должно быть.

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

Обьемные таблицы(таблица 2) - такие как логи событий часто содержат только даты и набор идентификаторов, чтобы занимать меньше места.

Выбор ПО зависит от вас. База данных должна быть SQL типа