Translate

Showing posts with label Raspberry Pi. Show all posts
Showing posts with label Raspberry Pi. Show all posts

Sunday, September 15, 2024

AirThings - gather data remotely

 During one of my excursions on flea markets, I did find a AirThings Wave Plus.

For 10$ I decided to buy it and try it out (the normal cost is around 230$).

Sunday, November 6, 2022

PiKVM - a KVM <-> IP on System76

Is always better to have a Plan B if the main plan fails.
My server has an embedded KVM (with an extra module installed - see the article Fixing the server - KVM <-> IP) but surprise surprise the actual KVM functionality is not working because the motherboard is not supporting an extension module.

This article discuss about the KVM <-> IP solution with a Raspberry Pi on the open source project PiKVM as a way to have the KVM functionality on my server.

Thursday, September 16, 2021

Internet Speed Monitor - part 2 - basic SW

 Let see in more details how to put together the basic  internet speed monitor contraption.
This article discuss setting up the Raspberry Pi.

Sunday, September 12, 2021

Internet Speed Monitor - part 1 - specifications

Recently my connection with the provider for internet, has some problems.
Running some speed tests from different computers shows really erratic results.

I should have something about 12 Mbit/s downstream and 2 Mbit/s upstream, some tests shows up to 15 Mbit/s-1.5 Mbit/s, others down to 1 Mbit/s-0.25Mbit/s

Not easy to pin point the nature of the problem.

Saturday, October 17, 2020

Raspberry streaming audio - notes and VLC server

Time ago I did buy and built a Pimoroni kit to have a streaming IP radio.
Is time to try to enhance it little bit and add some extra information.

Sunday, February 2, 2020

3D Printing - Ender 3 Pro USB powering problem

The  problem arise when the Ender 3 Pro is connected to a computer via USB.

The connection between the two is via USB and the connection bring also the power (+5V).

In my case the computer is a Raspberry Pi 4 running OctoPrint.

Sunday, May 5, 2019

Video tests with Raspberry Pi

Tests to check quality and feasibility to use a Raspberry Pi to track objects in movement.
In order to create an object follower, is important to see if the quality of the video is good enough.

Recycling an old toy

For some tests for a project I needed a moving base.
The ideal would be a robot, many kits are available now.
But before to spend money I wanted to see if some results were achievable and the quality of a camera.
So I did find an old toy made years before with my daughter and ...

Sunday, April 21, 2019

Raspberry streaming audio

One of the future projects I decided to do is to retrofit an old radio with an IP radio.
Very probably I will start with Raspberry and one of the many many projects is possible to find.
To start, mostly to see what kind of quality I can expect, I decided to build the Pimoroni kit for a pirate radio.

Sunday, September 23, 2018

tRPOf with Trinket - updated

This article is about a RPOf circuit for the Raspberry Pi using a Trinket, thus the name  tRPOf.
The main difference from previous ones, is that this project uses a standard Adafruit Trinket as microcontroller instead the MSP430 in order to use "off the shelf" components with less effort of programming and a LiPo charger/USB DC/DC converter..

Saturday, June 16, 2018

Set Raspberry Pi as Bluetooth slave

Some notes about how to connect a Raspberry Pi 3 via Bluetooth to an Android phone.
These notes shows some suggestions about how to connect an Android phone to the Raspberry set as Bluetooth slave.
Android side I'm using an off the shelf app.

Saturday, May 12, 2018

NiRis - the New iRis - the plan

Waiting could be sometime a good thing when designing something.
Like the iRis project I started years ago.

Even if I never posted recent articles about iRis, I did reach a nice stage of development, involving 3D printing design, electronic development and firmware development on different platforms.

Sunday, September 10, 2017

Working on Teirmilab

Here a step-by-step guide to work on git for the TeirmiLab project.
If you are new on git and github, read this article first

TheTeirmiLab project is on bitbucket public.
If somebody wants to join it to enhance the project would be nice if contact me.
Bitbucket has limited number of collaborators unless pay.
Let start from the link for the TeirmiLab bitbucket project :
https://bitbucket.org/account/user/hanixdiy/projects/TEIR

Clone TeirmiLab

Use git to clone the TeirmiLab project (see a specific repository in the project)
That's it !
On your directory, will exist a directory called TeirmiLab, containing the code.

