Arduino Yun bilan ishlashni boshlash



Download 1,04 Mb.
bet3/5
Sana20.06.2022
Hajmi1,04 Mb.
#684500
1   2   3   4   5
Bog'liq
New Microsoft Word Document

Yún-ni birinchi marta yoqgandan so'ng, Arduino ArduinoYun-XXXXXXXXXXXX deb nomlangan WiFi tarmog'ini yaratadi . Ushbu tarmoqqa kompyuterdan ulaning. 
Sizga IP-manzil tayinlangandan so'ng, brauzeringizni oching va manzil satriga yozing: http://arduino.local yoki 192.168.240.1. Biroz vaqt o'tgach, sizdan parol so'ragan veb-sahifa paydo bo'ladi. "Arduino" ni kiriting va Kirish tugmasini bosing .

WiFi va Ethernet interfeyslari orqali joriy tarmoq ulanishlari haqidagi tizim ma'lumotlari bilan sahifa yuklanadi. Davom etish uchun Konfiguratsiya tugmasini bosing .

Yuklangan sahifada siz Arduino Yún-ga noyob nom berish va qaysi tarmoqqa ulanishni belgilash orqali sozlashingiz mumkin.
Yún NAME maydoniga Arduino uchun noyob nomni kiriting. Kelajakda Arduino-ga murojaat qilganda sizga bu nom kerak bo'ladi.
Arduino uchun kamida 8 ta belgidan iborat parol o'rnating. Agar siz ushbu maydonni bo'sh qoldirsangiz, tizim standart parolni, arduino-ni kuchda qoldiradi.
Majburiy emas, siz vaqt mintaqasi va mamlakatni o'rnatishingiz mumkin. Ushbu sozlamalarni shunday o'rnatish tavsiya etiladi bu mahalliy WiFi tarmoqlariga ulanishni osonlashtirishi mumkin. 
Ulanmoqchi bo'lgan WiFi tarmog'ining nomini kiriting.
Xavfsizlik turini tanlang va tarmoq parolini kiriting.

Configure & Restart tugmasini bosgandan so'ng (sozlamalarni saqlang va qayta ishga tushiring), Arduino o'zini o'zi tiklaydi va belgilangan tarmoqqa ulanadi. Bir necha soniyadan so'ng, avval yaratilgan Arduino WiFi tarmog'i yo'qoladi. 

Endi siz Arduino Yún sozlamalarida ko'rsatilgan tarmoqqa ulanishingiz mumkin.
32U4 proshivka WiFi orqali
Arduino Yún kompyuteringiz bilan bir tarmoqda bo'lsa, u Wi-Fi orqali masofadan ulanishi va o'chirilishi mumkin.
Buni amalga oshirish uchun, Yunni sozlaganingizdan so'ng, Arduino sozlamalarida ko'rsatilgan tarmoqqa ulaning. Arduino IDE-ni oching.
Asboblar > Port menyusida siz Arduino nomi va uning IP manzili ko'rsatilgan yozuvni ko'rishingiz kerak . Kengash menyusidan Arduino Yún-ni tanlang .
Sinov dasturini oching ( Fayl > Misollar > 01Basics > Blink ) va uni Arduino-da o'chiring. Tizim sizdan administrator parolini kiritishingizni so'raydi - Arduino konfiguratsiyasida ko'rsatgan parolni kiriting. 
Miltillash jarayoni tugagandan so'ng, 32U4 mikrokontrolleri qayta ishga tushadi va yuklab olingan dasturni bajarishni boshlaydi. Bunday holda, 13-pinga ulangan LED taxtada miltillashi kerak.
O'rnatilgan Ethernetdan foydalanish
Yunni simli tarmoqqa Ethernet kabeli orqali ulashda Arduino avtomatik ravishda DHCP orqali tarmoqqa ulanishga harakat qiladi. Bunday holda, doska Port menyusida WiFi orqali ulanganda bo'lgani kabi ko'rsatiladi.
Agar siz Yun-ni kompyuteringizga to'g'ridan-to'g'ri ulashni istasangiz, kompyuteringizda statik IP-manzilni o'rnatishingiz yoki DHCP serverini o'rnatishingiz kerak.
Eslatma: Ethernet interfeysi eth0 emas eth1
Bridge orqali Linino bilan muloqot qiling
Bridge kutubxonasi Arduino-ga Linino bilan ishlash imkonini beradi. Quyida tavsiflangan ikkita komponent bilan o'zaro ta'sir qilish uchun mo'ljallangan bir nechta yordamchi sinflar mavjud. Ular haqida eng to'liq ma'lumotni Bridge kutubxonasi yordamida topish mumkin .

