Mündəricat:
- Addım 1: Materiallar
- Addım 2: Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
- Addım 3: Integração: Birlik + Vuforia
- Addım 4: Birlik: O Android SDK -nı konfiqurasiya edin
- Addım 5: Criando Servidor Yerli E Recebendo Məlumatları Python
- Addım 6: Nəticə Finalı
Video: Ağıllı dərs: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
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
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
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
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
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
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ı
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ə:
CANBUS üçün sadə bir dərs: 8 addım
CANBUS üçün sadə bir təlimat: Üç həftədir CAN öyrənirəm və indi öyrənmə nəticələrimi təsdiqləmək üçün bəzi tətbiqləri tamamladım. Bu dərslikdə CANBUS ünsiyyətini həyata keçirmək üçün Arduinodan necə istifadə edəcəyinizi öyrənəcəksiniz. Hər hansı bir təklifiniz varsa, tərk etməyi xoşlayırsınız
2 -ci dərs: Arduino -nu bir dövrə üçün enerji mənbəyi olaraq istifadə etmək: 6 addım
2 -ci Dərs: Arduino -nu Bir Dövrə üçün Güc mənbəyi olaraq istifadə edin: Yenə salam tələbələr, əsas elektronikanı öyrətmək üçün ikinci kursuma. Dövriyyənin ən əsaslarını izah edən ilk dərsimi görməyənlər üçün indi baxın. Əvvəlki əsərimi görənlər üçün
Java Workshop - Dərs #1: 9 Addımlar
Java Workshop - Dərs #1: Java Workshop -a xoş gəldiniz - Dərs #1. Bu dərs sizə Virginia Tech -də Code () sinif tərəfindən verilir
Toplu dərs - 1: 4 addım atın
Batch Tutorial - 1 -i götürün: Orada bir neçə toplu dərs görmüşəm, amma heç biri heç nəyi izləmir, buna görə də bu əlavə rahatlıq üçün videolar ilə 3 hissədən ibarət bir dərslik hazırlayıram. uyğun addımda lazım olan .bat (toplu) faylları
Toplu dərs - 2: 4 addım atın
Batch Tutorial - 2 -ni götür: Tamam, əvvəlki toplu dərsliyimdə dediyim kimi (https://www.instructables.com/id/EZ049TMM19EWPKGWKH/#CEINEJV64U3EWP86YUP), toplu olaraq geniş bir 3 hissə (və ya götürmək) dərsliyi yaratmağı planlaşdırıram. . Nə etmək üçün bilmək lazım olanların çoxunu əhatə etməlidir