Or better, just download a zip file from bitbucket.


Wednesday, May 10, 2017

Gnuplot on Raspberry Pi

gnuplot is a program capable to produce graphs starting from set of data.
Ideal to graphically represents sensor readings.

This article assumes to use Raspbian on a Raspberry Pi, specifically in my case the Raspbian version is the one used with Dexter for GrovePi.
Since GrovePi allows to easily connect sensors to the Raspberry, gnuplot is the perfect companion for that environment.

Installation


Simple, open a terminal and digit : sudo apt-get install gnuplot

That's it :)

Use

Once gnuplot is installed, is possible to open a terminal and digit the command gnuplot.
An interactive environment command line based will be available.
However the best way is to create a file containing the commands needed to generate a graph and have gplot reading that file to produce the graph as described in these instructions.

Data file


The file containing the data need to be in a specific format.

The time/date in the format of yyyy-mm-dd:hh-mm-ss (see the timefmt line in the command file), then the light value and (in this example) the voltage measured.
Each field is separated by a tab and each line ending with a newline (/r).

Example of data saved in the fhelper_datalogger.txt

# 2016-12-05:10-52-42 - Starting datalogger - time - light - volt 
2016-12-05:10-53-02 758 4.43
2016-12-05:10-53-24 758 4.43
2016-12-05:10-53-44 758 4.43
2016-12-05:10-54-05 758 4.43
..........................
..........................
..........................


Command file


Here an example of a gnuplot file (called testfile) used to display some information collected in the data file.
Specifically the goal is to create a graph showing the data stored in the second column of the file (light)
set title "fHelper light data vs. Time"
set datafile sep '\t'
set xlabel "Time"
set ylabel "Light"
set xdata time
set timefmt '%Y-%m-%d:%H:%M:%S'
set yrange [0:1000]
set style data line
set terminal png size 1500,800 enhanced font "Helvetica,20"
set output 'displight.png'
plot '/home/pi/Desktop/fhelper/fhelper_datalogger.txt' using 1:2
The file is taking a file called fhelper_datalogger.txt (located in the directory /home/pi/Desktop/fhelper) and will produce a file called displight.png.
The file will be saved in the same directory where this file exists and is executed.

To execute it just digit from the prompt : gnuplot testfile

Here a couple of examples of graphs obtained from the log file.
One shows the light reading and the other the voltage reading.
To obtain the voltage reading was enough to change a couple of lines from the command file.
Specifically I changed the Y axis range (0:1000 for light, 0:5 for Volt) and the plot command telling to use the first and third column in the file rather than the first and the second column (plot '/home/pi/Desktop/fhelper/fhelper_datalogger.txt' using 1:3)





Friday, December 2, 2016

5V Solar Power Supply for Raspberry Pi - first results

The introductory article was about describing the feasibility of the project.
Let's see some preliminary results.

The measurements


Until now I did run the system with an external voltmeter to see if the solar panel was able to keep up with the system.
It seems that so far the answer is no.


The graph shows the battery level measured in few days.
Note that basically there was no real load to the battery, only the Dc/Dc converter, so very few mA were drawn from the battery.
The days were pretty cloudy all the time, so no full sun for long time. In the best scenario (see the latest days) the battery level barely reached the 2.9V, well well below the minimum of 3.5V, and again I stress the fact there was no real load on the system.

The solar panel used so far is a 6V 2W, capable to provide in full sun a current of 330mA.
Definitively not enough to keep the battery charged AND powering something else (the Raspberry Pi has an estimated drawing current around 300-350mA).

Until there was sun the system did run happily, but as soon as the solar panel was not in full sun, the system had to use more and more the battery to power up the project and of course there was no battery charging there.

The battery is a nominal 3.7V 6600mAh and can last just few hours when not charged, so the system starting with a loaded battery in a sunny day can run almost all the day, but that only the first day.

What to do ?

