1.0.4 • Published 8 months ago

sim800js v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

sim800

NodeJS Library for SIM800 Module

Currently support only receiving and sending messages. Making and answering calls is not supported.

Installation

Using npm:

npm install --save sim800

Using yarn:

yarn add sim800

Ussage

API

Import

ES6:

import { SIM800 } from 'sim800js';

CommonJS:

const { SIM800 } = require('sim800js');

Constructor

  const sim800 = new SIM800('/dev/ttyUSB0');

Open

Open function don't accept arguments and return boolean promise.

true - success false - failed

open(): Promise<boolean>

Close

Close connection to sim800.

close(): Promise<boolean>

true - success false - failed

Handshake

Send AT command. Not required, but recommended to sync baud rate.

true - success false - failed

sendHandshake(): Promise<boolean>

Signal Quality

Get signal quality. Returns promise resolved to number from 0 to 30. Bigger is better.

getSignalQuality(): Promise<number>

Sim Info

Get SIM info.

getSimInfo(): Promise<string>

Send Message

Send SMS. First argument phone number starting with country code. Second argument message text.

true - success false - failed

sendMessage(phone: string, text: string): Promise<boolean>

Receive Message

Register callback for receiving messages. Callback have two arguments. First is phone number, second is message text.

onReceiveMessage(callback: ReceiveMessageCallback): void

Examples

import { SIM800 } from 'sim800js';

const echo = async () => {
  const sim800 = new SIM800('/dev/ttyUSB0', {
    baudRate: 115200,
  });

  const isOpen = await sim800.open();
  if (isOpen) {
    console.log('Cannot open connection');
    return;
  }

  const handshake = await sim800.sendHandshake();
  if (!handshake) {
    console.log('Communication with SIM800 failed');
    return;
  }

  sim800.onReceiveMessage(async (phone, message) => {
    console.log(`Received ${message} from ${phone}`);
    const isOk = await sim800.sendMessage(phone, message);
    if (!isOk) {
      console.log(`Failed to send messgae ${message} to ${phone}`)
    }
  });
}
1.0.4

8 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

8 months ago