Если код именно такой, то поведение странное. Попробуйте вместо ртутного датчика просто замкнуть/размкнуть пин, к которому подключен датчик. Не ловит ли этот датчик радио на входе?)
Ух ты, TR до сих пор применяется в образовании? У вас там есть фиксированное время владения маркером, потому время одного сеанса это (время владения маркером) * (количество узлов) * (количество транзакций в сеансе). Стандартное время владения - 10 мс. Так что при семи станциях хендшейк в 4 пакета пройдет за 280 мс. Что зам за время передачи 17, 21 в задаче, ерунда какая то, у тебя 10 мс выплюнуть данные, после шину занимает следующий, иначе последний смысл TR улетучивается, а единственный смысл этого 16 МБ мамонта - фиксированное время обмена данными.
Могу пофантазировать, что тут у нас попытка сказать "узлу надо 21 мс что бы выплюнуть все данные". Если постановка задачи такая, то получается тому узлу требуется три раза владеть маркером только для передачи, значит он будет делать это 210 мс.
Вы рассказываете немного суетно и не даете полезной информации для ответа. Что за кассовый аппарат? Что за интерфейс к кассе? Чековый аппарат отдельный? Это чековый принтер получается? В вашем коде есть необъявленные переменные, это либо кусок кода, или код не скомпилируется. Попробуйте задать вопрос медленно, с подробностями, даже теми, что вам кажутся очевидными, а этот вопрос вряд ли получит ответ
ККТ, это контрольно-кассовая техника что ли? Какой интерфейс вы используете до своего устройства, ответ будет зависеть от этого. Или может быть вы хотите связаться с ПО ККТ? В любом случае, лучше расскажите больше, чего вы хотите сделать и с чем
Если вы на вашей схеме напишете на интерфейсах адреса, то будет много понятней и вам, и тем кто будет пытаться ответить; что же там на самом деле не так. ARP-ответ будет принят тот, что получен первым, прочие будут отброшены. Если у сервера рука быстрее - он победит маршрутизатор, если очередь у него будет длиннее в данный момент, то проиграет и так до следующего обновления таблицы ARP.
Нужен эксперимент. Если найдете "Power quality meter" лучше всего, но можно осциллограф с квалифицированным оператором. Подключить измерительный прибор к выходу UPS и обесточить ввод, посмотреть как выглядят параметры выхода инвертора UPS. Возможно там непригодное к употреблению по форме и/или искажениям напряжение, и старенькие блоки супермикры улетают в защиту. Иногда дело в износе блоков питания (пресловутое "посохли конденсаторы"), и стоит отнести их по одному в сервис или поменять на более свежие
Ко всем, без сомнения, замечательным ответам добавлю комментарий, почему так не делают в 2024 году. Работоспособность вашего сайта очень скоро будет ухудшена любителями что ни будь взломать, и вам придется изучать как этому противодействовать раз за разом. Пока вы будете учится основам вебхостинга и сайтостроительства, китайские юноши будут учиться получать доступ к вашей инфраструктуре и как обернуть ее в ноду какой ни будь утилитарной сети, ну или просто используя ее как прокси. Или узел для атаки blackCat-ом.
Но это по прежнему прекрасный учебный проект, просто вы еще изучите вещи, о которых пока не догадываетесь)
Игорь, недостаток тока может повредить, так как при повышении нагрузки на ограниченном источнике падает напряжение, при электронном ограничении может отключатся совсем. Понижение напряжения негативно влияет на работу памяти - оперативная дает сбои, flash и eeprom дают ошибки записи. Последнее приводит к окирпичиваню неудачных, плохо продуманных устройств.
Речь всё же не о лампочке со спиралькой
Viilture, Приложения, которые я имел честь крутить в руках и которые занимались тем же, что и вами описанное, так или иначе реализовывали взаимодействие как сетевые приложения. Так и разнести можно по разным машинам, и отдать разработку разным командам. Были такие, которые пересылают по http, были с дупликацией сырого потока с камеры в сервер распознаватель, были такие где отдельно "просмотр", "запись архива", "гриндер", "сервер распознавания", и все они связаны через вебсокет, а местами через http, потому что видать команда такая попалась, лучше знали http. И всё в пределах одного продукта. Можете конечно слить оба приложения в одно и позволить одному смотреть память другого... но я бы выбрал что то более предсказуемое.
Если вас волнует исключительно ваша шкура и воздействие тока на нее, может быть и всё равно. Если вы занимаетесь автоматикой и промсвязью то бытовое "похрен" придется исключить. Иван вот на заводе работает, ему не может быть "похрен", у него связь между неудачно выбранными ПЛК поплывет. Фактически и практически импульсник не развязан, а ток ни я не вы не посчитаете, пока не померяем разность между землями на двух точках установки. Шкура - это не всё, о чем надо волноваться
Традиция из ламповой техники, где катод рисуется внизу схемы. В эпоху германиевых PNP транзисторов плюс очень часто таки оказывался "общим" и вполне заземлялся. Кремниевые транзисторы (в т. ч. полевые) оказались дешевле и надежнее в исполнении NPN, и всё, минус снова переехал вниз схемы. В целом плевать, что заземлять, если вы питаетесь от гальванически развязанного источника
.bin это часто .zip архив, попробуй открыть. TFTP какой? С ними больше всего проблем, проверь другим экземпляром с другого компа, что можно подключиться и файлы забираются. tftpd на 10/11 win нужно запускать от админа, вводить настройки, гасить и снова запускать от админа. Часто китайцы для удобства заводской прошивки реализуют uboot скрипт так, что бы он всегда искал адрес tftp, в том числе в другой сети, и попадались устройства, которые получилось прошить только подключив через маршрутизатор, поставить на устройство ту же сеть, или маску пошире не помогало, а вот 841 тплинк помогал
Тоже норм дело, с транзистором. Гальваноразвязка не нужна, если обе платы питаются от одного источника. Оптопара лучше там, где вы не контролируете питание - например межу разными блоками или на висящих в воздухе входах.
R6 крутить пока не заработает не нужно, у вас в оптопаре просто ИК светодиод, и надо что бы он просто горел, и не сгорал, его светоотдача нелинейно зависит от тока и напряжения. Транзистор откроется в широком диапазоне сопротивлений R6. Тут дело в другом, R5 нужен что бы ограничить ток транзистора, что бы он не сгорел не при неисправности, а в принципе. Но его сопротивление может оказаться велико для вашей схемы, ток входа будет ниже порога срабатывания. Вот его можно крутить пока не заработает, но не уменьшать до ноля, а можно сразу посмотреть предельно допустимый ток для выбранной оптопары и посчитать резистор , который на вашем напряжении входа этот ток обеспечит, поставить ближайший по номиналу вверх.
Если там до входа нет никаких резисторов снаружи, значит это внутренний резистор подтяжки МК увлажнителя, и можно вообще выкинуть R5.
Но лучше уже оставить транзистор, а оптопару отложить для межблочки)