There are few things to try.

  1. Use a bigger and powerful solar panel.
    A bigger solar panel, still 6V but maybe 6 or 9 W, probably can give more energy even with less light.
    In full sun the power should be enough to charge the battery AND power the system.
    Adafruit has a 6V 5.6 W solar panel, capable to give up to 930 mA in full sun and presumably more juice even in less than ideal conditions.
     
  2. Implement an intelligent power management
    We can assume to don't have the system running 24 hours a day.
    An external circuit (like the RPOf) can monitor the charge of the battery and shutdown the Raspberry when the battery level is below a specific threshold.
    When the battery threshold level is above a specific value the circuit can power on back the Raspberry.
  3. Reduce as much as possible the Raspberry Pi current needs.
    It can be done disabling every thing not needed, like the HDMI port or the LEDs.
    Even better adopting a Raspberry Pi 3, eliminating also the need to power the USB ports (currently the USB ports are in use for the WiFi dongle).
Very probably all the solutions will be needed.

Sensor modification


To better handle the solar management, a modification is needed on the light sensor.
Currently the light sensor is based on a photoresistor.
It can indicate if there is light or dark but is not enough to determine the "quality" of the light.
In other words the value returned is not enough to determine if the light is enough to generate ppower via the solar panel or not.
To do so a better light sensor is needed.  So in the near future I'll use a solar light sensor rather than the generic light sensor.


Wednesday, November 16, 2016

5V Solar Power supply for Raspberry Pi - feasibility phase

Ok, here the deal.
The goal is to have a 5V solar power supply for Raspberry Pi in order to power up a project (fHelper).

Saturday, September 24, 2016

Playing with Alexa

It is amazing how time's fly !
Are already almost two months since my last post !

Many things happened of course, busy life, work work work and only recently I restarted to play with something new, for fun.

Amazon made public a demo project to use a Raspberry Pi to be like an Echo, the Amazon  vocal command toy.
So I decided to try, I did put my hands on a Raspberry Pi 3 (in order to have embedded WiFi and Bluetooth), a nice USB microphone and a speaker (as suggested in the Amazon project) and one evening, with a friend, we followed the instructions and installed Alexa on a Raspberry.

Here few notes about

Time


It took about 4 hours to install everything. The longest time was spent updating Raspbian, probably the update alone was about 1 hour and half.
The installation of tools and environment (the project is in Java, uses Node.js and Maven) took the other long part and the configuration the rest.
And yes, we did enjoy ourself watching Youtube (comedians) while waiting :)


Is it working ?


YES ! Amazingly it did work immediately and all considered is not bad at all !
It is possible to hear some static/digital noise in the speaker, especially if a monitor and USB keyboard is connected to the Raspberry, but the audio quality is not bad.

Let see some pro and cons

Pro


  • Relatively cheap
    A Raspberry Pi, a speaker and a microphone is what is needed. Many of us have this stuff in some box by sure :)
  • Easy to install
    The instructions are quite clear, some not updated to the last version parts but for somebody who plays with Raspberry or somebody with a basic computer science knowledge is not a problem.
  • It works
    Well yes, is a pro :)

Cons

  • You need an Amazon account. No problem for me but is important to realize that Alexa become a part of the Amazon account.
  • Is not an Echo !
    This is important !! The project is a demo and has some not intuitive/cumbersome way to activate Alexa, so don't expect Echo performances !
    In details :
    • A X11 graphic environment is needed ! Specifically they suggest to use VNC in order to connect from other computers.
      Is not a real embedded system like Echo.
    • Everytime the Raspberry is turned On is necessary to open terminals and start a local server plus a client.
    • When the client starts it is requested an https connection to retrieve a certificate.
      A browser is needed thus plus some manual operations.
      Once retrieved the certificate Echo works until the Raspberry is shutted off or the application is stopped
    • Some functionalities are disabled by default, like streaming music.
      Need to investigate if is possible to enable them.

Capabilities

So far I tried different things. The default of course is asking Alexa things like the time, the weather, news, etc.
And I have to say I'm impressed with the capability to recognize my accent !
I tried many vocal command systems in the past and all of them, ALL OF THEM, always failed to recognize my English.
I estimate for Alexa a recognizing average of 90/95% of what I say !
Simply amazing !!

Then I was able to interface Alexa with my google calendar and now I can handle it via voice. Cool.
Another interface was with IFTTT, so I can now create different triggers. So far I installed a trigger to call my cell phone.

So .. what is for ?


Fun ! :)
And is a relatively cheap way to test the capabilities of Echo.
I'll investigate few things in the next week or months (no time as usual ..) to see if is possible to modify the code to build something more close to the real Echo with maybe some custom capabilities. 

