Posts

Digital Photo Frame

What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

Have you ever got Photo frame on your desk or have you given photo frame to your parents or friends as a gift?

I guess you had it before or planning to do it later. 

 

Then what about making awesome digital photo frame at this time? 

This gonna be lots of fun and even unforgettable present to whom you're going to give. 

 

Let's get into it! 🙂

What we need

Here is the list we need to make Digital Photo Frame. 

 

  • Hardware Side
  1. Raspberry Pi with SD card
  2. Display - monitor or small LCD with controller board
  3. Wooden or plastic photo frame
  4. A few thick papers for making frame design better. 🙂
  5. Short HDMI cable to connect Raspberry Pi and Controller board

 

  • Software side
  1. Digital Photo frame raspbian image for easier work
  2. Google account (Google Photo)
  3. Some photos to show (from Google Photo)
  4. Configuration and Test!

 

How we do (Hardware)
  • Prepare photo frame and cut paper to make it fit to small monitor for better looking if needed

 

  • Connect monitor to controller board and put all the stuff into photo frame

 

  • Back of the photo frame, attach properly controller board and raspberry pi zero on it

 

  • Connect raspberry pi zero with controller board with HDMI ports

 

How we do (Software)

In software side, we're very lucky as Henric Andersson, he already releases periodically useful raspbian images. 

so we can use this image for easier steps, but there still are some configuration steps we need to do.

 

First of all, you should prepare Raspberry Pi with OS.

 

Please click the following button to look into other posts for prerequisite lessons.

 

Prepare RaspberryPi

 

but please note that we're going to use different OS image this time with his photoframe one.

 

Please click here to download the recent PhotoFrame image for Raspberry Pi.

(At current time, 2019 vesion available.)

 

so, now we're ready to boot our Raspberry Pi with Photo frame Image. Let's do initial setup then.

 

  1. Edit 'wifi-config.txt' for your wifi ssid and password
  2. Edit 'http-auth.json' or just leave if you want to use the default one. (By default the username is photoframe and the password is password)
  3. Boot and do initial setup
  4. Setting up Google Photo

For more details, you can check and follow the details here

Still shots Outcome

Home Automation – RFM69 Gateway Setup

What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

I believe you have already installed OpenHAB on your Raspberry Pi and also configured your Home Automation Server (OpenHAB) properly. Is this right to you? 🙂 

 

Then as next step, we should integrate RFM Gateway to your Raspberry Pi so that Home Automation Server can receive packets via RFM Gateway! 

 

If not, please click the below button to see how to install and configure Home Automation Server on your Raspberry Pi.

Home Automation

How we do (Hardware)

We need to connect RFM69 module and Raspberry Pi. 

It might depends on what kind of Raspberry Pi you have, but here i would like to explain with Raspberry Pi 2 Model B.

 

How we do (Software)

Please note that if you buy the kit, the included micro SD card has already pre-made image in it.

so you don't need to do anything. just insert it and play.

 

However, if not or you want to follow steps and learn how software parts works,

please find the enclosed documents or instruction for further details.

 


 

  • Sneak peek on Software part

 

First of all, you should prepare Raspberry Pi.

Please click these buttons to look into other posts for prerequisite learnings.

 

Prepare RaspberryPi

 

Once your Raspberry Pi is ready,

 

1. Connect the RFM69 to the Raspberry PI
2. Install Git core
3. Download WiringPi
4. Build WiringPi
5. Setup SPI interface, using raspi-config
6. Install Mosquitto and the development libraries
7. Clone the gateway
8. Compile the gateway
9. Launch the gateway
10. Install Daemon

 

The full details are explained in the enclosed docs. (HowToSetupRFMGateway.txt)

Still shots Outcome

Arduino – Automatic Fish Feeder

What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

From the previous Arduino - Servo post, we've already learned how to run Servo motor with Arduino.

if not, just click the following button and take a look at the post to see what you can do. 🙂

 

Arduino Servo

 

Once you're ready to go further with Servo motor, now we can start. 🙂

