Sunday, June 18, 2017

Sharing Internet over Long Range Wireless Serial Connection 433Mhz

I needed to connect a Raspberry Pi Zero to a Linux Server hosted at my house (1km away). I couldn't use WiFi for problems of signal range, for this reason I opted to connect 2 stations with a Wireless Serial Connection by a cheap SiK Telemetry Radio V2 433Mhz (20$).

To create a Peer to Peer TCP/IP connection I used SLIP (Serial Line Internet Protocol).


- Connect a USB Telemetry Radio, with dmesg we check the serial port name
  $ dmesg | grep now attached
- Load a SLIP module
  $ sudo modprobe slip
- Install net-tools for slattach tool
  $ sudo apt install net-tools
- Configure SLIP and attach to a serial port
  $ sudo slattach -L -s 57600 -p slip /dev/####Serial_Port_Name
- On another console create a network interface
   $ sudo ifconfig sl0 dstaddr
- [OPT] Sharing internet connection, follow this link.

On Raspberry Pi Zero:

- Connect a Telemetry Radio on Raspberry Pi Zero Board
- Load a SLIP module
  $ sudo modprobe slip
- Configure SLIP and attach to a serial port
  $ sudo slattach -L -s 57600 -p slip /dev/ttyAMA0
- On another console create a network interface
   $ sudo ifconfig sl0 dstaddr
- Test TCP/IP connection
  $ ping

Simple test Video with 2 Ubuntu Machine:

Saturday, March 11, 2017

Tetrisino - Tetris® clone for Arduino

"Today I really feel like playing Tetris®...well, let's develop it!!"​

A simple tetris clone for Arduino and ST7735/ST7735R TFT display.

View project on GitHub :
To configure ST7735/ST773R follow this guide:

Saturday, June 18, 2016

Live webcam and weather with Raspberry Pi

How did I do?

Connect DHT11 sensor:

Download Adafruit Python scripts:
git clone
cd Adafruit_Python_DHT
Install software:
sudo apt-get update
sudo apt-get install build-essential imagemagick
cd Adafruit_Python_DHT
sudo python install 
Test sensor:
cd examples
sudo ./ 11 4  
28.0 38.0
Connect Raspberry Camera:

As root capture photo & add temperature/humidity/date on jpeg with imagemagick:
DATE=`TZ=Europe/Rome date`
var=`/home/pi/Adafruit_Python_DHT/examples/ 11 4`
temperature=$(echo $var | cut -d' ' -f1)°C
humidity=$(echo $var | cut -d' ' -f2)%

raspistill -n -w 640 -h 480 -q 90 -o capture.jpg
convert -pointsize 15 -fill '#CDCDCD88' -draw "rectangle 0,0 640,20" -fill black -draw "text 90,16 'Casapulla OnLine Live Webcam - Temperatura:'" -fill black -draw "text 402,16 '$temperature'"  -fill black -draw "text 450,16 ' - Umidità:'" -fill black -draw "text 517,16 '$humidity'" -fill '#CDCDCD88' -draw "rectangle 0,460 640,480" -fill black -draw "text 215,475 '$DATE'" capture.jpg webcam.jpg
Upload on the site:
scp webcam.jpg
ssh -x cp /var/www/html/webcam.jpg /var/www/html/last_frame.jpg
Html page:
<head> <title>Live Webcam</title>
<img src="last_frame.jpg?1466267480856" id="myImage">
setInterval(function() {
var myImageElement = document.getElementById('myImage');
myImageElement.src = 'last_frame.jpg?' + new Date().getTime(); },60000); </script>

Friday, April 22, 2016

Meter Bus - interesting links

M-Bus (Meter-Bus) is a European standard (EN 13757-2 physical and link layer, EN 13757-3 application layer) for the remote reading of gas or electricity meters. M-Bus is also usable for other types of consumption meters. The M-Bus interface is made for communication on two wires, making it very cost effective. A radio variant of M-Bus (Wireless M-Bus) is also specified in EN 13757-4. (from Wikipedia)

Master Devices:
Slave Devices: