У меня есть идея для табло игровой комнаты. Я хотел бы включить или выключить лампочку в зависимости от флага в базе данных. Итак, скажем, у меня есть столбец с именем "Out". Для выхода = 1 будет гореть одна лампочка, для выхода = 2 - две лампочки и т.д. Возможно ли это? Что мне нужно? Настройка базы данных и вставка данных без проблем.
4 ответа
Концептуально вам понадобится следующее:
- оборудование, которое получает запрос и отображает соответствующее количество лампочек
- программное обеспечение, которое превращает полученный номер в запрос к оборудованию
- программное обеспечение, которое опрашивает базу данных
Учитывая это в следующем порядке:
Аппаратное взаимодействие
Один из самых простых способов взаимодействия с оборудованием - использование параллельного порта (если ваш компьютер оборудован таким оборудованием). Обычно имеется 8 или более доступных выходов, которыми можно управлять независимо. Второй по простоте это последовательный порт. В любом случае вам понадобятся либо реле, либо драйверы светодиодов, либо аналогичные устройства, чтобы перейти от уровней напряжения на этих интерфейсах к тому, что могут использовать ваши источники света.
Программное обеспечение для аппаратного контроля
Если вы можете писать код на C или C++, у вас, вероятно, не возникнет проблем при написании программного обеспечения для вашей конкретной системы (Windows, Mac, Linux), чтобы отправить один байт на параллельный или последовательный порт. Примеров в интернете предостаточно. Код может listen
IP- socket
для значения, отправляемого аппаратному обеспечению.
Программное обеспечение для опроса базы данных
Как правило, это будет простой запрос к базе данных, который будет выполняться на периодической основе по вашему выбору. Вы можете настроить опрос каждые 60 секунд, например, извлечь значение из базы данных, а затем отправить значение из IP-сокета в программное обеспечение для перечисления, упомянутое выше.
Поскольку ваш вопрос довольно широкий, таков и этот ответ, но если у вас есть конкретные вопросы по какой-либо части этого вопроса, задайте другой вопрос. Тем не менее, обратите внимание, что электротехника касается в первую очередь первых двух пунктов, а не, как правило, чисто программных частей.
Это было бы просто сделать. Мое предложение:
1) Вместо использования отдельных источников света используйте адресную светодиодную ленту RGB. Это будет намного проще, чем управлять индивидуальным освещением, и позволит легко получать различные цвета и яркость. Вы можете поместить шары пинг-понга поверх светодиодов, если вы хотите другой вид.
2) Я бы использовал Arduino для обработки вождения светодиодной ленты. Он может подключаться к вашему ПК через последовательный порт, а программа на ПК может просто выполнить запрос к базе данных, получить значение и отправить его через последовательный порт в arduino. Arduino считывает значение и отправляет его на светодиодную ленту.
Вы найдете много вещей на adafruit.com, в том числе учебники, которые помогут вам.
Это звучит как идеальное приложение для малины пи. Это мини-компьютер Linux, который более чем способен принимать программное обеспечение, которое может запрашивать базу данных. (И хост один). Он также имеет контакты GPIO, которые могут контролировать вещи.
Вам нужно определиться с типом освещения, прежде чем вы сможете узнать, как его включить.
Если это светодиод, вам может понадобиться светодиодный драйвер, если это лампа на 240 В, вам может понадобиться реле и т.д.
Другие варианты, которые вы, возможно, захотите посмотреть, включают Beagle Bone, ODROID и не забудьте просто зайти в Google «мини-компьютер Linux», чтобы узнать больше вариантов.
Мое решение с минимальными усилиями заключалось в том, чтобы использовать диско-свет (который использует протокол DMX) и «электрический чертенок», который представляет веб-API для вас.
Он также может поговорить с светодиодами или неопикселями в качестве альтернативы.
Вот видео простой демонстрации, которую я создал.
https://www.youtube.com/watch?v=RxttrlHJntw&list=UU2vDg0Cv64FmkmjJYpVnWuQ