1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 6
|
|
1 | |
Не могу справиться с реализацией задачи17.07.2012, 03:01. Показов 949. Ответов 9
Метки нет (Все метки)
Сам занимаюсь программированием контроллеров. Но шеф поставил задачу и её решения я не смог найти. Вобщем, есть 30 плат с Ethernet и 2 пк, один ПК как сервер, с него идёт рассылка, приём и обработка информации всё завязано на коммутатор. Необходимо с 1 пк передать 3 int числа, сам он информации не принимает, на пк-сервере обрабатывается полученная информация и на определённую плату передаётся 24 бита, а с платы может приходить 3 бита.
Будет использоваться статические IP. Для разработки графического интерфейса использую библиотеку MFC. Прошу любой помощи (сроки поджимают) с реализацией отправки и приёма пакетов на ПК
0
|
17.07.2012, 03:01 | |
Ответы с готовыми решениями:
9
Не могу справиться с 3 задачами из курсовой. Напишите, если не сложно Затруднения с реализацией простой задачи Не могу справиться с ДУ Не могу справиться с if! |
Модератор
3387 / 2159 / 352
Регистрация: 13.01.2012
Сообщений: 8,378
|
|
17.07.2012, 09:24 | 2 |
эти числа и биты - это вообще что? просто данные или какой-то протокол? TCP, UDP, Modbus поверх TCP или вообще нечто третье? а вообще - можно сделать на неблокирующих сокетах или UDP что бы система не загнулась если один из каналов накроется.
0
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
17.07.2012, 12:47 | 3 |
Пока из твоего описания "Вобщем, есть 30 плат..." мало что понятно о том, как должна работать вся система в целом.
Шеф поставил тебе задачу устно? (типа "сделай мне красиво".) Или же есть хотя бы какое-то формальное ТЗ? Потому что если все устно, то подсказать тебе путь правильного решения будет затруднительно, - мы тут не телепаты и залезть в черепушку твоего шефа и угадать, чего он на самом деле хочет, вряд ли сможем....
1
|
9 / 9 / 1
Регистрация: 16.11.2010
Сообщений: 33
|
|
17.07.2012, 18:52 | 5 |
kokobill, ну с платами и битами я понял, скажи конкретно что не получается?
реализация передачи данных? какой протокол используешь? для отправки WSASend http://msdn.microsoft.com/en-u... s.85).aspx, там же и пример, для приема WSARecv http://msdn.microsoft.com/en-u... s.85).aspx у тебя на платах поддержка сети реализована? графический интерфейс что отображает?
0
|
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 6
|
|
17.07.2012, 23:44 [ТС] | 6 |
Уточню, ТЗ как такового нет, есть заказ. Одна гос организация захотела себе поставить электронную очередь, но так как это гос организация деньги они экономят. В чём заключается суть. Есть 30 окошек,над каждым из них стоит табло из 3-х семисигментных индикаторов, которые отображают номер клиента. Когда клиент приходит в учереждение, при входе он отвечает на 3 вопросса, програмка на первом ПК их обрабатывает и посылает 3 числа на ПК-сервер, а он в свою очередь решает на какое окошко отправить человека и отсылает на плату над этим окошком номер человека, а после окончания приёма работник в окошке нажимает кнопку и на ПК-сервер отправляеться сообщение, что окошко свободно. В платах используеться контроллер ATmega32u4, а к сети он подключается через чип ENC28J60 Ethernet.
Реализация может быть любой, главное что б всё работало.
0
|
9 / 9 / 1
Регистрация: 16.11.2010
Сообщений: 33
|
|
18.07.2012, 01:15 | 7 |
давай обозначимся, прошивать атмел я тебе не помогу, хотя есть у меня книга,
как реализовать обмен по сети на основе микроконтроллеров, но скачал не давно и добратся не успел еще. Если надо могу выслать. А по ПК то тут все просто: сервер слушает, принимает пакет от 1-го ПК, определяет номер окна и шлет на IP, закрепленный за платой, котороя примет число в "двойке" и отобразит на индикатор. По обмену с пк справшивай, чем помоч-то?
0
|
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 6
|
|
20.07.2012, 00:20 [ТС] | 8 |
По поводу контроллеров я и сам)). Ну я настроил плату (покамись одну), задал ip 192.168.0.10 маску 255.255.255.0 ну и мак устройства. на ПК, ip 192.168.0.1 теперь мне надо передать на плату последовательность бит 111011101110111011101110, я знаю что должно теоретически получиться при получении этой последовательности на контроллере(у меня будут загораться определённый диоды, вся информация которую я принимаю разбивается на блоки по 8 бит и открывает ножки).
Теперь вопросс, как мне передать эти 24 бита. Хотя бы подскажите какую библиотеку использовать, или где почитать, потому что когда гуглишь, получаешь кучу вариантов WinSocket, Boost.Asio, а так как с ООП я вообще знаком только Java и то написано пару програмок по примеру и прочитано 4 главы книги, то я просто не понимаю что мне нужно использовать для реализации моей задачи.
0
|
9 / 9 / 1
Регистрация: 16.11.2010
Сообщений: 33
|
||||||
20.07.2012, 10:19 | 9 | |||||
kokobill, я ж тебе предлагал, WSASend - оправка данных в сокет
http://msdn.microsoft.com/en-u... s.85).aspx там и пример, как поднять сервер, не совсем для конечной реализации, но для тестирования и понимания что где куда и откуда - подходит. WSARecv - получение данных из сокета, и пример тривиального клиента. что бы отправить "111011101110111011101110", то надо согласовать то, как ты будешь принимать ети данные на плате. по мойму, на сервере (как и на любом ПК) можно попробовать преобразовать "111011101110111011101110" в десятичное число и оправить на плату если орентироватся на предложенный выше пример, то код следующий
можешь и Boost.Asio использовать, библиотека меняется, а принцип приема - передачи остается. при любой библиотека ты сам должен понимать что ты отправляешь и как ты принимешь. если все правильно организовано то и работает правильно.
1
|
1 / 1 / 0
Регистрация: 03.07.2010
Сообщений: 6
|
|
22.07.2012, 16:40 [ТС] | 10 |
Во, такого ответа я и ждал в принципе, спасибо, будем изучать
0
|
22.07.2012, 16:40 | |
22.07.2012, 16:40 | |
Помогаю со студенческими работами здесь
10
Не могу справиться Не могу справиться с переменной не могу справиться с вирусом... Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |