Fixing ISP W-LAN security

A few days ago my ISP Unitymedia informed me that they will activate a hotspot on the router provided by them. Receiving this letter triggered some red security alert in my brain. So i called the customer support if there is any possibility of seeing the used configuration, current users or anything else on my router. Answer: “No, there isn’t”. Also, i raised concerns about the implications they give in the letter like: “There will be no limitation in your surfspeed, because public hotspot users don’t share the bandwidth with you”. My concern was, that it may be true and doable that the public users don’t share my internet bandwidth but it is technical impossible that my W-LAN will work at full speed with that many users. Answer: “Don’t care that much, everything will be fine, time will tell”.

Clearly that wasn’t a satisfying situation or answer and i needed to do something. Unfortunately there is currently no way to legally manipulate the software or the hardware on the craphardware (TC7200) unitymedia force me to use.

So i came up with pretty lowtech solution to this problem. I present to you:

The ultimate W-LAN Security Device

2016-06-01 19.52.00

(Patent pending)

Installation

Stick one thing in the other. If you not know how to do this, ask your dad. ;)

Come one, even the average service technican could do that.

Come one, even the average service technican could do that.

Results

Build pictures

Posted in Uncategorized | 1 Comment

Building a connected nesting box network. Part 5

The boxes build we decided to deploy 3 of the boxes in the forest. (1 RPi Master, 2 Slave nodes). The nesting boxes were already prepared a few months in before and it was just a matter of placing them in the nesting boxes and connect everything together.

The nesting boxes are running since then, in the middle of a forest, without much problems. We needed to replace the mobile stick on the RPi one time and have some trouble with the mobile connecting depending on weak signal and weather. Which isn’t much of a problem because the RPi caches the pictures and uploads them as soon a mobile connection is established.

The nesting places itself are empty at the moment and there isn’t much we can do about that other then wait.

“Real time” pictures: RPi Master, Slave node 1, Slave node 2 and  Garden nesting box.

We also decided to use the last year prototype again this year in a great tit nesting box, located in the garden, which yields more satisfying results.

Update on the garden nesting box:

