فهرست مطالب:

درس هوشمند: 6 مرحله
درس هوشمند: 6 مرحله

تصویری: درس هوشمند: 6 مرحله

تصویری: درس هوشمند: 6 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, نوامبر
Anonim
درس هوشمند
درس هوشمند

O projeto Smart درس ویزا criar um produto no qual os professores possam useitar como um conteúdo a mais para ensinar seus alunos os levando a um nível de aprendizado muito superior for conseguir mostrar os conteúdos de forma dinâmica e interato nomo ، proporcasand و proporcionand em proporcionand. de aula معمولی.

مرحله 1: مواد

مواد
مواد

برای برنامه نویسی Dragonboard 410c:

- Dragonboard 410c ؛

- Cabo HDMI ؛

-Teclado از طریق USB -ماوس از طریق USB -مانیتور ؛

- تخته میزانسن 96 ؛

برای اجرای برنامه:

- Dragonboard 410c ؛

- تخته میزانسن 96 ؛

- Sensor Grove IMU 10DOF MPU - 9250 (بدون محدودیت یا استفاده از سنسور único) ؛

- Fonte de alimentação externa 11.1V ؛

- جهنده fêmea-fêmea ؛

مرحله 2: Dragonboard 410c Com Mezzanine 96 تابلوها: Configuração E Pinagem

Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem

O Shield Mezzanine deve ser acoplado à placa Dragonboard 410c، para que haja fornecimento de saída 3.3V / 5V (سطح ترانسفورماتور) ، شما می توانید از راه دور 1.8 ولت استفاده کنید. O sensor utilizado foi um magnetômetro Sensor MPU -9250 Grove -IMU 10DOF، especificações:

Tensão de Entrada: 5 ولت / 3.3 ولت ؛

Corrente de funcionamento: 6mA ؛

سریال Comunicação؛

Pinos: VCC ، GND ، SDA و SCL ؛

رابط I2C ؛

برای این منظور می توانید از Grove I2C0 (5V) استفاده کنید و به عنوان یک سریال و یک تغذیه ضروری برای عملکرد حسگر عمل کنید. (ver imagem)

مرحله 3: Integração: Unity + Vuforia

Integração: Unity + Vuforia
Integração: Unity + Vuforia

1- Vá ao site da vuforia na área de desenvolvedor e crie uma chave.

2- در بخش مدیریت هدف و همچنین در زمینه پیگیری و پیگیری (quanto mais complexa melhor).

3- Feito isso baixe a database para o Unity e importe.

4- No Unity پیکربندی تصویر هدف را با استفاده از متن و روش های دیگر برای استفاده از مدل های سه بعدی و استفاده از برنامه ، به عنوان یک برنامه برای برنامه محلی برنامه ریزی کنید.

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: Unity: O SDK Android را پیکربندی کنید

Unity: O SDK Android را پیکربندی کنید
Unity: O SDK Android را پیکربندی کنید

1- Baixe یا SDK را برای Android ، و ترجیحات Unity و selecione یا seu diretório انجام دهید.

2- Mude a build plataform do Unity para android، assim conseguiremos gerar o APK.

3- apk em um dispitivo (não esqueça de allowir fontes desconhecidas nas configurações) را نصب کنید.

مرحله 5: Criando Servidor Local E Recebendo Informações Em Python

Criando Servidor Local E Recebendo Informações Em Python
Criando Servidor Local E Recebendo Informações Em Python

به عنوان پیکربندی های ارائه شده ، سیستم ها و سیستم های ارتباطی می توانند از طریق زبان های C ++ ، جاوا ، پایتون و غیره استفاده کنند و برای نرم افزار و اجرای آن استفاده کنند. این نرم افزار برای گیرنده و دریافت کننده سنسور لیدوس پلو ، پردازش و استفاده از این برنامه ، بر اساس برنامه درخواست شما انجام می شود. Depois carrega esses dados para servidor alocado na própria placa para enviar os dados jat 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 para o 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 شرکت اینتل.

#

# بدینوسیله ، مجوز به صورت رایگان به هر شخصی که کسب کند اعطا می شود

# کپی از این نرم افزار و فایلهای مستندات مرتبط (the

# "نرم افزار") ، برای معامله بدون محدودیت در نرم افزار ، از جمله

# بدون محدودیت حقوق استفاده ، کپی ، تغییر ، ادغام ، انتشار ،

# توزیع ، صدور مجوز و/یا فروش نسخه های نرم افزار و به

# اجازه دهید افرادی که نرم افزار به آنها ارائه شده است این کار را انجام دهند

# شرایط زیر:

#

# اعلامیه حق نسخه برداری فوق و این اخطار مجوز باید باشد

# در همه نسخه ها یا بخشهای قابل توجهی از نرم افزار گنجانده شده است.

#

# نرم افزار "همانطور که هست" ارائه می شود ، بدون گارانتی هر نوع ،

# بیان یا شامل ، شامل ، اما محدود به ضمانت نامه ها نیست

# بازرگانی ، تناسب برای یک هدف خاص و

# غیرقابل تحمل. در هیچ موردی نویسندگان یا دارندگان حق چاپ نباید باشند

# مسئولیت هرگونه ادعا ، خسارت یا مسئولیت دیگر ، هر چند در یک اقدام

