News:

LATEST RELEASE:  FPP 8.4 - Download from here - https://github.com/FalconChristmas/fpp/releases/tag/8.4

+-+-

+-User

Welcome, Guest.
Please login or register.
 
 
 
Forgot your password?

+-Site Stats

Members
Total Members: 16850
Latest: rjslightshow
New This Month: 28
New This Week: 1
New Today: 1
Stats
Total Posts: 135312
Total Topics: 16952
Most Online Today: 119
Most Online Ever: 7634
(January 21, 2020, 02:14:03 AM)
Users Online
Members: 2
Guests: 114
Total: 116

Recent posts

#1
F16v5 Pixel Controller / No Fuses and No Expansion Port
Last post by munu - Today at 07:12:42 PM
I am looking at the F16v4 and F16v5. The v5 doesn't seem to have fuses and doesn't have the expansion ports anymore. To me that seems like a step backwards but I am probably missing something. How does the F16v5 improve over the F16v4?
#2
F16v5 Pixel Controller / F48 v1 & F16v5
Last post by munu - Today at 07:00:58 PM
I have an old F48 v1 and want to expand it. Is it possible to combine an F48 v1 with an F16v5 or possibly older (used) F16? The main goal is that I can synchronize both the F48 and F16v5 in xLights without much difficulty. I think it should be straight forward but wanted to make sure before spending more money. 
#3
Falcon PiCap / Re: Swapped PiCap V1 with V2 -...
Last post by CaptainMurdoch - Today at 05:29:18 PM
I don't see any screenshots.  Did you configure the output in xLights or manually via the FPP web UI?
#4
Falcon PiCap / Re: Does the Falcon PiCap v2 s...
Last post by CaptainMurdoch - Today at 05:27:42 PM
The DMX output on the PiCap v2 is a RS-485 output connected to the Pi's onboard serial port (ttyAMA0).  If your Renard expects RS-485 input, then you should be able to configure FPP to send Renard out the ttyAMA0 serial port and connect it to the PiCap v2's DMX output.
#5
Falcon Player (FPP) / Re: FPP 8.4 released!
Last post by lrhorer - Today at 11:30:42 AM
I have temporarily enabled GPIO4 to run the script both when the pin is rising and falling, and added an argument to tell whether the pin is high or low.  This works somewhat, but is far from ideal.

GPIO4 transitions low whenever power is no longer available to the string.  This implies one of two things.  Either the fuse feeding the string has blown, or main power has failed.  GPIO17 will also drop if the main power fails.  Ordinarily, I would be able to simply inspect both to see which is the case and respond appropriately in the script.  Using the value of the argument (argv[1]), I can discern the fact GPIO4 has transitioned low, but there is no way to do this outside of the instance when FPP makes the call.

To put it another way, Normally I should be able to run the script from the CLI using the alias `status_print`, which ideally should say:

Host Name: Lighting1
CPU Temperature: 49C
CPU Usage: 3%
Disk Usage: 23%
Memory Usage: 47%
Power OK.
Fuse Failure!
Case Temperature 44.9C
Battery Voltage 11.43 Volts
Fan On
Cooling Off

but the script is unable to make that determination except when it is called by FPP because of a failure.  Instead, all it can do is say:

Host Name: Lighting1
CPU Temperature: 49C
CPU Usage: 3%
Disk Usage: 23%
Memory Usage: 47%
Power OK.
Fuse Status: Unknown
Case Temperature 44.9C
Battery Voltage 11.43 Volts
Fan On
Cooling Off
#6
Falcon PiCap / Swapped PiCap V1 with V2 - Pix...
Last post by twseeman - Today at 10:24:13 AM
I purchased PiCap V2 to take advantage of 4 ports.  PiCap V1 was working with my leaping arches.  I also upgraded to FPP 8.4.  I am running on a Raspberry Pi 3a.  When I attempt to test pixels, I get not lights.  I will include a screenshot of FPP and the PiCap V2.  I don't know if there is a manual, if there is, can someone point me to it.  I just need help determining while the pixels don't light.
Thanks
Tom Seeman
#7
Falcon PiCap / Does the Falcon PiCap v2 suppo...
Last post by dakingus - January 18, 2025, 05:45:25 PM
Does the Falcon PiCap v2 support Renard output?  The product page does not specifically say is why I'm asking.  
#8
Falcon PiCap / K2-Pi-Servo
Last post by breese - January 17, 2025, 01:47:06 PM
@dkulp
I received my complete K2-Pi-Servo package.
After configuring it I updated it to 8.4.2
When I go into Channel Outputs / Servos Tab and Activate the hat, when I click on Save it highlights but never saves.
If I active the servo hat, change to the Pixel Strings, activate the Enable K2-Pi-Servo, and click Save, Both settings are updated.
Edit: The saved settings for the Servos do not stay activated after a reboot

You cannot view this attachment.
#9
Falcon Player (FPP) / Re: FPP 8.4 released!
Last post by lrhorer - January 17, 2025, 09:09:58 AM
I was unfamiliar with node-red, so I looked it up.  It is just about the last thing on Earth I would want to use for this application.  I could, of course, use an external watchdog to keep track of the GPIO pins, but why add extra code if the code to handle the transition is already in FPP?  I could also take a brute force approach and spawn an external instance of `gpioinfo | grep GPIO4 | grep low`, but that is quite brittle and rather klunky.  An internal Python routine would be far more future proof and independent of the vagaries of gpioinfo.[

Edit: gpioinfo does not work as expected.  It only reports whether the pin is used and whether it is active low or high.  It does not report the actual pin state.
#10
Falcon Player (FPP) / Re: FPP 8.4 released!
Last post by lrhorer - January 16, 2025, 01:50:34 PM
The script does not interact with FPP in any way.  It runs under various situations, one of which is a power or fuse failure, which is indicated by GPIO4 transitioning from around 3V to 0V.  After the script is spawned, it collects various data such as CPU usage, memory usage, temperature, etc.  If requested by the name used to call the script, or if an important situation exists it sends emails and / or texts.  Otherwise it responds per the name used to call the script.

If both GPIO4 and GPIO17 are low, then there is a main power or main fuse failure.  If only GPIO4 is low, then it is a failure of the fuse feeding the string.  If neither are low, then power is OK. (Obviously in this latter case, the script was not called by FPP.) Here is the script so far:

#! /usr/bin/python3
# pi_monitor.py
# Scan / print the health of a Raspberry Pi and
# report any issues to the phone or email list

import psutil, subprocess, email, smtplib, ssl, SendMessage
from time import sleep
from sys import argv, exit
from os import uname
from gpiozero import CPUTemperature
import RPi.GPIO as GPIO

Degrees = "\u00B0C" # Degree symbol UTF-16
Degrees = "C"

HighCPUUsage = 90 # High CPU usage in %
HighCPUTemp = 65 # High CPU temperature in Celsius
CritCPUTemp = 80 # Critical CPU temperature in Celsius
HighMemUsage = 70 # High Memory utilization
HighDiskUsage = 60 # High Disk utilization
Uname = uname().nodename

phones = [["##########", "Consumer Cellular", True],["##########", "Sprint", True], ["#######", "##########", False]]

# runDef = [ Script Name, Delay in seconds, Send to stdout, Send email / sms ]
runDef = [["start", 30, False, True], ["check", 0, False, False], ["print", 0, True, False], ["flash", 0, True, True], ["mail", 0, False, True]]

GPIO.setmode(GPIO.BCM)
GPIO.setup(4,GPIO.IN)
GPIO.setup(17,GPIO.IN)

Fuse = GPIO.input(4)
Power = GPIO.input(17)

if len(argv) > 0: # Should always be non-zero if called from CLI
envString = argv[0] # Contains the name by which the script was called
for runVal in runDef:
scriptName, scriptDelay, scriptPrint, scriptMail, *rest = runVal
if envString.find(scriptName) > 0: # Check if script called with this runVal value
sleep(scriptDelay)
break
else:
print("WTF?") # Not called from CLI
exit(1)

def pi_status(): # Main routine: always called by script
# Gather information about system
result1 = getTemperature()
result2 = getCPU()
result3 = getDiskUsage()
result4 = getMemUsage()
if scriptMail: # Called with Mail Send request: send email
if scriptName == "start":
sendText = "Raspberry Pi Startup notification\r\n"
else:
sendText = "Raspberry Pi Monitor Mail\r\n"
sendText = sendText + "Host Name: " + Uname + "\r\n"
sendText = sendText + result1+ "\r\n"
sendText = sendText + result2+ "\r\n"
sendText = sendText + result3+ "\r\n"
sendText = sendText + result4+ "\r"
sendMessage(sendText)
if scriptPrint: # Called with display request: send to stdout
print("Host Name: " + Uname)
print(result1)
print(result2)
print(result3)
print(result4)

def getTemperature():
cpuTemp = int(CPUTemperature().temperature)
Ctemp = "CPU Temperature: " + str(cpuTemp) + Degrees
if cpuTemp > CritCPUTemp:
sendText = "CRITICAL ALARM FROM HOST " + Uname + "!\r\nALERT: Critical temperature " + str(Ctemp) + ".\r\nShutting system down...\r"
sendMessage(sendText)
sleep(10)
subprocess.run(["shutdown", "-h", "0"])
elif cpuTemp > HighCPUTemp:
sendText = "Alarm From Host " + Uname + "!\r\nWarning: High temperature " + str(Ctemp) + ".\r"
sendMessage(sendText)
return Ctemp

def getCPU():
cpuPercent = int(psutil.cpu_percent(1))
Cusage = "CPU Usage: " + str(cpuPercent) + "%"
if cpuPercent > HighCPUUsage:
# Sending alert on high cpu usage."
sendText = "Alert From HOST " + Uname + "!\r\nWarning: High CPU Utilization " + str(cpuPercent) + "%\r"
sendMessage(sendText)
return Cusage

def getDiskUsage():
for dp in psutil.disk_partitions():
diskUsagePercent = int(psutil.disk_usage(dp.mountpoint).percent)
diskPercent = "Disk Usage: " + str(diskUsagePercent) + "%"
if (diskUsagePercent > HighDiskUsage):
sendText = "Warning From Host " + Uname + "!\r\nWarning: High Disk Usage " + str(diskUsagePercent) + "%.\r"
sendMessage(sendText)
return diskPercent

def getMemUsage():
memUsagePercent = int(psutil.virtual_memory().percent)
if (memUsagePercent > HighMemUsage):
sendText = "Alert From Host " + Uname + "!\r\nWarning: High Memory Usage " + str(memUsagePercent) + "%.\r"
sendMessage(alertMsg)
memUse = "Memory Usage: " +str(memUsagePercent) + "%"
return memUse

def getPower():
if not Fuse:
if not Power:
Text = "Main power failure.  Shutdown will occur shortly."
else:
Text = "Fuse failure."
SendMessage(Text)
pi_status()

Support FPP

+- Recent Topics

No Fuses and No Expansion Port by munu
Today at 07:12:42 PM

F48 v1 & F16v5 by munu
Today at 07:00:58 PM

Swapped PiCap V1 with V2 - Pixels will not light in test by CaptainMurdoch
Today at 05:29:18 PM

Does the Falcon PiCap v2 support Renard Output? by CaptainMurdoch
Today at 05:27:42 PM

FPP 8.4 released! by lrhorer
Today at 11:30:42 AM

K2-Pi-Servo by breese
January 17, 2025, 01:47:06 PM

Big button url question by darylc
January 14, 2025, 05:54:32 PM

Display TEXT to LED Panels form REST API by CaptainMurdoch
January 14, 2025, 11:55:25 AM

Differential Board: PSU & Enclosure by jnealand
January 14, 2025, 07:42:55 AM

wine from matrix with octoscroller control by Poporacer
January 12, 2025, 10:40:05 AM

Powered by EzPortal
Powered by SMFPacks Menu Editor Mod