İçindekiler:

Akıllı Ders: 6 Adım
Akıllı Ders: 6 Adım

Video: Akıllı Ders: 6 Adım

Video: Akıllı Ders: 6 Adım
Video: Bu başka bir kafa. Bu nasıl bir matematik işlemi yapma böyle #shorts 2024, Kasım
Anonim
Akıllı Ders
Akıllı Ders

Akıllı Ders vizesi için herhangi bir nitelik yok, profesörler için bir hizmetten faydalanmak için ortak bir çalışma için bir temel para ensinar seus alunos os levando aprendizado muito superior por conseguir çoğur os conteúdos de forma interdiivamica, or aprendizado muito superior porm aprendizado, aprendizado muito üstün por bu, eski, eski, son zamanlardaki koşullar. de aula konvansiyonel.

1. Adım: Malzemeler

malzeme
malzeme

Dragonboard 410c için programlayıcı:

- Dragonboard 410c;

- Cabo HDMI;

- USB üzerinden Teclado - USB üzerinden Fare - Monitör;

- Ara kat 96 panoları;

Para yürütücü veya projeto:

- Dragonboard 410c;

- Ara kat 96 panoları;

- Sensör Korusu IMU 10DOF MPU - 9250 (herhangi bir sınırlı sensör);

- Fonte de alimentação harici 11.1V;

- Jumper femea-fêmea;

Adım 2: Dragonboard 410c Com Mezzanine 96Boards: E Pinagem'i Yapılandırma

Dragonboard 410c Com Mezzanine 96Boards: E Pinagem'i Yapılandırma
Dragonboard 410c Com Mezzanine 96Boards: E Pinagem'i Yapılandırma
Dragonboard 410c Com Mezzanine 96Boards: E Pinagem'i Yapılandırma
Dragonboard 410c Com Mezzanine 96Boards: E Pinagem'i Yapılandırma
Dragonboard 410c Com Mezzanine 96Boards: E Pinagem'i Yapılandırma
Dragonboard 410c Com Mezzanine 96Boards: E Pinagem'i Yapılandırma

O Shield Mezzanine, Dragonboard 410c'de yer alan cihazlar için, 3,3V / 5V (seviye değiştirici), 1,8V'den itibaren kullanıma hazır. O sensör kullanımı foi um magnetômetro Sensör MPU – 9250 Grove -IMU 10DOF, özel açıklamalar:

Tensão de Entrada: 5V / 3.3V;

İşlevselleştirme: 6mA;

Comunicação Seri;

Pinler: VCC, GND, SDA ve SCL;

I2C arayüzü;

Grove I2C0 (5V), sensör için gerekli olan bir iletişim ve beslenme için gerekli olan en iyi örnek. (ver imagem)

Adım 3: Integração: Unity + Vuforia

Integração: Birlik + Vuforia
Integração: Birlik + Vuforia

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

2- Var sekmesi Hedef Yöneticisi ve ek olarak, tekstüre para fazer o İzleme (kuanto mais karmaşıka melhor).

3- Unity e importe için bir veritabanı isso baixe.

4- Hiçbir Unity, yerelleştirme uygulaması için bir görüntü oluşturma için bir tekstüre escolhida ve dentro dele adicione os modelos yapılandırması yok, 3D que deseja uilizar, os mesmos estarão ativos quando.

5- Unity'nin onayını aldı.

6- Após isso modele os bileşenleri de aula em algum programa 3D ve aulas em cima do görüntü hedefi olarak hazırlayın (pode ser uma aula de Biologia ou Física…).

Adım 4: Unity: O Android SDK'yı Yapılandırın

Unity: O Android SDK'yı Yapılandırın
Unity: O Android SDK'yı Yapılandırın

1- Baixe o SDK do Android, vá em Unity tercihleri ve selecione o seu diretório.

2- Unity için android, assim conseguiremos gerar veya APK için bir yapı platformu yapın.

3- Instale veya apk em um dispositivo (geçerli olmayan fontlar desconhecidas nas configurações).

Adım 5: Criando Sunucusu Yerel E Recebendo Informações Em Python

Criando Sunucusu Yerel E Recebendo Informações Em Python
Criando Sunucusu Yerel E Recebendo Informações Em Python

C++, Java, Python, vb., yazılımın çalıştırılması için para criar olarak Concluídas apresentadas, podemos acessar o Sistema Linaro dentro da placa e utilizar linguagens como C++, Java, Python, vb. Gelişmiş yazılımlar ve uygulamalar için yanıtlar lidos pelo sensörü, prosesör ve tratarlar, uygun talepler ve pelo programları. Depois carrega, Unity'nin tüm gereksinimlerinin karşılanmasına yardımcı olur. Phyton'un tüm dillerine ilişkin örnek uygulamalar. Os dados são transferdos da Dragonboard 410c para o Unity e sao apresentados em um uygulaması.

Seguem os códigos mag_python.py (leitor de dados do sensor), server2.py(Servidor yerel), Executável no Shell:

Código mag_python.py

#!/usr/bin/python

# Yazar: Jon Trulson

# Telif hakkı (c) 2015 Intel Corporation.

#

# İzin, bu belgeyle herhangi bir kişiye ücretsiz olarak verilir.

# bu yazılımın ve ilgili dokümantasyon dosyalarının bir kopyası (# "Yazılım"), dahil olmak üzere herhangi bir kısıtlama olmaksızın Yazılımla ilgilenmek için

# sınırlama olmaksızın kullanma, kopyalama, değiştirme, birleştirme, yayınlama, # Yazılımın kopyalarını dağıtmak, alt lisansını vermek ve/veya satmak ve

# Yazılımın sağlandığı kişilerin, aşağıdaki koşullara tabi olarak, # aşağıdaki koşullar:

#

# Yukarıdaki telif hakkı bildirimi ve bu izin bildirimi

# Yazılımın tüm kopyalarına veya önemli bölümlerine dahildir.

#

# YAZILIM HERHANGİ BİR GARANTİ VERİLMEKSİZİN "OLDUĞU GİBİ" SAĞLANMAKTADIR, # GARANTİLERİ DAHİL ANCAK BUNLARLA SINIRLI OLMAYAN AÇIK VEYA ZIMNİ

# SATILABİLİRLİK, BELİRLİ BİR AMACA UYGUNLUK VE

# İHLAL EDİLMEZ. HİÇBİR DURUMDA YAZARLAR VEYA TELİF HAKKI SAHİPLERİ

# EYLEM OLARAK HERHANGİ BİR İDDİA, ZARAR VEYA DİĞER SORUMLULUKLARDAN SORUMLU

SÖZLEŞME, HAKSIZ YA DA BAŞKA BİR ŞEKİLDE, BAĞLANTIDAN VEYA BAĞLANTIDAN KAYNAKLANAN

# YAZILIM VEYA KULLANIM VEYA YAZILIMDAKİ DİĞER İŞLEMLER İLE.

_future_'den import print_function

içe aktarma süresi, sys, sinyal, atexit, urllib, urllib2, matematik

upm'den pyupm_mpu9150'yi sensorObj olarak içe aktarın

tanım ana():

# veri = {}

# data['magnetrometro'] = raw_input(" Bir sıcaklık bilgisi verin")

# veri = urlib.urlencode(veri)

# post_request = urlib2. Request(post_url, veri, başlıklar)

# denemek:

# post_response = urlib2.urlopen(post_request)

# post_response.read() yazdır

# e olarak URLError hariç:

# "Hata: " yazdır, e.neden

# I2C veriyolunda bir MPU9250 örneği oluşturun 0

sensör = sensorObj. MPU9250()

## Çıkış işleyicileri ##

# Bu işlev, kontrol-C'ye bastığınızda python'un yığın izi yazdırmasını durdurur

def SIGINTHandler(işaret, çerçeve):

SystemExit'i yükselt

# Bu işlev, çıkışta kod çalıştırmanıza izin verir

def exitHandler():

print("Çıkış")

sistem.çıkış(0)

# Çıkış işleyicilerini kaydedin

atexit.register(exitHandler)

sinyal.sinyal(sinyal. SIGINT, SIGINTHandler)

sensör.init()

x = sensorObj.new_floatp()

y = sensorObj.new_floatp()

z = sensorObj.new_floatp()

süre (1):

sensör.güncelleme()

sensor.getİvmeölçer(x, y, z)

# yazdır ("İvmeölçer: ")

# print ("AX: %.4f" % sensorObj.floatp_value(x), end=' ')

# print (" AY: %.4f" % sensorObj.floatp_value(y), end=' ')

# yazdır (" 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

# yazdır(modulo1)

modulo1 = ("%.1f" % abs(((modulo1**0.5)-1)*9.8))

# yazdır (modül1)

#

# sensor.getJiroskop(x, y, z)

# print("Jiroskop: GX: ", sensorObj.floatp_value(x), end=' ')

# print(" GY: ", sensorObj.floatp_value(y), bitiş=' ')

# print(" GZ: ", sensorObj.floatp_value(z))

sensor.getMagnetometer(x, y, z)

# print("Manyetometre: MX: ", sensorObj.floatp_value(x), end=' ')

# print(" BENİM: ", sensorObj.floatp_value(y), bitiş=' ')

# print(" MZ: ", sensorObj.floatp_value(z))

modulo2 = sensorObj.floatp_value(x)**2+sensorObj.floatp_value(y)**2+sensorObj.floatp_value(z)**2

# yazdır(modulo2)

modulo2 = ("%.2f" % (modulo2**0.5))

# yazdır (modül2)

arq = open('/tmp/dados.txt', 'w')

metin =

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

arq.writelines(texto)

arq.kapat()

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

# yazdır ('enviando dados')

# gönder = urllib2.urlopen(bağlantı)

# sayfa = gönder.oku()

# sayfayı yazdır)

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

# yazdır ('enviando dados')

# gönder = urllib2.urlopen(bağlantı)

# sayfa = gönder.oku()

# sayfayı yazdır)

# print("Sıcaklık: ", sensor.getTemperature())

# Yazdır()

# zaman.uyku(.5)

eğer _name_ == '_main_':

ana()

Código do Servidor Yerel

ithalat zamanı

BaseHTTPServer'ı içe aktar

HOST_NAME = '172.17.56.9' # !!!BUNU DEĞİŞTİRMEYİ UNUTMAYIN!!!

PORT_NUMBER = 80 # Belki bunu 9000 olarak ayarlayın.

a=0

sınıf MyHandler(BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD(ler):

s.send_response(200)

s.send_header("İçerik türü", "metin/html")

s.end_headers()

def do_GET(ler):

babalar = le_dados()

baskı (babalar)

"""Bir GET isteğine yanıt verin."""

s.path=="/1" ise:

s.send_response(200)

s.send_header("İçerik türü", "metin/düz")

s.end_headers()

s.wfile.write(dados)

elif s.path=="/2":

s.send_response(200)

s.send_header("İçerik türü", "metin/düz")

s.end_headers()

s.wfile.write("2")

Başka:

s.send_response(200)

s.send_header("İçerik türü", "metin/düz")

s.end_headers()

s.wfile.write(dados)

#s.wfile.write("bulunamadı!")

def le_dados():

arq = open('/tmp/dados.txt', 'r')

texto = arq.readline()

arq.kapat()

dönüş metni

eğer _name_ == '_main_':

server_class = BaseHTTPServer. HTTPServer

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

print time.asctime(), "Sunucu Başlıyor - %s:%s" % (HOST_NAME, PORT_NUMBER)

denemek:

a=a+2

httpd.serve_forever()

KeyboardInterrupt hariç:

geçmek

httpd.server_close()

print time.asctime(), "Sunucu Duruyor - %s:%s" % (HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

echo "mag_python başlatılıyor"

sudo python mag_python.py &

echo "sunucuyu başlat"

sudo python server2.py

Adım 6: Resultado Finali

Sonuç Finali
Sonuç Finali

Bir Dragonboard 410c ile ilgili olarak Akıllı Dersler. Ensino tanto público quanto privado, ensino tanto tanto, kolaylaştırıcı ve proporcionando um maior aprendizado nos systemas de.

LINK para uygulaması Google Play yok:

Py için bağlantı:

Önerilen: