Netwerkschijven

sudo adduser nasuser
sudo smbpasswd -a nasuser

sudo mkdir /home/nasuser/nas

cd /etc/samba
sudo vi smb.conf
sectie toevoegen:comment=Mijn Schijf
path=/home/nasuser/nas
writeable=yes
public=no
create mask=0664
directory mask=0775
veto files = /Thumbs.db/.DS_Store/._.DS_Store/.apdisk/._*/
delete veto files = yes
valid users = nasuser
force user = nasuser

Dit is alleen zinnig indien je een harde schijf hebt aangesloten. Samba is door openHAB al toegevoegd voor zijn eigen mappen (logging/configuratie). Maar je kan er natuurlijk ook een eigen netwerkshare aan toevoegen voor overige zaken. Wijs is om een specifieke gebruiker met beperkte rechten aan te maken en die te gebruiken (bijv. nasuser maar leef je uit). Als de user er is, kan je in de home map een nas map maken. En daarna de samba configuratie bewerken om die map beschikbaar te maken. Hierna kan je met bijvoorbeeld je laptop deze map koppelen en gebruiken. Dit is een vrij standaard actie, dus meer hulp is met google zo te vinden. Bijvoorbeeld een handleiding of de samba projectpagina met alle mogelijkheden.

nodeJS

NodeJS is optioneel, ik gebruik als hulpmiddel om zaken zelf te regelen. Je kan er van alles mee doen middels het programmeren van javascript. Denk aan het leveren van een website of het verbinden van apparaten via USB of op de GPIO van de raspberry Pi. Ik vind dit handig om een aantal redenen, basis is natuurlijk dat ik thuis ben in deze programmeertaal (anders moet je er niet aan beginnen). De community achter nodeJS is enorm, dus het opent de deur naar allerlei door anderen gemaakte zaken. En dat komt van pas als de binding in openHAB er niet is of niet voldoende functionaliteit bevat. Gebruikelijke opzet is dat nodeJS uiteindelijk een webpagina of webservice draait die je met openHAB integreert met de http binding.

(mogelijk verouderd voorbeeld, check link voor actuele instructies!!!)

#installeer nodejs
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs npm

#optioneel native addons
sudo apt-get install gcc g++ make

#test
node -v
npm -v

#require modules installeren (bijv. node-fetch)
npm install node-fetch

De installatie heb ik gedaan met de tutorial van w3Schools (flink naar onder scrollen). Je moet een bron toevoegen voor de applicaties en dan kan je ze installeren.Of dit gelukt is kan je doen door de versienummers van beide tools op te vragen. Hierna kan je een programma starten met bijvoorbeeld nodejs mijn_programma.js

pm2

Het is handig om al je nodeJS programma's op de achtergrond/als proces te laten draaien. Want na starten blijft je commando prompt hangen en kan je niks meer doen. Je krijgt die weer terug als je CTRL_C kiest maar dan draait het nodeJS programma niet meer. pm2 is een tool die dit oplost. Indien gewenst kan je deze gelijk gebruiken om je nodeJS programma's onder een andere user (met minder rechten dan je standaard PI admin account) te laten draaien.

#optioneel andere user (switch hierna voor de andere commando's)
sudo adduser kies_je_naam

#installeer pm2
sudo npm install -g pm2
pm2 startup systemd

#programma starten
pm2 start app.js

#programma stoppen
pm2 stop app.js

#huidige configuratie opslaan
pm2 save

#overzicht
pm2 list

De installatie bestaat uit 2 commando's, het tool downloaden en zorgen dat dit bij systeemstart draait. Hierna kan je met een aantal PM2 commando's een programma op de achtergrond starten en stoppen. Of je huidige set opslaan of tonen. Er kan natuurlijk veel meer, maar dat kan je zo in de tutorial vinden.

1 2 3