Мазмұны:

Сенімді, қауіпсіз, теңшелетін SMS қашықтан басқару құралы (Arduino/pfodApp) - кодтау қажет емес: 4 қадам
Сенімді, қауіпсіз, теңшелетін SMS қашықтан басқару құралы (Arduino/pfodApp) - кодтау қажет емес: 4 қадам

Бейне: Сенімді, қауіпсіз, теңшелетін SMS қашықтан басқару құралы (Arduino/pfodApp) - кодтау қажет емес: 4 қадам

Бейне: Сенімді, қауіпсіз, теңшелетін SMS қашықтан басқару құралы (Arduino/pfodApp) - кодтау қажет емес: 4 қадам
Бейне: ЖОҒАРЫ ДӘЛДІК PSU??? RIGOL DP832 бағдарламаланатын қуат көзі 2024, Шілде
Anonim
Сенімді, қауіпсіз, теңшелетін SMS қашықтан басқару құралы (Arduino/pfodApp) - кодтау қажет емес
Сенімді, қауіпсіз, теңшелетін SMS қашықтан басқару құралы (Arduino/pfodApp) - кодтау қажет емес

2018 жылдың 6 шілдесіндегі жаңарту: SIM5320 қолданылған осы жобаның 3G/2G нұсқасы мына жерде қол жетімді

Жаңарту: 2015 жылдың 19 мамыры: pfodParser кітапханасының 2.5 немесе одан жоғары нұсқасын пайдаланыңыз. Ол қорғаныс қосылғаннан кейін қалқанға желіге қосылуға жеткілікті уақыт бермеу туралы хабарланған мәселені шешеді

Кіріспе

PfodSMS қашықтан басқару пульті басқа қосымшалардан несімен ерекшеленеді:-

  • Бұл сенімді-командаларға әрқашан жауап беріледі және жоғалған хабарлар қайта сұралады
  • Бұл қауіпсіз - 128 биттік құпия сөзбен қорғауды қолданады
  • Ол үшін үшінші тараптың веб -сервистік шоттары қажет емес - тек белсенді SIM картасы қажет (түйреуішсіз)
  • Бұл теңшелетін - сіз өзіңіздің жеке мәзіріңізді жасау үшін pfodDesigner пайдалана аласыз
  • Бұл оңай - pfodDesigner барлық кодты жасайды. Сізге кодтаудың қажеті жоқ.
  • Бұл икемді-барлық pfod экрандары SMS арқылы қол жетімді, мысалы, ішкі мәзірлер, көп және бір таңдау тізімі, мәтін енгізу, деректерді тіркеу және график.

SMS қосылымының сенімділігі туралы pfodSMS хабарламасының дизайнын қараңыз. 128 биттік қауіпсіздік туралы мәліметтер алу үшін Интернетке қосылған pfodDevices үшін Challenge and Response Security қараңыз. PfodDesigner, Android / Arduino мәзірлерін қарап шығыңыз. Өзіңіздің жеке мәзіріңізді жасау туралы егжей -тегжейлі ақпарат алу үшін pfodSpecification.pdf файлын қараңыз.

Мысал Жоба - SMS ыстық суды басқару

Мысал ретінде, бұл нұсқаулықта ыстық су жылытқышты SMS арқылы қалай қосуға және өшіруге болатынын және оның қосылып не өшірілуін тексеруге болады. Оны орнату үшін сізге электрик қажет.

1 -қадам: Жылдам бастау - SMS қашықтан басқару құралы

Жылдам іске қосу - SMS қашықтан басқару құралы
Жылдам іске қосу - SMS қашықтан басқару құралы
Жылдам іске қосу - SMS қашықтан басқару құралы
Жылдам іске қосу - SMS қашықтан басқару құралы

