- PVSM.RU - https://www.pvsm.ru -
Меня зовут Вова Балакин, я из московской школы на Юго-Востоке имени Маршала В.И.Чуйкова (классов “Силаэдр”: vk.com/silaedr [1]), закончил 5 класс, интересуюсь программированием и техникой. Я хочу рассказать, что я делал этой весной. У меня был парусник, он назывался “Not a Number”(“NaN”). Выходить в море без сигнализации опасно, поэтому я подумал, что ему на мачте не хватает сигнальных огней. А лучше — сигнальных огней, которыми можно управлять удаленно. А лучше — удаленно из любой точки мира! У меня был Raspberry Pi — и тогда я придумал…
… что можно прикрепить к мачте светодиод, соединить его с Raspberry Pi и запрограммировать так, чтобы из Интернета было возможно отсылать паруснику любое сообщение — и оно переводилось в код Морзе — и диод на мачте мигал в соответствии с этим кодом. И на ту же мачту закрепить фоторезистор — декодер кода Морзе, чтобы другой компьютер в Интернете мог получить переданный код.
После двух месяцев проб и ошибок у меня получилось написать программу, которая через MQTT-брокер(http://www.hivemq.com/demos/websocket-client/) позволяет любому человеку в Интернете, знающему Topic — секретный ключ для передачи сообщения клиенту, — отправить абсолютно любое сообщение написанное латиницей — и светодиод на мачте моего промигает его азбукой Морзе!
Вот в целом как это работает: мы пишем сообщение и отправляем его MQTT-серверу, а он в свою очередь отправляет его на Raspberry pi, который переводит его в код Морзе и подмигивает светодиодом в соответствии с кодом.
Вот код на Node.js на гитхабе [2].
Сначала я писал на Python3. Но подключить питон к MQTT у меня не получилось — не нашел нужной документации — и я перешёл на платформу Node.js.
Кроме того, на протяжении суток я пытался сделать дешифратор световых сигналов азбуки Морзе (с помощью фоторезистора) и установить его на ту же мачту того же парусника, но это не вышло, потому что фоторезистор (по крайней мере, тот, что был у меня) не способен различить свет даже от 5 светодиодов (разница напряжений при включенных и выключенных светодиодах была слишком мала).
Полезные советы тем, кто будет делать что-то подобное (Обсуждение).
Пишите сразу на Node.js, если хотите связывать потом код с MQTT. Законнектить Python с MQTT — задача не из легких.
Перед тем, как начать, я погуглил, как такое сделать. Все части этого проекта по отдельности в Интернете описаны, всё вместе — не нашел.
Благодарю за ценные замечания и крутые советы моих учителей робототехники и информатики и старшеклассников моей школы!
Автор: Vladimir
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/raspberry-pi/357313
Ссылки в тексте:
[1] vk.com/silaedr: http://vk.com/silaedr
[2] Вот код на Node.js на гитхабе: https://github.com/vladimirbalakin/Raspberry
[3] habr.com/ru/company/madrobots/blog/243253: https://habr.com/ru/company/madrobots/blog/243253/
[4] https:/www.youtube.com/watch?v=p3vJxGKWDIg": http://https:/www.youtube.com/watch?v=p3vJxGKWDIg
[5] www.youtube.com/watch?v=wiciIlsS0eo: https://www.youtube.com/watch?v=wiciIlsS0eo
[6] Источник: https://habr.com/ru/post/520796/?utm_source=habrahabr&utm_medium=rss&utm_campaign=520796
Нажмите здесь для печати.