Пока я здесь, в нерешительности, топтался на месте, тов. smart_alex выпустил невероятно полезную заметку на geektimes, в которой раскрыл все достоинства этого модуля, чем сбросил с меня груз непростого решения: писать джинсу, или правду.
Из заметки автора, вы, не без интереса, сможете узнать много полезных вещей, а именно: как с помощью Arduio Mega увидеть в serial-порте компьютера что там шлют нам конечные устройства, а также, что скоро «выходит новая 0.15 версия популярной системы Arduino Mega Server и в этой версии появится встроенная поддержка модулей MR1132 и удобное управление ими прямо с веб-странички и много чего ещё интересного.»
Надеюсь, вы уже прочитали, так активно рекламируемую мной заметку, и разобрались со всеми достоинствами нового модуля. Пару слов о недостатках. Их всего два. Небольших.
- как следует из приведенного мной в прошлой заметке руководства, модуль, наглотавшись информации от прописанных в нем устройств, отправляет по UART интерфейсу 8 байт. Причем эти байты никак и ничем не ограничены — ни сначала ни с конца. Чувствуете нехороший запах?
- как следует из приведенного мной в прошлой заметке руководства, модуль употребляет внутрь исключительно 5 вольт.
Об этих же «особенностях» можно узнать не только из руководства, но и из приведенной выше заметки, где автор функцией, затачиваемой на прием 8 байт, читает 4 байта, а также вскользь замечает о 5 вольтах: «Это нужно учитывать при проектировании ваших устройств и при необходимости использовать согласователи логических уровней.»
А теперь вопрос: вы обратили внимание на это? Расширим вопрос: вы в принципе читали руководство, которое я привел в прошлой заметке? Максимум — проглядели информацию о протоколе, а 5 вольт даже не увидели, потому что прошлый модуль — модуль передатчика, был и 3 и 5 вольтовый. Я — не увидел! И первое что начал делать — соединять его напрямую с ESP8266. Попытка, безусловно, оказалась неудачной.
Ок. По моему скромному мнению, пятивольтовость модуля является его существенным недостатком. Просто (без песен и плясок), его можно соединить лишь с Ардуино UNO (и клоны с тем же объемом памяти) или Mega.
А дальше что? Ответ в полюбившейся заметке: смотреть в монитор com-порта. Других возможностей я не вижу. Безусловно, если завести Аруино в сеть (для этого нужен еще какой-либо модуль), то можно передать информацию во что-то, приличное, типа Raspberry Pi или Wiren Board, но, господа производители, зачем для этого Ардуино? Не проще ли было сделать трехвольтовый модуль и мы действовали бы напрямую?
Кстати, первое что пришло мне в голову, когда я заметил (намучился с работой модуля от 3 вольт и, наконец, прочитал руководство), что модуль не хочет стабильно работать сESP8266 — соединить его именно с Arduino Mega Server. Одна заковыка — даже он, с таким красивым названием, давно уже перетек на иную платформу, трехвольтовую.
Таким образом, как решение для Ардуино, MR1132 мне абсолютно не понятен. Он может и должен черпать информацию и передавать ее на более продвинутые системы, коих немало, но ни одна из них не работает на 5 вольтах.
В моем случае, оконечный приемник — это OpenHab на Raspberry Pi.
В общем, наговорившись всласть, можно неспеша спуститься вниз, и…, воспользовавшись новым руководством, перепрошить модуль новой прошивкой! В настоящий момент и то и другое находится на сайте Амперки, в дальнейшем, безусловно, оно будет там где и положено.
Новая прошивка ровно наполовину снимает вопросы к модулю, и это отрадно!
Итак, скачав новое руководство, вы узнаете, что прошивать модуль нужно с помощью некоей программы Tiny Multi Bootloader+ . В инструкции отлично рассказано, как обновить модуль с помощью com-порта и как правильно выполнить соединения. Один нюанс, не думаю, что ошибусь если скажу — у половины читающих этого физического com-порта нет, а у остальных — нет к нему шнурков. Угадал?
Итак, пора выпустить на сцену (молодого бычка по кличке) PL2303.
Если вы всерьез занимаетесь «умным домом», такое устройство у вас есть. Или типа того. Потому что умный дом и ESP8266 — близнецы-братья. А именно эта козявка лучше всего программируется PLкой. Теперь и для MR1132 пригодится.
Соединять MR1132 и PL2303 очень просто: питание и так понятно, TX и RX соединяются наоборот. Каждый со своим антиподом. Однако, на модуле остается неприкаянной нога RTS. Присоединим ее к руке. То есть, возьмем провод, который одним концом накинем на упомянутую ногу, а другой конец — возьмем в руки и составим такую комбинацию:
Теперь, выполним все приготовления к прошивке, указанные в руководстве, затем,
- замкнем провод на корпус разъема miniUSB который является землей;
- нажмем на кнопку «Write Device» и,
- после (после!) нажатия, быстро убираем провод от разъема miniUSB.
Роботизированный сброс модуля произведен, прошивка будет загружена успешно. Предварительно можете потренироваться делать то же самое с кнопкой «Check Device».
Итак, первый недостаток модуля ликвидирован! Теперь модуль, вместо 8 оголенных байт, будет слать нам в UART их аж 11 штук, где первый и последний — стартовый и стоповый. Предпоследний, кстати, — контрольный.
Что же, достаточно на сегодня. В следующей заметке мы еще раз вернемся к теме пятивольтовости и узнаем, с чем, все таки, лучше всего соединять MR1132.