Banana Pi BPI-R3

פורום רשתות, IT ומחשוב כללי - רשתות, ראוטרים, מחשבים ניידים, אביזרים וכו'.
tzah
עוסק בתחום
עוסק בתחום
תגובות: 1172
הצטרף: פברואר 2011

שליחה

06/02/2023 9:53  
elxyzad כתב:
1. אחלה orange pi, יש לי 3lts. אם אתה רוצה להיפטר מהם, אני יכול לעזור לך

2. כן, זה לא תקין מה שיש אצלך..
יש לי גם macbook m1 בבית, הwifi שם עובד מצוין, אפילו הכי טוב. הבעיה היא רק באייפונים.
...
אגב. עדכון קצר
שאלתי את החברה. כנראה עוד שבוע ימים, או פחות יהיה מלאי ל- Orange Pi 5
איזה מודל הזמנת. עם 8GB או 16GB RAM ?

elxyzad פותח השרשור
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 956
הצטרף: נובמבר 2020

שליחה

09/02/2023 18:25  
tzah כתב:
אגב. עדכון קצר
שאלתי את החברה. כנראה עוד שבוע ימים, או פחות יהיה מלאי ל- Orange Pi 5
איזה מודל הזמנת. עם 8GB או 16GB RAM ?
...
Orange pi 5? לא הזמנתי. יש לי מספיק כח עיבוד בבית.. יש לי cluster של כמה בורדים שעושים לי אוטומציה של build, test וכאלה..
שלחתי הודעה למוכר של המתאם, הוא הולך לקבל dispute ברגע שמתאפשר לי

tzah
עוסק בתחום
עוסק בתחום
תגובות: 1172
הצטרף: פברואר 2011

שליחה

09/02/2023 19:09  
elxyzad כתב:
Orange pi 5? לא הזמנתי. יש לי מספיק כח עיבוד בבית.. יש לי cluster של כמה בורדים שעושים לי אוטומציה של build, test וכאלה..
שלחתי הודעה למוכר של המתאם, הוא הולך לקבל dispute ברגע שמתאפשר לי
...
הבנתי.
נשמע נחמד. הרכבת את כל הלוחות במארז יפה?

elxyzad פותח השרשור
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 956
הצטרף: נובמבר 2020

שליחה

09/02/2023 20:49  
tzah כתב:
הבנתי.
נשמע נחמד. הרכבת את כל הלוחות במארז יפה?
...
הכל זרוק על שולחן בבלאגן גדול.
ראיתי שמוכרים כל מיני מארזים, אבל יש לי סוגים שונים של לוחות..
בתכלס כרגע יש לי רק 2 לוחות פעילים, נתתי כמה שאני אמור לקבל בחזרה.

elxyzad פותח השרשור
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 956
הצטרף: נובמבר 2020

שליחה

התקנתי עכשיו את הsnapshot האחרון.
- Wed עדיין לא עובד בגרסה הזאת, אני אבנה גרסה מתוקנת כשיהיה לי זמן..
- נראה שהבעיה שהייתה לי עם המהירות של הsfp הסתדרה, כל ריסט המהירות תקינה.
- כצפוי הלדים של הwifi עובדים עכשיו.

tolaat01
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 347
הצטרף: יוני 2007

שליחה

שניהם עובדים עם הסיבים בארץ?זה הדבר היחיד שלא ברור לי בכל השרשור - לא ראיתי מישהו שבפועל חיבר לסיבים ולאיזו חברה.
10/02/2023 13:34  
elxyzad כתב:
התקנתי עכשיו את הsnapshot האחרון.
- Wed עדיין לא עובד בגרסה הזאת, אני אבנה גרסה מתוקנת כשיהיה לי זמן..
- נראה שהבעיה שהייתה לי עם המהירות של הsfp הסתדרה, כל ריסט המהירות תקינה.
- כצפוי הלדים של הwifi עובדים עכשיו.
...

elxyzad פותח השרשור
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 956
הצטרף: נובמבר 2020

שליחה

11/02/2023 13:06  
tolaat01 כתב:
שניהם עובדים עם הסיבים בארץ?זה הדבר היחיד שלא ברור לי בכל השרשור - לא ראיתי מישהו שבפועל חיבר לסיבים ולאיזו חברה.
...
בטח שעובד, אני מחובר לסיב של פרטנר ומחבר ישירות מודול sfp. עובד מצוין. עד לפני הפאטצ'ים האחרונים שהכניסו לקוד, הייתה לי בעיה שלפעמים אחרי ריסט המהירות הייתה אפסית, ריסט נוסף היה מסדר את זה.

tolaat01
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 347
הצטרף: יוני 2007

שליחה

עם הידע שלך והניסיון עם הבננה 3 אתה יכול להכין יחידות מקוסטמות לפי דרישה ולמכור.
לדעתי יהיה שווה להרבה מאוד אנשים לשלם אקסטרה ולקבל יחידה מוכנה.
11/02/2023 13:20  
elxyzad כתב:
בטח שעובד, אני מחובר לסיב של פרטנר ומחבר ישירות מודול sfp. עובד מצוין. עד לפני הפאטצ'ים האחרונים שהכניסו לקוד, הייתה לי בעיה שלפעמים אחרי ריסט המהירות הייתה אפסית, ריסט נוסף היה מסדר את זה.
...

elxyzad פותח השרשור
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 956
הצטרף: נובמבר 2020

שליחה

11/02/2023 13:41  
tolaat01 כתב:
עם הידע שלך והניסיון עם הבננה 3 אתה יכול להכין יחידות מקוסטמות לפי דרישה ולמכור.
לדעתי יהיה שווה להרבה מאוד אנשים לשלם אקסטרה ולקבל יחידה מוכנה.
...
חשבתי על זה.. אף אחד לא אמר כמה הוא היה מוכן לשלם.

tolaat01
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 347
הצטרף: יוני 2007

שליחה

תתמחר אתה לפי הערכת זמן שתשקיע ותיתן מחיר
אף אחד לא ייתן מחיר אלא ינסה להתמקח.
תיצור תמחור מדורג בסגנון של
בסיסי בננה 3 עם open wrt מחובר ומוכן לעבודה תן מחיר
כנל עם תוספת של רכיב לדוגמא חיבור חוטים ארוכים יותר לwif
כנל עם תוספת חיבור פנל
כנל עם חיבור מאוורר פנימי והגדרת סקריפט מתאים לfirmware
ויש הרבה דוגמאות שראינו
כשאתפנה קצת אני אעבור על הטרייד וארשום את כל האופציות
אם הסיבים עובדים עם כולם הרבה ירצו את הבננה 3

tzah
עוסק בתחום
עוסק בתחום
תגובות: 1172
הצטרף: פברואר 2011

שליחה

09/02/2023 21:18  
elxyzad כתב:
הכל זרוק על שולחן בבלאגן גדול.
ראיתי שמוכרים כל מיני מארזים, אבל יש לי סוגים שונים של לוחות..
בתכלס כרגע יש לי רק 2 לוחות פעילים, נתתי כמה שאני אמור לקבל בחזרה.
...
אגב. שיחקתי קצת עם ChatGPT.
הוא הצליח לייצר לי קוד ל-PWM. ממה שאני רואה הוא אפילו עובד :)

elxyzad פותח השרשור
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 956
הצטרף: נובמבר 2020

שליחה

12/02/2023 20:54  
tzah כתב:
אגב. שיחקתי קצת עם ChatGPT.
הוא הצליח לייצר לי קוד ל-PWM. ממה שאני רואה הוא אפילו עובד :)
...
מעניין. תראה את הקוד

tzah
עוסק בתחום
עוסק בתחום
תגובות: 1172
הצטרף: פברואר 2011

שליחה

12/02/2023 21:06  
elxyzad כתב:
מעניין. תראה את הקוד
...
עובד עם המודול שלך:


#!/bin/bash

PWM_CHIP=419
PWM_PERIOD_NS=1000000
PWM_DUTY_CYCLE_MIN_NS=500000
PWM_DUTY_CYCLE_MAX_NS=900000
CPU_TEMP_FILE="/sys/class/thermal/thermal_zone0/temp"

# Request the PWM
echo $PWM_CHIP > /sys/class/soft_pwm/export

# Configure the PWM
echo $PWM_DUTY_CYCLE_MIN_NS > /sys/class/soft_pwm/pwm$PWM_CHIP/duty_cycle
echo $PWM_PERIOD_NS > /sys/class/soft_pwm/pwm$PWM_CHIP/period

# Enable the PWM
echo 1 > /sys/class/soft_pwm/pwm$PWM_CHIP/enable

previous_temp_c=0

while true; do
# Read the CPU temperature
temp=$(cat $CPU_TEMP_FILE)

# Convert the temperature to Celsius
temp_c=$((temp / 1000))

