Перейти к содержанию

Изготовление передатчика текстовых сообщений (команд) на ПК-сервер через протокол TCP (Arduino или что-то похожее)


Рекомендуемые сообщения

Мне необходимо устройство для передачи текстовых сообщений (команд) на ПК-сервер через протокол TCP (передатчик).
Выглядеть это должно примерно как брелок для ключей (основной модуль) + две беспроводные кнопки к нему.
Основной модуль обрабатывает нажатие кнопок и передает соответствующую команду на сервер.

Что физически должен представлять собой передатчик:

1) Две беспроводные кнопки (кнопка-1 и кнопка-2).
Каждая кнопка должна иметь независимый элемент питания, который мог бы обеспечивать ее постоянную работоспособность в течение примерно 8-10 часов.
Какие варианты питания я предлагаю рассмотреть (буду рад советам):
а) плоская батарейка,
б) беспроводная индуктивная зарядка.
Примерные размеры каждой кнопки (с учетом батареи): 15 мм длинна, 15 мм ширина, 5 мм высота.
Корпус кнопок должен быть плоским и достаточно прочным. Как вариант – залить саму плату эпоксидкой + усилить термоусадочным материалом.

2) Основной модуль.
Именно он должен обрабатывать нажатие упомянутых выше кнопок.
Он также должен иметь независимый источник питания, аналогичный по функциональности кнопочным.
Примерные размеры: 100 мм длинна, 50 мм ширина, 50 мм высота (по сути он размером должен напоминать брелок для ключей).
Идеально, если в нем внутри будет место для хранения кнопок.
Думаю, что проще всего использовать Arduino, но тут предпочтений не имею.
Хотелось бы использовать более-менее внешне приглядный модуль, как вариант можно использовать корпус от какого-нибудь powerbank или пульта.

Кратко логика работы:
Основной модуль после включения соединяется по TCP с сервером по публичному IP адресу, вшитому в код модуля (желательно иметь возможность относительно простой перенастройки этого IP).
Естественно, что для этой цели ему необходимо интернет-соединение.
Как я предлагаю его реализовать (с радостью приму любые советы):
а) встроить в него модуль для сим-карты, через которую он и будет получать соединение с сетью. Но при этом я не понимаю, каким образом он будет настраиваться на работу с этой сим-картой и как будет взаимодействовать с оператором сотовой связи, т.е. активация карты, тарифного плана, проверка imei и т.п.
б) встроить в него Wi-FI модуль. После включения модуля он будет автоматически искать и подключаться к доступной точки доступа Wi-Fi по вшитым в него параметрам (имя точки и пароль к ней). На мой взгляд это оптимальное решение.

После нажатия клавиши-1 основной модуль отправляет на сервер текстовое сообщение “x”.
После нажатия клавиши-2 основной модуль отправляет на сервер текстовое сообщение “y”.

Желательно, но необязательно реализовать также следующие сообщений на сервер:
1) После подключения раз в 1 секунду он отправляет сообщение “ping” + текущая дата (для того, чтобы сервер рассчитал пинг).
2) Хорошо, если передатчик сможет отслеживать состояние своей батареи (уровень заряда) и отправлять соответствующее сообщение об уровне заряда на сервер.

Более точное описание протокола скину конкретному исполнителю, но суть передана верно.

Полагаю, что кнопки могут включаться автоматически при подключении батарейки.
Наверное, кнопки должны подключаться к основному модулю через Bluetooth.
Расстояние кнопок от основного модуля никогда не будет превышать 1,5 метра.
У меня был похожий пульт в прошлом, который осуществлял присоединение к телефону. Я заметил, что Bluetooth не всегда корректно работал. Мне показалось, что при большом скоплении людей и разной аппаратуры, он особенно часто отключался и его приходилось вручную переподключать. Если будут идеи относительно надежного соединения – буду им рад.

По цене хотелось бы уложиться в $ 200 (без учета стоимости компонентов), но опять таки, цена может быть и больше, при наличии хорошего исполнителя.

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

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

3 часа назад, kkkoh сказал:

После нажатия клавиши-1 основной модуль отправляет на сервер текстовое сообщение “x”.
После нажатия клавиши-2 основной модуль отправляет на сервер текстовое сообщение “y”.

нужно добавить  кнопку 3 с сообщением  "й"  за такую цену разработки . 

может еще и 3д модели корпусов разработать? и желательно пресформы чтобы вошли в стоимость. смешные люди блин. 

За такую цену соберите сами. возмите радио пультики и реле скомутируйте на какой нибуть модуль ардуино с вайфай или эзернет. Видок будет еще тот и потребление точно не от мелкой таблетки) 

Ссылка на комментарий
Поделиться на другие сайты

3 hours ago, kkkoh said:

работоспособность в течение примерно 8-10 часов...  а) плоская батарейка,
б) беспроводная индуктивная зарядка... 

Примерные размеры каждой кнопки (с учетом батареи): 15 мм длинна, 15 мм ширина, 5 мм высота.

Спасибо, посмешил.

Ссылка на комментарий
Поделиться на другие сайты

если предполагается беспроводное подключение к ЛАН сети - то батарейка будет приличной.

При проводном подключении модуля можно использовать РОЕ.

Но дешево и просто не выйдет

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Попробуйте скачать ГОСТ 16745-83 про конденсаторную бумагу. Там понятные слова, русские... :-)
    • Так ладно в общем нужно до конца разобраться с UART. Сейчас я выкладываю весь код и всю информацию что у меня есть. Сначала поясню что по схеме. Микроконтроллер у меня ATMEGA16. На PD2 и PD3 установлены светодиоды, На PC0 и PC1 установлены кнопки. Также установлен внешний кварц на частоту 7.3728 MHz. Теперь собственно сам код по UART. Код был взят из одного примера в просторах инета. Первоначально он был под ATMEGA8, но он вполне подошёл и на ATMEGA16. #define F_CPU 7372800UL #define BAUND 9600L #define UBRRL_value (F_CPU/(BAUND*16))-1 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> void init_pin(void); #define C_PC0 (~PINC&(1<<PC0)) #define C_PC1 (~PINC&(1<<PC1)) #define LED_1_ON() PORTD|=(1<<PD2) #define LED_1_OFF() PORTD&=~(1<<PD2) #define LED_2_ON() PORTD|=(1<<PD3) #define LED_2_OFF() PORTD&=~(1<<PD3) volatile start=1; char b; ISR(USART_RXC_vect) { b=UDR; } void init_UART() { UBRRL = UBRRL_value; UBRRH = UBRRL_value>>8; UCSRB|=(1<<TXEN); UCSRB|=(1<<RXEN); UCSRC|=((1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)); UCSRB|=(1<<RXCIE); sei(); } void send_UART(char value) { while(!(UCSRA&(1<<UDRE))); UDR=value; } int main(void) { init_pin(); init_UART(); while(1) { if (start==1) { _delay_ms(500); send_UART('O'); send_UART('K'); send_UART('!'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); start=0; } if (b == '0') { LED_1_ON(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '1') { LED_1_OFF(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '2') { LED_1_ON(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '3') { LED_1_OFF(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('3'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (C_PC0) { send_UART('P'); send_UART('C'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } if (C_PC1) { send_UART('P'); send_UART('C'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } } } void init_pin(void) { DDRC = 0b00000000; PORTC = 0b11111111; DDRD |= ((1<<2)|(1<<3)); PORTD &=~ ((1<<2)|(1<<3)); } Здесь я пробовал этот код UART конечно в таком виде работает, но здесь есть некоторая непонятная ситуация. На микроконтроллер почему то принимаются значения только в цифровом виде. По другому он отказывается работать. Возможно нужно как то перенастроить что то не совсем это понимаю. А UART эта вещь такая очень нужна без него не сделать управление плеером.
    • Заходишь в даташит усилителя, ищешь вход, обычно конденсаторы, туда и подпаиваешь. Выводишь 5 проводов: входы 4 каналов, и земля входа. Потом: провод левого переднего входа (in1) соединяешь с левым задним (in3), по аналогии с правой стороной делай так же. Получается 2 контакта и земля. Ищешь распиновку своего разъёма и паяешь. Распиновку могу объяснить, если фото будет. Что бы включить, Подключи разъём в телефон и вставь, например, пустой дик. 
    • @Гость Михаил, что мешает поставить и послушать? Что мешает потестить операционник из магазина на предмет подлинности, хотя бы замерить скорость нарастания выходного сигнала и сравнить с даташит? Из магазина с большой вероятностью может быть перемаркированный LM358, его сразу видно то характерной ступеньке на синусоиде и по частоте он просто "тормоз" по сравнению с ne. Ваш LG медленнее в три раза от исходного. Ваш lg со своими 3 МГц должен быть однозначно лучше, чем перемаркированный ne из 358. Например, разницы между оригинальным LM833 и с хорошей  8 мегагерцовой  подделкой ne с Али не слышно.
    • Что Вы вообще делаете в институте с такими "знаниями"? Задачка для средней группы детского сада.
    • По ссылке все понятно, если Вам не понятно обратитесь к специалисту он Вам сделает.
×
×
  • Создать...