-
• #2
How are you powering the esp8266 and module- if it is via the USB through the esp8266, there might not be enough mA to cope with the load.
Can you connect to a 3.3v source of st least 1amp?
-
• #3
Power not via USB.
I work with Web IDE via wifi and everything works fine. When Disconnected from the Web IDE, ESP12f rebooted and serial1 to communicate with SIM800L not working.
The problem is serial1. How to fix?Here in this place, the module hangs and restarts.
function Start_modem(){
digitalWrite(D5, false);
var connection = setInterval(function(){ Serial1.println("AT+COPS?");},300);
Serial1.on('data', function (data) {print("<Serial1> "+data); if(data.indexOf("+COPS:")>-1){ clearInterval(connection); //print("modem start"); init_modem(); digitalWrite(D5, true); } if(data.indexOf("+CUSD: 0, ")>-1){ list_balanse(data); //print("SMS OK"); digitalWrite(D5, true); }
});
} -
• #4
I read other threads about the SIM800. I write what consumes 2.0 ampere + esp12f 0.6 ampere = 2.6 . The power supply I have a maximum of 2.5 amperes. Maybe in this case
-
• #5
The esp8266 has two UARTS. UART0 (Serial1) uses gpio1 for TX and gpio3 for RX and is used by the Espruino JavaScript console. It can be used for other things once the Espruino console is moved to another device. For instance calling LoopbackA.setConsole() will move the console to 'loopback' (where is can be accessed using LoopbackB), and will free up Serial1 for use like any normal Espruino Serial port.
And no problems. -
• #6
I'd definitely suggest you power SIM800 from a LiPo battery. I have never been able to get a SIM800 to work properly when just powered off USB - I think it just draws too much power.
I connect SIM800l in on Serial1. Connect for debugging via WIFI, everything works fine. As soon as disconnect the Web ide from the module, the module shuts down and restarts. After the reboot, the program comes to the moment of work with Serial1 and again leaves in reboot. This happens endlessly, while connecting web ide. What could be the problem?
After connecting you see this:
| |_ ___ ___ _ ||___ ___
| |_ -| . | _| | | | | . |
||| || |_|||_|_|
1v93 Copyright 2016 G.Williams
Espruino is Open Source. Our work is supported
only by sales of official boards and donations:
http://espruino.com/Donate
Flash map 4MB:512/512, manuf 0xe0 chip 0x4016
my code:
var p1 = ""; var p2 = ""; var p3 = ""; var p4 = "";
var start;
var ow;
var i = 0;
function reboot(){
print("reboot...");
ESP8266.reboot();
}
var point_rssi = 0; var ip; var mac;
var ESP8266 = require("ESP8266"),
function onInit() {
wifi.stopAP();
wifi.connect("INGRIFAB", {password: "B73vFeX6se2"}, function(err) {
wifi.getStatus(function(ap) {
});
}
Pin.prototype.startFlashing = function(period,stop) {
var delay_led; var on_led;
var pin = this;
if (stop === true){clearInterval(delay_led);digitalWrite(pin, true);}else{stopon_led = false;}
if(stop === false){
delay_led = setInterval(function() {
on_led = !on_led;
}, period);
}
};
function sms_send(text_sms){
D5.startFlashing(100,false);
//setTimeout(function (){D5.startFlashing(100,true);},2000);
var i=0;
var arr_comand =["AT+CMGS=\"+79216444654\"",text_sms,"\x1A"];
var interval_init = setInterval(function(){
}, 400);
}
function reset_modem(){
digitalWrite(D13, true);
digitalWrite(D13, false);
digitalWrite(D13, true);
}
function Start_modem(){
digitalWrite(D5, false);
var connection = setInterval(function(){ Serial1.println("AT+COPS?");},300);
Serial1.on('data', function (data) {
});
}
function list_balanse(stringOne){
var newstr = stringOne.substring(13, 49);
//print("newstr : "+newstr);
var arr = [];
var d = 0;
var result ="";
for (var i = 0; i < 24; i+=4) {
arr [d] ='0x' + newstr.substring(i, i+4);
if(parseInt(newstr.substring(i, i+2)) === 0){
result += String.fromCharCode(arr[d]);
}
}
//print("balanse : "+result);
}
function balans(){
digitalWrite(D5, false);
Serial1.println("AT+CSQ");
Serial1.println("AT+CUSD=1,\"*100#\"");
}
function init_modem(){
var i=0;
var arr_comand =["AT+CMGF=1","AT+IFC=1, 1","AT+CSCS=\"GSM\""];
var interval_init = setInterval(function(){
}, 300);
}
function send_data(){
digitalWrite(D4, false);
//print(process.memory().free);
// if(process.memory().free < 600)ESP8266.reboot();