Bird is gone. Bye bye little bird. ;( We removed the garden nesting box. We will rebuild the lightning system and readjust the camera lense.  Hopefully a second breed will follow in this box this year.

tweet tweet

Posted in Nesting box | 10 Comments

Building a connected nesting box network. Part 4

After we got the breadboard prototype running it was time to choose an enclosure and design a PCB to get everything together. For the board we choose not getting bigger as 10x10cm to keep costs down.

The enclosure

We searched for a waterproof enclosure which should house booth the solar charging regulator and the pcb. This project box turned out as a perfect fit.

project-box

The PCB

The PCB was designed to fit into the enclosure and hold most of the components from the breadboard. It was designed in KiCAD and ordered on smart-prototyping.

This was the first PCB designed by me, but it turned out very well.

Some pictures of the finished nodes in the boxes

Note that on the last 2 pictures the RPi box is on the lower right side. It’s basically the same PCB repurposed. Instead of a pluged in Arduino pro mini its connected through jumper wires to the GPIO.

Posted in Nesting box | 1 Comment

Building a connected nesting box network. Part 3

After deciding with which camera we go, we began to build our first Breadboard prototype.

Feature List

  • Solar-powered
  • µC: Arduino Pro Mini 8Mhz@3.3V with MySensors OTA Bootloader
  • Camera: Arducam Mini, power controlled by µC
  • RF: nrf24l01+ PA/LNA
  • Snapshot triggered by PIR
  • IR LED lightning
  • Internal and external Temperature measurement
  • Battery voltage measurment
  • Software: MySensors

The solar setup

Our initial solar setup for the Arduino nodes consisted of a regular 10Watt solar panel, the Steca Solsum F 6.6F solar charger, a 12V 12Ah lead-acid battery and a LM2596 switching voltage regulator to supply the 3.3V working voltage.

Later on we replaced the 10Watt panel through a 20Watt panel to get more juice out of it. Also cheap LM2596 voltage regulators weren’t probably the best choice by energy consumption and noise. We countered the noise problem later on with shielding the RF module and placing an LC-Filter in between.

The microcontroller

The microcontroller is a pretty standard Arduino pro mini 8Mhz@3.3V china clone. The onboard voltage regulator and the LEDs are removed from the PCB in order to save energy. The standard Arduino bootloader is replaced by the MySensor OTA Bootloader. The OTA Bootloader allows you to reflash your firmware over the air on the nrf24l01+ link.

The Radio

As radio we chose the nrf24l01+ pa/lna module. On the paper the nrf24l01+ pa/lna module looked like a perfect fit. It promise 2Mbps on a range of about 1000 meters, and after dirty fixes, it holds what it promise. In Tests we got a stable link on about 900 meters free line of sight. The datarate itself is limited by settings (Auto-ACK), software and Microcontroller speed. In the beginning we got about 5kb/s out of it. With the modification of the RF24 library and slight modification on the MySensors library we got about 20kb/s, which is good enough. The reason for this is processing speed limitations on the microcontroller, although there are probably still a few points that could be improved.

Switching the camera on and off + lightning

The promised energy saving methods on the Arducam mini weren’t as good as promised. Working current was about ~90mA as promised but low power current was still ~40mA, which was way to high. Placing a N-Channel MOSFET to cut GND from the cam wasn’t effective, the cam was still sourcing arround 30mA with disconnected GND. So we took the long way. Placing a P-Channel MOSFET in front of the cam, pulling the Gate high with a resistor and pulling it down, on demand, with a N-Channel MOSFET connected to the µC.

Arducam-mini-mosfet

The IR-LEDs are directly powered by the 12V. 8 LEDs in a row controlled by a 2N7000 N-Channel MOSFET.

IR-LEDs-schematics

The PIR

As PIR we choose the widley available and cheap HC-SR501, modificated to run on 3.3V.

Internal and external Temperature

The internal temperature of the nodes are done by the internal atmega328p thermometer. External measurement is done with a TMP36, connected to a analog input. Will probably later replaces by a ds18b20.

Battery voltage measurement

The battery voltage measurement is done directly on the arduino pro mini. To get the voltage down from 12V to a measurable level, we used a simple voltage divider.

Old picture of the breadboard prototype:

breadboard-prototype

 

Posted in Nesting box | Leave a comment

Building a connected nesting box network. Part 2

Finding a camera module that would work with Arduino pro mini was at first sight the hardest part of the project, but after a little bit of search we found the TTL Serial JPEG Camera on Adafruit.

TTL Serial JPEG Camera

Serial TTL CameraThe “TTL Serial JPEG Camera” is, as the name suggests, a Camera which can take and transmit jpeg pictures over UART. We ordered a camera module from AliExpress, the SCB-1.

 

 

Relevant Specifications

  • Image size: VGA(640*480), QVGA(320*240), QQVGA(160*120)
  • Interface: UART
  • Interface speed: Default 38400, Maximum 115200 Baudrate
  • Operation Voltage: 3.3V-5V
  • TTL-Level: 3.3-5V
  • Current Draw: 90mA
  • Price: 15-16€

One of my first code examples for the TTL Serial Camera in combination with the MySensors library is documented in the MySensors forum on 30. Juli 2015.

But shortly after we got the TTL Serial JPEG Camera up and running we discovered the Arducam Mini, which looked promising and more powerful, so we also ordered it.

Arducam Mini

Arducam-MiniThe Arducam Mini is a Arduino Camera module consisting of the OV2640 2MP, the FPGA ALTERA MAX II and an SPI FIFO Buffer. Basicly the FPGA reads out the OV2640 pushes the Data to the FIFO Buffer from which the Arduino can read read the data byte by byte. The registers on the OV2640 can be directly controlled through the I²C interface.

 

Relevant Specifications

  • Image size: 1600*1200, 1280*1024, 1024*768, 800*600, 640*480, 320*240, 160*120
  • Interface: I²C & SPI
  • Interface speed: 8MHz
  • Operation Voltage: 3.3V-5V
  • TTL-Level: 3.3-5V
  • Current Draw: 90mA
  • Price: 23-24€

The code for the Arducam mini is similar to the code for the Serial Camera, expect the camera parts. This can be simply derived from the ArduCam Mini code examples.

Conclusion

We decided to go with the ArduCam Mini. The little bit higher price is justified by the far better image resolution and faster image transfer rate.

Posted in Nesting box | 2 Comments

Building a connected nesting box network. Part 1

Info: This is Part 1 of a not yet defined number of Parts about building a connected nesting box network.

Prolog

In April 2015 a friend and me build a connected nesting box to observe the inner life of it. The box itself was a standard great tit nesting box with a hole in the roof. On the box sat a PVC waste pipe which housed a Raspberry Pi connected to the RPi NOIR Camera. A UMTS USB Stick and some IR LEDs were also in the pipe. Outside the pipe we fitted a solar panel and a battery to buffer the solar energy.

11169959_832010546880831_778028377463003351_n

Everything worked well and the project was a great success. But in Jule 2015 we decided to go a step further and build 3 to 4 more observing boxes to try to observe the endangered boreal owl in the free wild.

The idea

We realized that building 3 to 4 more of these systems would be a pricey matter (and also boring). The Pi with camera and UMTS Stick isn’t that expensive but the huge amount of energy the Pi consumes, even in standby, requires a equivalent big solar panel and battery.

Luckily i was experimenting at this time with the MySensors network, a cost efficient way of building your own sensor-network. The sensor nodes itself are very power efficient and just consist of a atmega328pu, a nrf24l01+ module and the sensors you want. The nrf24l01+ pa/lna modules can reach up to 1km @ 2mbps in free line of sight and expect of a missing compatible camera it seemed like a overall good fit.

So a new idea was born:

  1. Repurposing the predecessor project (the Pi nesting box) as central point to receive/save pictures and upload them to the internet (gateway).
  2. Design smaller µC powered camera nodes to take pictures and send the resulting snapshots over the nrf24l01+ pa/lna network to the gateway.

Nestingbox Network Concept

Posted in Nesting box | 4 Comments

Building a LC-Filter for your nrf24l01+ pa/lna module

Follow up on Fixing your cheap nrf24l01+ pa/lna module.

Theory

The LC-Filter is a low pass filter and,  like the name suggests, consist of a inductance (L) combined with a capacitance (C). In our case the 3.3µH choke and the 220µF capacitor.

A low pass filter will filter out high frequencies, like the 50 kHz ripple that a cheap switching  voltage regulator generates, and will let pass low frequencies, like the 3.3V DC (0 Hz) you want.

Material

axial-lead-inductorBecause the ripple generated by the switching voltage regulator has a relativ high frequencies of about 50 kHz you can use a small and cheap Axial lead inducter like the one shown left. (The ~50kHz are generated by cheap LM2596s clones, better devices have higher switching frequencies.)

 

  1. 3.3µH Axial lead inducter
  2. 220µF capacitor

Building

Building a LC-Filter is easy you can place the LC-Filter on a tiny bit of prototype board, design it into your circuit or solder it directly into a piece of wire. Refer to the schematics below.

lc-filter-schem

Simulation

Low pass filter example in circuitjs.

Note: The typical noise sourcing from a cheap switching regulator will probably be higher then 25khz (more like 50khz and above) and lower in ripple then 1Volt (more like 0.1-0.2V) but the simulator is limited in its functionality and never the less it demonstrates quite well how the LC-Filter works.

Posted in ugly fix | 3 Comments

Fixing your cheap nrf24l01+ pa/lna module

nrf24l01+pa+lnaThe typical cheap nrf24l01+ pa/lna is sensitive to noise, badly shielded and energy hungry. Chinese sellers advertising them with “wireless communication up to 1000 meters!”. In reality although you can call yourself lucky if you reach with a unmodified module 10 meters.

Luckily, you can fix this.

Add a proper power regulator

By example you could use the switching LM2596 DC-DC power regulator. The pa/lna module need 120mA minimum on maximum power output. Make sure your regulator delivers enough current and to connect GND between your external regulator and your RPi/Arduino/µC/whatever. Better, if possbile, would be a linear power regulator. A linear power regulator doesn’t have the problem of output ripple.

Get rid of the noise from your power source

lc-filter

LC-Filter

In case you bought a cheap switching power regulator (like LM2956s china clones) you probably now got a lot of noise on your power rail. Filter this out with a simple LC-Filter. A 3.3µH chocke in combination with a 220µF capacitor should do the job.Just solder it on a little bit of prototype board and connect it right behind your voltage regulator.

Because people asked, see: Building a LC-Filter

 

Shield your module

The normal nrf24l01+ pa/lna is terrible unshielded. But there is an ugly fix for that. Simply wrap it up in cling film to prevent short cuts and after that in adhesive tinfoil.

Note: The tinfoil touches the ground from the antenna connector.

Pick the right channel

It is important to pick a good channel for your RF Network. The RF24 scanner can help you with this. Keep in mind that random sources like microwaves, by example, can disturb the performance of some channels, try a little bit which channel performs the best for you.

Results

With this modifications i got about 1000m free line of sight out of the modules. In a forest non free line of sight i measured about 270m, but this are probably not the maximal ranges possible. I need to test further.

Any question, comments or success storys? Let me know in the comments. :)

Posted in ugly fix | 20 Comments