Communiquer avec un écran sur raspberry pico

Bonjour,

Je viens de recevoir mon raspberry pico WH avec un écran 2’’ avec led RGB
Je débute totalement sur python et avant de me de lancer dans de longues recherches, je cherche à savoir s’il est possible à Jeedom (que j’ai de lancé sur un raspberry pi 4) de communiquer avec le pico pour lui faire afficher du texte et choisir la couleur de la led RGB.
Suite à 2 pannes réseaux de mon Alexa, je souhaite désormais y afficher du texte, celui que je fais lire à Alexa en même temps (utile par exemple pour savoir si l’alarme a été désactivée ou si la demande d’activation a bien été prise en compte).
Je pourrais aussi utiliser le détecteur de mouvement de mon entrée là où je commpte mettre mon pico à côté de mon clavier FRIENT pour déclencher un affichage de texte général sur l’état des fenêtres actuel, ou donner des infos diverses quand un mouvement est détecté.
Et si c’est possible si quelqu’un a un petit lien ou petit tuto pour réaliser ceci ce serait top !

Merci d’avance !

Hello, je n’ai pas tout a fait la même configuration, mais j’utilise un reTerminal (Getting Started with reTerminal | Seeed Studio Wiki) sur lequel je fait afficher un design Jeedom.
Mais j’ai également une interaction avec les boutons du terminal, pour cela j’utilise un virtuel,

Que je mets à jour avec un programme python sur le Terminal,

#!/usr/bin/env python3

import seeed_python_reterminal.core as rt
import seeed_python_reterminal.button as rt_btn
import os
import requests

rt.sta_led_green = True
rt.sta_led_red = False

apikey = 'xxxx'
link = "https://xxxx.eu.jeedom.link/core/api/jeeApi.php"

device = rt.get_button_device()
while True:
    for event in device.read_loop():
        buttonEvent = rt_btn.ButtonEvent(event)
        if buttonEvent.name != None:
            payload = {'plugin':'virtual', 'type':'event' , 'apikey': apikey,  'id':'2239' ,  'value':1}
            r = requests.post(link, params=payload)
            value = buttonEvent.value
            if str(buttonEvent.name) == "ButtonName.F1":
                button = 2233
                if buttonEvent.value == 1:
                    status = os.system('systemctl | grep kiosk.service >null')
                    if status != 0:
                        os.system('systemctl start kiosk.service >null')
                        rt.sta_led_red = False
                        rt.sta_led_green = True
                        payload = {'plugin':'virtual', 'type':'event' , 'apikey':apikey ,  'id':'2237' ,  'value':1}
                        r = requests.post(link, params=payload)
                    else:
                        os.system('systemctl stop kiosk.service >null')
                        rt.sta_led_red = True
                        rt.sta_led_green = False
                        payload = {'plugin':'virtual', 'type':'event' , 'apikey':apikey ,  'id':'2237' ,  'value':0}
                        r = requests.post(link, params=payload) 
            elif str(buttonEvent.name) == "ButtonName.F2":
                button = 2234
            elif str(buttonEvent.name) == "ButtonName.F3":
                button = 2235
            elif str(buttonEvent.name) == "ButtonName.O":
                button = 2236
                status = os.system('DISPLAY=:0 xset q | grep "Monitor is On"')
                if status == 0:
                    os.system('DISPLAY=:0 xset dpms force off >null')
                    payload = {'plugin':'virtual', 'type':'event' , 'apikey':apikey ,  'id':'2239' ,  'value':1}
                    r = requests.post(link, params=payload)
                else:
                    payload = {'plugin':'virtual', 'type':'event' , 'apikey':apikey ,  'id':'2239' ,  'value':0}
                    r = requests.post(link, params=payload)
            payload = {'plugin':'virtual', 'type':'event' , 'apikey':apikey ,  'id': button,  'value': value}
            r = requests.post(link, params=payload)

Je gère la mise à jour du virtuel avec la bibliothèque requests et je fait des posts par exemple avec:

payload = {'plugin':'virtual', 'type':'event' , 'apikey':apikey ,  'id': button,  'value': value}
r = requests.post(link, params=payload)

Pas sur que cela soit la meilleure manière, mais cela fonctionne pour mon besoin.
Tu peux egalement accéder par un get et recuperer une valeur de Jeedom vers le terminal.

import requests

r =requests.get('https://xxxx.eu.jeedom.link/core/api/jeeApi.php?apikey=xxxx&type=cmd&id=2240')
print(r.status_code)
print(r.text)

Mathieu

Super merci pour ta réponse j’ai déjà un début, je testerai cette idée.
D’autres personnes ont des idées voire expérimentées avec le Pico ?