2017-01-31 2 views
-1

J'ai écrit ce code pour interfacer le module gsm, quelqu'un peut-il vérifier le code et me donner des propositions?Interfacer le module GSM avec nodemcu

hex1= '0x1A'; 
function delay_s(delay) 
delay = delay or 1 
local time_to = os.time() + delay 
while os.time() < time_to do end 
end 
uart.alt(1); 
uart.setup(0, 9600, 8, uart.PARITY_NONE, uart.STOPBITS_1, 1) 
uart.write(0,"AT+IPR=9600\n") 
for j = 1, 10 do 
uart.write(0, "AT\n") 
end 
delay_s(1000) 
uart.write(0, "AT\n") 
delay_s(1000) 
uart.write(0, 'AT+CSCS="GSM"\n') 
delay_s(1000) 
uart.write(0, 'AT+CMGF=1\n') 
delay_s(1000) 
uart.write(0, 'AT+CMGS="+21654102832"\n') 
delay_s(1000) 
uart.write(0, " Salut tout le mond !!!\n") 
delay_s(1000) 
uart.write(0, hex1) 
delay_s(1000) 
+0

S'il vous plaît fournir le modèle du module – cagdas

+0

j'ai le module sim900a gsm http: //www.electrodragon. com/product/sim900a-mini-dev-board/ –

+0

Avez-vous des réponses anu du module? Comme OK. S'il vous plaît tey pour être plus précis – cagdas

Répondre

0

Ce code ne fonctionnera pas même sur NodeMCU parce que la norme Lua os.time() échouera car le module os n'est pas disponible. Je vous suggère de creuser dans http://nodemcu.readthedocs.io/en/latest/en/lua-developer-faq/#how-is-nodemcu-lua-different-to-standard-lua. En outre, même s'il était disponible, os.time() a une résolution de 1 seconde.

La valeur renvoyée est un nombre, dont la signification dépend de votre système. Dans POSIX, Windows et certains autres systèmes, ce nombre compte le nombre de secondes écoulées depuis une heure de début donnée (l '"époque").

Par conséquent, votre delay_s(1000) pourrait retarder l'exécution pour 1000 secondes. Faire cela avec de l'attente en attente est ... pas optimal. Vous souhaitez probablement utiliser le tmr module à la place.

+0

Merci pour votre réponse. Je voudrais interfacer le module gsm en utilisant le nodemcu, mais cela ne fonctionne pas. devrais-je ajouter uarts logiciels afin de pouvoir utiliser d'autres GPIO NOdemcu? –

0
uart.alt(x); 

0 - standard pins 
1 - alternate the pins 

Vous havent spécifier que vous avez l'habitude des broches va pour la communication, ou bien utiliser uart.alt(0); pour les broches standards