Міне, ыстық суға арналған SMS бақылауды құрудың жылдам нұсқаулығы.

  1. Осы тізімдегі бөлшектерді сатып алыңыз.
  2. Arduino IDE 1.5.8 нұсқасын орнатыңыз және pfodParser кітапханасын жүктеп алыңыз.
  3. PfodDesigner тегін жүктеп алыңыз.
  4. Android ұялы телефонындағы мәзір сырғытпасынан сандық кірісті қосу және өшіру үшін өзіңіздің жеке мәзіріңізді жасаңыз.
  5. Қосылым ретінде SeeedStudio SIM900 GPRS қалқанын таңдап, кодты жасаңыз. (IteadStudio SIM900 қалқаны үшін опция да бар).
  6. Жасалған кодты ұялы телефоннан IDE -ге аударыңыз (толығырақ ақпарат алу үшін pfodAppForAndroidGettingStarted.pdf қараңыз), құпия құпия сөзіңізді қосыңыз, Arduino Mega 2560 -ке құрастырыңыз және жүктеңіз.
  7. SIM картасын GPRS қалқанына орнатыңыз және қалқаны Mega 2560 желісіне қосыңыз. Сериялық сілтемелер жоғарыда көрсетілгендей аппараттық серияға орнатылғанын тексеріңіз.
  8. Сандық шығуды D3 пен GND арасындағы тұрақты күйге немесе қалыпты релеге қосыңыз (немесе сіз pfodDesigner -де таңдаған түйреуіш). Реле туралы толығырақ ақпарат алу үшін Arduino -ға реле қосу әдісін қараңыз.
  9. USB қуатын Mega -ге қосыңыз. Кітапхана коды сізге GPRS қалқанын қосады.
  10. Android ұялы телефонына pfodApp орнатыңыз және қалқанның телефон нөміріне SMS қосылымын орнатыңыз. (мәліметтерді pfodAppForAndroidGettingStarted.pdf қараңыз). Егер сіз біреуін қоссаңыз, байланыс үшін құпия сөзді орнатыңыз.
  11. Қосылу және SMS арқылы көрсетілетін реттелетін мәзірді көру. Релені қосу немесе өшіру үшін батырманы басыңыз.
  12. Электрикті ыстық су тізбегіне релені орнатуға және мега мен қалқаны қуаттандыру үшін USB қуат көзіне қосуға шақырыңыз.

2 -қадам: Толығырақ

pfodDesigner

PfodDesigner қатты күйді немесе басқа релені қосуға және өшіруге қажет барлық кодты жасайды, бірақ pfodParser кітапханасындағы SMS байланысы барлық pfod экрандарын қолдайды, сондықтан сіз іске қосқаннан кейін қосалқы мәзірлерді, сандық сырғытпаларды қосуға болады, көп мәтінді сырғытпалар, мәтінді енгізу экрандары, деректерді тіркеу және барлығын SMS арқылы салу. Қолдау көрсетілетін барлық экрандар мен хабарлар үшін pfodSpecification.pdf файлын қараңыз.

Жасалған код осында. Хабарламаны қысқартуға арналған жедел шақыру жоқ және бір ғана қосқыш бар. Ұзақ мәзірлер бірнеше SMS хабарламалары арқылы жіберіледі, олар келуге ұзақ уақыт алады. Егер сізде ұзақ мәзір болса, pfodParser кітапханасындағы sms қосылу коды мұның бәрін реттейді.

SMS қосылымына құпия сөз қосу үшін жолды өзгертіңіз

parser.connect (& pfodSMS); // талдаушыны SMS ағынына parser.connect сияқты қосу (& pfodSMS, F («173057F7A706AF9BBE65D51122A14CEE»));

бірақ 0..9 A.. F болатын он алтылық санға дейінгі жеке құпия сөзді пайдаланыңыз. 32 он алтылық цифрдан қысқа парольдерге 0 таңбалары қойылады. Кездейсоқ құпия сөзді қалай жасау керектігін және Android -ке оңай енгізу үшін оны QR -кодқа шығару үшін 128 -биттік қауіпсіздігі бар (Arduino) қарапайым Wi -Fi/Интернет pfodDevice бөлімін қараңыз. PfodAppForAndroidGettingStarted.pdf қараңыз

PfodDesigner сонымен қатар қосымша 128 биттік қауіпсіздігі бар SPI арқылы сериялық және Ethernet арқылы bluetooth және wifi қосылымдарының кодын жасайды.

pfodApp

Бірінші түсіну керек, бұл SMS - бұл мүлдем келмеуі немесе тапсырыссыз келуі мүмкін. Егер сіз pfodApp -пен байланыс орнатсаңыз, SMS -жауап келмес бұрын біраз кешігу болады. Егер хабарлама жоғалса немесе кешіктірілсе, pfodApp оны 3 минуттан кейін автоматты түрде қайта жібереді. 5 рет қайталағаннан кейін pfodApp сізге байланыс үзілгенін хабарлайды. Сіз pfodApp қосылымын өңдеу экранында 3мин уақытты реттей аласыз.

Егер сіз құпия сөзді қоссаңыз, pfodApp негізгі мәзірді қабылдамай тұрып, алты SMS хабарламасы (үш жолмен) болады. Бұл қосымша хабарламалар бастапқы қосылымда ғана болады, содан кейін құпия сөзді пайдалану кезінде қосымша хабарламалар болмайды. Сондықтан бәрі жұмыс істейтінін көру үшін құпия сөзсіз бастаңыз, содан кейін құпия сөзді қосыңыз.

SMS/GPRS қалқаны

Мүмкін болатын ақаулар - PIN кодтармен қорғалған немесе желіге қосылуға рұқсаты жоқ SIM карталар. Pfod кітапханасы GPRS қалқанын автоматты түрде қосады және «қоңырауға дайын» жауабын іздейді. Егер бұл жауап келмесе, кітапхана қуаты өшіп, қайтадан тырысады, сондықтан егер сіз GPRS қалқанындағы қуат шамы 20 секундқа өшіп, сөніп тұрғанын көрсеңіз, желіге қосылу кезінде ақау бар. SIM картасын шығарып алып, оны қарапайым телефонда қолданып көріңіз. Сізге пин нөмірі сұралмайтынын тексеріңіз.

Егер бұл мәселе болмаса, не болып жатқанын көру үшін төменде сипатталғандай, іске қосуды жөндеуді қосу қажет болады.

Mega / GPRS қалқанын қуаттандыру

Қалқан 2А импульсті және 0,5А дейін үздіксіз тартады. 12В аккумулятормен қамтамасыз етілген деп есептесек, 0,5А Мега борттық қуат көзінің сыйымдылығынан асып түседі. Сондықтан бұл қалқан МЕГА -дағы 7 В -тан 12 В -қа дейін қоректенбеуі керек. Балама - USB байланысы арқылы Mega мен қалқаны қуаттандыру. Мен 1А USB көзін қолдандым. Тексеру үшін мен компьютердің USB портынан шамадан тыс ток кетпеу үшін Белкинмен жұмыс істейтін хабты (F4U020) қолдандым.

12В аккумулятормен қамтамасыз ету үшін мен 1А немесе одан жоғары сапалы USB 5V зарядтағышын қолдануды ұсынамын. USB 5V сапалы автокөлік желісі автомобильдің электр жүйелерінде болатын кернеудің жоғарылауын реттеуге арналған болуы керек, сондықтан 12В зарядтау жүйелерінің көпшілігіне сәйкес келуі керек.

Қатты күй эстафетасы

Бұл мысал ыстық су жылытқышты басқаратындықтан (резистивті жүктеме), қатты күй релесі өте қолайлы. Егер сіз қозғалтқышты қосқыңыз немесе өшіргіңіз келсе, генераторларды іске қосыңыз және т. Егер сізге жоғары қуатты реле қажет болса, қуат релесін қосу және өшіру үшін arduino тақтасындағы шағын релелік дискіні пайдалануға болады.

Қатты күй релесінің көптеген нұсқалары бар. Жылытқыштың тогы мен кернеуін басқара алатын және оны 5В тұрақты кернеумен және Arduino шығыс түйреуішінен қол жетімді бірнеше миллиампермен басқарылатын сатып алатындығыңызға көз жеткізіңіз. Мұнда қолданылатын, FOTEK SSR-40 DA, 40Амп 380ВА дейін қосылады және 3В тұрақты токтан жоғары кез келген нәрсемен басқарылады және 7мА-дан аз алады.

Сіз жылу қабылдағышты қолдануыңыз керек және оны жылу қабылдағышқа бекітпес бұрын қатты күйдегі реленің артқы жағына жылу қабылдағыштың қосындысынан немесе термиялық майды жағыңыз. Идея - металдың бетіндегі микроскопиялық аңғарларды толтыру үшін бетті жуғыштың ең жұқа қабатымен толығымен жабу. Қатты күйдегі қосқыш 1,6В төмендейді, ол 10Амп 16 ватт жылу шығарады. Жылу қабылдағыш бұл жылудан құтылу үшін қажет, сондықтан оны пластикалық қораптың ішінде емес, бос ауада орнату керек.

Кешіктіру - жамандық

GPRS қалқаны кез келген уақытта Serial қосылымы арқылы SMS хабарламаларды жеткізеді және сіздің негізгі цикл () cmd = parser.parse () деп аталуы керек; көбінесе Arduino кітапханасының коды 64 байтты буфер толтырылмайынша және деректер жоғалмай тұрып сериялық деректерді өңдеу үшін..

Сондықтан сіз негізгі циклды () жылдам жұмыс істеуін қамтамасыз етуіңіз керек. Сіз ешқашан delay () қолданбауыңыз керек және сіз пайдаланатын кітапханалардың ешқайсысында оларда кідіріс жоқтығын тексеру керек. Hardware Serial арқылы SIM900 әдепкі 19200 беру жылдамдығын қолдана отырып, мен Arduino кітапхана кодындағы буферлік өлшемді ұлғайтуды қажет деп таппадым. Мен бағдарламалық жасақтаманы пайдаланбаймын, тек Serial және Serial1, Hardware Serial қосылымдары және pfodApp жіберетін барлық хабарлар өте аз, 10 немесе 12 байт. Қаласаңыз, HardwareSerial.h ішіндегі анықтаманы #define SERIAL_BUFFER_SIZE 64 -тен #DERIN_SERIAL_BUFFER_SIZE 128 -ге өзгерту арқылы Arduino буферінің көлемін ұлғайтуға болады.

Мен таптым, егер мен төменде сипатталғандай, отладтау шығысын қосқан болсам, терминалға қосылу үшін өте жылдам беру жылдамдығына ие болуым керек еді, әйтпесе терминалға отладка хабарларын жіберу арқылы жіберілген кідіріс SMS хабарламаларының бір бөлігін жіберіп алуға әкелді..

Орнату

Мен бұрандалы терминал қалқанын қостым, сондықтан менде қатты күй релесінің сымдарын қосатын нәрсе болды. Мен әлі электрикке контроллерді орнатқан жоқпын. Оны оқшауланған қорапқа салу керек, бірақ жылу қабылдағыш саңылаудан шығып, ыстық судың сымына қосылады.

3 -қадам: Қосымша жақсартулар бойынша ұсыныстар - ескертулер, деректерді тіркеу және жоспарлау

Жоғарыда келтірілген мысал - бұл судың қосылуы немесе өшуі және оны қосуға мүмкіндік береді. Бірақ SMS байланысы барлық pfod хабарламаларын өңдейді (pfodSpecification.pdf қараңыз)

Егер сіз arduino -ға температура сенсорын қоссаңыз, онда сіз температураның мониторын жібере аласыз және белгілі бір уақыт аралығында көрсеткіштерді жібере аласыз. Қайта жіберу үшін деректерді оқу Bluetooth, wifi немесе SMS үшін бірдей, төмендегі үлгідегідей кодты қосыңыз. Деректерді тіркеу мен құрудың қосымша мәліметтері мен мысалдарын Деректерді тіркеу және жоспарлау бөлімінен қараңыз.

parser.println (уақыт); parser.print (','); parser.println (температура);

PfodSMS кітапханасы println () жаңа жолын көргенде, ол бастапқы деректерді SMS ретінде жібереді. Ұялы телефонда pfodApp бағдарламасын фондық режимде қалдырыңыз, сонда ұялы телефоныңыз сізге SMS келген кезде хабарлайды. PfodApp бағдарламасын қайтадан ашып, оны алдыңғы жағына шығарыңыз, содан кейін деректерді көру үшін ұялы телефонның мәзірінен Raw Data экранын ашыңыз. Ескерту: pfodSMS хабарламалары UTF-8 таңбаларынан тұрады, олар байланыс пен хабарлама нөмірлерімен бірге Base64 кодтау арқылы кодталады, сондықтан олар қалыпты мәтінге ұқсамайды. Барлық мәліметтерді pfodSMS хабарлама дизайнынан қараңыз.

Қашықтықтан бірдеңе өзгерген кезде ескерту жіберу үшін сіз сол процесті пайдалана аласыз. яғни parser.println (F («Сыртқы температура 0-ден төмен»)); Ескертпе: жолдағы T UTF-8 таңбасы. pfodSMS барлық UTF-8 таңбаларын pfodApp арқылы береді.

4 -қадам: PfodParser кітапханасында SMS қосылымын пайдалану кезінде жөндеу

PfodParser кітапханасында SMS қосылымын пайдалану кезінде жөндеу
PfodParser кітапханасында SMS қосылымын пайдалану кезінде жөндеу
PfodParser кітапханасында SMS қосылымын пайдалану кезінде жөндеу
PfodParser кітапханасында SMS қосылымын пайдалану кезінде жөндеу

PfodDesigner жұмыс істейтін кодты шығарады, бірақ сіз өзіңіздің қосымша кодыңызды жөндеуге немесе GPRS экраны SMS хабарламаларын қабылдаған кезде не болып жатқанын қарағыңыз келуі мүмкін. Сіз қабылдауға болатын бірнеше тәсілдер бар.

Өз кодын жөндеу

Егер сіз өзіңіздің кодты жөндейтін болсаңыз, pfodSMS желісін түсіндіріп, талдаушыны серияға қосуға болады, содан кейін GPRS қалқанын алып тастап, Arduino терминалынан Mega іске қосуға болады. яғни setup () параметрін өзгертіңіз

//pfodSMS.init(& сериялық, 9); // GPRS қалқан parser.connect (& сериялық) іске қоспаңыз; // талдауды SMS ағынының орнына сериялыққа қосыңыз

Содан кейін Arduino терминалынан Mega негізгі мәзірді қайтару үшін {.} Теруге болады, содан кейін орындағыңыз келетін пәрменді кері жіберуге болады, мысалы. Релені қосу үшін {A`1}, өшіру үшін {A`0}. (PfodApp әдетте бұл хабарларды жүгірткіні басқанда жібереді.) Содан кейін сіз қосқан қосымша кодтың не істеп жатқанын бақылау үшін parser.println () қосымша жөндеуді қосыңыз.

GPRS қалқанының мониторингі

Егер сіз GPRS қалқаны не істеп жатқанын көргіңіз келсе. Ол қалай іске қосылады, SMS хабарламаларын алады және т.

GPRS қалқанын Mega 2560 Serial1 -ге қосу үшін жоғарыда көрсетілген сілтемелерді алып тастап, Mega TX1 және RX1 түйреуіштеріне сымдарды қосыңыз.

Содан кейін setup () кодын өзгертіңіз

void setup () {Serial1.begin (19200); // Serial сериясын Serial 1 сериясына өзгерту.begin (57600); // USB сериялық порты // Arduino IDE мониторына жылдам беру жылдамдығына ЕСКЕРТУ. for (int i = 3; i> 0; i--) {// кешіктірудің бағдарламаланғанын көру үшін бірнеше секунд күтіңіз (1000); } pinMode (cmd_A_pin, OUTPUT); pfodSMS.setDebugStream (& сериялық); // мұны pfod_SMS.init // немесе кез келген басқа pfod_SMS әдісіне қоңырау шалу алдында жасау керек // SMS -ті инициализациялау және талдаушыны қосу // келесі жолды Serial1 -ге өзгерту pfodSMS.init (& Serial1, 9); // Seeed GPRS қалқаны V2 -ді Serial parser.setDebugStream (& Serial) орнына Serial1 -ге қосыңыз; // мұны parser.connect // немесе кез келген басқа талдау әдісі parser.connect (& pfodSMS) алдында шақыру керек; // талдауды SMS ағынына қосу}

Енді pfodSMS_SIM900.cpp файлының pfodParser кітапханасындағы Debug параметрлерін жоюға болады.

Мысалы, #define DEBUG_SETUP түсініктеме бермеу GPRS қалқанын қосу және оны SMS хабарламаларын қабылдауға дайындау кезінде не болып жатқанын (отладтау ағынына) басып шығарады.

Пікір қалдырмаңыз #DEFINE DEBUҚабылданатын SMS хабарламалар туралы көптеген ақпарат береді.

Міне бітті !

Ұсынылған: