Skip to content

Mobile app built with Expo and React Native that allows users to interact with TP-Link Tapo cameras using NFC technology

Notifications You must be signed in to change notification settings

displaynone/taponfc

Repository files navigation

Tapo NFC

Tapo NFC is a mobile app built with Expo and React Native that allows users to interact with TP-Link Tapo cameras using NFC technology. With this app, you can register a Tapo camera, enable or disable it while connected to the same local network, write an NFC tag, and use that tag to toggle the camera status with a single tap.

Tapo NFC

Features

  • Camera Registration – Connect and save credentials to interact with your Tapo camera securely.
  • Enable/Disable Camera – Toggle the privacy mode of your Tapo camera remotely.
  • Write NFC Tag – Program an NFC tag to link it with the app and trigger actions.
  • NFC Tag Interaction – Tap the tag to automatically enable/disable the camera.
  • Deep Linking Support – NFC tags or links can launch the app directly to toggle the camera.

Installation & Setup

1. Clone the project

git clone https://github.com/your-username/tapo-nfc.git
cd tapo-nfc

2. Install dependencies

npm install

3. Setup environment variables

Create a .env file if needed. The INTENT_* variables are used to configure Android intent filters under android -> data -> intentFilters in app.config.js:

EAS_PROJECT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ROUTER_ORIGIN=taponfc://
INTENT_ENABLED=true
INTENT_HOST=your-site.com
INTENT_PATH_PREFIX=/taponfc

4. Run prebuild (once)

npm run prebuild

Running the App on Android

To launch the app on a connected Android device or emulator:

npm run android

Make sure your device is connected and USB debugging is enabled.

Build Commands (EAS)

Build the app for different purposes using EAS:

Local Production Build (APK)

npm run eas:build:local

This will generate a .apk in ./build/latest.apk.

Cloud Preview Build

npm run eas:build:preview

For internal preview builds (usually with QR codes via EAS).

Cloud Production Build

npm run eas:build

Use this for your release builds.

NFC + Deep Linking

  • NFC tags should be written with a deep link like: taponfc://toggle
  • The app is configured with a custom scheme (taponfc) to automatically handle links and open the relevant screen.
  • You can also use Android App Links with a domain (e.g. https://yourdomain.com/taponfc) for automatic launch via browser or NFC.

Technologies Used

License

MIT © 2025 — Luis Sacristán

About

Mobile app built with Expo and React Native that allows users to interact with TP-Link Tapo cameras using NFC technology

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published