ניטור שימוש במחשב
-
ישנו משרד ובו מחשב עם 2 משתמשים.
בחלק מהיום המחשב משמש את א, ובחצי השני של היום המחשב משמש את ב' ביוזר נפרד.
יוזר ב' רוצה לדעת ניטור על יוזר א' -בהסכמתו- מתי הוא נמצא במשרד, כדי שאם יוזר א' יצא מוקדם מהמשרד או לא הגיע היום יוכל יוזר ב' לדעת זאת בקלות ויוכל להגיע מוקדם יותר למשרד.
האם יש דרך בקלות לנטר זאת באמצעות תוכנה על המחשב, ניטור הרשת או משהו אחר שניתן יהיה לדעת שבXX הדקות האחרונות לא היה המחשב בשימוש?
תודה -
@חוקר
אתגרת לגמריהכיוון שלי הוא להשתמש במשאבים הקיימים
- להגדיר מצב שינה למחשב אחרי X זמן
- ליצור במתזמן המשימות אירוע לפי טריגר
טריגר - system
אירוע - Kernel-Power
מזהה: 42 כניסה למצב שינה, 1 יציאה ממצב שינה - ישנה אפשרות לשלוח מייל ישירות ממתזמן המשימות על הסטטוס כניסה/יציאה
(או ליצור תוכנית קטנה עצמונית שתרוץ ותשלח מייל )
[נ.ב.ג. אני בדקתי אצלי, ע"י יצירת קובץ טקסט מקומי של התאריך והשעה]
-
@חוקר יש דרך יחסית פשוטה... אם מותקן על המחשב ANYDESK ניתן לראות האם המחשב פעיל או לא פעיל...
בנוסף, לפי מה שכתב @mekev שניתן לשלוח מייל ממתזמן המשימות, אז אולי לא נדרש כל הסיבוך אלא רק להגדיר מייל ואם המחשב כבוי המייל לא יישלח. ייתכן שזאת הייתה כוונתו ולא הבנתי... [אאל"ט אחרי שליחת התגובה שלי @mekev ערך את התשובה שלו לפי מספור ואז זה באמת נראה כתשובה עצמאית...]
-
עברתי לכיוון אחר לגמרי.
לפני שבוע קניתי ערכת לימוד של ESP32 וגיליתי שיש שם חיישן תאורה.
בעזרת GPT כתבתי קוד כדלהלן,
הרעיון הוא אני מחבר מיקרו בקר לוויפי, ואליו מחובר רגש המחזיר את ההתנגדות לאור האם כרגע דלוק אור בחדר או לא, בנוסף פתחתי שם שרת שמאזין לבקשות HTTP ומחזיר בתגובה את הסטטוס הנוכחי וממתי זה כך, בנוסף אעשה בעזה"י הפניית פורט לבקר וככה אוכל לבדוק כאשר אני רוצה לצאת למשרד האם עדיין האור דלוק שם..
המכשיר מוכן וכעת נותר לחכות להתקין ולבדוק (היכן להתקין ולוודא שרמת הבדיקה נכונה בצהריים כשהאור לא דלוק וכו').import machine import time import network import socket import _thread import ntptime # הגדרת חיבור ל-WiFi ssid = 'ssid' password = 'password' led = machine.Pin(2, machine.Pin.OUT) # פונקציה לסנכרון הזמן עם שרת NTP def sync_time(): try: print('Syncing time with NTP...') ntptime.settime() print('Time synchronized') except: print('Failed to sync time') # פונקציה להמרת הזמן ל-UTC+2/UTC+3 def local_time(offset=2): tm = time.time() + offset * 3600 return tm # התחברות ל-WiFi led.value(1) time.sleep(1) led.value(0) sta_if = network.WLAN(network.STA_IF) sta_if.active(True) sta_if.connect(ssid, password) while not sta_if.isconnected(): led.value(1) time.sleep(0.5) led.value(0) time.sleep(0.5) print('Connection successful') print(sta_if.ifconfig()) # סנכרון הזמן עם שרת NTP sync_time() # הגדרת החיישן על פין דיגיטלי מתאים photoresistor_pin = machine.Pin(19, machine.Pin.IN) # משתנים לשמירת תאריך השינוי הקודם והמצב הנוכחי last_change_time = None last_light_status = None # פונקציה לבדיקה אם האור דלוק def is_light_on(): return photoresistor_pin.value() == 0 # פונקציה לדגימה ושמירת הזמן def sample_light(): global last_change_time, last_light_status current_light_status = is_light_on() if current_light_status != last_light_status: last_change_time = local_time(offset=3) last_light_status = current_light_status print(last_change_time, current_light_status) # דגימת מצב האור בכל דקה def sampling_loop(): while True: sample_light() time.sleep(1) # הפעלת דגימת האור בלולאה נפרדת _thread.start_new_thread(sampling_loop, ()) # קוד לשרת HTTP def web_page(): if last_change_time is not None: last_change = time.localtime(last_change_time) # שים לב לאזור זמן UTC+3 last_change_str = '{:04d}-{:02d}-{:02d} {:02d}:{:02d}:{:02d}'.format( last_change[0], last_change[1], last_change[2], last_change[3], last_change[4], last_change[5] ) else: last_change_str = 'Never' current_status = "דולק" if last_light_status else "כבוי" change_str = "הדלקה" if last_light_status else "כיבוי" time_diff_minutes = int((local_time(offset=3) - last_change_time) / 60) time_diff_str = f"לפני {time_diff_minutes} דקות" html = f""" <html lang="he"> <head> <title>מצב תאורה</title> </head> <body dir="RTL"> <h1>מצב תאורה נוכחי: {current_status}</h1> <h2>תאריך {change_str} אחרון: {last_change_str} {time_diff_str} </h2> </body> </html> """ return html def start_web_server(): addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1] s = socket.socket() s.bind(addr) s.listen(1) print('Listening on', addr) while True: conn, addr = s.accept() print('Client connected from', addr) cl_file = conn.makefile('rwb', 0) while True: line = cl_file.readline() if not line or line == b'\r\n': break response = web_page() conn.send('HTTP/1.1 200 OK\r\n') conn.send('Content-Type: text/html; charset=utf-8\r\n') conn.send('Connection: close\r\n\r\n') conn.sendall(response) conn.close() start_web_server()
-
@mekev כתב בניטור שימוש במחשב:
@חוקר
מחכה כבר לפתק שיהיה תלוי על הדלת
'נא לזכור לכבות את האור לפני היציאה'...לא יודע להגיד אם מדובר ב"גלאיצינערס" אבל ששכחו לנעול את המשתמש שלהם במחשב כבר קרה, לכבות את החשמל עוד לא קרה..
@Aharon-0 כתב בניטור שימוש במחשב:
לא יותר פשוט להוסיף חיישן נוכחות ?
הנקודה היא שזה לא נפק"מ דחוף לכל יום, אלא רק לנוחיות, שביום שמסתדר לי לצאת יותר מוקדם וייתכן שהוא יצא מהמשרד מוקדם. ואני לא רוצה להתקשר לשאול כי זה סתם ייתן תחושה של "היי למה אתה מתעכב היום". לכן הדרך הכי טובה שאני יכול לבדוק לעצמי בלי שזה יהיה עול עבור האחרים.