Mục lục:
- Bước 1: Vật liệu
- Bước 2: Dragonboard 410c Com Mezzanine 96
- Bước 3: Tích hợp: Unity + Vuforia
- Bước 4: Unity: Định cấu hình O Android SDK
- Bước 5: Criando Servidor Local E Recebendo Informações Em Python
- Bước 6: Kết quả cuối cùng
Video: Bài học thông minh: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
O projeto Bài học thông minh visa criar um produto không có trình độ chuyên môn về sở hữu tài sản có thể thực hiện được como um bối cảnh a mais para ensinar seus alunos os levando a um nível de aprendizado muito superior por conseguir mostrar os Contúdos de forma dinâmica e interativa, em uma uma salacias em de aula convencional.
Bước 1: Vật liệu
Para programar a Dragonboard 410c:
- Ván rồng 410c;
- Cabo HDMI;
- Teclado qua USB -Mouse qua USB -Monitor;
- Thùng lửng 96 ván;
Para executive o projeto:
- Ván rồng 410c;
- Thùng lửng 96 ván;
- Cảm biến Grove IMU 10DOF MPU - 9250 (cảm biến não não hạn chế ao uso de um único);
- Fonte de alimentação externa 11.1V;
- Jumper fêmea-fêmea;
Bước 2: Dragonboard 410c Com Mezzanine 96
O Shield Mezzanine deve ser acoplado à nhauBảng rồng 410c, para que haja fornecimento de saída 3.3V / 5V (level shifter), độc a pana só fornece 1.8V de saída. Cảm biến O useizado foi um magnetômetro Sensor MPU - 9250 Grove -IMU 10DOF, đặc biệt
Tensão de Entrada: 5V / 3.3V;
Corrente de funcionamento: 6mA;
Comunicação Serial;
Pinos: VCC, GND, SDA e SCL;
Giao diện I2C;
Para este exelo foi useizado um dos conectores Grove I2C0 (5V), que ratiociona a comunicação Serial e a alimentação needária para funcionamento do sensor. (ver imagem)
Bước 3: Tích hợp: Unity + Vuforia
1- Vá ao site da vuforia na área de desenvolvedor e crie uma chave.
2- Vá na tab Target Manager e adicione uma textura para fazer o Theo dõi (quanto mais complexa melhor).
3- Feito isso baixe một cơ sở dữ liệu para o Unity e importe.
4- Không có Unity cấu hình um image target com a textura escolhida e dentro delete adicione os modelos 3D que deseja Pracizar, os mesmos estarão ativos quando a imagem cho ứng dụng pelo localizada.
5- Adicione a chave de Licença da vuforia nas configurações dentro do Unity.
6- Após isso modele os componentes da aula em algum Programa 3D e chuẩn bị như aulas em cima làm mục tiêu hình ảnh (pode ser uma aula de Biologia ou Física…).
Bước 4: Unity: Định cấu hình O Android SDK
1- Baixe o SDK do Android, vá em Tùy chọn Unity e selecione o seu diretório.
2- Mude a build plataform do Unity para o android, assim conseguiremos gerar o APK.
3- Instale o apk em um dispositivo (não esqueça de permitir fontes desconhecidas nas configurações).
Bước 5: Criando Servidor Local E Recebendo Informações Em Python
Concluídas as configurações apresentadas, podemos acessar o Sistema Linaro dentro da perma e Pracizar várias linguagens como C ++, Java, Python, v.v., para criar o software que será executive. Phần mềm Este é đáp ứng bởi bộ phận cảm biến của bộ cảm biến bộ xử lý, bộ xử lý e tratar estes dados conforme solicitado pelo programma. Depois carrega esses dados para o servidor alocado na própria coroa para enviar os dados já tratados para a plataforma Unity. Os exelos de código deste projeto estão em linguagem Phyton. Os dados são transferidos da Dragonboard 410c para o Unity e são apresentados em um ứng dụng.
Seguem os códigos mag_python.py (leitor de dados do sensor), server2.py (Servidor local), Executável no Shell:
Código mag_python.py
#! / usr / bin / python
# Tác giả: Jon Trulson
# Bản quyền (c) 2015 Intel Corporation.
#
# Quyền theo đây được cấp miễn phí cho bất kỳ người nào có được
# bản sao của phần mềm này và các tệp tài liệu liên quan (# "Phần mềm"), để giao dịch trong Phần mềm mà không bị hạn chế, bao gồm
# không giới hạn quyền sử dụng, sao chép, sửa đổi, hợp nhất, xuất bản, # phân phối, cấp phép phụ và / hoặc bán các bản sao của Phần mềm và cho
# cho phép những người mà Phần mềm được cung cấp để làm như vậy, tùy thuộc vào
# điều kiện sau:
#
# Thông báo bản quyền ở trên và thông báo cấp phép này sẽ
# được bao gồm trong tất cả các bản sao hoặc các phần quan trọng của Phần mềm.
#
# PHẦN MỀM ĐƯỢC CUNG CẤP "NGUYÊN TRẠNG", KHÔNG BẢO HÀNH BẤT KỲ HÌNH THỨC NÀO, # RÕ RÀNG HOẶC NGỤ Ý, BAO GỒM NHƯNG KHÔNG GIỚI HẠN ĐẢM BẢO CỦA
# KHẢ NĂNG LAO ĐỘNG, PHÙ HỢP VỚI MỤC ĐÍCH CỤ THỂ VÀ
# KHÔNG VI PHẠM. TRONG SỰ KIỆN KHÔNG GÂY RA TÁC GIẢ HOẶC NGƯỜI GIỮ BẢN QUYỀN
# TRÁCH NHIỆM PHÁP LÝ ĐỐI VỚI BẤT KỲ KHIẾU NẠI, THIỆT HẠI HOẶC TRÁCH NHIỆM PHÁP LÝ KHÁC NÀO TRONG MỘT HÀNH ĐỘNG
SỐ HỢP ĐỒNG, KHOẢNG CÁCH HOẶC KHAI THÁC KHÁC, SẮP XẾP TỪ, NGOÀI HOẶC KẾT NỐI
# VỚI PHẦN MỀM HOẶC VIỆC SỬ DỤNG HOẶC KINH DOANH KHÁC TRONG PHẦN MỀM.
từ _future_ nhập print_ Chức năng
thời gian nhập, hệ thống, tín hiệu, atexit, urllib, urllib2, toán học
from upm import pyupm_mpu9150 as sensorObj
def main ():
# dữ liệu = {}
# data ['magnetrometro'] = raw_input ("Informe a temperatura")
# data = urlib.urlencode (dữ liệu)
# post_request = urlib2. Request (post_url, dữ liệu, tiêu đề)
# cố gắng:
# post_response = urlib2.urlopen (post_request)
# print post_response.read ()
# ngoại trừ URLError as e:
# print "Error:", e.reason
# Khởi tạo MPU9250 trên I2C bus 0
sensor = sensorObj. MPU9250 ()
## Trình xử lý thoát ##
# Hàm này ngăn python in dấu xếp chồng khi bạn nhấn control-C
def SIGINTHandler (dấu hiệu, khung):
nâng SystemExit
# Chức năng này cho phép bạn chạy mã khi thoát
def exitHandler ():
print ("Đang thoát")
sys.exit (0)
# Đăng ký trình xử lý thoát
atexit.register (exitHandler)
signal.signal (signal. SIGINT, SIGINTHandler)
sensor.init ()
x = sensorObj.new_floatp ()
y = sensorObj.new_floatp ()
z = sensorObj.new_floatp ()
trong khi (1):
sensor.update ()
sensor.getAccelerometer (x, y, z)
# print ("Gia tốc kế:")
# 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 ("Con quay hồi chuyển: 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 = open ('/ 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 (liên kết)
# trang = send.read ()
# trang in)
# link = ('https://data.sparkfun.com/input/1noGndywdjuDGAGd6m5K?private_key=0mwnmR9YRgSxApAo0gDX&acel='+str(modulo1))
# print ('enviando dados')
# send = urllib2.urlopen (liên kết)
# trang = send.read ()
# trang in)
# print ("Nhiệt độ:", sensor.getTempe Heat ())
# in()
# time.sleep (.5)
nếu _name_ == '_main_':
chủ chốt()
Código do Servidor Local
thời gian nhập khẩu
nhập BaseHTTPServer
HOST_NAME = '172.17.56.9' # !!! NHỚ THAY ĐỔI NÀY !!!
PORT_NUMBER = 80 # Có thể đặt giá trị này thành 9000.
a = 0
lớp MyHandler (BaseHTTPServer. BaseHTTPRequestHandler):
def do_HEAD (s):
s.send_response (200)
s.send_header ("Loại nội dung", "văn bản / html")
s.end_headers ()
def do_GET (s):
dados = le_dados ()
in (cha)
"" "Trả lời yêu cầu GET." ""
nếu s.path == "/ 1":
s.send_response (200)
s.send_header ("Loại nội dung", "văn bản / thuần túy")
s.end_headers ()
s.wfile.write (cha)
elif s.path == "/ 2":
s.send_response (200)
s.send_header ("Loại nội dung", "văn bản / thuần túy")
s.end_headers ()
s.wfile.write ("2")
khác:
s.send_response (200)
s.send_header ("Loại nội dung", "văn bản / thuần túy")
s.end_headers ()
s.wfile.write (cha)
# s.wfile.write ("không tìm thấy !!")
def le_dados ():
arq = open ('/ tmp / dados.txt', 'r')
texto = arq.readline ()
arq.close ()
trả lại texto
nếu _name_ == '_main_':
server_class = BaseHTTPServer. HTTPServer
httpd = server_class ((HOST_NAME, PORT_NUMBER), MyHandler)
print time.asctime (), "Máy chủ bắt đầu -% s:% s"% (HOST_NAME, PORT_NUMBER)
cố gắng:
a = a + 2
httpd.serve_forever ()
ngoại trừ KeyboardInterrupt:
đi qua
httpd.server_close ()
print time.asctime (), "Máy chủ dừng -% s:% s"% (HOST_NAME, PORT_NUMBER)
Código de Execução dos Códigos anteriores no Shell
#! / bin / bash
echo "bắt đầu mag_python"
sudo python mag_python.py &
echo "bắt đầu máy chủ"
sudo python server2.py
Bước 6: Kết quả cuối cùng
Feito isso as aulas poderão ser auxiliadas e incrementadas pelo projeto Bài học Thông minh desenvolvido com a Dragonboard 410c. Servindo de seekador e ratiocionando um maior aprendizado nos sistemas de ensino tanto público quanto privado.
LINK para ứng dụng không có Google Play:
Liên kết para códigos Py:
Đề xuất:
Đèn LED để bàn thông minh - Chiếu sáng thông minh W / Arduino - Neopixels Workspace: 10 bước (có hình ảnh)
Đèn LED để bàn thông minh | Chiếu sáng thông minh W / Arduino | Neopixels Workspace: Ngày nay chúng ta dành nhiều thời gian ở nhà, học tập và làm việc ảo, vậy tại sao không biến không gian làm việc của chúng ta trở nên tuyệt vời hơn với hệ thống chiếu sáng tùy chỉnh và thông minh dựa trên Arduino và Ws2812b LED. Sau đây tôi chỉ cho bạn cách xây dựng Smart của bạn Đèn LED để bàn
Biến điện thoại thông minh không sử dụng thành màn hình thông minh: 6 bước (có hình ảnh)
Biến điện thoại thông minh không sử dụng thành màn hình thông minh: Hướng dẫn Deze có trong het Engels, voor de Nederlandse versie klik hier Bạn có điện thoại thông minh (cũ) chưa sử dụng? Biến nó thành một màn hình thông minh bằng Google Trang tính và một số bút và giấy, bằng cách làm theo hướng dẫn từng bước dễ dàng này. Khi bạn hoàn thành
An ninh mạng-vật lý của Bãi đậu xe thông minh và Kiểm soát giao thông: 6 bước
An ninh mạng-vật lý của Bãi đậu xe thông minh và Kiểm soát giao thông: Internet đang phát triển với hàng tỷ thiết bị bao gồm ô tô, cảm biến, máy tính, máy chủ, tủ lạnh, thiết bị di động và nhiều hơn nữa với tốc độ chưa từng có. Điều này dẫn đến nhiều rủi ro và lỗ hổng trong cơ sở hạ tầng, hoạt động
DIY LED-quang kế với Arduino cho các bài học Vật lý hoặc Hóa học: 5 bước (có hình ảnh)
DIY LED-photometer Với Arduino cho các bài học Vật lý hoặc Hóa học: Xin chào! Chất lỏng hoặc các vật thể khác có màu vì chúng phản xạ hoặc truyền một số màu nhất định và lần lượt nuốt (hấp thụ) những màu khác. Với cái gọi là quang kế, những màu sắc (bước sóng) đó có thể được xác định, những màu này bị chất lỏng hấp thụ. Nguyên tắc cơ bản
Quay số thông minh - Điện thoại truyền thống thông minh tự động sửa lỗi: 8 bước
Smart Dial - Điện thoại truyền thống thông minh tự động sửa lỗi: Smart Dial là điện thoại tự động sửa lỗi thông minh được tạo ra cho người cao tuổi có nhu cầu đặc biệt và nó cho phép người cao tuổi quay số trực tiếp từ điện thoại truyền thống mà họ quen dùng. Chỉ nhờ hoạt động tình nguyện tại một trung tâm chăm sóc người cao niên địa phương mà tôi