Семпаи реактора, поделитесь мудростью. / c++ :: реактор помоги :: Qt :: usb :: arduino :: пидоры помогите (реактор помоги)

пидоры помогите arduino usb c++ Qt реактор помоги 

Семпаи реактора, поделитесь мудростью.
пидоры помогите,реактор помоги,arduino,usb,c++,Qt,реактор помоги

Пишу прогу на C++ для управления всякой дичью (2 шаговика, и измерительный АЦП, и прочая дичь по мелочи). Выбрал ардуину для управления устройствами, а сама ардуина получает команды от компа и выполняет их, подключается по USB (сигналами обмениваются в обе стороны). ибо думаю что, для всех алгоритмов обработки данных, полученных с устройства и правил их обработки, может не хватить памяти на ардуине). А как исключить ардуину из этой схемы я не очень понимаю.


Десктопная приложуха пишется на Qt (хочу запилить на линуксе, ак думаю меньше проблем), используется библиотека QserialPort (ранее называлась Qserialdevice) для связи. Связь их мне видится примерно такой: При подтверждении отправки команды формируется строка (символы и цифры норм передаются, поэтому ебаться с кодированием не вижу смысла. посему использую буквы и цифры по максимуму) типа: КЧ\ИК_0/арг1\ИК_1/арг1/арг2\0


Пример реальной команды "11L/1\R/1\0" - включить led(светодиод), отправить сопротивление подстроечного резистора на комп.

где:

КЧ - контрольное число, для проверки, если не совпадает с длинной строки то значит команда пришла не полностью или с ошибкой.

ИК- идентификатор команды - одна большая буква

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

\0 - конец строки.


