DS18B20 and php

As part of the cheap home automation project I am currently working on, I needed to get some temperature sensor info to my webserver. For the brain of my project I’ll be using a Raspberry Pi.

I had ordered a 5pk of DS18B20 temperature sensors so i can visualize monthly temperatures and eventually control my thermostat. In order to get the sensors working on the Pi, I needed to do a few things:

First I had to setup the pi to add OneWire support. I started by editing the boot config file with nano by running
sudo nano /boot/config.txt
I scrolled to the bottom and added the following line:
dtoverlay=w1-gpio
then pressed ctrl+x and y to confirm, then

sudo nano /etc/modules
add the following 2 lines to the bottom:
w1-gpio

w1-therm
I again press ctrl+x and y to confirm , then shutdown my pi.

I then hooked my sensors up to a 4.7k pullup resistor using the following diagram:
DS18B20 ds18b20-pinout

I booted my Pi back up and tested to see that my sensors were detected by typing the following command into the terminal:

cd /sys/bus/w1/devices

ls

cd 28-xxxx (change this to match what serial number pops up)

cat w1_slave
if all goes well you shouldn’t have seen any errors and it should have outputted some gibberish like this:
modprobe

The temperature is shown in the last five digits on the second line. (You need to divide this number by 1000 to get the temperature in degrees Celcius).

You finally need to have Apache2 and PHP5 installed on your Pi.

I had looked online for php code that had outputted the temperature from sensors and found that everyone had hardcoded the sensor ID’s in their code , since I wanted my automation to be as painless as possible, I wrote my own php script to automatically get all the sensor ID’s and then convert the output to Celsius and Fahrenheit. I have this on https://github.com/xillwillx/DS18B20
Add temp.php to /var/www/ then visit http://127.0.0.1/temp.php

Page output should look similar to this:

Sensor ID#: 28-0214640d18ff = 26 °C / 79 °F

Sensor ID#: 28-02146409b9ff = 25 °C / 77 °F
And that’s it! I will be added more posts as i finish each portion of my home automation project. My goal is trying to get it all done for less than $200.

Bluetooth SNES Controller

So a few weeks ago I saw a post on Hackaday of a project from Pat, who managed to stuff a bluetooth controller into an old SNES controller. He was using it to play games on his Amazon Fire stick. I had purchased a Firestick when they first came out for $19. I honestly didn’t use it much because I had a Roku already that I used heavily for streaming etc. But I love old school emulators so I wanted to do this project. Unfortunately if you look at Pat’s site, he did not document his journey building his controller, fortunately for you readers I did. I did have a few hurdles along the way. Continue reading