Я новый пользователь NodeMCU, и я хотел бы, чтобы он связывался с модулем GSM, таким как SIM900. Могу ли я использовать второй терминал UART ESP8266 для взаимодействия с модулем GSM?Интерфейс NodeMCU (ESP8266) с модулем GSM
Спасибо.
Я новый пользователь NodeMCU, и я хотел бы, чтобы он связывался с модулем GSM, таким как SIM900. Могу ли я использовать второй терминал UART ESP8266 для взаимодействия с модулем GSM?Интерфейс NodeMCU (ESP8266) с модулем GSM
Спасибо.
Да, вы можете. Второй последовательный интерфейс ограничен на gpio 13 (rxd2) и 15 (txd2). Вы можете переключаться на управление им с помощью этих команд на Lua:
uart.alt(1);
uart.setup(..);
Так что ваш код собирается быть похожим:
uart.alt(1) --use alternative gpios
uart.setup(0, 9600,8, uart.PARITY_NONE, uart.STOPBITS_1,0)
uart.on(...)
uart.alt(0) --switch back to standard Rx/Tx pins
Here является документом для использования nodemcu UART.
Если вы собираетесь использовать Arduino, вы можете использовать библиотеку SoftwareSerial в конфиг любой GPIO, как последовательный интерфейс, как показано ниже:
SoftwareSerial mySerial(16, 5); // RX, TX
mySerial.begin(9600);
Я пробую это, но когда я ставлю uart.alt (1), я получаю эту ошибку: попытайтесь вызвать поле 'alt' (значение nil) !! –
Какова версия nodemcu FW, которую вы использовали? Вы пытались обновить прошивку nodemcu через [custom build] (https://nodemcu-build.com)? – cagdas
У меня версия 0.9.6 «noddemcu-floot-0.9.6-dev_20150704.bin» следует ли обновить прошивку, чтобы модуль поддерживал эту команду? –
Я написал учебник, как это сделать: http://atcommander.io/Tutorials/Name/ESPInterface
Как сказал Cagdas, в основном вы используете UART0 от ESP8266, не забывая переключить назначение своих контактов на GPIO13/GPIO15 с uart.alt(1);
в NodeMCU.
Чтобы получать отладочные сообщения на вашем компьютере, вы больше не сможете использовать UART0, но вместо этого вы можете использовать UART1 только от ESP8266.
Нет, я столкнулся с проблемой с командами uart.alt, чтобы вызвать поле 'alt' (значение nil) !! Как я могу это сделать? –
решил вашу проблему? – cagdas