UNPKG

huawei-wingle-4g

Version:

This is a module NodeJS allowing to drive Huawei Wingle 4G. This module can :

249 lines (175 loc) 5.75 kB
# Overview This documentation treats admin user interface Home page. The module is able to retrieve 3 essential information : * Network * Current connection * WLAN information <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/home.png?raw=true" alt="Home page"/> </p> # Import Home ```js const { HuaweiWingle4G } = require('huawei-wingle-4g'); const username = 'your username on admin user interface'; const password = 'your password on admin user interface'; const huaweiWingle4G = new HuaweiWingle4G(username, password); const home = huaweiWingle4G.getHome(); //Use home for rest of code ``` # Get Network information ```js const network = await home.getNetwork(); ``` Network contains theses informations : * **Signal strength** ```js const strength = network.signal.strength; ``` In the following screenshot, strengh value will be `1`. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/strength.png?raw=true" alt="Strength"/> </p> * **Signal max strength** ```js const maxStrength = network.signal.total; ``` In the following screenshot, max strengh value will be `5`. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/strength.png?raw=true" alt="Max strength"/> </p> * **Phone operator** ```js const phoneOperator = network.operator ``` In the following screenshot, phone operator value will be `TELMA`. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/telma.png?raw=true" alt="Telma"/> </p> * **Network type** ```js const networkType = network.type; ``` In the following screenshot, metwork type value will be `4G`. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/4g.png?raw=true" alt="4G"/> </p> Network type can take one of value : ``` 2G 3G 4G ``` **NB** : An exception will be thrown if it cannot figure out it. * **Network status** ```js const networkStatus = network.status; ``` Network status is an enumeration which is defined by : ```ts // src/model/NetworkStatus.ts enum NetworkStatus { CONNECTING, CONNECTED, DISCONNECTED, DISCONNECTING, STATISTIC_TRAFFIC_EXCEEDED_LIMITED } ``` **NB** : Because it is a TypeScript, after compilation each value of enum will be converted to number. So to work effectively, follow the code style below : ```js const { NetworkStatus } = require('huawei-wingle-4g/lib/src/model/home/NetworkStatus'); //Some code const networkStatus = network.status; switch (networkStatus) { case NetworkStatus.CONNECTED: //Do something break; case NetworkStatus.CONNECTING: //Do something break; case NetworkStatus.DISCONNECTING: //Do something break; case NetworkStatus.DISCONNECTED: //Do something; break; } ``` In the following screenshot, network status will be equals to `NetworkStatus.CONNECTED`. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/connected.png?raw=true" alt="Connected"/> </p> # Get current connection information ```js const currentConnection = await home.getCurrentConnection(); ``` Current connection contains theses informations : * **Duration** ```js const duration = currentConnection.duration; ``` In the following screenshot, duration will be `5810000` ms. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/duration.png?raw=true" alt="Duration"/> </p> **NB** : Duration unit is millisecond. * **Received data** ```js const receivedData = currentConnection.received; ``` In the following screenshot, received data will be `28 206 694` byte. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/received.png?raw=true" alt="Received data"/> </p> **NB** : Received data unit is byte * **Sent data** ```js const sentData = currentConnection.sent; ``` In the following screenshot, send data will be `5 431 623` byte. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/sent.png?raw=true" alt="Sent data"/> </p> **NB** : Sent data unit is byte # Get WLAN information ```js const wlanInformation = await home.getWlanInformation(); ``` It contains theses information : * **WLAN status** ```js const wlanStatus = wlanInformation.status; ``` Wlan status is an enumeration which is defined by : ```ts // src/model/WlanStatus.ts export enum WlanStatus { ON, OFF }; ``` **NB** : Because it is a TypeScript, after compilation each value of enum will be converted to number. So to work effectively, follow the code style below : ```js const { WlanStatus } = require('huawei-wingle-4g/lib/src/model/home/WlanStatus'); //Some code const wlanStatus = wlanInformation.status; switch (wlanStatus) { case WlanStatus.ON: //Do something break; case WlanStatus.ON: //Do something break; } ``` In the following screenshot, wlan status will be equals to `WlanStatus.ON`. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/on.png?raw=true" alt="On"/> </p> * **Users count** ```js const users = wlanInformation.users; ``` In the following screenshot, users count will be `0`. <p align="center"> <img src="https://github.com/razafinarivohanania/huawei-wingle-4g/raw/master/screenshot/home/no-user.png?raw=true" alt="On"/> </p>