There oughta be… a nice website for makers

Source: There oughta be…

ElectroMage Pixelblaze V2+ WiFi LED Controller from ElectroMage on Tindie

Source: ElectroMage Pixelblaze V2+ WiFi LED Controller from ElectroMage on Tindie

How to Program an AVR/Arduino using the Raspberry Pi GPIO | ozzmaker.com

Source: How to Program an AVR/Arduino using the Raspberry Pi GPIO | ozzmaker.com

Very first pi project! PC temp monitor using 7in pi screen, Raspberry Pi 4, and MoBro hardware monitoring program! : raspberry_pi


Very first pi project! PC temp monitor using 7in pi screen, Raspberry Pi 4, and MoBro hardware monitoring program! from raspberry_pi

Raspberry Pi Projects

This is a links post for Raspberry Pi information.

GENERAL:

https://www.raspberrypi.org/forums/viewtopic.php?t=46771
https://www.youtube.com/watch?v=ddlDgUymbxc&feature=youtu.be
https://flatlogic.com/blog/how-to-build-an-iot-dashboard/
https://www.waveshare.com/w/upload/4/46/1.3inch_OLED_HAT_User_Manual_EN.pdf
https://www.youtube.com/watch?v=afBSpobG6Zo
https://raspberrytips.com/remote-desktop-raspberry-pi/
https://www.raspberrypi.org/forums/viewtopic.php?t=201516
https://www.quartoknows.com/page/raspberry-pi-shutdown-button#:~:text=Press%20the%20shutdown%20button.,stopped%2C%20aborting%20the%20shutdown%20procedure.
https://tronixstuff.com/2013/08/05/part-review-74hc4067-16-channel-analog-multiplexerdemultiplexer/

 

WS2812 / LEDs:

https://pinout.xyz/pinout/1_wire
https://github.com/jgarff/rpi_ws281x
https://github.com/tom-2015/rpi-ws2812-server

Controlling WS2812b LEDs with a Raspberry Pi


https://raspberrypi.stackexchange.com/questions/3980/is-it-possible-to-connect-an-led-directly-to-the-gpio-of-the-pi

Connect and Control WS2812 RGB LED Strips via Raspberry Pi


https://www.raspberrypi.org/forums/viewtopic.php?p=609380#p609380
https://www.tweaking4all.com/hardware/arduino/adruino-led-strip-effects/
https://github.com/topics/ws2812b?l=python
https://jackw01.github.io/led-control/
https://core-electronics.com.au/tutorials/ws2812-addressable-leds-raspberry-pi-quickstart-guide.html
https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage
https://magpi.raspberrypi.org/articles/neopixels-python
https://www.raspberrypi.org/forums/viewtopic.php?t=215428
https://howchoo.com/g/ytzjyzy4m2e/build-a-simple-raspberry-pi-led-power-status-indicator

 

PI / PYTHON:

https://www.quora.com/How-do-I-clear-the-runtime-error-permission-denied-for-dev-mem-in-Raspberry-Pi-when-using-PHP-in-an-Apache-2-web-server
https://raspberrypi.stackexchange.com/questions/47020/accessing-gpio-not-working-as-non-root-cant-open-dev-mem-permission-denie
https://stackoverflow.com/questions/8369219/how-to-read-a-text-file-into-a-string-variable-and-strip-newlines
https://www.kite.com/python/answers/how-to-read-a-text-file-into-a-string-in-python
https://stackoverflow.com/questions/29337004/python-how-to-exit-a-while-true

BME / TEMP SENSORS:

https://www.raspberrypi-spy.co.uk/2016/07/using-bme280-i2c-temperature-pressure-sensor-in-python/
https://pypi.org/project/RPi.bme280/
https://tutorials-raspberrypi.com/raspberry-pi-measure-humidity-temperature-dht11-dht22/
https://www.circuitbasics.com/how-to-set-up-the-dht11-humidity-sensor-on-the-raspberry-pi/

How to build an IoT dashboard – Flatlogic Blog

Now that initialstate no longer offers a free tier, although kudos for grandfathering established accounts, I’m looking for someplace to feed my datas to and have it make pretty charts for me.

 

Source: How to build an IoT dashboard – Flatlogic Blog

matchettandtheotherguy.com

Ohhhhh!

 

Source: matchettandtheotherguy.com

I Dig George

Source: I Dig George

Remote Desktop on Raspberry Pi

Remote desktop with xrdp

Xrdp is an opensource remote desktop protocol server, which allows you to connect to the Linux desktop from any operating system.

If you need to open or redirect access on your router or firewall, xrdp uses the standard port 3389.

The installation of xrdp is straightforward since it is available in the original Raspbian repositories; just run the following command:

sudo apt-get install xrdp

xrdp is present on raspberry as a service, so you can manage it with the usual controls if needed :

sudo service xrdp start | stop | restart | status

Connect and Control WS2812 RGB LED Strips via Raspberry Pi

Preparation & Installation

Before we install the Raspberry Pi library for the WS2812 LEDs, some preparations have to be made:

Update package sources:
sudo apt-get update

We install the required packages (confirm with Y):
sudo apt-get install gcc make build-essential python-dev git scons swig

The audio output must be deactivated. For this we edit the file
sudo nano /etc/modprobe.d/snd-blacklist.conf

Here we add the following line:
blacklist snd_bcm2835

Then the file is saved by pressing CTRL + O and CTRL + X closes the editor.

We also need to edit the configuration file:
sudo nano /boot/config.txt

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

This bottom line is commented out with a hashtag # at the beginning of the line: #dtparam=audio=on

We restart the system
sudo reboo

Now we can download the library.
git clone https://github.com/jgarff/rpi_ws281x

In this directory are some C files, which can be easily compiled. The example code for this is easy to understand. In order to use them in Python, we need to compile them:
cd rpi_ws281x/
sudo scons

However, in this tutorial we are mainly interested in the Python variant and therefore switch to the Python folder:
cd python

Here we carry out the installation:

sudo python3 setup.py build
sudo python3 setup.py install
sudo pip3 install adafruit-circuitpython-neopixel

This will allow us to carry out a first test in the next step.

Test the Raspberry Pi WS2812 RGB LED Strip

In the example folder are some example files, with which the LED strips can be tested. In addition, even two WS2801 LED strips can be independently controlled by Raspberry Pi (multistrandtest.py).

We are initially interested in the simple version. For this we have to complete a few details before the test and therefore we edit the sample file.
sudo nano examples/strandtest.py

The file looks like this, where we have to state LED_COUNT (number of LEDs to be addressed) and LED_PIN (18 us).

#!/usr/bin/env python3
# rpi_ws281x library strandtest example
# Author: Tony DiCola (tony@tonydicola.com)
#
# Direct port of the Arduino NeoPixel library strandtest example. Showcases
# various animations on a strip of NeoPixels.

import time
from rpi_ws281x import *
import argparse

# LED strip configuration:
LED_COUNT = 16 # Number of LED pixels.
LED_PIN = 18 # GPIO pin connected to the pixels (18 uses PWM!).
#LED_PIN = 10 # GPIO pin connected to the pixels (10 uses SPI /dev/spidev0.0).
LED_FREQ_HZ = 800000 # LED signal frequency in hertz (usually 800khz)
LED_DMA = 10 # DMA channel to use for generating signal (try 10)
LED_BRIGHTNESS = 255 # Set to 0 for darkest and 255 for brightest
LED_INVERT = False # True to invert the signal (when using NPN transistor level shift)
LED_CHANNEL = 0 # set to '1' for GPIOs 13, 19, 41, 45 or 53

# Define functions which animate LEDs in various ways.
def colorWipe(strip, color, wait_ms=50):
"""Wipe color across display a pixel at a time."""
for i in range(strip.numPixels()):
strip.setPixelColor(i, color)
strip.show()
time.sleep(wait_ms/1000.0)

def theaterChase(strip, color, wait_ms=50, iterations=10):
"""Movie theater light style chaser animation."""
for j in range(iterations):
for q in range(3):
for i in range(0, strip.numPixels(), 3):
strip.setPixelColor(i+q, color)
strip.show()
time.sleep(wait_ms/1000.0)
for i in range(0, strip.numPixels(), 3):
strip.setPixelColor(i+q, 0)

def wheel(pos):
"""Generate rainbow colors across 0-255 positions."""
if pos < 85:
return Color(pos * 3, 255 - pos * 3, 0)
elif pos < 170:
pos -= 85
return Color(255 - pos * 3, 0, pos * 3)
else:
pos -= 170
return Color(0, pos * 3, 255 - pos * 3)

def rainbow(strip, wait_ms=20, iterations=1):
"""Draw rainbow that fades across all pixels at once."""
for j in range(256*iterations):
for i in range(strip.numPixels()):
strip.setPixelColor(i, wheel((i+j) & 255))
strip.show()
time.sleep(wait_ms/1000.0)

def rainbowCycle(strip, wait_ms=20, iterations=5):
"""Draw rainbow that uniformly distributes itself across all pixels."""
for j in range(256*iterations):
for i in range(strip.numPixels()):
strip.setPixelColor(i, wheel((int(i * 256 / strip.numPixels()) + j) & 255))
strip.show()
time.sleep(wait_ms/1000.0)

def theaterChaseRainbow(strip, wait_ms=50):
"""Rainbow movie theater light style chaser animation."""
for j in range(256):
for q in range(3):
for i in range(0, strip.numPixels(), 3):
strip.setPixelColor(i+q, wheel((i+j) % 255))
strip.show()
time.sleep(wait_ms/1000.0)
for i in range(0, strip.numPixels(), 3):
strip.setPixelColor(i+q, 0)

# Main program logic follows:
if __name__ == '__main__':
# Process arguments
parser = argparse.ArgumentParser()
parser.add_argument('-c', '--clear', action='store_true', help='clear the display on exit')
args = parser.parse_args()

# Create NeoPixel object with appropriate configuration.
strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS, LED_CHANNEL)
# Intialize the library (must be called once before other functions).
strip.begin()

print ('Press Ctrl-C to quit.')
if not args.clear:
print('Use "-c" argument to clear LEDs on exit')

try:

while True:
print ('Color wipe animations.')
colorWipe(strip, Color(255, 0, 0)) # Red wipe
colorWipe(strip, Color(0, 255, 0)) # Blue wipe
colorWipe(strip, Color(0, 0, 255)) # Green wipe
print ('Theater chase animations.')
theaterChase(strip, Color(127, 127, 127)) # White theater chase
theaterChase(strip, Color(127, 0, 0)) # Red theater chase
theaterChase(strip, Color( 0, 0, 127)) # Blue theater chase
print ('Rainbow animations.')
rainbow(strip)
rainbowCycle(strip)
theaterChaseRainbow(strip)

except KeyboardInterrupt:
if args.clear:
colorWipe(strip, Color(0,0,0), 10)


Source: Connect and Control WS2812 RGB LED Strips via Raspberry Pi