Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #15 from alokshaw/master
Blynk App Example Code
- Loading branch information
Showing
2 changed files
with
115 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
// TTGO T-Call pin definitions | ||
#define MODEM_RST 5 | ||
#define MODEM_PWKEY 4 | ||
#define MODEM_POWER_ON 23 | ||
#define MODEM_TX 27 | ||
#define MODEM_RX 26 | ||
#define I2C_SDA 21 | ||
#define I2C_SCL 22 | ||
|
||
#define BLYNK_PRINT Serial | ||
#define BLYNK_HEARTBEAT 30 | ||
#define TINY_GSM_MODEM_SIM800 | ||
|
||
#include <TinyGsmClient.h> | ||
#include <BlynkSimpleSIM800.h> | ||
|
||
#include <Wire.h> | ||
// #include <TinyGsmClient.h> | ||
#include "utilities.h" | ||
|
||
// Set serial for debug console (to the Serial Monitor, default speed 115200) | ||
#define SerialMon Serial | ||
|
||
// Hardware Serial on Mega, Leonardo, Micro | ||
#define SerialAT Serial1 | ||
|
||
|
||
const char apn[] = "YourAPN"; | ||
const char user[] = ""; | ||
const char pass[] = ""; | ||
|
||
// You should get Auth Token in the Blynk App. | ||
// Go to the Project Settings (nut icon). | ||
const char auth[] = "Auth Token"; | ||
|
||
TinyGsm modem(SerialAT); | ||
|
||
void setup() | ||
{ | ||
// Set console baud rate | ||
SerialMon.begin(115200); | ||
delay(10); | ||
|
||
// Keep power when running from battery | ||
Wire.begin(I2C_SDA, I2C_SCL); | ||
bool isOk = setPowerBoostKeepOn(1); | ||
SerialMon.println(String("IP5306 KeepOn ") + (isOk ? "OK" : "FAIL")); | ||
|
||
// Set-up modem reset, enable, power pins | ||
pinMode(MODEM_PWKEY, OUTPUT); | ||
pinMode(MODEM_RST, OUTPUT); | ||
pinMode(MODEM_POWER_ON, OUTPUT); | ||
|
||
digitalWrite(MODEM_PWKEY, LOW); | ||
digitalWrite(MODEM_RST, HIGH); | ||
digitalWrite(MODEM_POWER_ON, HIGH); | ||
|
||
// Set GSM module baud rate and UART pins | ||
SerialAT.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX); | ||
delay(3000); | ||
|
||
// Restart takes quite some time | ||
// To skip it, call init() instead of restart() | ||
SerialMon.println("Initializing modem..."); | ||
modem.restart(); | ||
|
||
String modemInfo = modem.getModemInfo(); | ||
SerialMon.print("Modem: "); | ||
SerialMon.println(modemInfo); | ||
|
||
// Unlock your SIM card with a PIN | ||
//modem.simUnlock("1234"); | ||
|
||
SerialMon.print("Waiting for network..."); | ||
if (!modem.waitForNetwork(240000L)) { | ||
SerialMon.println(" fail"); | ||
delay(10000); | ||
return; | ||
} | ||
SerialMon.println(" OK"); | ||
|
||
if (modem.isNetworkConnected()) { | ||
SerialMon.println("Network connected"); | ||
} | ||
|
||
SerialMon.print(F("Connecting to APN: ")); | ||
SerialMon.print(apn); | ||
if (!modem.gprsConnect(apn, user, pass)) { | ||
SerialMon.println(" fail"); | ||
delay(10000); | ||
return; | ||
} | ||
SerialMon.println(" OK"); | ||
|
||
Blynk.begin(auth, modem, apn, user, pass); | ||
} | ||
|
||
void loop() | ||
{ | ||
Blynk.run(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#define IP5306_ADDR 0x75 | ||
#define IP5306_REG_SYS_CTL0 0x00 | ||
|
||
bool setPowerBoostKeepOn(int en) | ||
{ | ||
Wire.beginTransmission(IP5306_ADDR); | ||
Wire.write(IP5306_REG_SYS_CTL0); | ||
if (en) { | ||
Wire.write(0x37); // Set bit1: 1 enable 0 disable boost keep on | ||
} else { | ||
Wire.write(0x35); // 0x37 is default reg value | ||
} | ||
return Wire.endTransmission() == 0; | ||
} |