Mündəricat:

Ağıllı dərs: 6 addım
Ağıllı dərs: 6 addım

Video: Ağıllı dərs: 6 addım

Video: Ağıllı dərs: 6 addım
Video: Bu Hiylə İlə Dərs Oxumağı Sevəcəksiniz 2024, Iyul
Anonim
Ağıllı Dərs
Ağıllı Dərs

Ağıllı Dərs viza almaq üçün heç bir keyfiyyətə ehtiyac yoxdur, heç kimə kömək edə bilməzsiniz, çünki bu proqramlar bir -birinizlə əlaqə saxlamağa imkan verir. de aula şərti.

Addım 1: Materiallar

Materiallar
Materiallar

Dragonboard 410c proqramı:

- Dragonboard 410c;

- Cabo HDMI;

-USB vasitəsilə Teclado -USB -Monitor vasitəsilə siçan;

- Mezzanine 96boards;

Layihə icraçısı:

- Dragonboard 410c;

- Mezzanine 96boards;

- Sensor Grove IMU 10DOF MPU - 9250 (heç bir məhdudiyyət yoxdur);

- Fonte de alimentação externa 11.1V;

- tullanan fêmea-fêmea;

Addım 2: 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
Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem

O Shield Mezzanine, Dragonboard 410c və ya 3.3V / 5V (səviyyə dəyişdiricisi) ilə birlikdə, 1.8V məsafədə də işləyə bilər. Sensor MPU -9250 Grove -IMU 10DOF üçün xüsusi sensorlardır:

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

Fonksiyonlar: 6mA;

Comunicação Serial;

Pinos: VCC, GND, SDA və SCL;

I2C interfeysi;

Məsələn, Grove I2C0 (5V) və sensorlar üçün lazım olan hər hansı bir funksiyanı yerinə yetirmək üçün istifadə edilə bilər. (təsəvvür edin)

Addım 3: Integração: Birlik + Vuforia

İnteqrasiya: Birlik + Vuforia
İnteqrasiya: Birlik + Vuforia

1- Veb saytınızı yoxlayın və ya heç bir şey eşitməyin.

2- Hədəf Meneceri ilə əlaqəli məlumatların izlənməsi və izlənməsi (kvartal kompleksi).

3- Birlik və idxal etmək üçün Feito bir verilənlər bazasıdır.

4- No Unity konfiqurasiya etmək üçün 3D görüntüsünü istifadə edin və bu tətbiqetmənin bir hissəsini yaradın.

5- Unity-dən istifadə etmək üçün hər şeyi dəyişdirin.

6- Görünüş hədəfi yaratmaq üçün 3D proqramlar hazırlamaq üçün proqram təminatı (Biologiya və ya Fizika ilə əlaqəli…).

Addım 4: Birlik: O Android SDK -nı konfiqurasiya edin

Birlik: O Android SDK -nı konfiqurasiya edin
Birlik: O Android SDK -nı konfiqurasiya edin

1- Android üçün SDK və ya Birlik seçimlərini seçin və ya idarə edin.

2- Android üçün Unity qurmaq üçün bir platforma qurun, APK ilə əlaqə qurun.

3- İstifadəçi sənədlərini yükləyin (konfiqurasiya etmək üçün yazı tipləri də daxil olmaqla).

Addım 5: Criando Servidor Yerli E Recebendo Məlumatları Python

Criando Servidor Yerli E Python Məlumatları
Criando Servidor Yerli E Python Məlumatları

Təqdimatlar, C ++, Java, Python və sair proqramlar üçün proqram təminatı sistemləri ilə əlaqəli bütün proqramların hazırlanması. Bu proqram, sensorlar və proqramlar üçün cavabdehdir və bu proqramlar bütün proqramları tələb edir. Birlik üçün bir platforma yaratmaq üçün ən çox tələb olunan xidmətlər. Phyton dilini öyrənmək üçün bir nümunə götürün. Dragonboard 410c, Unity və ya digər tətbiqlər üçün təqdim olunur.

Seguem os códigos mag_python.py (sensoru yoxlamaq üçün), server2.py (yerli xidmət), Shell -i icra etmək:

Código mag_python.py

#!/usr/bin/python

# Müəllif: Jon Trulson

# Müəlliflik hüququ (c) 2015 Intel Corporation.

#

# İcazə, əldə edən hər kəsə pulsuz olaraq verilir

# bu proqramın və əlaqədar sənəd sənədlərinin bir nüsxəsi (# "Proqram təminatı"), proqram təminatı ilə məhdudiyyətsiz məşğul olmaq, o cümlədən

# məhdudlaşdırmadan istifadə etmək, kopyalamaq, dəyişdirmək, birləşdirmək, dərc etmək, # Proqramın nüsxələrini yaymaq, lisenziyalaşdırmaq və/və ya satmaq

# Proqram təmin edildiyi şəxslərin buna tabe olması şərtilə

# aşağıdakı şərtlər:

#

# Yuxarıdakı müəllif hüquqları bildirişi və bu icazə bildirişi olmalıdır

# Proqramın bütün nüsxələrinə və ya əhəmiyyətli hissələrinə daxil edilmişdir.

#

# YAZILIM "OLDUĞU kimi" TƏMİN EDİLİR, HƏR TƏRBİ ZƏMANƏT OLMADAN, # İSTİFADƏ EDİLMƏSİ VƏ İSTİFADƏ EDİLMƏSİ, ƏMASINA ZƏMANƏTLƏRİ İLƏ MƏHDUD OLMASI

# SATILIŞ, MƏSƏLİ MƏQSƏDƏ UYĞUN VƏ

# ƏNSƏSİZ. Heç bir halda nə müəlliflər, nə də müəllif hüquqları sahibləri olmayacaq

