Talaan ng mga Nilalaman:
- Hakbang 1: Materiais
- Hakbang 2: Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
- Hakbang 3: Integração: Pagkakaisa + Vuforia
- Hakbang 4: Pagkakaisa: I-configure ang O Android SDK
- Hakbang 5: Criando Servidor Local E Recebendo Informações Em Python
- Hakbang 6: Pangwakas na Resultado
Video: Matalinong Aralin: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
O projeto ng Aralin sa Smart na mag-aaral para makagawa ng walang kwalipikasyon sa mga propesor na maaaring gamitin ang mga ito sa isang paraan para sa pagsusulit na ito ay magagawa ng isang mahusay na aprendizado moito superior por conseguir mostrar os conteúdos de forma dinâmica e interativa, proporcionando karanasanencias n uma presenciadas de aula conccional.
Hakbang 1: Materiais
Para sa programa ng isang Dragonboard 410c:
- Dragonboard 410c;
- Cabo HDMI;
- Teclado sa pamamagitan ng USB -Mouse sa pamamagitan ng USB -Monitor;
- Mezzanine 96boards;
Para sa tagapagpatupad ng projeto:
- Dragonboard 410c;
- Mezzanine 96boards;
- Sensor Grove IMU 10DOF MPU - 9250 (walang limitasyong ao uso de um único sensor);
- Fonte de alimentação externa 11.1V;
- Jumper fêmea-fêmea;
Hakbang 2: Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
O Shield Mezzanine deve ser acoplado à placa Dragonboard 410c, para sa iyo upang makita ang 3.3V / 5V (antas ng shifter), maaari itong magsagawa ng 1.8V mula sa isang taon. O sensor utilizado foi um magnetômetro Sensor MPU - 9250 Grove -IMU 10DOF, mga sumusunod:
Tensão de Entrada: 5V / 3.3V;
Corrente de funcionamento: 6mA;
Comunicação Serial;
Mga Pino: VCC, GND, SDA e SCL;
I2C interface;
Para sa iyong exemplo foi utilizado um dos conectores Grove I2C0 (5V), na proporciona a comunicação Serial at isang alimentação kinakailangan para sa funcionamento gawin sensor. (ver imagem)
Hakbang 3: Integração: Pagkakaisa + Vuforia
1- Sa site na ito ay nabago ang mga lugar sa labas ng mundo ng mga ito.
2- Mag-tab sa Target Manager at mag-text para sa fazer o Pagsubaybay (quanto mais complexa melhor).
3- Ang pangalan ay isang database para sa Unity at importe.
4- Walang Pag-iisa ang nai-configure ang target ng imahe sa isang textura escolhida at dentro dele adicione os modelos 3D que deseja utilizar, os mesmos estarão ativos quando isang larawan para sa localizada pelo app.
5- Adicione a chave de licença da vuforia nas configurações dentro do Unity.
6- Narito ang mga modele os na bahagi ng iyong programa sa 3D at naghahanda bilang mga halimbawa ng target ng imahe (pode ser uma aula de Biologia ou Física…).
Hakbang 4: Pagkakaisa: I-configure ang O Android SDK
1- Sa iyong SDK gawin ang Android, kung nais mo ang mga kagustuhan sa pagkakaisa at piliin ang bawat direksyon.
2- I-mude ang isang pagbuo ng form na gagawin ang Pagkakaisa para sa android, sa tingin ng mga APK.
3- I-install ang apk em um dispositivo (hindi na ito kailangan ng mga font na desconhecidas nas configurações).
Hakbang 5: Criando Servidor Local E Recebendo Informações Em Python
Magtutuon bilang configurações apresentadas, podemos acessar o Sistema Linaro dentro da placa e utilizar várias linguagens como C ++, Java, Python, atbp, para sa mga software o software na naisakatuparan. Ang software na ito ay responsable sa pamamagitan ng receber ng isang sensor ng sensor, proseso ng tratar na ito upang sumunod sa solicitado na programa. Depois carrega esses maging para sa servidor alocado na própria placa para enviar os magiging já tratados para a plataforma Unity. Os exemplos de código deste projeto estão em linguagem Phyton. Dapat mong ilipat ang mga ito sa Dragonboard 410c para sa Unity at upang ipakita ang app.
Seguem os códigos mag_python.py (leitor de magiging do sensor), server2.py (Servidor local), Executável no Shell:
Código mag_python.py
#! / usr / bin / python
# May-akda: Jon Trulson
# Copyright (c) 2015 Intel Corporation.
#
Ang # Pahintulot ay sa pamamagitan nito ay ipinagkaloob, nang walang bayad, sa sinumang tao na kumukuha
# isang kopya ng software na ito at mga nauugnay na mga file ng dokumentasyon (ang
# "Software"), upang makitungo sa Software nang walang paghihigpit, kasama ang
# nang walang limitasyon sa mga karapatang gamitin, kopyahin, baguhin, pagsamahin, i-publish, # ipamahagi, sublicense, at / o magbenta ng mga kopya ng Software, at sa
# pahintulutan ang mga tao na pinagkalooban ng Software na gawin ito, napapailalim sa
# ang mga sumusunod na kundisyon:
#
# Ang abiso sa copyright sa itaas at ang paunawang pahintulot na ito ay dapat
# kasama sa lahat ng mga kopya o malalaking bahagi ng Software.
#
# ANG SOFTWARE AY BINIGYANG "AS IS", WALANG WARRANTY NG ANUMANG URI, # EXPRESS O IMPLIED, KASAMA NGUNIT HINDI LIMITADO SA MGA WARRANTIES NG
# MERCHANTABILITY, FITNESS PARA SA ISANG PARTIKULAR na LAYUNIN AT
# NONINFRINGEMENT. SA WALANG KAGANAPAN AY MAGIGING AUTHORS O COPYRIGHT HOLDERS
# LIABLE PARA SA ANUMANG CLAIM, Pinsala O IBA PANG PANANAGUTAN, KUNG SA ANONG ACTION
# NG KONTRATO, TORT O OBA, NANGUNGULING MULA, LUMABAS O SA CONNECTION
# SA SOFTWARE O ANG PAGGAMIT O IBA PANG DEALING SA SOFTWARE.
mula sa _future_ import print_unction
oras ng pag-import, sys, signal, atexit, urllib, urllib2, matematika
mula sa upm import pyupm_mpu9150 bilang sensorObj
def main ():
# data = {}
# data ['magnetrometro'] = raw_input ("Ipaalam sa isang temperatura")
# data = urlib.urlencode (data)
# post_request = urlib2. Request (post_url, data, header)
# subukan:
# post_response = urlib2.urlopen (post_request)
# print post_response.read ()
# maliban sa URLError bilang e:
# print "Error:", e. dahilan
# I-install ang isang MPU9250 sa I2C bus 0
sensor = sensorObj. MPU9250 ()
## Mga handler sa exit ##
# Ang pagpapaandar na ito ay humihinto sa sawa mula sa pag-print ng isang stacktrace kapag na-hit mo ang control-C
def SIGINTHandler (signum, frame):
taasan ang SystemExit
# Ang pagpapaandar na ito ay nagbibigay-daan sa iyo upang magpatakbo ng code sa exit
def exitHandler ():
print ("Exiting")
sys.exit (0)
# Irehistro ang mga handler ng exit
atexit.register (exitHandler)
signal.signal (signal. SIGINT, SIGINTHandler)
sensor.init ()
x = sensorObj.new_floatp ()
y = sensorObj.new_floatp ()
z = sensorObj.new_floatp ()
habang (1):
sensor.update ()
sensor.getAccelerometer (x, y, z)
# print ("Accelerometer:")
# print ("AX:%.4f"% sensorObj.floatp_value (x), end = '')
# print ("AY:%.4f"% sensorObj.floatp_value (y), end = '')
# print ("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
# print (modulo1)
modulo1 = ("%.1f"% abs (((modulo1 ** 0.5) -1) * 9.8))
# print (modulo1)
#
# sensor.getGyroscope (x, y, z)
# print ("Gyroscope: GX:", sensorObj.floatp_value (x), end = '')
# print ("GY:", sensorObj.floatp_value (y), end = '')
# print ("GZ:", sensorObj.floatp_value (z))
sensor.getMagnetometer (x, y, z)
# print ("Magnetometer: MX:", sensorObj.floatp_value (x), end = '')
# print ("MY:", sensorObj.floatp_value (y), end = '')
# print ("MZ:", sensorObj.floatp_value (z))
modulo2 = sensorObj.floatp_value (x) ** 2 + sensorObj.floatp_value (y) ** 2 + sensorObj.floatp_value (z) ** 2
# print (modulo2)
modulo2 = ("%.2f"% (modulo2 ** 0.5))
# print (modulo2)
arq = bukas ('/ 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))
# print ('enviando dados')
# send = urllib2.urlopen (link)
# pahina = send.read ()
# print (pahina)
# link = ('https://data.sparkfun.com/input/1noGndywdjuDGAGd6m5K?private_key=0mwnmR9YRgSxApAo0gDX&acel='+str(modulo1))
# print ('enviando dados')
# send = urllib2.urlopen (link)
# pahina = send.read ()
# print (pahina)
# print ("Temperatura:", sensor.getTemperature ())
# print ()
# oras.matulog (.5)
kung _name_ == '_main_':
pangunahing ()
Código do Servidor Local
oras ng pag-import
i-import ang BaseHTTPServer
HOST_NAME = '172.17.56.9' # !!! TANDAAN PARA BAGUHIN ITO !!!
PORT_NUMBER = 80 # Siguro itakda ito sa 9000.
a = 0
klase MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):
def do_HEAD (s):
s.send_response (200)
s.send_header ("Uri ng nilalaman", "teksto / html")
s.end_headers ()
def do_GET (s):
dados = le_dados ()
i-print (maging)
"" "Tumugon sa isang humiling ng kahilingan." ""
kung s.path == "/ 1":
s.send_response (200)
s.send_header ("Uri ng nilalaman", "teksto / payak")
s.end_headers ()
s.wfile.write (maging)
elif s.path == "/ 2":
s.send_response (200)
s.send_header ("Uri ng nilalaman", "teksto / payak")
s.end_headers ()
s.wfile.write ("2")
iba pa:
s.send_response (200)
s.send_header ("Uri ng nilalaman", "teksto / payak")
s.end_headers ()
s.wfile.write (maging)
# s.wfile.write ("hindi nahanap !!")
def le_dados ():
arq = bukas ('/ tmp / dados.txt', 'r')
texto = arq.readline ()
arq.close ()
ibalik ang texto
kung _name_ == '_main_':
server_class = BaseHTTPServer. HTTPServer
httpd = server_class ((HOST_NAME, PORT_NUMBER), MyHandler)
oras ng pag-print.asctime (), "Nagsisimula ang Server -% s:% s"% (HOST_NAME, PORT_NUMBER)
subukan:
a = a + 2
httpd.serve_forever ()
maliban sa KeyboardInterrupt:
pumasa
httpd.server_close ()
oras ng pag-print.asctime (), "Humihinto ang Server -% s:% s"% (HOST_NAME, PORT_NUMBER)
Código de Execução dos Códigos anteriores no Shell
#! / baseng / bash
echo "simula mag_python"
sudo python mag_python.py &
echo "start server"
sudo python server2.py
Hakbang 6: Pangwakas na Resultado
Ang tampok na ito bilang aula poderão ser auxiliadas at incrementadas pelo projeto Smart Aralin desenvolvido com ng isang Dragonboard 410c. Ang servindo de facilitador at proporcionando um maior aprendizado nos sistemas de ensino tanto público quanto privado.
LINK para sa app walang Google Play:
Link para códigos Py:
Inirerekumendang:
Timer ng Takdang-Aralin na Ginawa ni Arduino: 5 Hakbang
Timer ng Takdang Aralin Ginawa ni Arduino: Sinusulat ba ng iyong anak ang kanyang takdang aralin sa loob ng maraming oras? Ang iyong anak ba ay madaling maagaw ng iba kapag ginagawa niya ang takdang aralin? Ngayon, sinubukan kong gawin ang pinakamahusay na solusyon sa salungatan na ito: isang timer na ginawa ni Arduino. Bakit ko susubukan na gawin ang timer na ito sa halip na
Makina sa Pagsulat ng Takdang-Aralin: 15 Hakbang
Makina sa Pagsulat ng Takdang-Aralin: I-download ANG AMING BAGONG APLIKASYON UPANG MAKUHA ANG LAHAT NG MGA PROYEKTO SA DIYOS SA ISANG LUGAR. Upang I-download ang CLICK BELOW. CLICK DITO > > > > > > Mga PROYEKTO DIY
Arduino Timer para sa Pagsulat ng Takdang-Aralin: 7 Hakbang
Timer ng Arduino para sa Pagsulat ng Takdang-Aralin: Sa tutorial na ito, matututunan mo kung paano bumuo ng isang Arduino timer para sa mga mag-aaral ng batang edad upang mabisang maisulat ang kanilang takdang-aralin. Magsisimula ang timer sa sandaling naka-plug ito, at ang timmer ay may dalawang pangunahing mga seksyon na kasama ang oras ng pagtatrabaho at ang pahinga
DIY LED-photometer Na May Arduino para sa Mga Aralin sa Physics o Chemistry: 5 Hakbang (na may Mga Larawan)
DIY LED-photometer Sa Arduino para sa Mga Aralin sa Physics o Chemistry: Kumusta! Ang mga likido o iba pang mga bagay ay lilitaw na may kulay dahil sumasalamin o nagpapadala ng ilang mga kulay at pagkatapos ay lunukin (sumipsip) ang iba. Sa tinaguriang photometer, ang mga kulay na iyon (haba ng daluyong) ay maaaring matukoy, na hinihigop ng mga likido. Ang pangunahing pri
Aralin 2: Paggamit ng Arduino Bilang Pinagmumulan ng Lakas para sa isang Circuit: 6 Mga Hakbang
Aralin 2: Paggamit ng Arduino Bilang Pinagmulan ng Lakas para sa isang Circuit: Kamusta muli, mga mag-aaral, sa aking pangalawang aralin ng aking kurso upang magturo ng pangunahing electronics. Para sa mga hindi pa nakakakita ng aking unang aralin, na naglalarawan sa napaka, napaka, mga pangunahing kaalaman sa circuitry, mangyaring tingnan ito ngayon. Para sa mga nakakita na sa aking nakaraang le