From this post, we're going to make 'Automatic Fish Feeder' using Arduino and Servo.

 

Are you already excited? Let's dive in!

 

How we do (Hardware)

Please see the following diagram carefully and make your own system just like it!

 

How we do (Software)

Let's take a look at Software side.


If anyone does not know 'How to upload our sketch to Arduino', then please click the following article before you go.


HowTo Upload Sketch


 

Once your Arduino is ready, just type the following codes into your Arduino IDE.

 

#include <Servo.h>

Servo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created

int pos = 0; // variable to store the servo position

// 1 second : 1000;
// 1 min : 60000;
// 1 hour : 3600000;
// 6 hours : 21600000;
// 8 hours : 28800000;
// 10 hours : 36000000;
long FISHFEEDER = 28800000;
long endtime;
long now;

void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop()
{
now = millis();
endtime = now + FISHFEEDER;

while(now < endtime) {
now = millis();
}

//myservo.attach(9);
//delay(15);

for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for(pos = 180; pos>=0; pos-=1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}

myservo.write(90);
// myservo.detach();
// delay(15);
// myservo.detach();
// delay(15);
}

 

So now you'll be able to see Servo motor only rotates with the factor your time-interval(FISHFEEDER) configured.

If you're not sure it's working or want to check it's working quickly, just change 'FISHFEEDER' to shorter time such as 5000 (5 seconds).

How was it? Have you had lots of fun or already got some better idea to extend this to your own project?

then go for it. 🙂

Still shots Outcome

Please find the attached Still shots and compare with yours!

 

LoRaWAN End node – Smart Lighting


 

 

What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

If you haven't got any Gateway set-up or around your,  please click the following button to see how to make LoRaWAN Gateway via The Things Network.

(In case of you can find any gateways around you, you can also just use that Gateway to trasmit your end node data.)


LoRaWAN Gateway

 

As you can see from other community sites (i.e TheThingsNetwork) or commercial websites (i.e quite a lot),

There are tons of commercial end devices (including Gateway) available out there and you can buy it for your business or something.

 

But the cost is a bit high and might be burden on people who just want to learn electronics or are hobbyist.

I believe many kinds of LoRa End device can be DIY-made.

 

So, here my post has a reason to exist. 🙂

 

At this post, we're going to make another LoRa End Device for 'Smart Lighting'.

 

This is actually the extension of Smart Home projects.

However, there are difference in hardware, technologies and distance, too!

 

Let's get into it! 🙂

How we do (Hardware)

How we do (Software)

Once you've prepared all the necessary parts such as Arduino pro mini, RFM95W, LED strip and cables, and next step is to make your Arduino pro mini to be uploadable.

 

The upload can be done via 'FTDI Basic Breakout Board', but I didn't mention details here.

If you need how-tos, just click the following button to see how you can upload program into Arduino pro mini.

 

Prepare Pro Mini

 


  • Sneak peek on Software part

 

Once your Pro mini is ready,

 

1. Include some necessary headers

2. Specify Pins and Pin mapping being used

3. Implement some functions to get distance via ultrasonic sensor attached to device

4. Enable Serial and LMIC and initialization

Still shots Outcome
  • Depends on the degree of brightness and darkness, LED strip is turned ON and OFF automatically.

 

 

  • Currently there are 4 status LED Light can be set automatically

 

  • and some outcomes in TTN console where we can check the status of smart lighting. 🙂

LoRaWAN End node – Smart Parking


 

What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

If you haven't got any Gateway set-up or around your,  please click the following button to see how to make LoRaWAN Gateway via The Things Network.

(In case of you can find any gateways around you, you can also just use that Gateway to trasmit your end node data.)


LoRaWAN Gateway

 

As you can see from other community sites (i.e TheThingsNetwork) or commercial websites (i.e quite a lot),

There are tons of commercial end devices (including Gateway) available out there and you can buy it for your business or something.

 

But the cost is a bit high and might be burden on people who just want to learn electronics or are hobbyist.

I believe many kinds of LoRa End device can be DIY-made.

 

So, here my post has a reason to exist. 🙂

Let's make the simple LoRa End Device at this time and it's for 'Smart Parking'!

 

I'd like to explain some background story before I go on.

When you park your car in the shopping centre, you might be able to see some flat and small device attached to the ground in the parking area.  Have you seen them?

There are various kinds of commercial parking detection sensor available already, but there are a few differences between them and what we're going to make here.

 

First of all, I'd like to say the Hardware.

The commercial ones are using dual methods such as magnetic field and RSSI.

For robustness of their product, they might have to use dual method to manage smart parking I think. 🙂

 

However, we're going to use simple sensor such as Ultrasonic sensor. so we can calculate the distance from sensor to , for example, your car by placing this end node in your garage or outside wall.

(I don't recommend your device on the ground like commercial ones as that gonna be broken soon! 🙂 )

 

I might be able to make the same hardware as commercial one's using later, but at this time I'd like to stick to more suitable ones for DIYers.

 

Secondary, Different model or Applications

We're going to use and utilize the very good established Network, whch is TTN(TheThingsNetwork) on our projects. TTN is quite common and famous world-wide as you already know.

However, there are some difference between technologies and business models when it comes to commercial products.

 

For example, LoRa VS Sigfox.

For years, Sigfox and LoRa were the major competitors in the LPWAN space. Their business models and techologies are quite different.  you can find a few product using Sigfox on the market easily.

 

so, good to know!  It's time to go!

How we do (Hardware)

How we do (Software)

Once you've prepared all the necessary parts such as Arduino pro mini, RFM95W, Ultrasonic sensor and cables, and next step is to make your Arduino pro mini to be uploadable.

 

The upload can be done via 'FTDI Basic Breakout Board', but I didn't mention details here.

If you need how-tos, just click the following button to see how you can upload program into Arduino pro mini.

 

Prepare Pro Mini

 


  • Sneak peek on Software part

 

Once your Pro mini is ready,

 

1. Include some necessary headers

2. Specify Pins and Pin mapping being used

3. Implement some functions to get distance via ultrasonic sensor attached to device

4. Enable Serial and LMIC and initialization

Still shots Outcome

LoRaWAN End node – GPS Tracker


 

What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

Have you done or built your own Gateway from previous post?

then Now It's time to make end nodes! 

 

If not, you just need to click the following button to see how to make LoRaWAN Gateway.

(In case of you can find any gateways around you, you can also just use that Gateway to trasmit your end node data.)

 

LoRaWAN Gateway

 

There are lots of and many kinds of LoRaWAN nodes (can be purchased) out there as tons of companies are making commercial products for their profits these days.

However, we're going to make one of end nodes by using cheaper solution at this blog. 🙂

 

What we're trying to make is the kind of Tracking device.  so what are we tracking? 🙂

Whatever, whoever actually everything if we can attach this end node on.

 

Many people are using Tracking Device, so called 'Tracker' or 'Asset Tracker' for their important things or people.

This can be older people, dog or cat, even your car ...

 

Think about this situation. you have a dog , but she disappeared all of sudden. so what can you do?

If you have already attached any tiny tracking device to her collar, then you're on luck!

 

I hope this post would be helpful to make your own end nodes.

How we do (Hardware)

 

How we do (Software)

Once you've prepared all the necessary parts such as Arduino pro mini, RFM95W, GPS module and cables, and next step is to make your Arduino pro mini to be uploadable.

 

The upload can be done via 'FTDI Basic Breakout Board', but I didn't mention details here.

If you need how-tos, just click the following button to see how you can upload program into Arduino pro mini.

 

Prepare Pro Mini

 


  • Sneak peek on Software part

 

Once your Pro mini is ready,

 

1. Include some necessary headers

2. Specify Pins and Pin mapping being used

3. Implement some functions to get coordinates

4. Enable Serial and LMIC and initialization

Still shots Outcome

 

Connect wires : Arduino Pro Mini, RFM95W module and GPS module.

 

 

Once we finished connection , then let's power it. 

and go to TTN console to see GPS datas are coming in!!! 🙂

 

 

 

LoRaWAN Gateway (TTN – TheThingsNetwork)


 

What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

Have you heard about LoRa, LoRaWan and LPWAN? 

 

What is LPWAN?

A low-power wide-area network (LPWAN) or low-power wide-area (LPWA) network or low-power network (LPN) is a type of wireless telecommunication wide area network designed to allow long range communications at a low bit rate among things (connected objects), such as sensors operated on a battery.

 

What is LoRa and LoRaWAN?

LoRa is a wireless data communication technology that uses a radio modulation technique that can be generated by Semtech LoRa transceiver chips.

The LoRaWAN protocol is a Low Power Wide Area Network (LPWAN) specification derived from LoRa technology standardized by the LoRa Alliance.

LoRa and LoraWAN belong to the category of non-cellular LPWAN wireless communication network protocols and players, operating in the license-free spectrum. Other technologies that operate in the license-free frequency bands include Sigfox, Ingenu and several more.

 

LoRa and LoRaWAN Network Topology

The LoRaWAN networks laid out in a star-of-stars topology have base stations relaying the data between the sensor nodes and the network server.

Communication between the sensor nodes and the base stations goes over the wireless channel utilizing the LoRa physical layer, whilst the connection between the gateways and the central server are handled over a backbone IP-based network.

 

 

End Nodes transmit directly to all gateways within range, using LoRa.
Gateways relay messages between end-devices and a central network server using IP.

Network servers can be cloud based platform solutions like The Things Network (TTN) or LoRIOT. The network servers connect to the gateways and de-dup data packets, and then routes it to the relevant application.

 

We're able to make Gateway, End nodes, but going to use TTN(TheThingsNetwork) as Network Server and Application Server. 🙂

 

so at this post, Let's make a Gateway first!

 

How we do (Hardware)

 

  • Connection between LoRaWAN Gateway module and LoRaWAN Converter board

 

 

  • Connection between Raspberry Pi 3 and the above (LoRa Gateway module + LoRa Converter board)

 

 

  • Connect  Antenna to LoRaWAN Gateway module

  • Connect GPS antenna to LoRaWAN Converter board

  • Connect Power to Raspberry Pi 3
How we do (Software)

  • Sneak peek on Software part

 

First of all, you should prepare Raspberry Pi.

Please click these buttons to look into other posts for prerequisite learnings.

 

Prepare RaspberryPi

 

Once your Raspberry Pi is ready,

 

1. update and upgrade
2. pre-steps on raspberry pi
3. Install Git
4. Install TTN packet forwarder
5. run script and test (debugging)

 

The full details are explained in the enclosed docs. (HowToSetupGateway.txt)

Still shots Outcome

The last step, you need to go The Things Network and complete sign up.

and then create your own gateway setup and register. 

Here are some screenshots of mine. 🙂

 

As you can see from the screen shots, there are nothing in the Gateway traffic. 

This is correct because i didn't add any node(end node) yet which can transmit some data to Gateway. 

 

so , now it's time to go next post to add end node to make our Gateway useful! 🙂

Once you add end nodes to your gateway, then we'll be able to see some data coming in like the following. 

 

 

Arduino – Rover


What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

As you can see from the other posts, there are many rover versions you can make.

However, this is only one Rover you can make by using Arduino!

so now you're interested? 🙂

How we do (Hardware)

As you already know, we need both sender and receiver sides.

 

  • Transmitter

 

 

  • Receiver

 

How we do (Software)

Please note that if you buy the kit, you will get Arduino on which all the codes were already uploaded.

so you don't need to do anything. just connect and play.

 

However, if not or you want to follow steps and learn how software parts works, 

please find the enclosed documents or instructions for further details.

 


  • Sneak peek on software part

 

As this is remote version of controlling DC motors(Arduino Car), we need both sender and receiver.

 

  • Sender

Step 1) Include necessary libraries

