2017-01-26 25 views
3

Я новый пользователь NodeMCU, и я хотел бы, чтобы он связывался с модулем GSM, таким как SIM900. Могу ли я использовать второй терминал UART ESP8266 для взаимодействия с модулем GSM?Интерфейс NodeMCU (ESP8266) с модулем GSM

Спасибо.

+0

Нет, я столкнулся с проблемой с командами uart.alt, чтобы вызвать поле 'alt' (значение nil) !! Как я могу это сделать? –

+0

решил вашу проблему? – cagdas

ответ

1

Да, вы можете. Второй последовательный интерфейс ограничен на 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); 
+0

Я пробую это, но когда я ставлю uart.alt (1), я получаю эту ошибку: попытайтесь вызвать поле 'alt' (значение nil) !! –

+0

Какова версия nodemcu FW, которую вы использовали? Вы пытались обновить прошивку nodemcu через [custom build] (https://nodemcu-build.com)? – cagdas

+0

У меня версия 0.9.6 «noddemcu-floot-0.9.6-dev_20150704.bin» следует ли обновить прошивку, чтобы модуль поддерживал эту команду? –

1

Я написал учебник, как это сделать: http://atcommander.io/Tutorials/Name/ESPInterface

Как сказал Cagdas, в основном вы используете UART0 от ESP8266, не забывая переключить назначение своих контактов на GPIO13/GPIO15 с uart.alt(1); в NodeMCU.

Чтобы получать отладочные сообщения на вашем компьютере, вы больше не сможете использовать UART0, но вместо этого вы можете использовать UART1 только от ESP8266.