For example connecting a bluetooth microphone, controlling I/O, interfacing something personal like my Logitech Squeezebox, enabling the streaming music, connecting a bluetooth speaker and so on.

Surely the evaluation aspect of this project is worth alone the time spent to put together the gadget and playing with it

Wednesday, November 4, 2015

Embedded RPOf

The next thing to do about the RPOf is to embed it in a piggy back board over the Raspberry Pi.
The Raspberry Pi GPIO connector has both the 3.3V and 5V rail available, so to have a more compact system, embedding the RPOf on the "shield" connected to the Raspberry Pi, can helps to reduce the space and number of boards.

Wednesday, December 3, 2014

TeirmiLab - Raspberry Pi prototype



This article describes the building of a TeirmiLab prototype based on a Raspberry Pi B board.
The goal using a Raspberry Pi is to have a machine that can be expanded later.




Shopping list


The idea is to use a traditional LCD display instead a more sophisticate touch screen display.
Mainly the reasons :
  • is not expensive
  • doesn't require to develop a graphic interface for it
  • allows to focus on the purpose - to show a temperature
  • can be easily placed inside a protective container (no touch capabilities)

Hardware


Here a initial schematic for the TeirmiLab-Pi.



The RTC clock module is actually necessary only for the enhanced version, for the data-log feature, however it will be tested also on the base version.
The idea is to use as much as possible "ready to use" modules, like the RGB display, the GPIO I2C expander and so on, in order to use already made code (see the Software section).

The encoder will be connected directly to the Raspberry GPIO as well as the interrupt signal from the MCP23017 (optional for now), in order to be able to detect faster changes from the keyboard.
The internal pullup resistors for the encoder will be enabled.

First tests on a breadboard
The second prototype on perforated board

The second prototype on perforated board
The second prototype with the keyboard and RPOf cable connected
The keyboard is working fine, however it would be better to have an easiest way to select an alarm or set up the offset.
A new version of the hardware will include a digital encoder to be used instead the keyboard (see below).

The prototype installed on a wooden platform for a more mechanical stability.
A monochromatic LCD is used instead an RGB one

The prototype installed on a wooden platform for a more mechanical stability.
The round PCB is hosting the RPOf to be piggy-bagged on a MSP430 Launchpad
The used board for the prototype is a Raspberry Pi B, however the final installation will use a Raspberry Pi A+ because the reduced dimensions and power usage.
A new interface board is under development.

GPIO Use

Here a table for the GPIO use :

Raspberry GPIO MCP GPIO Direction Description

GPA0 Output LCD

GPA1 Output LCD

GPA2 Output LCD

GPA3 Output LCD

GPA4 Output LCD

GPA5 Output LCD

GPA6 Output LCD

GPA7 Output LCD





GPB0 Output LCD

GPB1


GPB2


GPB3


GPB4 Input Keyboard 1

GPB5 Input Keyboard 2

GPB6 Input Keyboard 3

GPB7 Input Keyboard 4




GPIO4
Input/Output 1Wire protocol
GPIO17
Input Shutdown input
GPIO18
Output Shutdown feedback
GPIO22
Output Buzzer
GPIO23
Input Encoder A
GPIO24
Input Encoder B
GPIO25
Input Encoder switch


Sensor


With the sensor used (DS18B20) the TeirmiLab has these basic characteristics:

  • Range -55 to 125°C (-67°F to +257°F)
  • ±0.5°C Accuracy from -10°C to +85°C

Keyboard


The TeirmiLab-Pi needs to have at least 3 push buttons in order to do some settings.
  • a Mode button
    Allows to select different modes, like "display temperature" or "Set alarm" or "Set offset"
  • two + and - buttons
    Allows to increase or decrease a value, like the alarm temperature or the offset

Encoder


Instead of the keyboard, it is more easy to use a mechanical digital encoder with an embedded pushbutton for the selection.
The pushbutton acts as Mode button and rotating the encoder cause the values to change.

The video is showing the encoder operations

Power Supply


The instrument must be powered.
An USB wall wart, with at least 1 A, will be the power source for the Teirmilab.

A main switch will be necessary in order to correctly power up and power down  the instrument (see RPOf project)

Container


All the electronic will be placed in a transparent plastic box.
This will allow to reduce the drilling to the minimum, basically for the main power switch and eventually for some push buttons if not other means are used.
The display will remain totally protected but visible behind the clear plastic.