Git Product home page Git Product logo

ais_nb_bc95's Introduction

Library Version

AIS NB-IoT Library

AIS NB-IoT Library is designed to work with DEVIO NB-SHIELD I and DEVIO NB-SHIELD I Plus and connect to your own IoT Platform/Server. The library uses Software Serial for communication with the Arduino board.

For MEGA, connect GPIO8 to GPIO48 and GPIO09 to GPIO46.

Function List

General Functions

  • debug(<Boolean>): Prints log on Serial Monitor if True, otherwise no log will be printed.
  • setupDevice(<serverPort>): sets up the device.
  • getDeviceIP(): returns the IP as a string.
  • str2HexStr(< String data>): returns the string data as a hex string.
  • pingIP(serverIP): returns pingRESP with values addr, ttl, and rtt.

Send Data

  • sendUDPmsgStr(<serverIP>,< serverPort>,<udpData>): sends a string message with a maximum size of 512 bytes.
  • sendUDPmsg (<serverIP>,< serverPort>,<udpDataHEX>): sends a hex string message with a maximum size of 512 bytes.

Receive Data

  • waitResponse(): returns UDPReceive with values ip_address, port, length, data, and remaining_length.

Device Compatibility

DEVIO NB-SHIELD I | DEVIO NB-SHIELD I Plus

DEVIO NB-SHIELD I and DEVIO NB-SHIELD I Plus are extension boards for Arduino UNO R3 with a compatible pinout. For pinout information, please visit "www.ais.co.th/aiap" in the "IoT Dev Center" menu.

Specifications

  • Communication Module: Quectel BC95 / Quectel BC95-G
  • Network Technology: LTE Cat. NB1 (NB-IoT)
  • Frequency: Band 8 (900MHz)
  • Data Transmission: Single tone, downlink 24 kbps, uplink 15.625 kbps
  • Protocol Stack: UDP, CoAP
  • Serial Communication (UART): Hardware Serial RX on GPIO0 and TX on GPIO1; Software Serial RX on GPIO8 and TX on GPIO9.
  • Dimensions: 54 x 74 x 29 mm (width x length x height, excluding antenna)
  • Additional Features: NB-IoT Module Reset Button, Power Status LED.
  • NB-IoT Module Certification: NBTC, CE, CCC, SRRC, NAL, GCF

Getting Started

  1. Connect DEVIO NB-SHIELD I or DEVIO NB-SHIELD I Plus to your Arduino board.
  2. Code and compile using the Arduino Desktop IDE:
    • Install the Arduino board drivers.
    • Import the AIS NB-IoT Library from the Library Manager.
    • Open the AIS NB-IoT Example and specify your server IP and port.
    • Compile and upload the code.

สนใจสั่งซื้อ DEVIO NB-Shield I Plus ได้ที่ AIS online store หรือ AIS Playground
สอบถามข้อมูลเพิ่มเติม ติดต่อ DEVIO FB Fanpage

ais_nb_bc95's People

Contributors

ais-deviceinnovation avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ais_nb_bc95's Issues

getIMEI

Hi, this code for getIMEI function work much better for me.

String AIS_NB_BC95:: getIMEI()
{
String data = "";
_Serial->println(F("AT+CGSN=1"));
AIS_NB_BC95_RES res = wait_rx_bc(3000,F("+CGSN"));
if(res.status)
{
data = res.data;
int index = data.indexOf(F(":"));
int index2 = data.indexOf(F("\r"));
data = res.data.substring(index+1,index2);

}else {data = "";}
res = wait_rx_bc(500,F("OK"));
return data;

}

ขอคำแนะนำเรื่อง ปัญหาการเชื่อมต่อสัญญาณ ครับ

ผมติดตั้งอุปกรณ์ ในพื้นที่ พบปัญหาว่า ค่า RSSI ออกมาเกิน -100 แล้วสถานี จะมีปัญหา ขาดการติดต่อ หรือส่งข้อมูลไม่ครบ อยากรบกวนแนะนำแนวทาง แก้ไขปัญหาดังกล่าว หรือ มีเสารับสัญญาณ แนะนำไหมครับ

ขอบคุณครับ

Library comply failed

I tried to verify example code in Arduino IDE Version 2.1.0 as per following:

#include <AIS_NB_BC95.h>


String serverIP = "my.ip.add.ress"; // Your Server IP
String serverPort = "myport"; // Your Server Port

String udpData = "HelloWorld";

AIS_NB_BC95 AISnb;

const long interval = 20000;  //millisecond
unsigned long previousMillis = 0;

long cnt = 0;
void setup()
{ 
  AISnb.debug = true;
  
  Serial.begin(9600);
 
  AISnb.setupDevice(serverPort);

  String ip1 = AISnb.getDeviceIP();  
  delay(1000);
  
  pingRESP pingR = AISnb.pingIP(serverIP);
  previousMillis = millis();

}
void loop()
{ 
  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis >= interval)
    {
      cnt++;     
           
      // Send data in String 
      UDPSend udp = AISnb.sendUDPmsgStr(serverIP, serverPort, udpData+String(cnt));
   
      //Send data in HexString     
      //udpDataHEX = AISnb.str2HexStr(udpData);
      //UDPSend udp = AISnb.sendUDPmsg(serverIP, serverPort, udpDataHEX);
      previousMillis = currentMillis;
  
    }
  UDPReceive resp = AISnb.waitResponse();
     
}

But always got this error from Arduino IDE

AIS_NB_BC95.h:84:3: error: 'signal' does not name a type
   signal getSignal();
   ^~~~~~

exit status 1

Compilation error: exit status 1

Even I try to change library version to 1.0.0 or 1.0.5. This error still occurred.

request file get network status

i'm sure, i can see getnetworkstatus in AIS NB BC95 libraries
and than this file is not found in my laptop
feedback to me please

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.