# Calculate the PWM duty cycle based on the temperature
duty_cycle=$((PWM_DUTY_CYCLE_MIN_NS + (temp_c - 40) * (PWM_DUTY_CYCLE_MAX_NS - PWM_DUTY_CYCLE_MIN_NS) / 60))

# Limit the duty cycle to the minimum and maximum values
if [ $duty_cycle -lt $PWM_DUTY_CYCLE_MIN_NS ]; then
duty_cycle=$PWM_DUTY_CYCLE_MIN_NS
fi
if [ $duty_cycle -gt $PWM_DUTY_CYCLE_MAX_NS ]; then
duty_cycle=$PWM_DUTY_CYCLE_MAX_NS
fi

# Set the PWM duty cycle
echo $duty_cycle > /sys/class/soft_pwm/pwm$PWM_CHIP/duty_cycle

# Print the current CPU temperature and fan rotation status
echo "CPU temperature: $temp_c°C"
if [ $temp_c -gt $previous_temp_c ]; then
echo "Fan rotation increased"
elif [ $temp_c -lt $previous_temp_c ]; then
echo "Fan rotation decreased"
else
echo "Fan rotation unchanged"
fi

# Update the previous temperature
previous_temp_c=$temp_c

# Sleep for 1 second
sleep 1
done

tzah
עוסק בתחום
עוסק בתחום
תגובות: 1172
הצטרף: פברואר 2011

שליחה

בשפת C (צריך לקמפל)

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define PWM_EXPORT_FILE "/sys/class/soft_pwm/export"
#define PWM_PERIOD_FILE "/sys/class/soft_pwm/pwm419/period"
#define PWM_DUTY_CYCLE_FILE "/sys/class/soft_pwm/pwm419/duty_cycle"
#define PWM_ENABLE_FILE "/sys/class/soft_pwm/pwm419/enable"

void set_pwm_value(char *file, int value) {
int fd = open(file, O_WRONLY);
if (fd < 0) {
printf("Error opening %s\n", file);
exit(1);
}
dprintf(fd, "%d", value);
close(fd);
}

int get_cpu_temperature() {
// To be implemented based on the Banana Pi R3 platform
// For now, return a dummy temperature value of 50 degrees Celsius
return 50;
}

int main() {
set_pwm_value(PWM_EXPORT_FILE, 419);
set_pwm_value(PWM_PERIOD_FILE, 6000);
int duty_cycle = get_cpu_temperature() * 12; // 12 is a coefficient based on the desired temperature-duty cycle relationship
set_pwm_value(PWM_DUTY_CYCLE_FILE, duty_cycle);
set_pwm_value(PWM_ENABLE_FILE, 1);

return 0;
}

elxyzad פותח השרשור
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 956
הצטרף: נובמבר 2020

שליחה

חח יפה!
זה סקריפט בקרה משלים לסקריפט pwm ההוא שלא כתבתי לו בקרה. למרות שבסוף זכור לי שכן עשיתי משהו.. שלחתי לך?
בכוונה עשיתי את המודול שלי compatible לpwm device רגיל של לינוקס, ככה אתה יכול להשתמש בסקריפטים נפוצים כאלה לשליטה.
הייתי רוצה לשלב אותו עם הבקרה המובנית בלינוקס, אני אעשה את זה בהמשך.. ככה לא תצטרך שום סקריפטים

הקוד c הוא בדיחה. קוד שקורא לsysfs וזהו.. עדיף סקריפט. מה גם שהוא לא עובד בכלל.

אין למתכנתים עדיין מה לחשוש מchatgpt כנראה.

tzah
עוסק בתחום
עוסק בתחום
תגובות: 1172
הצטרף: פברואר 2011

שליחה

13/02/2023 7:10  
elxyzad כתב:
חח יפה!
זה סקריפט בקרה משלים לסקריפט pwm ההוא שלא כתבתי לו בקרה. למרות שבסוף זכור לי שכן עשיתי משהו.. שלחתי לך?
בכוונה עשיתי את המודול שלי compatible לpwm device רגיל של לינוקס, ככה אתה יכול להשתמש בסקריפטים נפוצים כאלה לשליטה.
הייתי רוצה לשלב אותו עם הבקרה המובנית בלינוקס, אני אעשה את זה בהמשך.. ככה לא תצטרך שום סקריפטים

הקוד c הוא בדיחה. קוד שקורא לsysfs וזהו.. עדיף סקריפט. מה גם שהוא לא עובד בכלל.

אין למתכנתים עדיין מה לחשוש מchatgpt כנראה.
...
אז בדקת את הקוד בשפת C?
איך אני בכלל מוצא קומפלייר נורמלי ב- OpenWrt? יש חבילה ספציפית מומלצת?

הייתי רוצה לשלב אותו עם הבקרה המובנית בלינוקס, אני אעשה את זה בהמשך.. ככה לא תצטרך שום סקריפטים
הכי טוב.

elxyzad פותח השרשור
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 956
הצטרף: נובמבר 2020

שליחה

13/02/2023 9:29  
tzah כתב:
אז בדקת את הקוד בשפת C?
איך אני בכלל מוצא קומפלייר נורמלי ב- OpenWrt? יש חבילה ספציפית מומלצת?

הייתי רוצה לשלב אותו עם הבקרה המובנית בלינוקס, אני אעשה את זה בהמשך.. ככה לא תצטרך שום סקריפטים
הכי טוב.
...
אין מה לבדוק, אני רואה מה הוא עושה.
אין אפילו לולאה בקוד, הוא רק קורא ערך לא נכון של טמפרטורה (כי הוא מצפה ממך לממש את זה) ואז עושה קריאה ל sysfs והתוכנה נסגרת.

אתה יכול לקמפל או על המחשב שלך דרך ה build system שלהם באמצעות cross-compile, או בראוטר עצמו בהנחה שיש לך את כל ה build essentials בחבילות של openwrt.. לא בדקתי

tzah
עוסק בתחום
עוסק בתחום
תגובות: 1172
הצטרף: פברואר 2011

שליחה

13/02/2023 10:14  
elxyzad כתב:
אין מה לבדוק, אני רואה מה הוא עושה.
אין אפילו לולאה בקוד, הוא רק קורא ערך לא נכון של טמפרטורה (כי הוא מצפה ממך לממש את זה) ואז עושה קריאה ל sysfs והתוכנה נסגרת.

אתה יכול לקמפל או על המחשב שלך דרך ה build system שלהם באמצעות cross-compile, או בראוטר עצמו בהנחה שיש לך את כל ה build essentials בחבילות של openwrt.. לא בדקתי
...
נראה לי שזה יעבוד:

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>

#define PWM_CTRL_FILE "/sys/class/soft_pwm/pwm419/enable"
#define CPU_TEMP_FILE "/sys/class/thermal/thermal_zone0/temp"

void set_pwm(int pwm_value) {
int pwm_fd = open(PWM_CTRL_FILE, O_RDWR);
if (pwm_fd < 0) {
perror("Unable to open PWM control file");
exit(1);
}

char buf[2];
snprintf(buf, sizeof(buf), "%d", pwm_value);
if (write(pwm_fd, buf, sizeof(buf)) < 0) {
perror("Unable to write PWM value");
exit(1);
}

close(pwm_fd);
}

int get_cpu_temp() {
int temp_fd = open(CPU_TEMP_FILE, O_RDONLY);
if (temp_fd < 0) {
perror("Unable to open CPU temperature file");
exit(1);
}

char buf[5];
int len = read(temp_fd, buf, sizeof(buf));
if (len < 0) {
perror("Unable to read CPU temperature");
exit(1);
}

close(temp_fd);

buf[len] = '\0';
return atoi(buf) / 1000;
}

int main() {
int pwm_value = 0;
int cpu_temp = get_cpu_temp();

if (cpu_temp > 70) {
pwm_value = 100;
} else if (cpu_temp > 60) {
pwm_value = 50;
}

set_pwm(pwm_value);
return 0;
}

elxyzad פותח השרשור
סמל אישי של משתמש
חבר פעיל במיוחד
חבר פעיל במיוחד
תגובות: 956
הצטרף: נובמבר 2020

שליחה

לא יעבוד.
Set_pwm כותב למקום הלא נכון.
get_temp הבאפר קטן מידי.
והכי חשוב, אין לולאה בכלל

tzah
עוסק בתחום
עוסק בתחום
תגובות: 1172
הצטרף: פברואר 2011

שליחה

13/02/2023 21:28  
elxyzad כתב:
לא יעבוד.
Set_pwm כותב למקום הלא נכון.
get_temp הבאפר קטן מידי.
והכי חשוב, אין לולאה בכלל
...

זה סקריפט בדיקה הכי בסיסי. לפחות זה מה שביקשתי מאדון GPT :)

חזור אל “רשתות, אינטרנט ו- Fiber”