Monday, October 19, 2020

Granting Access for non Root to GPIOs

https://stackoverflow.com/questions/30938991/access-gpio-sys-class-gpio-as-non-root



Anleitung dafür Rechte auf GPIOs zu setzen aus:
http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_GPIO_Shell.html

Datei:
# /etc/udev/rules.d/80-gpio-noroot.rules
# Zugriff auf GPIO ohne root-Rechte ermoeglichen
#
# Gruppe aendern
SUBSYSTEM=="gpio", RUN+="/bin/chown -R root.gpio /sys/class/gpio"
SUBSYSTEM=="gpio", RUN+="/bin/chown -R root.gpio /sys/devices/virtual/gpio"
# Sticky-Bit setzen
SUBSYSTEM=="gpio", RUN+="/bin/chmod g+s /sys/class/gpio"
SUBSYSTEM=="gpio", RUN+="/bin/chmod g+s /sys/devices/virtual/gpio"
# Zugriffsrechte setzen
SUBSYSTEM=="gpio", RUN+="/bin/chmod -R ug+rw /sys/class/gpio"
SUBSYSTEM=="gpio", RUN+="/bin/chmod -R ug+rw /sys/devices/virtual/gpio"


#Jetzt müssen Sie nur noch den udev-Daemon von den Änderungen wissen lassen (beim nächsten Reboot passiert das dann automatisch):
sudo service udev restart
sudo udevadm trigger --subsystem-match=gpio

Iobroker zur Gruppe gpios hinzufügen:
sudo usermod -aG gpio iobroker



Nun ist folgendes passiert: 
Die Rechte auf die GPios wurden auf die Gruppe GPIO erweitert.
Dies wird bei jedem Boot wiederholt.
Der Nutzer Iobroker wurde dieser Gruppe hinzugefügt und kann nach einem Neustart nun die GPios schalten.


Saturday, September 26, 2020

Ubuntu Blocking Packages from update

 https://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package

dpkg

Put a package on hold:

echo "<package-name> hold" | sudo dpkg --set-selections

Remove the hold:

echo "<package-name> install" | sudo dpkg --set-selections

Display the status of your packages:

dpkg --get-selections

Saturday, August 15, 2020

postfix for raspi info

 I just installed Postfix on multiple raspis to be informed about updates, problems etc.

Any suggestions on how this could be done easier by e.g. collecting would be very much appreciated.


I started of with:

sudo apt install postfix:

  • Setup as satellite machine
  • Hostname unchanged
  • Relay or smarthost: put in your smtp
  • Everythin else default.

After that I've updated my /etc/aliases to reroute everything towards root and then towards my external mail adress:

postmaster:    root
nagios: root
root: admin@yourdomain.com


in the postfix Config file: /etc/postfix/main.cf I added:



smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_tls_security_level = encrypt


The  meaning of sender_canonical  is not clear as it seems redundant to the aliases:
www-data admin@yourdomain.com
root admin@yourdomain.com


the sasl_password file needs the input of your external relay or smarthost:

smtpserver:25  user:password


Be sure, the file ist only readable by its owner.


now:

sudo newalias    --> gets the aliases updated
 sudo postmap hash:/etc/postfix/sasl_password  && sudo postmap /etc/postfix/sender_canonical --> gets the files merged into postfix
sudo systemctl restart postfix -->  start with new config

If everything works you should be able to do this:
echo Hello!  Test! | mail -s Testmail admin@yourdomain.com


Friday, August 14, 2020

Nagios

Nagios installed following ....




Systems under surveillance need:

 sudo apt-get install nagios-nrpe-server nagios-plugins

 

Sunday, July 5, 2020

Raspi Temperaturmessung DS18B20 mit OWFS und Iobroker

I've looked through some tutorials. 
My Goal was to directly attach Ds18b20 Sensors to GPIO4 and to read via a mount Point into IOBroker.

First of all, do the Setup were you enable correct Interpretation on Raspi:
modprobe w1-gpio pullup=1
modprobe w1-therm

if all works well you make these Settings permanent by putting it into 
(old kernel versions)
# /etc/modules
w1-gpio pullup=1
w1-therm 
The same functionality should be achievable by putting the following in /boot/config.txt or better (ubuntu) /boot/Firmware/usercfg.txt dtoverlay=w1-gpio,gpioin=4,pullup=on
I suggest doing this in the end, if eventually everythin works

Install owfs and owserver:
sudo apt install owfs owserver

You should see the page on <Ip>:2121
If you enable the line with Server: fake in the /etc/owfs.conf file you should see fake sensors  on the webpage

Next Thing is wiring of the sensors. I'm not an expert. The following works for me:
Wire 4,7kOhm Resistor between 3,3 V VCC of Pi an GPIO4 Data Port
Wire VCC or + or red to 3,3V of the pi
Wire Gnd or - to Gnd on Pi
Wire Data to Pin 4 of Pi 

If you query dmesg you should see something like:
[  +0.024838] w1_master_driver w1_bus_master1: Attaching one wire slave 28.01193a3da276 crc e5
[  +0.007224] w1_master_driver w1_bus_master1: Family 28 for 28.01193a3da276.e5 is not registered.


install Iobroker Adapter owfs






Debugging:

High Speed USB @ Raspi4

https://www.youtube.com/watch?v=t0kYcM1E5fY&feature=youtu.be

Never heard of USAP but it seems interesting as ist faster an saves power from the first impression

Friday, June 26, 2020

Openhab and iobroker on same Linux Problem

Just saw, that frontail service for openhab serves on port 9001 which ist same as Iobroker internal imem Socket!

After disabling frontail iobroker was reachable again.

Sunday, June 7, 2020

USV / UPS an Raspi

Ich habe mich für die Vorgehensweise mit Nut entschlossen:




Nagios check_raid Bug for non Dm users:

since an update, the query for DM causes an error. Workaround for md Raid users is:
-p mdstat:

define command {
 command_name    check_raid
 command_line    /usr/lib/nagios/plugins/check_raid $ARG1$
}


define service{
    use                  generic-service
    host_name            localhost
    service_description  Linux RAID
    check_command        check_raid!-p mdstat!
    normal_check_interval  120
    retry_check_interval 5
}