Мазмуну:
- 1 -кадам: Материалдар
- 2 -кадам: Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
- 3 -кадам: Integração: Биримдик + Vuforia
- 4 -кадам: Биримдик: O Android SDK конфигурациялаңыз
- 5 -кадам: Criando Servidor Local E Recebendo Informacões Em Python
- 6 -кадам: Жыйынтык финалы
Video: Акылдуу сабак: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:38
Акылдуу сабактын виза программасы эч кандай сапатка ээ эмес, профессионалдык мүмкүнчүлүктөрдү колдонууга мүмкүндүк берет. de aula convencional.
1 -кадам: Материалдар
Dragonboard 410c программасы:
- Dragonboard 410c;
- Cabo HDMI;
-USB аркылуу Teclado -USB -Монитор аркылуу чычкан;
- Mezzanine 96boards;
Пара аткаруучу:
- Dragonboard 410c;
- Mezzanine 96boards;
- Sensor Grove IMU 10DOF MPU - 9250 (nado limitado ao uso de um único sensor);
- Fonte de alimentação externa 11.1V;
- секирүүчү фема-фема;
2 -кадам: Dragonboard 410c Com Mezzanine 96Boards: Configuração E Pinagem
O Shield Mezzanine иштеп чыгууда Dragonboard 410c, 3.3V / 5V үчүн (3.3V / 5V деңгээлинде), бул жерде 1.8V дефициты бар. Сенсор MPU -9250 Grove -IMU 10DOF сенсорунун жардамы менен, өзгөчө:
Tensão de Entrada: 5V / 3.3V;
Коренте функциясы: 6mA;
Comunicação Serial;
Пинолор: VCC, GND, SDA e SCL;
I2C интерфейси;
Мисалы, Grove I2C0 (5V) конекторлору, сенсордун функционалдык функциялары жана серияларынын бири болуп саналат. (элестетүү)
3 -кадам: Integração: Биримдик + Vuforia
1- Сайтты өчүрүү же өчүрүү жөнүндө маалымат жокко эсе.
2- Тапшырмалар менеджери жана көзөмөлдөөчү табулатура- Tracking (кванттык комплекс).
3- Биримдикти импорттоо үчүн Feito маалымат базасын түзүү керек.
4- No Unity конфигурациялайт, бул жерде сүрөттөлүштүн тексттик эскалолору 3D моделдерин иштетүү үчүн, локалдык колдонмо үчүн эң сонун мааниге ээ.
5- Биримдикке кирүү үчүн конфигурация жасаңыз.
6- Сүрөттөмө кайра англисче (Кошмо Штаттар) тилине которулсун Которуу 3D программасы (pode ser au de a Bio de o Física…).
4 -кадам: Биримдик: O Android SDK конфигурациялаңыз
1- Android үчүн SDK менен иштөө, Биримдиктин артыкчылыктары жана тандоолору.
2- Android үчүн Unity программасын түзүүнү пландаштырыңыз, APK файлдарын орнотуңуз.
3- Орнотуу (орнотуу)
5 -кадам: Criando Servidor Local E Recebendo Informacões Em Python
Программанын конфигурациясы, C ++, Java, Python ж. Программалык камсыздоонун жооптору сенсордун, процессордун жана программалардын талап кылынган программасы. Depois carrega esses биримдиктин платформасы үчүн эң маанилүү кызматтар болуп саналат. Phyton лингвистикалык программалардын бири болуп саналат. Dragonboard 410c үчүн Unity электрондук почтанын колдонмосу.
Seguem os códigos mag_python.py (сенсордун жардамы менен), server2.py (жергиликтүү сервидор), Shell аткарылбайт:
Código mag_python.py
#!/usr/bin/python
# Автор: Жон Трулсон
# Автордук укук (c) 2015 Intel Corporation.
#
# Уруксат бул жерде, каалаган адамга бекер берилет
# бул программалык камсыздоонун жана тиешелүү документтердин көчүрмөсү (# "Программалык камсыздоо"), Программаны чектөөсүз иштетүү, анын ичинде
# чектөө жок колдонуу, көчүрүү, өзгөртүү, бириктирүү, жарыялоо, # Программаны көчүрүү, сублицензиялоо жана/же сатуу
# Программалык камсыздоо берилген адамдарга, уруксат берилген
# төмөнкү шарттар:
#
# Жогорудагы автордук укук эскертүүсү жана бул уруксат эскертүүсү болот
# Программанын бардык көчүрмөлөрүнө же олуттуу бөлүктөрүнө киргизилген.
#
# ПРОГРАММА "КАНДАЙ БОЛСО БОЛОТ", ЭЧ КАНДАЙ КЕПИЛДИКСИЗ, # ЭКСПРЕСС ЖАНА КОЛДОНУЛУУ, КИРГИЗИЛГЕН, БИРОК КЕПИЛДИКТЕР МЕНЕН ЧЕКТЕЛБЕЙТ
# САТЫЛУУЛУК, АТАЙЫН МАКСАТКА ЫРАЙЫК ЖАНА
# ЭМЕС. ЭЧ КАЧАН АВТОРЛОР ЖАНА АВТОРДУК ЭЭЛЕР БОЛБОЙТ
# ЭМНЕ ДЕСЕНИЗДИГИ ҮЧҮН, ЗЫЯНДАР ЖАНА БАШКА ЖООПКЕРЧИЛИК ҮЧҮН ЖООПКЕРЧИЛИК
# КЕЛИШИМДИН, КЫЙЫНЧЫЛЫКТЫН ЖАНА БАШКА, ЧЫГАРЫЛГАН, БАШКА же БАЙЛАНЫШТУУ
# ПРОГРАММА ЖАНА ПАЙДАЛАНУУ ЖАНА ПРОГРАММАДАГЫ БАШКА МАМИЛЕЛЕР МЕНЕН.
_future_ден импорттоо print_function
импорттоо убактысы, sys, сигнал, atexit, urllib, urllib2, математика
pyupm_mpu9150 upm импортунан sensorObj катары
def main ():
# маалымат = {}
# маалымат ['magnetrometro'] = raw_input ("Температурага маалымат берүү")
# маалыматтар = urlib.urlencode (маалымат)
# post_request = urlib2. Request (post_url, data, headers)
# аракет:
# post_response = urlib2.urlopen (post_request)
# print post_response.read ()
# катары URLErrorдон башка:
# print "Error:", e.season
# I2C автобусунда MPU9250 түзүңүз
сенсор = sensorObj. MPU9250 ()
## Иштеп чыгуучулар ##
# Бул функция python контрол-C басканда стектрейкти басып чыгарууну токтотот
def SIGINTHandler (белги, кадр):
SystemExitти жогорулатуу
# Бул функция чыкканда кодду иштетүүгө мүмкүндүк берет
def exitHandler ():
басып чыгаруу ("Чыгуу")
sys.exit (0)
# Чыгуу иштетүүчүлөрдү каттаңыз
atexit.register (exitHandler)
сигнал.сигнал (сигнал. SIGINT, SIGINTHandler)
sensor.init ()
x = sensorObj.new_floatp ()
y = sensorObj.new_floatp ()
z = sensorObj.new_floatp ()
ал эми (1):
sensor.update ()
sensor.getAccelerometer (x, y, z)
# басып чыгаруу ("Акселерометр:")
# басып чыгаруу ("AX: %.4f" % sensorObj.floatp_value (x), end = '')
# басып чыгаруу ("AY: %.4f" % sensorObj.floatp_value (y), end = '')
# басып чыгаруу ("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
# басып чыгаруу (modulo1)
modulo1 = (" %.1f" % abs (((modulo1 ** 0.5) -1)*9.8))
# басып чыгаруу (modulo1)
#
# sensor.getGyroscope (x, y, z)
# басып чыгаруу ("Гироскоп: GX:", sensorObj.floatp_value (x), end = '')
# басып чыгаруу ("GY:", sensorObj.floatp_value (y), end = '')
# басып чыгаруу ("GZ:", sensorObj.floatp_value (z))
sensor.getMagnetometer (x, y, z)
# басып чыгаруу ("Magnetometer: MX:", sensorObj.floatp_value (x), end = '')
# басып чыгаруу ("MY:", sensorObj.floatp_value (y), end = '')
# басып чыгаруу ("MZ:", sensorObj.floatp_value (z))
modulo2 = sensorObj.floatp_value (x) ** 2+sensorObj.floatp_value (y) ** 2+sensorObj.floatp_value (z) ** 2
# басып чыгаруу (modulo2)
modulo2 = (" %.2f" % (modulo2 ** 0.5))
# басып чыгаруу (modulo2)
arq = ачык ('/tmp/dados.txt', 'w')
текст =
texto.append (str (modulo2)+","+str (modulo1))
arq.writelines (тексто)
arq.close ()
# шилтеме = ('https://data.sparkfun.com/input/0lwWlyRED5i7K0AZx4JO?private_key=D6v76yZrg9CM2DX8x97B&mag='+str(modulo2))
# басып чыгаруу ('enviando dados')
# жөнөтүү = urllib2.urlopen (шилтеме)
# барак = send.read ()
# басып чыгаруу (барак)
# шилтеме = ('https://data.sparkfun.com/input/1noGndywdjuDGAGd6m5K?private_key=0mwnmR9YRgSxApAo0gDX&acel='+str(modulo1))
# басып чыгаруу ('enviando dados')
# жөнөтүү = urllib2.urlopen (шилтеме)
# барак = send.read ()
# басып чыгаруу (барак)
# басып чыгаруу ("Температура:", sensor.getTemperature ())
# басып чыгаруу ()
# time.sleep (.5)
эгер _name_ == '_main_':
негизги ()
Codigo do Servidor Local
импорттоо убактысы
BaseHTTPServer импорттоо
HOST_NAME = '172.17.56.9' # !!! Муну ӨЗГӨРТҮҮНҮ ЭСИҢИЗДЕ БОЛГУЛА !!!
PORT_NUMBER = 80 # Балким, муну 9000ге коюңуз.
a = 0
MyHandler классы (BaseHTTPServer. BaseHTTPRequestHandler):
def do_HEAD (s):
s.send_response (200)
s.send_header ("Мазмун түрү", "текст/html")
s.end_headers ()
def do_GET (s):
dados = le_dados ()
басып чыгаруу (dados)
"" "GET сурамына жооп берүү." ""
эгер s.path == "/1":
s.send_response (200)
s.send_header ("Мазмун түрү", "текст/жөнөкөй")
s.end_headers ()
s.wfile.write (dados)
elif s.path == "/2":
s.send_response (200)
s.send_header ("Мазмун түрү", "текст/жөнөкөй")
s.end_headers ()
s.wfile.write ("2")
башка:
s.send_response (200)
s.send_header ("Мазмун түрү", "текст/жөнөкөй")
s.end_headers ()
s.wfile.write (dados)
#s.wfile.write ("табылган жок !!")
def le_dados ():
arq = ачык ('/tmp/dados.txt', 'r')
texto = arq.readline ()
arq.close ()
текстти кайтаруу
эгер _name_ == '_main_':
server_class = BaseHTTPServer. HTTPServer
httpd = server_class ((HOST_NAME, PORT_NUMBER), MyHandler)
басып чыгаруу убактысы.asctime (), "Сервер башталат - %s: %s" %(HOST_NAME, PORT_NUMBER)
аракет кыл:
a = a+2
httpd.serve_forever ()
KeyboardInterruptдон башка:
өтүү
httpd.server_close ()
басып чыгаруу убактысы.asctime (), "Сервер токтойт - %s: %s" %(HOST_NAME, PORT_NUMBER)
Código de Execução dos Códigos anteriores no Shell
#!/bin/bash
echo "баштапкы mag_python"
sudo python mag_python.py &
echo "серверди баштоо"
sudo python server2.py
6 -кадам: Жыйынтык финалы
Feito isso is aulas poderão ser auxiliadas as a one of the one of the one of the smart Lesson desenvolvido com to a Dragonboard 410c. Колдонуу шарттары жана шарттары Купуя приоритеттердин тизмеси.
Google Play жок колдонмо үчүн LINK:
Py códigos Py үчүн шилтеме:
Сунушталууда:
SONOFF акылдуу өчүргүчтөрү менен DIY акылдуу ролик жалюзи кантип жасалат ?: 14 кадам
SONOFF акылдуу өчүргүчтөрү менен кантип DIY акылдуу ролик жалюзи? жана аны кечинде түшүрөсүзбү? Кандай болбосун, мен
Акылдуу ойготкуч саат: Raspberry Pi менен жасалган акылдуу ойготкуч саат: 10 кадам (сүрөттөр менен)
Smart Alarm Clock: Raspberry Pi менен жасалган акылдуу ойготкуч: Сиз качандыр бир убакта акылдуу саатты кааладыңыз беле? Андай болсо, бул сиз үчүн чечим! Мен Smart Alarm Clock жасадым, бул веб -сайтка ылайык ойготкуч убактысын өзгөртө турган саат. Ойготкуч өчкөндө, үн чыгат (зумбул) жана 2 жарык күйөт
FLYSKY FS-I6 ЖОГОРКУ САБАК: 6 кадам
FLYSKY FS-I6 UPGRADE TUTORIAL: Саламатсыздарбы, менин RC хоббидеги карьерам бир нече жыл мурун 40+ жаштан ашкан 3 каналдуу TX/RX топтому менен жертөлөдө чаң басып калган, бирок муну айтуу туура болот башталды, анткени бул комплект. Чынында, бир нерсени сактап калган биринчи өткөргүч
2 -сабак: Ардуинону схеманын кубат булагы катары колдонуу: 6 кадам
2 -сабак: Ардуинону схеманын кубат булагы катары колдонуу: Дагы бир жолу салам, студенттер, менин экинчи сабагыма негизги электрониканы үйрөтүү. Менин биринчи сабагымды көрбөгөндөр үчүн, чынында эле, схеманын негиздерин сүрөттөгөн, муну азыр караңыз. Менин мурунку чыгармамды көргөндөр үчүн
Акылдуу үйүңүздү акылдуу түрдө коргоңуз: 14 кадам
Акылдуу үйүңүздү Smartly Secure: Мен коопсуз жана коопсуз конкурс үчүн күрөшүп жатам. Эгерде сизге менин көрсөтмөм жакса, ага добуш бериңиз! Мен сизге үйүңүздү жана анын айлана -чөйрөсүн кантип оңой жана арзан коргоону көрсөтөм. Конфигурациялоо