Skip to content

Commit f78a9e5

Browse files
committed
new post
1 parent 11807ce commit f78a9e5

File tree

7 files changed

+235
-0
lines changed

7 files changed

+235
-0
lines changed
Lines changed: 235 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
---
2+
title: Casual commercial surveillance
3+
style: fill
4+
color: info
5+
description: Installing and configuring a simple home surveillance camera
6+
---
7+
8+
Let's explore practical and secure low-cost home surveillance options.
9+
10+
---
11+
12+
# Introduction
13+
14+
After weighing many options — **DIY Raspberry Pi cameras**, **solar IP cams**, **commercial "plug-and-play" cameras**, even **contracted surveillance services** — this post kicks off a small series about *realistic, budget-friendly home surveillance setups*.
15+
16+
In this first entry, I'll cover the **"casual commercial"** route: an off-the-shelf Wi-Fi camera one can find [online](https://es.aliexpress.com/i/1005009621892310.html) (I bought it on Wallapop), managed entirely through a mobile app.
17+
18+
Other (future) posts will cover the DIY (RasPi Cam) and solar setups, among others.
19+
20+
---
21+
22+
# The device: a V720 E27-type camera
23+
24+
I picked up a **cheap 10 € E27 screw-base camera** (light-bulb style) on Wallapop.
25+
It connects to the **V720 app**, made by *广州钱柜物联科技有限公司*, which has **5 M+ downloads**.
26+
27+
![camera1](../assets/blog_images/2025-10-17-casual-commercial-surveillance/camera1.png)
28+
29+
---
30+
31+
## What I discovered when connecting it
32+
33+
Setup was simple: connect the camera to the 2.4 GHz Wi-Fi and link it in the app.
34+
From my router's web panel (`http://192.168.1.1/`) I noticed the camera runs **RT-Thread**, a lightweight real-time OS used in many IoT devices.
35+
36+
![router_camara_identificada](../assets/blog_images/2025-10-17-casual-commercial-surveillance/router_camara_identificada.png)
37+
38+
---
39+
40+
## Security observations
41+
42+
While convenient, these low-cost cameras share a few recurring issues:
43+
44+
* Default or weak passwords.
45+
* Cloud connections to unknown third-party servers.
46+
* Outdated firmware or hidden backdoors.
47+
* Unencrypted local services (HTTP / RTSP) and risky UPnP behavior.
48+
49+
![app0](../assets/blog_images/2025-10-17-casual-commercial-surveillance/app0.jpg)
50+
51+
---
52+
53+
# Options I considered
54+
55+
1. **Just connect it to my main Wi-Fi.**
56+
– Fast and easy, but it exposes my entire home network to any camera flaw.
57+
58+
2. **Use an ESP32 as an isolated gateway.**
59+
– Cool idea on paper (camera → ESP32 → router),
60+
but **not worth it in practice**: the ESP32 lacks true routing/firewall features,
61+
and adding it can *increase* the attack surface.
62+
63+
> **Note:** I dropped this approach after testing; the ESP32 is great for prototyping,
64+
> but not for continuous IoT video bridging and a vulnerability dressed as an isolating gateway.
65+
66+
3. **Network isolation at the router level.**
67+
– The solution I kept: manage everything from the router,
68+
creating a dedicated network just for cameras.
69+
70+
---
71+
72+
# Router configuration
73+
74+
Accessed via `http://192.168.1.1/`
75+
(First step: changed the default credentials to a strong, unique password.)
76+
77+
![zte](../assets/blog_images/2025-10-17-casual-commercial-surveillance/zte.png)
78+
79+
### Recommended steps to apply
80+
81+
1. **Changed the admin credentials.**
82+
It is important to never leave factory defaults active.
83+
84+
2. **Disabled remote / WAN management.**
85+
The admin panel must be accessible only from inside the LAN.
86+
87+
3. **Updated the router firmware.**
88+
Critical for patching known vulnerabilities.
89+
90+
4. **(Optional) Created a dedicated "Camera" SSID / VLAN.**
91+
Devices on this network can't see my laptops or phones.
92+
*Client / AP isolation enabled.*
93+
94+
5. **(Optional) Blocked Internet access for that VLAN.**
95+
Only local communication with my NVR is allowed.
96+
97+
6. **Disabled UPnP and WPS.**
98+
These can open ports or pair devices automatically — unsafe defaults.
99+
100+
7. **Forced WPA2 / WPA3 encryption.**
101+
Using a long, unique passphrase.
102+
103+
---
104+
105+
## (Optional) Basic firewall rules (concept)
106+
107+
The goal would be the following:
108+
109+
* **Deny all** outbound traffic from the camera network to the Internet.
110+
* **Allow only** camera → NVR (local) traffic.
111+
112+
```bash
113+
# Example (OpenWRT / iptables)
114+
iptables -I FORWARD -s 192.168.3.0/24 -o eth0 -j REJECT
115+
iptables -I FORWARD -s 192.168.3.0/24 -d 192.168.1.100 -p tcp --dport 554 -j ACCEPT
116+
```
117+
118+
> **Tip:** order matters — specific ALLOWs first, then the general DENY.
119+
120+
---
121+
122+
## Optional: Cellular connectivity, motion detection & edge AI
123+
124+
Besides using local Wi-Fi, it's also possible to equip or pair the camera with **cellular connectivity** (SIM card via 4G/LTE, NB-IoT, or LTE-M). This allows recording or sending alerts even when Wi-Fi is down — or as a fully independent channel.
125+
126+
### Technical overview
127+
128+
A setup like this can work with:
129+
130+
* A **cellular module** connected to the camera or to a small **gateway** (ESP32, Raspberry Pi, etc.).
131+
* A **local buffer** to store short clips or frames before upload.
132+
* **Motion detection** handled locally (basic pixel-difference or bounding-box detection).
133+
134+
This way, one can run a **lightweight AI model** (e.g., TinyYOLO, MobileNet-SSD...) to filter out irrelevant motion — only sending alerts when humans or unusual objects are detected, nested with a simple alert system can send photos directly via Telegram, e.g.:
135+
136+
```
137+
https://api.telegram.org/bot<YOUR_TOKEN>/sendPhoto?chat_id=<CHAT_ID>&photo=<FILE>
138+
```
139+
140+
Or other push alerts like Firebase or Pushover.
141+
142+
---
143+
144+
## Legal note (Spain)
145+
146+
Under Spanish and EU privacy law (AEPD guidelines), **indoor home cameras** used strictly within your private property are generally considered **domestic use**.
147+
That means:
148+
149+
* No need for a public notice sign if the camera doesn't record public areas or neighbors.
150+
* Don't capture audio conversations or external zones (street, shared areas).
151+
* Community or business installations do require signage and compliance with full GDPR/LOPD protocols.
152+
153+
*Summary:*
154+
155+
> If your camera records only inside your home and doesn't capture other people's private areas or the public street, you're typically not required to display a surveillance notice.
156+
> Always disable audio recording and maintain secure access credentials.
157+
158+
---
159+
160+
## Power setup: light socket or dedicated outlet
161+
162+
Currently, the camera is powered from an **existing E27 light socket**, which provides 230 V AC. It's a simple plug-and-play setup since the device behaves like a standard bulb.
163+
164+
### Electrical basics (Spain / EU)
165+
166+
* **Voltage:** 230 V AC, 50 Hz
167+
* **Phase (L):** brown/black — live
168+
* **Neutral (N):** blue — return
169+
* **Earth (PE):** green/yellow — safety ground
170+
171+
The camera consumes aprox. 5.8 W and internally converts AC to DC. The **earth** wire doesn't carry current — it's purely a safety path in case of faults.
172+
173+
### Moving the camera elsewhere
174+
175+
One can extend power from a nearby junction box:
176+
177+
1. Take **L and N** from a lighting circuit (10 A breaker).
178+
2. Add **PE** to the new socket or metal housing.
179+
3. Use an **insulated enclosure** for connections.
180+
4. Test polarity and insulation before re-energizing.
181+
182+
> **Safety tip:** Work only with the circuit powered off with electrical insulating gloves (**IEC 60903**).
183+
> Permanent wiring must comply with Spain's **REBT** standard (grounding, RCD protection, proper insulation, etc.).
184+
185+
### Practical alternative
186+
187+
Of course, if one doesn't want to modify the fixed wiring:
188+
189+
* Use a **lamp extension with a switch**, or
190+
* An **E27-to-Schuko adapter** plugged into a standard outlet.
191+
192+
---
193+
194+
# Conclusion
195+
196+
## Results and impressions
197+
198+
* The camera now works securely **remotely** an the configuration is local.
199+
* The main home network stays partially **isolated and safe**.
200+
201+
> For a 10 € gadget, it does its basic job fine —
202+
> as long as it's treated as an *inherently untrusted device*.
203+
> Isolation is the single most effective control.
204+
205+
Among all considered approaches, the **commercial Wi-Fi camera + router-level isolation** may represent the best balance between **cost, convenience, and security**.
206+
207+
> Upcoming posts will explore:
208+
> – A solar-powered standalone camera build.
209+
> – A fully local encrypted Raspberry Pi camera.
210+
> – Integration with Home Assistant/AI/IoT through VPN access.
211+
212+
Finally, Ojoloco looks like this:
213+
214+
![camera2](../assets/blog_images/2025-10-17-casual-commercial-surveillance/camera2.jpg)
215+
216+
![app](../assets/blog_images/2025-10-17-casual-commercial-surveillance/app.jpg)
217+
218+
---
219+
220+
# References
221+
222+
* Router login / credentials guides:
223+
[https://router-network.com/zte-router-login](https://router-network.com/zte-router-login)
224+
[https://bandaancha.eu/foros/zte-zxhn-f6640-contrasena-administracion-1750092](https://bandaancha.eu/foros/zte-zxhn-f6640-contrasena-administracion-1750092)
225+
226+
* RT-Thread camera discussion:
227+
[Popular A9 Mini Wi-Fi Camera & the HA Challenge – Home Assistant Community](https://community.home-assistant.io/t/popular-a9-mini-wi-fi-camera-the-ha-challenge/230108?page=8)
228+
229+
* General home-network hardening:
230+
– CISA guidelines (UPnP / IoT)
231+
– Consumer Reports: Use WPA3 & keep firmware updated
232+
233+
* [AEPD Guides](https://www.aepd.es/en/guides-and-tools/guides)
234+
235+
* [Popular A9 Mini Wi-Fi Camera & the HA Challenge – Home Assistant Community](https://community.home-assistant.io/t/popular-a9-mini-wi-fi-camera-the-ha-challenge/230108?page=8)
75.1 KB
Loading
55.8 KB
Loading
97 KB
Loading
46 KB
Loading
53 KB
Loading
37.3 KB
Loading

0 commit comments

Comments
 (0)