# HƏR ƏDDİYYATDA HƏR İDDİA, ZARAR VƏ DİGƏR SORUMLULUQ ÜÇÜN SORUMLU

MÜQAVİLƏ, TƏHSİL VƏ BAŞQA BİRDİR, GƏLDİ, BAXIŞDAN VƏ BAĞLI

# YAZILIMDA VƏ YAZILIMDA İSTİFADƏ VƏ DİGƏR MÜALİCƏLƏRİ İLƏ.

_gələcək_dən idxal print_function

idxal vaxtı, sys, siqnal, atexit, urllib, urllib2, riyaziyyat

sensorObj olaraq upm idxal pyupm_mpu9150 -dən

def main ():

# məlumat = {}

# data ['magnetrometro'] = raw_input ("Bir temperatura məlumat verin")

# data = urlib.urlencode (məlumat)

# post_request = urlib 2. İstək (post_url, data, başlıqlar)

# sınayın:

# post_response = urlib2.urlopen (post_request)

# çap post_response.read ()

# kimi URLError istisna olmaqla:

# çap "Xəta:", e. səbəb

# 0 I2C avtobusunda MPU9250 qurun

sensor = sensorObj. MPU9250 ()

## Çıxarıcılar ##

# Bu funksiya, C-Control düyməsini vurduğunuzda pythonun bir yığın yazmasını dayandırır

def SIGINTHandler (işarə, çərçivə):

SystemExit'i qaldırın

# Bu funksiya çıxışda kodu işə salmağa imkan verir

def exitHandler ():

çap ("Çıxış")

sys.exit (0)

# Çıxış işçilərini qeyd edin

atexit.register (exitHandler)

siqnal.siqnal (siqnal. SIGINT, SIGINTandler)

sensor.init ()

x = sensorObj.new_floatp ()

y = sensorObj.new_floatp ()

z = sensorObj.new_floatp ()

isə (1):

sensor.update ()

sensor.getAkselerometr (x, y, z)

# çap ("Accelerometer:")

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

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

# çap ("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

# çap (modulo1)

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

# çap (modulo1)

#

# sensor.getGiroskop (x, y, z)

# çap ("Gyroscope: GX:", sensorObj.floatp_value (x), end = '')

# çap ("GY:", sensorObj.floatp_value (y), end = '')

# çap ("GZ:", sensorObj.floatp_value (z))

sensor.getMaqnitometr (x, y, z)

# çap ("Magnetometer: MX:", sensorObj.floatp_value (x), end = '')

# çap ("MY:", sensorObj.floatp_value (y), end = '')

# çap ("MZ:", sensorObj.floatp_value (z))

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

# çap (modulo2)

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

# çap (modulo2)

arq = açıq ('/tmp/dados.txt', 'w')

mətn =

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

arq.writelines (mətn)

arq.close ()

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

# çap ('enviando dados')

# göndər = urllib2.urlopen (link)

# səhifə = send.read ()

# çap (səhifə)

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

# çap ('enviando dados')

# göndər = urllib2.urlopen (link)

# səhifə = send.read ()

# çap (səhifə)

# çap ("Temperatur:", sensor.getTemperature ())

# çap ()

# vaxt.yuxu (.5)

əgər _ adı _ == "_ ana_" olarsa:

əsas ()

Código do Servidor Yerli

idxal vaxtı

BaseHTTPServer idxal edin

HOST_NAME = '172.17.56.9' # !!! BUNU DEĞİŞTİRMƏYİ UNUTMAYIN !!!

PORT_NUMBER = 80 # Bəlkə bunu 9000 olaraq təyin edin.

a = 0

MyHandler sinfi (BaseHTTPServer. BaseHTTPRequestHandler):

def do_HEAD (s):

s.send_response (200)

s.send_header ("Məzmun növü", "mətn/html")

s.end_headers ()

def do_GET (lər):

dados = le_dados ()

çap (dados)

"" "GET sorğusuna cavab verin." ""

s.path == "/1" olarsa:

s.send_response (200)

s.send_header ("Məzmun növü", "mətn/düz")

s.end_headers ()

s.wfile.write (dados)

elif yol == "/2":

s.send_response (200)

s.send_header ("Məzmun növü", "mətn/düz")

s.end_headers ()

s.wfile.write ("2")

başqa:

s.send_response (200)

s.send_header ("Məzmun növü", "mətn/düz")

s.end_headers ()

s.wfile.write (dados)

#s.wfile.write ("tapılmadı !!")

def le_dados ():

arq = açıq ('/tmp/dados.txt', 'r')

mətn = arq.readline ()

arq.close ()

mətni geri qaytarmaq

əgər _ adı_ == '_ əsas_' olarsa:

server_class = BazaHTTPServer. HTTPServer

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

çap time.asctime (), "Server Başlayır - %s: %s" %(HOST_NAME, PORT_NUMBER)

cəhd edin:

a = a+2

httpd.serve_forever ()

KeyboardInterrupt istisna olmaqla:

keçmək

httpd.server_close ()

print time.asctime (), "Server Dayanır - %s: %s" %(HOST_NAME, PORT_NUMBER)

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

#!/bin/bash

echo "mag_python başlayaraq"

sudo python mag_python.py &

echo "serverə başla"

sudo python server2.py

Addım 6: Nəticə Finalı

Nəticə Final
Nəticə Final

Feito, Ağıllı Dərslər və Dragonboard 410c proqramları ilə bağlı bütün köməkçi vasitələr kimi istifadə edilə bilər. Xüsusi xidmətlərin göstərilməsi üçün xüsusi xidmətlər təklif olunur.

Google Play olmayan tətbiqlər üçün LINK:

Py codigos üçün bağlantı:

Tövsiyə: