
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
rn-esptouch
Advanced tools
This is a Unofficial project. The official demo is below:
$ npm install rn-esptouch --save
$ react-native link rn-esptouch
Libraries ➜ Add Files to [your project's name]node_modules ➜ rn-esptouch and add RNEsptouch.xcodeprojlibRNEsptouch.a to your project's Build Phases ➜ Link Binary With LibrariesCmd+R)<android/app/src/main/java/[...]/MainActivity.javaimport com.rickl.rn.esptouch.RNEsptouchPackage; to the imports at the top of the filenew RNEsptouchPackage() to the list returned by the getPackages() methodandroid/settings.gradle:
include ':rn-esptouch'
project(':rn-esptouch').projectDir = new File(rootProject.projectDir, '../node_modules/rn-esptouch/android')
android/app/build.gradle:
compile project(':rn-esptouch')
react-native-permissions react-native-android-location-service
import React, { Component } from "react";
import { Platform, StyleSheet, Text, Button, View, DeviceEventEmitter } from "react-native";
import RNEsptouch from "rn-esptouch";
import Permissions from "react-native-permissions";
import RNAndroidLocationService from "react-native-android-location-service";
export default class App extends Component {
constructor(props) {
super(props);
this.onPress = this.onPress.bind(this);
}
state = {
lng: 0.0,
lat: 0.0
};
//request permission to access location
requestPermission = () => {
Permissions.request("location").then(response => {
//returns once the user has chosen to 'allow' or to 'not allow' access
//response is one of: 'authorized', 'denied', 'restricted', or 'undetermined'
this.setState({ locationPermission: response });
});
};
onLocationChange(e) {
this.setState({
lng: e.Longitude,
lat: e.Latitude
});
}
componentDidMount() {
this.requestPermission();
if (!this.eventEmitter) {
// Register Listener Callback - has to be removed later
this.eventEmitter = DeviceEventEmitter.addListener("updateLocation", this.onLocationChange.bind(this));
// Initialize RNGLocation
if (Platform.OS === "android") {
RNAndroidLocationService.getLocation();
}
}
RNEsptouch.initESPTouch();
}
componentWillUnmount() {
// Stop listening for Events
this.eventEmitter.remove();
RNEsptouch.finish();
}
onPress() {
let connected_wifi_password = "12345678";
let broadcast_type = 1; // 1: broadcast; 0: multicast
RNEsptouch.startSmartConfig(connected_wifi_password, broadcast_type).then(res => {
if (res.code == 200) {
// ESPTouch success
console.log(res);
} else {
// ESPTouch failed
console.info(res.msg);
}
});
}
render() {
return (
<View>
<Text>
Lng: {this.state.lng} Lat: {this.state.lat}
</Text>
<Button title='test' onPress={this.onPress} />
</View>
);
}
}
FAQs
React-native wrapper of the ESPTouch
We found that rn-esptouch demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.