Мазмуну:
- 1 -кадам: Пререквизиттер
- 2 -кадам: Башкарманы куруу
- 3 -кадам: схемалык
- 4 -кадам: Arrino программасына Irremote китепканасын кошуңуз
- 5 -кадам: Алыстан башкаруу элементтериңизден коддорду жазыңыз
- 6 -кадам: Алыстан башкаруу үчүн веб -баракча түзүңүз
- 7 -кадам: Алыстан башкаруу кодун Arduinoго жүктөңүз
- 8 -кадам: Компьютериңизден веб -серверге туташыңыз
- 9 -кадам: Кошумча кадам: Хосттор файлыңызды колдонууну оңой кылуу үчүн түзөтүңүз
Video: Arduino браузерине негизделген алыстан башкаруу (linux): 9 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Балдарыбыз бар. Мен аларды жакшы көрөм, бирок алар спутниктин жана сыналгынын пультун жашырып, балдардын каналдарын коюп жатканда. Бул бир нече жыл бою күн сайын болуп өткөндөн кийин, жана менин сүйүктүү аялым Рождествого Arduino алууга уруксат бергенден кийин, Arduino менен пайдалуу бир нерсе (анын көз алдында!) Жасоого убакыт келди деп чечтим. Ошентип, бул жерде биз анын туу чокусуна жетебиз: менин пультту алмаштыруучу жана менин ички тармагымдан жеткиликтүү болгон Arduino вебке негизделген интерфейси. Эмнеге менин ethernet калканчым менин ардуино эскизин сактоого жол бербей турганын түшүнгөндө, мен веб -сервер катары ethernet калканчын колдонгон жаңы эскиз жазам, башкача айтканда, менин компьютериме apache орнотулган эмес. Күтө туруңуз, мен жетем!
1 -кадам: Пререквизиттер
Техникалык жабдыктар: Arduino тарабы: Arduino - Мен Arduino Uno R2 Breadboard колдонуп жатам - сиздин жергиликтүү электроника дүкөнүңүз же ашкана, эгерде сиз накта нандын тактайын орнотууну кааласаңыз - Мен тунук капкагы бар эски пластик корпусту колдончумун. сынган алыстан башкаруу пультунун бири (балдарга рахмат!) Инфракызыл кабылдагыч - Мен сыйкырдуу көздүн алыстан кеңейтүүчү транзисторунан меники алдым - BC547 резисторун колдондум - 1к омго орнотулган 1.5k ом өзгөрмөлүү резисторду колдондум. катуу ядролук RJ45 кабелдик катушкасынан Компьютер тарап: Компьютер USB катары Arduino Программасына алып барат: Arduino программалык камсыздоосу - arduino.cc алыскы китепканасынан - https://www.arcfn.com/2009/08/multi-protocol- infrared -remote -library.html (рахмат Кен, сонун иш!) PHP орнотулган Apache веб -сервери - apache.org Ички IP дареги - меники 192.168.0.9 Алыстан башкарууңуздун сүрөтү - Google же камераңызга тартылган сүрөт. Меники 200x600 чечилишинде сакталды
2 -кадам: Башкарманы куруу
Ардуино үчүн нанды колдонуу абдан сунушталат. Мен Arduino менен нан тактасын ошол корпуска орнотуп, дайыма колдонгон казыктарымды түз эле нан тактасына туташтырдым. Бул долбоор үчүн колдонулган Arduino казыктары: 5v, жер Digital казыктары 3, 11 (пин 3 IR LEDди көзөмөлдөйт, пин 11 IR алуучуга туташат)
3 -кадам: схемалык
Бул схема абдан жөнөкөй, 4 компонент жана 6 зым. IR LED туташуулары: Резистордун бир бутун Arduino санарип пинине 3 туташтырыңыз Резистордун экинчи бутун транзистордун базалык пинине туташтырыңыз (менин учурда орто бутум) Транзистордун эмитентин жерге туташтыр Коллекторду туташтыруу LEDдин терс бутуна транзистордун (кыска буту, светодиоддун жалпак жагы) LEDдин оң бутун (узун буту, ийилген тарабы) 5в пиндүү IR алуучу туташууларына туташтырыңыз (сиз pinout табышыңыз керек) Сиздин өзгөчө IR кабыл алгычыңыз): GND пин VS пин 5V VO пин Ардуино санарип пин 11 жерге
4 -кадам: Arrino программасына Irremote китепканасын кошуңуз
irremote-бул Кен Ширрифф жазган улуу китепкана жана анын блогунан https://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html китепкананы https:// arcfn дан жүктөп алыңыз.com/files/IRremote.zip жана arduino үчүн башка китепканадай орнотуңуз. Анын блогунда китепкана жана аны кантип орнотуу тууралуу көптөгөн пайдалуу маалыматтар бар.
5 -кадам: Алыстан башкаруу элементтериңизден коддорду жазыңыз
Бул жерде кызыксыз (бирок сөзсүз) бөлүктүн башталышы: Алыстан башкаруудагы ар бир баскычты басып, чыгуучу сапты сактап, виртуалдык алыстан башкаруу пультуна картага түшүрүү. Сиз муну бир эле жолу жасашыңыз керек, болжол менен 20 мүнөткө созулат. Чыгууңузду сактоо үчүн текст редакторун иштетиңиз. Жаңы документти түзүңүз жана алыстан башкаруудагы ар бир баскычты териңиз, ар бир сапта: Өчүрүү Солго Оңго.. жана башкалар Arduino IDEди иштетиңиз жана "Файлдар-> Мисалдар-> IRremote-> IRrecvDump" дегенди чыкылдатыңыз жана жүктөп бериңиз сиздин Arduino. Бул мисал алыскы коддорду сериялык портко төгөт. Сериялык порт мониторун иштетип, алыстан башкаруудагы баскычты басыңыз. Сиз сериялык монитор терезесинде бир сап пайда болгонун көрөсүз: "Декоддолгон *: * (* бит)". Бул сапты көчүрүп, тийиштүү сапта документиңизге сактаңыз. Текст файлында бардык ачкычтар сакталганга чейин кайталаңыз. Мен билем, бул канчалык кызыктуу экенин, мен буга чейин эки жолу кылганмын: P Биз азыр текст файлында бир аз издеп, алмаштырышыбыз керек: "Декоддолгон" дегенди "" издөө "менен алмаштыр: 0x" менен алмаштыр "," издөө "(" менен алмаштыруу "," биттерди издөө ")" "менен алмаштыруу" Ошентип, бир сызык үчүн: Декоддолгон NEC: 0x000110 (15 бит) бизде азыр мындай сызык болушу керек: NEC, 000110, 15
6 -кадам: Алыстан башкаруу үчүн веб -баракча түзүңүз
Биз азыр сиздин алыстан башкаруу сүрөтүңүздөгү баскычтарды картага түшүрүшүбүз керек.
Мен https://www.maschek.hu/imagemap/imgmap баскычтарын картага түшүрүү үчүн колдондум жана веб -сайт сизге иштеши үчүн берген кодду өзгөрттүм.
"Компьютериңиздеги сүрөттү колдонуңуз: [файлды тандоо]" чыкылдатыңыз, сүрөтүңүздү тандаңыз, [жүктөп берүүнү] басыңыз, [кабыл алуу] баскычын басыңыз, ар бир баскычка тик бурчтуктарды, чөйрөлөрдү ж. HREF үчүн /remote.php?command= жана текст документиндеги бул баскычтын сабын коюңуз, мисалы Alt: баскычтын аты менен, бирок бул сизге байланыштуу.
Ар бир баскыч үчүн кайталаңыз.
Баары бүттүбү? Андан кийин улантабыз. Ал барактын ылдый жагында "Код" бар, аны чыкылдатыңыз жана сүрөт картасынын кодун көрсөткөн кутуча ачылат. Аны көчүрүп, жаңы текст документине чаптаңыз. Бул биздин веб -баракчанын негизги бөлүгү.
Бул жерде менин толук веб -баракчам, жөн гана алмаштырыңыз…
жогорудагы жеке кодуңуз менен жана алыстан башкаруу сүрөттөрүңүз менен бирге веб -каталогуңузда remote.php катары сактаңыз (/var/www). Өз сүрөттөрүңүздүн саптарын өзгөртүңүз:
"https://www.w3.org/TR/html4/loose.dtd">
LED башкаруу Arduino
7 -кадам: Алыстан башкаруу кодун Arduinoго жүктөңүз
Жаңы эскизди түзүңүз жана ага төмөнкү кодду чаптаңыз:/ * * WebRemote * IR LED Arduino PWM pin 3 менен туташтырылышы керек. * Версия 0.1 Июль, 2009 * Бул коддун автордук укугу Грегори Фентон, https://labby.co. uk/2012/02/irremote-arduino-эксперимент/ * IRremote китепканасынын автордук укугу 2009 Ken Shirriff, https://arcfn.com */#incline шаблонду камтыйт Print & operator << (Print & obj, T arg) {obj.print (arg); return obj; } логикалык end = false; char inData [64]; // Өлчөмү ылайыктуу байт индекси = 0; #deopine EOP "\ n" IRsend irsend; void setup () {Serial.begin (9600); Serial << "Serial port initialized" << EOP; } void loop () {String pch, sType, sTemp; char inChar, sTest, k; int sBits; узун sHex; int i, j; while (1) {while (Serial.available ()> 0) {inChar = Serial.read (); if (index == 0) {pch = ""; } if (inChar == '\ r' || inChar == '\ n' || inChar == '/') // EOP {end = true; index = 0; тыныгуу; } else {if (index <64) // Массивдин өлчөмү {pch += inChar; индекс ++; }}} if (end) {// inDataдагы маалыматтарды бул жерден талдаңыз… pch.toUpperCase (); i = pch.indexOf ('')! = -1? pch.indexOf (''): pch.indexOf (','); sType = pch.substring (0, i); i ++; // ',' же '' // секирип өтүңүз, мен азыр hex j = pch.lastIndexOf ('')! = -1 башталышын көрсөтүп жатам! = -1? pch.lastIndexOf (''): pch.lastIndexOf (','); // j азыр алты бурчтуу sHex = 0 кийин ',' же '' көрсөтөт; sTemp = pch.substring (i, j); if (sTemp.substring (0, 2) == String ("0X")) sTemp = sTemp.substring (2); for (i = 0; i <sTemp.length (); i ++) {k = sTemp ; if (! ((k> = '0' && k = 'A' && k <= 'F'))) break; sHex *= 16; if (k> = '0' && k <= '9') sHex += (k - '0'); эгерде (k> = 'A' && k <= 'F') sHex + = ((k - 'A') + 10); if (! ((k> = '0' && k = 'A' && k <= 'F'))) break; } sTemp = pch.substring (j+1); sBits = 0; for (i = 0; i <sTemp.length (); i ++) {k = sTemp ; sBits *= 10; if (k> = '0' && k <= '9') sBits += (k - '0'); } if (sType.length ()> 0) {Serial << pch << EOP << "Code type:" << sType << "Hex:"; Serial.print (sHex, HEX); Сериялык << "Биттер:" << sBits; } sendIt (sType, sHex, sBits); pch = ""; аяктады = 0; }}} void sendIt (String sType, long sHex, int sBits) {for (int i = 0; i <2; i ++) {if (sType.equals (String ("RC6"))) {irsend.sendRC6 (sHex, sBits); } else if (sType.equals (String ("RC5"))) {irsend.sendRC5 (sHex, sBits); } else if (sType.equals (String ("SONY"))) {irsend.sendSony (sHex, sBits); } else if (sType.equals (String ("NEC")))) {if (! i) irsend.sendNEC (sHex, sBits); } else if (sType.equals (String ("")))) {Serial << "Delaying" << EOP; кечигүү (450); } кечиктирүү (30); }}
8 -кадам: Компьютериңизден веб -серверге туташыңыз
.. же телефон же андроид же ipad же башка: браузериңизде https:// веб -сервердин IP -дареги/remote.php дарегине өтүңүз, мен үчүн дарек https://192.168.0.9/remote.php, бирок сиздики башкачараак болот. Эгер баары иштеп жатса, баскычтар менен алыстан башкаруунун сүрөтүн көрүшүңүз керек.
9 -кадам: Кошумча кадам: Хосттор файлыңызды колдонууну оңой кылуу үчүн түзөтүңүз
Мен жасаган кадам менин хост файлымды түзөтүү болду (/etc/hosts in linux, C: / Windows / System32 / Drivers / etc / hosts in windows). Белгилей кетсек, бул файлды административдик буйрук сабында (терезелерде) же su (linux) түзөтүүгө болот ip.add.re.ss алыстан кошуу ip.add.re.ssти сервердин IP дареги менен алмаштыруу жана файлды сактоо. Сиз муну кыска аталыштагы веб -баракчага кирүүнү каалаган ар бир түзмөктө жасашыңыз керек. Эми сиз алыстан башкаруу пультуна https://remote/remote.php менен кире аласыз, бул менин эң туура көрсөтмөм, жумшак болуңуз жана көйгөйлөр бар болсо, мага аларды чече алам.
Сунушталууда:
LoRa негизделген алыстан башкаруу - Чоң аралыктан башкаруу шаймандары: 8 кадам
LoRa негизделген алыстан башкаруу | Түзмөктөр чоң аралыктан: Эй, эмне болду, балдар! Akarsh бул жерде CETechтен. Бул долбоордо биз светодиоддор, моторлор сыяктуу ар кандай приборлорду көзөмөлдөө үчүн колдонула турган алыстан башкаруу пультун түзөбүз же эгерде биз күнүмдүк жашообуз жөнүндө айтсак, биз өзүбүздүн үй колдонуучубузду башкара алабыз
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
Arduino негизделген GSM/SMS алыстан башкаруу бирдиги: 16 кадам (сүрөттөр менен)
Arduino негизделген GSM/SMS алыстан башкаруу блогу:! ! ! N O T I C E! ! ! Жергиликтүү уюлдук телефондордун мунарасы менин аймагында жаңыртылгандыктан, мен бул GSM модулун колдоно албай калдым. Жаңы мунара 2G түзмөктөрүн колдобой калды. Ошондуктан, мен мындан ары бул долбоорго эч кандай колдоо көрсөтө албайм
HyperDuino үчүн MBlock браузерине негизделген коддоону баштоо: 3 кадам
HyperDuino үчүн MBlock браузерине негизделген коддоону баштоо: HyperDuino менен mBlock вебке негизделген окуу куралына кош келиңиз. Бул mBlockту кантип орнотууну жана кодуңузду HyperDuinoго жүктөөнү көрсөтөт. Бул ошондой эле акылдуу унаа үчүн негизги кодду кантип түзүүнү көрсөтөт. Баштоо үчүн дароо секирели
Eskate же Hydrofoil үчүн Arduino негизделген алыстан башкаруу: 5 кадам (сүрөттөр менен)
Eskate же Hydrofoil үчүн Arduino негизделген алыстан башкаруу: Бул көрсөтмө сизге керектүү бардык коддорду жана жабдууларды камтыган эскейт же электр гидрофоль менен колдонуу үчүн физикалык алыстан кантип курууну көрсөтөт. Көп ширетүү иштери бар, бирок аны жасоо да кызыктуу. Алыстан башкаруучу эмне кыла алат? Ко