Naresh krish
Published

Using Hologram Services with RAK WisLTE Board

This tutorial will take you step by step on how to use the Hologram GSM services with the RAK WisLTE module and Arduino IDE.

IntermediateProtip4 hours1,431
Using Hologram Services with RAK WisLTE Board

Things used in this project

Hardware components

Arduino UNO & Genuino UNO
Arduino UNO & Genuino UNO
×1
RakWireless RAK WisLTE
×1
Jumper wires (generic)
Jumper wires (generic)
×1
Breadboard (generic)
Breadboard (generic)
×1
Hologram Global IoT SIM Card
Hologram Global IoT SIM Card
×1
Arduino Due
Arduino Due
×1
Raspberry Pi 3 Model B
Raspberry Pi 3 Model B
×1
Arduino UNO
×1
Arduino Mega 2560 & Genuino Mega 2560
Arduino Mega 2560 & Genuino Mega 2560
×1

Software apps and online services

Arduino IDE
Arduino IDE
Blynk TINYGSM Lib
Hologram Data Router
Hologram Data Router

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)

Story

Read more

Schematics

Schematics

Code

Web Client TNIYGSM Demo

Arduino
/**************************************************************
*
* This sketch connects to a website and downloads a page.
* It can be used to perform HTTP/RESTful API calls.
*
* TinyGSM Getting Started guide:
*   http://tiny.cc/tiny-gsm-readme
*
**************************************************************/
// Select your modem:
#define TINY_GSM_MODEM_SIM800
// #define TINY_GSM_MODEM_SIM808
// #define TINY_GSM_MODEM_SIM900
// #define TINY_GSM_MODEM_A6
// #define TINY_GSM_MODEM_A7
// #define TINY_GSM_MODEM_M590
// #define TINY_GSM_MODEM_ESP8266
#define TINY_GSM_MODEM_BG96
// Increase RX buffer if needed
//#define TINY_GSM_RX_BUFFER 512
#include <TinyGsmClient.h>
// Uncomment this if you want to see all AT commands
//#define DUMP_AT_COMMANDS
// Uncomment this if you want to use SSL
//#define USE_SSL
// Set serial for debug console (to the Serial Monitor, default speed 115200)
#define SerialMon Serial
// Use Hardware Serial on Mega, Leonardo, Micro
#define SerialAT Serial1
// or Software Serial on Uno, Nano
//#include <SoftwareSerial.h>
//SoftwareSerial SerialAT(2, 3); // RX, TX
// Your GPRS credentials
// Leave empty, if missing user or pass
const char apn[]  = "YourAPN";
const char user[] = "";
const char pass[] = "";
// Server details
const char server[] = "vsh.pp.ua";
const char resource[] = "/TinyGSM/logo.txt";
#ifdef DUMP_AT_COMMANDS
 #include <StreamDebugger.h>
 StreamDebugger debugger(SerialAT, SerialMon);
 TinyGsm modem(debugger);
#else
 TinyGsm modem(SerialAT);
#endif
#ifdef USE_SSL
 TinyGsmClientSecure client(modem);
 const int  port = 443;
#else
 TinyGsmClient client(modem);
 const int  port = 80;
#endif
void setup() {
 // Set console baud rate
 SerialMon.begin(115200);
 delay(10);
 // Set GSM module baud rate
 SerialAT.begin(115200);
 delay(3000);
 // Restart takes quite some time
 // To skip it, call init() instead of restart()
 SerialMon.println(F("Initializing modem..."));
 modem.restart();
 String modemInfo = modem.getModemInfo();
 SerialMon.print(F("Modem: "));
 SerialMon.println(modemInfo);
 // Unlock your SIM card with a PIN
 //modem.simUnlock("1234");
}
void loop() {
 SerialMon.print(F("Waiting for network..."));
 if (!modem.waitForNetwork()) {
   SerialMon.println(" fail");
   delay(10000);
   return;
 }
 SerialMon.println(" OK");
 SerialMon.print(F("Connecting to "));
 SerialMon.print(apn);
 if (!modem.gprsConnect(apn, user, pass)) {
   SerialMon.println(" fail");
   delay(10000);
   return;
 }
 SerialMon.println(" OK");
 SerialMon.print(F("Connecting to "));
 SerialMon.print(server);
 if (!client.connect(server, port)) {
   SerialMon.println(" fail");
   delay(10000);
   return;
 }
 SerialMon.println(" OK");
 // Make a HTTP GET request:
 client.print(String("GET ") + resource + " HTTP/1.0\r\n");
 client.print(String("Host: ") + server + "\r\n");
 client.print("Connection: close\r\n\r\n");
 unsigned long timeout = millis();
 while (client.connected() && millis() - timeout < 10000L) {
   // Print available data
   while (client.available()) {
     char c = client.read();
     SerialMon.print(c);
     timeout = millis();
   }
 }
 SerialMon.println();
 // Shutdown
 client.stop();
 SerialMon.println(F("Server disconnected"));
 modem.gprsDisconnect();
 SerialMon.println(F("GPRS disconnected"));
 // Do nothing forevermore
 while (true) {
   delay(1000);
 }
} 

Android things driver for wislte

Credits

Naresh krish

Naresh krish

22 projects • 59 followers
Maker, Hacker, Guitarist, Full time Android and iOS Dev.

Comments

Add projectSign up / Login