Step 2) Declare variables for Joystick position and pins we want to use with

Step 3) Implement setup function

Step 4) Implement loop function

Step 4-1) Read Analog values from Joystick

Step 4-2) Map the values into ones which can be used in Car(Motor) control

Step 4-3) Send resultant position values to receiver

 

  • Receiver

Step 1) Include necessary libraries

Step 2) Declare variables for driver and motor control pins

Step 3) Implement setup function

Step 4) Implement loop function

Step 4-1) Check if we received data

Step 4-2) Retrieve joystick positions and calculate them into ones which can be used motor control

Step 4-3) Y-axis used for forward and backward control

Step 4-4) X-axis used for left and right control

Step 4-5) Defines forward , backward and stop functions for controlling motors

 

The full codes are available at the enclosed docs. (Arduino_Rover_HowWeDo_SW.txt)

Still shots Outcome

As you can see from the outcome video, it's pretty cool!.

 

Let's make more interesting things with your great ideas!

 

  • Transmitter side

 

  • Receiver side

 

 

Raspberry Pi – Rover v.1 (Button)


What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

Have you heard about Rover? 

You might see some news or photos that Rover is exploring other planet. 🙂

From this project, we start to make our own Rover!

 

This is really first version of Raspberry Pi based Rover project in my blog.

I'm going to work on another Rovers with improved features soon, but this rover has very simple User Interface to control it.

It's left/right/up/down arrows! 🙂 Let's get into it!

 

Let's get inside!

How we do (Hardware)

Please carefully look at the following wiring diagram. 

I didn't draw the power source of Raspberry Pi zero w, but you can use it any source which has 5V input voltage.

The recommended input voltage is 5V, and the recommended input current is 2A.

 

How we do (Software)

Please note that if you buy the kit, the included micro SD card has already pre-made image in it.

so you don't need to do anything. just insert it and play.

 

However, if not or you want to follow steps and learn how software parts works,

please find the enclosed documents or instruction for further details.

 


 

  • Sneak peek on Software part

 

First of all, you should prepare Raspberry Pi.

Please click these buttons to look into other posts for prerequisite learnings.

 

Prepare RaspberryPi

 

Once your Raspberry Pi is ready,

 

1. update and upgrade
2. pip installation
3. flask installation
4. git installation & git clone repo
5. run script and test

 

The full details are explained in the enclosed docs. (Rover_v1_HowWeDo_SW.txt)

Still shots Outcome

As you can see from the outcome images or movies, you can control your Rover easily with your web browser.

 

In this project, you can use buttons for left/right/forward/backward to control your rover.

I hope you find lots of fun from this project. 🙂

 

This slideshow requires JavaScript.

Raspberry Pi – Rover v.2 (Touch)


What we do
What we need
How we do (Hardware)
How we do (Software)
Still shots Outcome
What we do

This is 2nd version of Raspberry Pi based Rover project.

 

In this project, we can explorer anywhere with our Rover. 

We're using actually the same hardware as the last Rover project, but this time there is a difference on User Interface.

User Interface is rectangle touch screen on browser where you can control Rover.

 

Let's get inside!

How we do (Hardware)

How we do (Software)

Please note that if you buy the kit, the included micro SD card has already pre-made image in it.

so you don't need to do anything. just insert it and play.

 

However, if not or you want to follow steps and learn how software parts works,

please find the enclosed documents or instruction for further details.

 


 

  • Sneak peek on Software part

 

First of all, you should prepare Raspberry Pi.

Please click these buttons to look into other posts for prerequisite learnings.

 

Prepare RaspberryPi

 

Once your Raspberry Pi is ready,

 

1. update and upgrade
2. pip installation
3. flask installation
4. git installation & git clone repo
5. run script and test

 

The full details are explained in the enclosed docs. (Rover_v2_HowWeDo_SW.txt)

Still shots Outcome

As you can see from the outcome images or movies, you can control your Rover easily with your web browser.

Unlike the last Rover we made, this version of Rover can be controlled by your touch.

I hope you find lots of fun from this project. 🙂

This slideshow requires JavaScript.