====== Système écran hall ====== ===== Configuration du Raspberry ===== ==== Système ==== Dans le menu > Préférence > Configuration de Raspberry Pi: * Système * Changer le hostname * Interface * Activer SSH * Activer VNC ==== VNC ==== Modifier dans les options: * Sécurité * Authentification: Mot de passe VNC * Utilisateurs et autorisations * Utilisateur standard (user) > changer le mot de passe ==== Désactiver la veille automatique ==== === RPI 4 === Éditez /etc/xdg/lxsession/LXDE/autostart : sudo nano /etc/xdg/lxsession/LXDE/autostart Supprimez ou commentez avec un # la ligne suivante : @xscreensaver -no-splash Ajoutez cette ligne en fin de fichier : @xset s noblank @xset s off @xset -dpms Editez le fichier /etc/lightdm/lightdm.conf : sudo nano /etc/lightdm/lightdm.conf Ajoutez la ligne suivante dans la section [Seat:*] : xserver-command=X -s 0 -dpms Après un redémarrage, le Raspberry Pi ne passera plus en veille. ==== Lancer Firefox en mode kiosk ==== __Installer Firefox__ sudo apt install firefox-esr __Créer un fichier sur le bureau "start_firefox.sh"__ #!/bin/bash firefox -kiosk https://gip-cei.ymag.cloud/index.php/planning/afficheur/3/ __Rendre le script éxécutable__ sudo chmod +x /home/esli/Desktop/start_firefox.sh ==== Masquer la souris ==== sudo apt install unclutter sudo nano /etc/xdg/lxsession/LXDE/autostart @unclutter ==== Autostart ==== sudo nano /etc/xdg/lxsession/LXDE-pi/autostart @/home/esli/Desktop/start_firefox.sh ===== Accès à distance (pour Windows) ===== ==== Installation de Tightvnc ==== - Téléchargez et exécutez le logiciel d'installation de Tightvnc: https://www.tightvnc.com/download.php prendre "Installer for Windows (64-bit)"{{ :man:campus:raspberry:tightvnc_install_1.png?600 |}} - Cliquez sur Next{{ :man:campus:raspberry:tightvnc_install_2.png?600 |}} - Cochez "I accept the terms..." et cliquez Next{{ :man:campus:raspberry:tightvnc_install_3.png?600 |}} - Cliquez sur "Custom"{{ :man:campus:raspberry:tightvnc_install_4.png?600 |}} - Cliquez à côté de "Tightvnc Server" sur la petite flèche (1) et cliquez "Entire feature..." (2) - Puis cliquez Next{{ :man:campus:raspberry:tightvnc_install_5.png?600 |}} - Laissez la case cocher et cliquer Next{{ :man:campus:raspberry:tightvnc_install_6.png?600 |}} - Cliquez Install{{ :man:campus:raspberry:tightvnc_install_7.png?600 |}} - Cliquez Finish ==== Utilisation de Tightvnc ==== - Lancez Tight Viewer{{ :man:campus:raspberry:tightvnc_util_1.png?600 |}} - Inscrivez dans "Remote Host" (1): RPITV-ESLI.local:5900 Puis cliquez sur "Connect" - MDP: le mot de passe adminlocal des PC{{ :man:campus:raspberry:tightvnc_util_2.png?600 |}} - Vous pouvez cliquer sur la loupe auto (1) et agrandir la fenêtre - La mise en plein écran est possible (2) ATTENTION pour sortir faire Ctrl+Alt+Maj+F (ne pas oublier) ==== Fermer Firefox ==== Firefox en démarré en mode Kiosk, toutes les actions souris ou clavier sont bloqué. Pour sortir faire ATL + F4 ==== Relancer Firefox ==== Double cliquer sur le fchier start_firefox.sh puis cliquer lancer ===== Imeon ===== #!/usr/bin/python import requests import requests.exceptions import json import time LOGIN_URL = "http://192.168.1.15/login" DATA_URL1 = "http://192.168.1.15/battery-status" DATA_URL2 = "http://192.168.1.15/imeon-status" DATA_URL3 = "http://192.168.1.15/data-lithium" EMAIL = "installer@local" # default Imeon login PASSWORD = "Installer_P4SS" # default Imeon pass debug = False # True will display the output on your tty payload = {} def poll_imeon_data(): global payload session = requests.Session() try: resp = session.post(LOGIN_URL, data={"email" : EMAIL , "passwd": PASSWORD}, timeout=2) data1 = session.get(DATA_URL1, timeout=2) data2 = session.get(DATA_URL2, timeout=2) data3 = session.get(DATA_URL3, timeout=2) resp.raise_for_status() data1.raise_for_status() data2.raise_for_status() data3.raise_for_status() values1 = data1.json() values2 = data2.json() values3 = data3.json() payload["Timestamp"] = str(time.ctime()) payload["Battery_status"] = str(values1['bat_status']) #payload["Battery_state"] = str(values2['state_battery']['message']) payload["Battery_activity"] = str(values2['state_battery']['class']) payload["Battery_current"] = str(values3['battery-current']) payload["Battery_tension"] = str(values3['battery-tension']) payload["Battery_temperature"] = str(values3['tmp-bat']) payload["Battery_charge"] = str(values3['bms-soc']) payload["Battery_error"] = str(values3['error']) payload["Battery_warning"] = str(values3['warning']) A = str(values2['state_grid']['message']) B = str(values2['state_meter']['message']) C = str(values2['state_pv']['message']) payload["Grid_state"] = A.rstrip(A[-1]) payload["Meter_state"] = B.rstrip(A[-1]) payload["PV_state"] = C.rstrip(A[-1]) payload["Meter_status"] = str(values2['state_meter']['class']) payload["Inverter_state"] = str(values2['state_inverter']['message']) payload["State_timeline"] = str(values2['state_timeline']['detail']) payload["Error_history"] = str(values1['error_history'][0]) if debug: for x in payload: print(x, " : ", payload[x]) except Exception as err: print("Imeon is eating glue again... (" + str(err)+")") #time.sleep(10) #continue raise SystemExit #break def run(): global payload poll_imeon_data() if __name__ == '__main__': run()
Instantané
150W
700W
Production
Consomation