Code Monkey home page Code Monkey logo

cordova-plugin-smartconfig's Introduction

cordova-plugin-smartconfig

A cordova plugin for Expressif Esptouch protocol which is used to smartconfig esp8266 & ESP32. It's a modified version of original code at https://github.com/xumingxin7398/cordovaEsptouch

Install

cordova plugin add https://github.com/IOCare/cordova-plugin-smartconfig.git

Usage

  1. espSmartconfig.startConfig
//@apSsid,ssid of the wifi,for example: "wifiName"
//@apBssid,bssid of the wifi,for example "b2:05:2f:92" 
//@apPassword,password of the wifi,for example: "wifiPassword" 
//@isSsidHiddenStr,default "NO"
//@taskResultCountStr,the count of device you want to config,for example:1


	espSmartconfig.startConfig(apSsid,apBssid,apPassword,isSsidHiddenStr,taskResultCountStr, function(res) {
	  alert(res);
	},function(error){
	  console.log(error);
	});
  1. espSmartconfig.stopConfig
	espSmartconfig.stopConfig(function(res) {
		console.log(res);
	}, function(error) {
		console.log(error);
	});
  1. espSmartconfig.getNetworklist([options], listHandler, fail);

Retrieves a list of the available networks as an array of objects and passes them to the function listHandler. The format of the array is:

networks = [
    {   "level": signal_level, // raw RSSI value
        "SSID": ssid, // SSID as string, with escaped double quotes: "\"ssid name\""
        "BSSID": bssid // MAC address of WiFi router as string
        "frequency": frequency of the access point channel in MHz
        "capabilities": capabilities // Describes the authentication, key management, and encryption schemes supported by the access point.
    }
]

Example usage:

	espSmartconfig.getNetworklist({numLevels: false}, $scope.listHandler, $scope.fail);


	$scope.listHandler = function(ssids) {
		console.log(ssids.SSID);
		console.log(ssids.BSSID);
	};

	$scope.fail = function(e) {
		console.log(e);
	};


An options object may be passed. Currently, the only supported option is numLevels, and it has the following behavior:

if (n == true || n < 2), *.getNetworklist({numLevels: n}) will return data as before, split in 5 levels; if (n > 1), *.getNetworklist({numLevels: n}) will calculate the signal level, split in n levels; if (n == false), *.getNetworklist({numLevels: n}) will use the raw signal level;

#Warning

You must call "espSmartconfig.stopConfig" when you want to stop the config,if not "espSmartconfig.startConfig" won't work if called next time.

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.