# قرارداد ، شکنجه یا غیره ، ناشی از ، خارج یا در ارتباط

# با نرم افزار یا استفاده یا معاملات دیگر در این نرم افزار.

از _future_ وارد کردن عملکرد چاپ

زمان وارد کردن ، sys ، سیگنال ، atexit ، urllib ، urllib2 ، ریاضی

از upm import pyupm_mpu9150 به عنوان sensorObj

def main ():

# داده = {}

# data ['magnetrometro'] = ورودی_خام ("Informe a temperatura")

# data = urlib.urlencode (داده)

# post_request = urlib2. Request (post_url ، data ، headers)

# تلاش كردن:

# post_response = urlib2.urlopen (درخواست_پست]

# print post_response.read ()

# به جز URLError به عنوان e:

# چاپ "خطا:" ، e.reason

# MPU9250 را در گذرگاه I2C 0 نصب کنید

سنسور = sensorObj. MPU9250 ()

## خروج از کنترلرها ##

# این تابع مانع از آن می شود که پایتون با فشار دادن کنترل-C ، stacktrace را چاپ کند

def SIGINTHandler (علامت ، قاب):

SystemExit را افزایش دهید

# این عملکرد به شما امکان می دهد در هنگام خروج کد را اجرا کنید

def exitHandler ():

چاپ ("خروج")

sys.exit (0)

# کنترل کننده های خروج را ثبت کنید

atexit.register (exitHandler)

signal.signal (سیگنال. SIGINT، SIGINTHandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorObj.new_floatp ()

در حالی که (1):

sensor.update ()

sensor.get شتاب سنج (x ، y ، z)

# چاپ ("شتاب سنج:")

# چاپ ("AX:٪.4f"٪ sensorObj.floatp_value (x) ، end = "")

# چاپ ("AY:٪.4f"٪ sensorObj.floatp_value (y) ، پایان = "")

# چاپ ("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.get ژیروسکوپ (x ، y ، z)

# print ("ژیروسکوپ: GX:" ، sensorObj.floatp_value (x) ، end = "")

# چاپ ("GY:" ، sensorObj.floatp_value (y) ، پایان = "")

# چاپ ("GZ:" ، sensorObj.floatp_value (z))

sensor.getMagnetometer (x، y، z)

# print ("مغناطیس سنج: MX:" ، sensorObj.floatp_value (x) ، end = "")

# چاپ ("من:" ، sensorObj.floatp_value (y) ، پایان = "")

# چاپ ("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 = باز ('/tmp/dados.txt' ، 'w')

texto =

texto.append (str (modulo2)+"،"+str (modulo1))

arq.writelines (texto)

arq.close ()

# link = ('https://data.sparkfun.com/input/0lwWlyRED5i7K0AZx4JO؟private_key=D6v76yZrg9CM2DX8x97B&mag='+str(modulo2))

# چاپ ('enviando dados')

# ارسال = urllib2.urlopen (پیوند)

# page = send.read ()

# چاپ (صفحه)

# link = ('https://data.sparkfun.com/input/1noGndywdjuDGAGd6m5K؟private_key=0mwnmR9YRgSxApAo0gDX&acel='+str(modulo1))

# چاپ ('enviando dados')

# ارسال = urllib2.urlopen (پیوند)

# page = send.read ()

# چاپ (صفحه)

# print ("دما:" ، sensor.getTemperature ())

# چاپ()

# زمان خواب (.5)

اگر _name_ == '_main_':

اصلی ()

Código do Servidor Local

زمان واردات

وارد کردن BaseHTTPS سرور

HOST_NAME = '172.17.56.9' # !!! برای تغییر این به یاد داشته باشید !!!

PORT_NUMBER = 80 # شاید این را روی 9000 تنظیم کنید.

a = 0

کلاس MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (s):

s.send_response (200)

s.send_header ("نوع محتوا" ، "text/html")

s.end_headers ()

def do_GET (s):

dados = le_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 = باز ('/tmp/dados.txt' ، 'r')

texto = arq.readline ()

arq.close ()

بازگشت texto

اگر _name_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

httpd = server_class ((HOST_NAME ، PORT_NUMBER) ، MyHandler)

print time.asctime () ، "شروع به کار سرور -٪ s:٪ s"٪ (HOST_NAME ، PORT_NUMBER)

تلاش كردن:

a = a+2

httpd.serve_forever ()

به جز KeyboardIntruptrupt:

عبور

httpd.server_close ()

print time.asctime () ، "Server Stop -٪ s:٪ s"٪ (HOST_NAME ، PORT_NUMBER)

Código de Execução dos Códigos anteriores no Shell

#!/bin/bash

echo "شروع mag_python"

sudo python mag_python.py &

echo "شروع سرور"

sudo python server2.py

مرحله 6: نتیجه نهایی

نتیجه نهایی
نتیجه نهایی

Feito isso به عنوان ابزارهای مفید و افزایشی و افزایش برنامه های هوشمند درسی را برای Dragonboard 410c آماده کنید. خدمات تسهیل کننده و مساعدت کننده و بزرگتر از همه ما در سیستم های موجود در سیستم انحصاری خود به کار می رود.

LINK بدون برنامه بدون Google Play:

پیوند برای برنامه Py:

توصیه شده: