İçindekiler:
- 1. Adım: Malzemeler
- Adım 2: Dragonboard 410c Com Mezzanine 96Boards: E Pinagem'i Yapılandırma
- Adım 3: Integração: Unity + Vuforia
- Adım 4: Unity: O Android SDK'yı Yapılandırın
- Adım 5: Criando Sunucusu Yerel E Recebendo Informações Em Python
- Adım 6: Resultado Finali
Video: Akıllı Ders: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
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
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
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
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
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
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
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:
Akıllı Masa LED Işık - Arduino ile Akıllı Aydınlatma - Neopiksel Çalışma Alanı: 10 Adım (Resimlerle)
Akıllı Masa LED Işık | Arduino ile Akıllı Aydınlatma | Neopixels Çalışma Alanı: Artık evde çok fazla zaman geçirdiğimiz, sanal olarak çalıştığımız ve çalıştığımız bir gün, öyleyse neden çalışma alanımızı özel ve akıllı bir aydınlatma sistemi Arduino ve Ws2812b LED'leri ile büyütmeyelim. Burada size Smart'ınızı nasıl oluşturacağınızı gösteriyorum. Masa LED Işık o
Kullanılmayan Akıllı Telefonu Akıllı Ekrana Dönüştürün: 6 Adım (Resimlerle)
Kullanılmayan bir Akıllı Telefonu Akıllı Ekrana Dönüştürün: Deze öğreticisi, Hollanda'da çok iyi. Kullanılmayan (eski) bir akıllı telefonunuz var mı? Bu kolay adım adım öğreticiyi izleyerek Google E-Tablolar ve biraz kağıt kalem kullanarak akıllı bir ekrana dönüştürün. Bitirdiğinizde
SONOFF Akıllı Anahtarlarla Akıllı Stor Perdeler Nasıl Kendin Yapılır?: 14 Adım
SONOFF Akıllı Anahtarlarla Akıllı Stor Perde Kendin Yap Nasıl Yapılır?: Sıradan stor perdelerinizi/panjurlarınızı akıllı hale getirmek için SONOFF akıllı anahtarlarında Kilitleme Modundan yararlanın Çoğunuz bunun sabahları storları/panjurları çekmenizin bir angarya olduğunu kabul edecek mi? ve akşam aşağı çekmek? Her neyse, ben
Ders 2: Arduino'yu Devre İçin Güç Kaynağı Olarak Kullanmak: 6 Adım
Ders 2: Arduino'yu Devre İçin Güç Kaynağı Olarak Kullanmak: Tekrar merhaba öğrenciler, temel elektronik öğretmek kursumun ikinci dersine. Devrenin çok, çok temellerini açıklayan ilk dersimi görmemiş olanlar için lütfen şimdi bakın. Önceki dosyamı daha önce görmüş olanlar için
Java Çalıştayı - Ders 1: 9 Adım
Java Atölyesi - Ders 1: Java Atölyesine Hoş Geldiniz - Ders #1. Bu ders size Virginia Tech'de Code() sınıfı tarafından verilmektedir