Barcha asosiy Arduino Yun modullari - WiFi, Ethernet, USB xost va SD karta - AR9331 protsessoriga ulangan. Bridge kutubxonasi ushbu qurilmalar bilan ishlash, skriptlarni ishga tushirish va turli veb-xizmatlar bilan ishlash imkonini beradi. 
Konsol sinfi
Konsol klassi Bridge kutubxonasiga asoslangan va Arduino Yún-ga ma'lumotni kompyuterga ketma-ket ulanish bilan bir xil tarzda, faqat simsiz interfeys orqali yuborish imkonini beradi. U SSH protokoli yordamida Yún va kompyuteringiz o'rtasida xavfsiz ulanishni yaratadi va Terminal kabi ishlaydi.
Yun-ni quyidagi dastur bilan fleshlang:
?

#include
const int ledPin = 13; // вывод, к которому подключен светодиод
int incomingByte; // переменная для хранения поступающих по послед. интерфейсу данных
void setup() {
// инициализируем последовательный интерфейс:
Bridge.begin();
Console.begin();
while (!Console){
; // ожидаем открытия подключения и открытия порта Console.
}
Console.println("You're connected to the Console!!!!");
// конфигурируем пин, к которому подключен светодиод, как выход:
pinMode(ledPin, OUTPUT);
}
void loop() {
// проверяем, не поступили ли на вход внешние данные:
if (Console.available() > 0) {
// считываем первый байт из входного буфера:
incomingByte = Console.read();
// если это код прописной буквы "H" (ASCII-код 72), то включаем светодиод:
if (incomingByte == 'H') {
digitalWrite(ledPin, HIGH);
}
// если это код буквы "L" (ASCII-код 76) - выключаем светодиод:
if (incomingByte == 'L') {
digitalWrite(ledPin, LOW);
}
}
}

Terminalni ko'rish uchun Arduino nomi va IP manzili bilan Port menyusini tanlang. Agar sizning kompyuteringiz Arduino Yún bilan bir xil mahalliy tarmoqda bo'lsa, qurilma ushbu menyuda paydo bo'ladi. Agar Arduino boshqa tarmoqda ishlasa, u portlar ro'yxatida bo'lmaydi. Port Monitor dasturini ishga tushiring. Tizim sizdan Arduino Yún parolini so'raydi.
Terminalni buyruq satrini ochib, quyidagini yozish orqali ham ko'rishingiz mumkin:
?

ssh root@yourYunsName.local 'telnet localhost 6571'

Eslatma: Agar siz Windows operatsion tizimida ishlayotgan bo'lsangiz, Linux buyruq qatori emulyatorini o'rnatishingiz kerak. Ushbu emulyatorlardan biri PuTTY dasturi bo'lib, unda yuqoridagi buyruqlar alohida kiritilishi kerak.
Endi siz 13-pindagi LEDni yoqish uchun "H" ni va uni o'chirish uchun "L" ni kiritishingiz mumkin.
Sinf jarayoni
Jarayon sinfi usullari Arduino-ga Linino-da "Linux" jarayonlarini ishga tushirish imkonini beradi.
Quyidagi misol Lininoning uzoq serverga qanday ulanishi va ma'lum bir ASCII matnini yuklab olish uchun curl yordam dasturidan foydalanishini ko'rsatadi. Yuklab olingan matn ketma-ket interfeys orqali chiqariladi.
?

#include
void setup() {
// Инициализируем библиотеку Bridge
Bridge.begin();
// Инициализируем последовательный интерфейс
Serial.begin(9600);
// Ждем подключения прикладной программы Serial Monitor
while (!Serial);
// запускаем различные примеры процессов
runCurl();
}
void loop() {
// здесь ничего не делаем.
}
void runCurl() {
// запускаем команду "curl" и возвращаем Arduino ascii-лого из сети
// curl - это консольная утилита для передачи данных через различные Интернет-протоколы
Process p; // Создаем процесс и называем его "p"
p.begin("curl"); // Процесс, который будет вызывать команду "curl"
p.addParameter("http://arduino.cc/asciilogo.txt"); // Добавляем к "curl" URL страницы
p.run(); // Запускаем процесс и ожидаем его завершения
// Выводим логотип Ардуино через последовательный порт
// выходные данные процесса можно считать с помощью потоков
while (p.available()>0) {
char c = p.read();
Serial.print(c);
}
// Убеждаемся, что последний бит данных корректно отправлен.
Serial.flush();
}

