В некоторых своих проектах я использую связку микроконтроллер и персональный компьютер для управления механизмами и мониторинга данных с различных датчиков, при том условие, что создается не мобильное устройство.
Разработка пользовательского интерфейса для управления с ПК, как по мне чуть проще и более функциональна чем на микроконтроллере, к которому требуется еще прицепить подходящий дисплей для вывода информации и какой то источник ввода данных, кнопки, энкодер, клавиатура и т.д.
До недавнего времени, я использовал USB для связи между ПК и микроконтроллером, но возник интерес удаленного управления. И тут я посмотрел в сторону Ethernet. При его использовании компьютер может находиться практически на любом расстоянии от исполнительного механизма (платы с микроконтроллером), и даже физически быть не связанным, то есть связь может осуществляться по Wi-Fi.
Еще одним большим плюсом данного соединения является то, что если одновременно требуется управлять некоторым количеством устройств, то можно их все подсоединить через коммутатор и к ПК.
Далее постараюсь показать, как я заставил микроконтроллер отправлять и принимать данные по ethernet. В качестве микроконтроллера использовал плату Arduino Mega, а в качестве модуля Ethernet W5500. Две платы соединяются по SPI-Serial Peripheral interface.
В моем случае плата с контроллером является клиентом, а компьютер сервером, то есть плата будет принимать данные с ПК (например, управляющие команды) и отправлять на него некие данные (например, с датчиков).
Далее приведу простой код скетча клиента, который будет просто принимать, и отправлять данные.
Работа клиента с сервером:
Пара слов о программе сервере. Наприсана она в среде разработки Delphi, кто не помнит это Object Pascal. Что то подобное можно организовать на любом другом языке программирования, тут все зависит от вашего умения.
Программе присвоен номер порта 5000, и клиент (ардуинка) отправляет данные в этот порт. Программа эти данные принимает и выводит. Так же она выводит IP адрес нашего клиента, и может отправлят данные.
В целом, практического применения данная организация клиент-сервер не несет, это своего рода отработка возможности использования Ethernet подключения.
Всем спасибо за внимание! :)
#Ethernet #Server #Client #сеть #Arduino #W5500 #W5100