была идея сделать таблицу команд что бы они обменивались для подтверждения получения только идентификаторами. и если какая-то команда была пропущена то ардуина поймёт что порядок нарушен и запросит повтор команды. (но это мне кажется ебалой которая только память съест.


собсна к главному вопросу. что я делаю не так, какие предложения могут быть для улучшения/ускорения/итд, как лучше обменивать данные и команды. если есть варик напрямую управлять драйверами ШД, светодиодами, датчиками и тд то как это сделать?.


Также непонятки с частотой обмена данными, ставил маленькую- команды принимались кусками. на большой в начале выполнения ардуина ловит какие-то шумы и выводит "ppppppppp" на дисплейчик(что б понимать что она приняла), потом норм работает.


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


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

Подробнее

пидоры помогите,реактор помоги,arduino,usb,c++,Qt,реактор помоги
Еще на тему
Развернуть
у тебя купона нет. Ты точно из нашего сообщества?
PlayTime PlayTime 01.11.201913:47 ответить ссылка 2.7
купон паленый пихает какой то
да это очень важно. вот был бы купон, ты бы точно помог
конечно
вот тебе половинка купона, он годен до 23 года. остальную половинку дам после мудрого совета
ПИДОРЫ,
помогите
переходи дорогу на зеленый свет и смотри по сторонам.
В целом кажется, что правильным будет использовать ардуину как ретранслятор команд, а логику максимально перенести на комп. Оставить на ардуине только критично важный код.
Юзайте ESP8266, разница в цене не велика, зато работа по вайфай быстрее надёжнее и куча готовых примеров.
позволю поинтересоваться куда мне их принимать? один в пеку(у пеки нету вайфая, ни встроенного, ни даже роутера) втыкать второй на устройство?
Самую дешманскую "usb адаптер WiFi" вкыкаете и горя не знаете.
Либо, если очень хочется вкушать старины, поможет modbus (можно тут посмотреть пример https://m.habr.com/ru/post/249043/) на компе юзаете любой OPC сервер, коих даже бесплатных много и реализуете клиент под OPC примеров так же очень много под любой язык тк технология древняя.
дело в том что как раз я занимаюсь тем что переношу старину 80х годов на новую платформу, и хотелось бы использовать максимально новые и долгоживущие варианты.
usb мне видится ещё не скоро отомрёт, вифи вроде тоже жив и помирать не хочет.
вопрос. у меня еспшка как раз одна есть в наличии, но я как-то непонял как она работала, и забил хуй на неё (тогда примеров хрен да хуй было). там с передачей данных есть ебля, и если есть то насколько больно это?
На данный момент совсем не больно, ставите библиотечки, обычно в них много примеров. Мне лично очень нравится вебсервер, на айпи ардуинки стучите из браузера и жмёте кнопочки которые спрограммировали в ардуинке. Также обычно в базовых примерах есть клиент, серверы на tcp udp протоколах, работают тоже хорошо, но чуть больше прогать. Так же есть тот же modbus tcp но мб придётся немного погуглить пример.
спасибо пидор, держи купон. пс чек коммент ниже.
КУПОН
НА 1 помощь
ещё один момент. там очень точные измерения. не покорчаться ли они при передачи по wifi? неверное значения и пиздец изделию. на проводной то схеме всякие наводки паскудят корректировку из за чего изделие сразу в брак идёт. а тут вайфай.
Если необходима надёжность, я бы отказался от ардуинки вовсе и использовал Siemens или Mitsubishi контроллеры, ценник конечно выше к сожалению.
Ебать охуеть, 50к, и с них на комп передавать данные? За такие денежки они должны ещё и сами за меня проект написать
Можно попробовать взять малину или подобное и все сделать на ней. Шаговиками, датчиками/хуятчиками вполне рулит. Но у нее нет АЦП, так что придется брать внешний. Либо взять ESP8266 или, ИМХО, лучше ESP32.
кстати малина имеется. но надо хранить хуевутучу данных всяких. ацп я всё равно буду использовать внешний так как нужны охуенное точные измерения, ибо на их основе будет подрезаться резестивный слой. и если что то пойдёт не так (наводка, или другая тёмная ебала) то пизда изделию, можно в помойку выкидывать.

другой вопрос к скорости обработки данных, и написание под неё программ, на том же qt. ибо надо что б был графический интерфейс и подобные перделки.
Ну лично я пишу гуи под малинку на gtkmm (с++ обертка над gtk) и pigpio для руления пинами. Пока что проблемы были в основном по моей невнимательности. Насчет скорости... самому интересно, т.к. еще хочу вкорячить в нее opencv с распознаванием геометрии объектов.

Одно могу сказать точно, что если юзать ядра на полную, то греется эта ебала нормально, вентилятор нужен обязательно. (У меня raspberry pi 3B и 3B+).
А хранить данные можно на самой флешке или подключить по юсб что-то внешнее.
Решил зайти на реактор, чтобы отдохнуть немного от работы. А тут, блин, опять она.
E1ipS0iD E1ipS0iD 01.11.201914:04 ответить ссылка 0.1
Позвольте поинтересоваться, что за работа такая где используют ардуинки?
"умные" дома небось клепает для хипстеров
Тоже благое дело автоматизации, делать жизнь людей проще избавляя от однообразных действий
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
КУПОН
НА 1 помощь КУПОН
НА 1 помощь пидоры, помогите
-Ü
05
С
< пидоры, помогите
-Ü
05
С
< N/ Folders (7)
y	J	3D Objects	Desktop
*			■
*		Downloads	L Music
*	*		
*			Location is not available
*	■	Videos	E:\ is not accessible.
v Devices and drives (3)
Windows (C:)
132 GB free <
5.5*
Access is denied.
(D:)
(E:)
Documents
Pictures	
X	
	
	Removable Disk (E:)
	
OK
подробнее»

Windows 10 настройки usb компетентность мастеров пидоры помогите,реактор помоги

N/ Folders (7) y J 3D Objects Desktop * ■ * Downloads L Music * * * Location is not available * ■ Videos E:\ is not accessible. v Devices and drives (3) Windows (C:) 132 GB free < 5.5* Access is denied. (D:) (E:) Documents Pictures X Removable Disk (E:) OK