Protsessorlar o'rtasida ma'lumot uzatish uchun ko'prikdan foydalanish
Bridge kutubxonasi kalit/parametr qiymatlari juftligi yordamida ikkita protsessor o'rtasida ma'lumot uzatish imkonini beradi.
Ushbu misol REST qo'ng'iroqlari orqali plataning raqamli va analog pinlariga kirish uchun Bridge kutubxonasidan qanday foydalanishni ko'rsatadi. Misol shuningdek, REST uslubida brauzer buyruqlarini o'rash orqali o'z API-ni qanday yaratishingiz mumkinligini ko'rsatadi.
Ushbu misolni ishga tushirishdan oldin, kompyuteringiz Arduino Yun bilan bir xil tarmoqda ekanligiga ishonch hosil qiling.
Doskani miltillagandan so'ng, dastur sizga uning chiqishlarining joriy holatini o'qish va o'zgartirish, shuningdek chiqishlarning chiqish rejimini (kirish yoki chiqish sifatida) sozlash imkonini beradi.
Agar REST parol so'rovi o'chirilgan bo'lsa, chiqishni boshqarish uchun brauzerning manzil satriga quyidagi buyruqlar kiritilishi mumkin:

  • http://myArduinoYun.local/arduino/digital/13 : digitalRead(13) chaqiradi;

  • http://myArduinoYun.local/arduino/digital/13/1 : digitalWrite (13,1) chaqiradi;

  • http://myArduinoYun.local/arduino/analog/9/123 : analogWrite (9,123) chaqiradi;

  • http://myArduinoYun.local/arduino/analog/2 : analogRead(2) funksiyasini chaqiradi;

  • http://myArduinoYun.local/arduino/mode/13/input : pinMode (13, INPUT) ni chaqiradi;

  • http://myArduinoYun.local/arduino/mode/13/output : pinMode (13, OUTPUT) ni chaqiradi;

Yuqoridagi buyruqlarni bajarish uchun siz nafaqat brauzerdan, balki , masalan , curl yordam dasturidan ham foydalanishingiz mumkin.
Shunday qilib, dasturga Bridge, YunServer va YunClient kutubxonalarini ulashingiz kerak:
?

#include
#include
#include

Keling, Yunga mijozlar ulanishini kutish imkonini beradigan server sinfining namunasini yarataylik.
?

YunServer server;

Setup() blokida biz ketma-ket interfeysni ishga tushiramiz (keyingi disk raskadrovka uchun) va Bridge kutubxonasi ishga tushgunga qadar o'rnatilgan LEDga (13-pinda) yuqori darajani o'rnatamiz. Bridge.begin() usuli bloklanmoqda va uni bajarish uchun 2 soniyagacha vaqt ketishi mumkin. Brdige ishga tushirilgach, LEDni o'chiring:
?

void setup() {
Serial.begin(9600);
pinMode(13,OUTPUT);
digitalWrite(13, LOW);
Bridge.begin();
digitalWrite(13, HIGH);

Setup() blokining ikkinchi qismida biz YunServer misolini faqat localhostdan kiruvchi ulanishlarni tinglashga majbur qilamiz. Lininoga barcha ulanishlar tahlil qilish va plataning pinlari bilan keyingi manipulyatsiya uchun 32U4 mikrokontrolleriga o'tkaziladi. Ulanishlar 5555 portiga o'rnatiladi. Serverni server.begin() buyrug'i bilan ishga tushiramiz:
?

server.listenOnLocalhost();
server.begin();
}

Loop() blokida biz ulanishlarni boshqarish uchun YunClient misolini yaratamiz. Mijoz ulanganda, barcha qabul qilingan so'rovlarni maxsus funktsiyada qayta ishlang (bu quyida tavsiflanadi) va ulanishni yoping.
Loop() blokining oxirida protsessorni og'ir yuklamaslik uchun kichik kechikish qo'shing:
?

void loop() {
YunClient client = server.accept();
if (client) {
process(client);
client.stop();
}
delay(50);
}

Argument sifatida YunClient obyektini oladigan process deb nomlangan funksiya yarataylik . Ushbu funktsiya ichida mijozdan olingan buyruq satr o'zgaruvchisida o'qiladi va saqlanadi. Keyinchalik, bu satr tahlil qilinadi va undagi REST buyruqlari (raqamli, analog yoki rejim) tahlil qilinadi. Agar REST buyrug'i topilsa, mijozdan olingan ma'lumot tegishli funktsiyaga uzatiladi.
?

void process(YunClient client) {
String command = client.readStringUntil('/');
if (command == "digital") {
digitalCommand(client);
}
if (command == "analog") {
analogCommand(client);
}
if (command == "mode") {
modeCommand(client);
}
}


Download 1,04 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish