תוכן עניינים:
- שלב 1: Materiais
- שלב 2: Dragonboard 410c Com Mezzanine 96 לוחות: Configuração E Pinagem
- שלב 3: Integração: אחדות + וופוריה
- שלב 4: אחדות: הגדר את O SDK אנדרואיד
- שלב 5: Criando Servidor מקומי E מידע על פייתון
- שלב 6: גמר התוצאה
וִידֵאוֹ: שיעור חכם: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
O projeto שיעור חכם ויזואלי לא יכולנו להכין פרופסורים שיכולים להשתמש בתכנים או במתנה לאירועי סינוסים או לבנדו או באב ניוול אפרנזיו יותר מעולה לקונסררררררבבבבבבבבבבבבבבבבבבבבויות דה אולה כנסייה.
שלב 1: Materiais
לתכנת תוכנת Dragonboard 410c:
- דרגוןבורד 410c;
- קאבו HDMI;
-טקלדו באמצעות USB -עכבר באמצעות USB -צג;
- 96 לוחות ביניים;
עבור מנהל או פרויקט:
- דרגוןבורד 410c;
- 96 לוחות ביניים;
- Sensor Grove IMU 10DOF MPU - 9250 (לא ניתן להגביל חיישן);
- Fonte de alimentação externa 11.1V;
- מגשר fêmea-fêmea;
שלב 2: Dragonboard 410c Com Mezzanine 96 לוחות: Configuração E Pinagem
O Shield Mezzanine deve ser acoplado à placa Dragonboard 410c, para que haja fornecimento de saída 3.3V / 5V (משתנה רמה), pois a placa só fornece 1.8V de saída. חיישן O משתמש בחיישן מגנטומטר חיישן MPU -9250 Grove -IMU 10DOF, תכונות מיוחדות:
Tensão de Entrada: 5V / 3.3V;
Corrente de funcionamento: 6mA;
Comunicação סדרתי;
פינו: VCC, GND, SDA e SCL;
ממשק I2C;
לדוגמא, למשל, שימוש בכל הקונקטורים Grove I2C0 (5V), que proporciona and comunicação series and a alimentação needsária for funcionamento do sensor. (ver imagem)
שלב 3: Integração: אחדות + וופוריה
1- Vá ao site da vuforia na área de desenvolvedor e crie uma chave.
2- בכרטיסייה Target Manager ניתן לקרוא טקסט למעקב אחר מעקב (כמות מורכבת).
3- Feito isso baixe a database for a Unity e import.
4- No Unity להגדיר את יעד התמונה באמצעות טקסט ועיצוב מודלים תלת מימדיים שיכולים להשתמש בתכשירי 3D, או לאפשר לנו להשתמש בתמונות עבור יישום מקומי.
5- Adicione a chave de licença da vuforia nas configurações dentro do Unity.
6- חלקים שונים של רכיבי התוכנה התלת-ממדיים והכנתם כמטרות תדמית (pode ser uma aula de Biologia ou Física…).
שלב 4: אחדות: הגדר את O SDK אנדרואיד
1- הורדות SDK לאנדרואיד, והעדפות אחדות ואפשרויות בחירה.
2- בוץ על בניית פלטפורמה של Unity עבור אנדרואיד, תוכנת שיחות או APK.
3- התקנה של apk em um dispositivo.
שלב 5: Criando Servidor מקומי E מידע על פייתון
מסקנות כמו תצורות apresentadas, podemos accesses או מערכת Linaro dentro da placa e utilizar várias linguagens como C ++, Java, Python, וכו '. תוכנת Este יכולה להגיב על חיישן חיישן, מעבדים ואמצעים להתאים את התוכנה. Depois carrega esses dados para o servidor alocado na própria placa para enviar os dados já tratados para a plataforma Unity. Os exemplos de código deste projeto estão em linguagem Phyton. Os dados são transferidos da Dragonboard 410c עבור Unity e são apresentados em um app.
Seguem os códigos mag_python.py (leitor de dados do sensor), server2.py (Servidor local), Executável no Shell:
Código mag_python.py
#!/usr/bin/python
# מחבר: ג'ון טרולסון
# זכויות יוצרים (ג) 2015 Intel Corporation.
#
# הרשאה ניתנת בזאת, ללא תשלום, לכל אדם שישיג
# עותק של תוכנה זו וקבצי תיעוד נלווים (# "תוכנה"), לעסוק בתוכנה ללא הגבלה, כולל
# ללא הגבלה הזכויות לשימוש, להעתיק, לשנות, למזג, לפרסם, # להפיץ, לתת רישיון משנה ו/או למכור עותקים של התוכנה, ול
# לאפשר לאנשים שהתוכנה מסופקת להם לעשות זאת, בכפוף
# התנאים הבאים:
#
# הודעת זכויות היוצרים לעיל והודעת הרשאה זו יהיו
# כלול בכל העותקים או בחלקים ניכרים של התוכנה.
#
# התוכנה מסופקת "כפי שהיא", ללא אחריות מכל סוג שהוא, # מפורש או משתמע, כולל אך לא מוגבל לאחריות של
# סחירות, התאמה למטרה מיוחדת ו
# פרה. בשום מקרה לא יהיו המחברים או מחזיקי הזכויות
# אחריות לכל תביעה, נזקים או אחריות אחרת, אם כן בפעולה
מספר חוזה, עוולה או אחרת, העולים משם, מחוץ או בקשר
# עם התוכנה או השימוש או התנהגויות אחרות בתוכנה.
מ _ עתיד_ ייבוא הדפסה_פונקציה
זמן יבוא, sys, signal, atexit, urllib, urllib2, מתמטיקה
מאת upm יבוא pyupm_mpu9150 כחיישן Obj
def main ():
# נתונים = {}
# data ['magnetrometro'] = raw_input ("הודע טמפרטורה")
# data = urlib.urlencode (נתונים)
# post_request = urlib2. Request (post_url, נתונים, כותרות)
# נסה:
# post_response = urlib2.urlopen (פוסט_בקשה)
# print post_response.read ()
# למעט URLError בתור e:
# הדפסה "שגיאה:", e.reason
# הפעל MPU9250 באוטובוס I2C 0
חיישן = sensorObj. MPU9250 ()
## מטפלים ביציאה ##
# פונקציה זו עוצרת את פיתון מהדפסת עקבות בעת הפגיעה ב- C-C
def SIGINTHandler (סימן, מסגרת):
להעלות את SystemExit
# פונקציה זו מאפשרת לך להריץ קוד ביציאה
def exitHandler ():
הדפס ("יוצא")
sys.exit (0)
# רשום מטפלים ביציאה
atexit.register (exitHandler)
signal.signal (signal. SIGINT, SIGINTHandler)
sensor.init ()
x = sensorObj.new_floatp ()
y = sensorObj.new_floatp ()
z = sensorObj.new_floatp ()
בעוד (1):
sensor.update ()
sensor.getAccelerometer (x, y, z)
# print ("מד תאוצה:")
# print ("AX: %.4f" % sensorObj.floatp_value (x), end = '')
# print ("AY: %.4f" % sensorObj.floatp_value (y), end = '')
# הדפסה ("AZ: %.4f" % sensorObj.floatp_value (z))
modulo1 = (sensorObj.floatp_value (x) -0.005) ** 2+ (sensorObj.floatp_value (y) -0.0150) ** 2+ (sensorObj.floatp_value (z) -0.0450) ** 2
# הדפסה (modulo1)
modulo1 = (" %.1f" % abs (((modulo1 ** 0.5) -1)*9.8))
# הדפסה (modulo1)
#
# sensor.getGyroscope (x, y, z)
# print ("Gyroscope: GX:", sensorObj.floatp_value (x), end = '')
# print ("GY:", sensorObj.floatp_value (y), end = '')
# print ("GZ:", sensorObj.floatp_value (z))
sensor.getMagnetometer (x, y, z)
# print ("Magnetometer: MX:", sensorObj.floatp_value (x), end = '')
# print ("MY:", sensorObj.floatp_value (y), end = '')
# print ("MZ:", sensorObj.floatp_value (z))
modulo2 = sensorObj.floatp_value (x) ** 2+sensorObj.floatp_value (y) ** 2+sensorObj.floatp_value (z) ** 2
# הדפסה (modulo2)
modulo2 = (" %.2f" % (modulo2 ** 0.5))
# הדפסה (modulo2)
arq = open ('/tmp/dados.txt', 'w')
טקסט =
texto.append (str (modulo2)+","+str (modulo1))
arq.writelines (טקסט)
arq.close ()
# link = ('https://data.sparkfun.com/input/0lwWlyRED5i7K0AZx4JO?private_key=D6v76yZrg9CM2DX8x97B&mag='+str(modulo2))
# print ('enviando dados')
# שלח = urllib2.urlopen (קישור)
# page = send.read ()
# הדפס דף)
# link = ('https://data.sparkfun.com/input/1noGndywdjuDGAGd6m5K?private_key=0mwnmR9YRgSxApAo0gDX&acel='+str(modulo1))
# print ('enviando dados')
# שלח = urllib2.urlopen (קישור)
# page = send.read ()
# הדפס דף)
# print ("טמפרטורה:", sensor.getTemperature ())
# הדפס()
# time.sleep (.5)
אם _name_ == '_ עיקר_':
רָאשִׁי()
Código do Servidor Local
זמן יבוא
ייבא BaseHTTPServer
HOST_NAME = '172.17.56.9' # !!! זכור לשנות זאת !!!
PORT_NUMBER = 80 # אולי תגדיר את זה ל- 9000.
a = 0
מחלקת MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):
def do_HEAD (ים):
s.send_response (200)
s.send_header ("סוג תוכן", "טקסט/HTML")
s.end_headers ()
def do_GET (ים):
dados = le_dados ()
הדפס (dados)
"" "השיב לבקשת GET." ""
אם s.path == "/1":
s.send_response (200)
s.send_header ("סוג תוכן", "טקסט/רגיל")
s.end_headers ()
s.wfile.write (dados)
elif s.path == "/2":
s.send_response (200)
s.send_header ("סוג תוכן", "טקסט/רגיל")
s.end_headers ()
s.wfile.write ("2")
אַחֵר:
s.send_response (200)
s.send_header ("סוג תוכן", "טקסט/רגיל")
s.end_headers ()
s.wfile.write (dados)
#s.wfile.write ("לא נמצא !!")
def le_dados ():
arq = open ('/tmp/dados.txt', 'r')
texto = arq.readline ()
arq.close ()
החזר טקסט
אם _name_ == '_ עיקר_':
server_class = BaseHTTPServer. HTTPServer
httpd = class_ server ((HOST_NAME, PORT_NUMBER), MyHandler)
print time.asctime (), "שרת מתחיל - %s: %s" %(HOST_NAME, PORT_NUMBER)
לְנַסוֹת:
a = a+2
httpd.serve_forever ()
למעט מקלדת הפרעה:
לַעֲבוֹר
httpd.server_close ()
print time.asctime (), "עצירת שרת - %s: %s" %(HOST_NAME, PORT_NUMBER)
Código de Execução dos Códigos anteriores no Shell
#!/bin/bash
הד "החל מ- mag_python"
sudo python mag_python.py &
הד "התחל שרת"
sudo python server2.py
שלב 6: גמר התוצאה
Feito isso as aulas poderão ser auxiliadas e incrementadas foro projeto Lesson Lesson desenvolvido com a Dragonboard 410c. שירות המנחה והפרופורציה במאור אינפורמציה של מערכת ההפעלה.
LINK לאפליקציה ללא Google Play:
קישור ל- Cydigos Py:
מוּמלָץ:
שעון מעורר חכם: שעון מעורר חכם המיוצר עם פטל פי: 10 שלבים (עם תמונות)
שעון מעורר חכם: שעון מעורר חכם המיוצר עם פטל פאי: האם אי פעם רצית שעון חכם? אם כן, זה הפתרון בשבילך! הכנתי שעון מעורר חכם, זהו שעון שתוכל לשנות את זמן ההתראה בהתאם לאתר. כאשר האזעקה תיגמר, ישמע צליל (זמזם) ושתי נורות יעיפו
שיעור לניהול התצורה ב- ESP32 EEPROM: 5 שלבים
מחלקה לניהול התצורה ב- ESP32 EEPROM: היי, אני רוצה לשתף אתכם בכל המחלקה שפיתחתי וזה מפשט את המשימה של הוספת מידע תצורה במכשירי ESP32. הכיתה את המטרות הבאות: להקל על יצירת תצורה מערכת במכשירי ESP32
שיעור 2: שימוש בארדואינו כמקור כוח למעגל: 6 שלבים
שיעור 2: שימוש בארדואינו כמקור כוח למעגל: שוב שלום לכם, סטודנטים, לשיעור השני שלי בקורס שלי ללמד אלקטרוניקה בסיסית. למי שלא ראה את השיעור הראשון שלי, המתאר את היסודות המעגליים מאוד, אנא ראה זאת כעת. למי שכבר ראה את הספר הקודם שלי
סדנת ג'אווה - שיעור מספר 1: 9 שלבים
סדנת ג'אווה - שיעור מספר 1: ברוכים הבאים מסדנת ג'אווה - שיעור מספר 1. שיעור זה ניתן לך לפי קוד כיתה () ב- Virginia Tech
שיעור מכוניות טנק ארדואינו 6-בקרת נקודה חמה של Bluetooth ו- Wifi: 4 שלבים
שיעור 6 טנקים של Arduino טנק-בקרת נקודה חמה של בלוטות 'ו- Wifi: בשיעור זה אנו לומדים כיצד לשלוט על אפליקציית הניידים של מכונית הרובוט באמצעות WiFi ו- Bluetooth., אנו משתמשים רק בלוח הספיישן של esp8266 בתור לוח הרחבה ושולטים במכונית הטנק. באמצעות מקלט IR בשיעורים קודמים. בשיעור זה נלמד