Агуулгын хүснэгт:

Найдвартай, аюулгүй, тохируулах боломжтой SMS алсын удирдлага (Arduino/pfodApp) - Кодлох шаардлагагүй: 4 алхам
Найдвартай, аюулгүй, тохируулах боломжтой SMS алсын удирдлага (Arduino/pfodApp) - Кодлох шаардлагагүй: 4 алхам

Видео: Найдвартай, аюулгүй, тохируулах боломжтой SMS алсын удирдлага (Arduino/pfodApp) - Кодлох шаардлагагүй: 4 алхам

Видео: Найдвартай, аюулгүй, тохируулах боломжтой SMS алсын удирдлага (Arduino/pfodApp) - Кодлох шаардлагагүй: 4 алхам
Видео: Камера ANBIUX ДВУГЛАЗКА УДИВИЛА после ОБНОВЛЕНИЯ!!! 2024, Долдугаар сарын
Anonim
Найдвартай, аюулгүй, тохируулах боломжтой SMS алсын удирдлага (Arduino/pfodApp) - Кодлох шаардлагагүй
Найдвартай, аюулгүй, тохируулах боломжтой SMS алсын удирдлага (Arduino/pfodApp) - Кодлох шаардлагагүй

2018 оны 7 -р сарын 6 -ны шинэчлэлт: SIM5320 ашигладаг энэхүү төслийн 3G/2G хувилбарыг эндээс авах боломжтой

Шинэчлэлт: 2015 оны 5 -р сарын 19: pfodParser номын сангийн 2.5 ба түүнээс дээш хувилбарыг ашиглана уу. Энэ нь бамбайг асаасны дараа сүлжээнд холбогдоход хангалттай хугацаа өгөхгүй байгаа асуудлыг мэдээлдэг

Танилцуулга

PfodSMS алсын удирдлага нь бусад хэрэгжилтээс юугаараа ялгаатай вэ:-

  • Энэ нь найдвартай-командуудад үргэлж хариу өгч, алдагдсан мессежийг дахин хүсдэг
  • Энэ нь найдвартай - 128 битийн нууц үгийн хамгаалалтыг ашигладаг
  • Энэ нь гуравдагч талын вэб үйлчилгээний данс шаарддаггүй - зөвхөн идэвхтэй SIM карт хэрэгтэй (зүүгүй)
  • Энэ нь өөрчлөн тохируулах боломжтой бөгөөд та өөрийн хувийн цэсийг бий болгохын тулд pfodDesigner програмыг ашиглаж болно
  • Энэ нь хялбар байдаг - pfodDesigner нь бүх кодыг үүсгэдэг. Та ямар ч кодлох шаардлагагүй.
  • Энэ нь уян хатан бөгөөд бүх pfod дэлгэцийг дэд цэс, олон сонголттой жагсаалт, текст оруулах, өгөгдөл бүртгэх, төлөвлөх гэх мэт SMS-ээр авах боломжтой.

SMS холболтыг хэрхэн найдвартай хийх талаар pfodSMS мессежийн загварыг үзнэ үү. Интернэтэд холбогдсон pfodDevices -ийн Challenge and Response Security -ийг 128bit -ийн аюулгүй байдлын талаар дэлгэрэнгүй үзнэ үү. PfodDesigner, Android / Arduino цэсийг ашиглан өөрийн хүссэн цэсийг хэрхэн яаж бүтээх талаар дэлгэрэнгүйг үзнэ үү.

Төслийн жишээ - Халуун усны хяналтын SMS

Төслийн жишээ болгон энэхүү зааварчилгаанд халуун ус халаагчаа SMS -ээр хэрхэн асаах, асаах, унтраасан эсэхийг шалгах талаар тайлбарласан болно. Үүнийг суулгахын тулд танд цахилгаанчин хэрэгтэй болно.

Алхам 1: Түргэн эхлэх - SMS алсын удирдлага

Түргэн эхлэх - SMS алсын удирдлага
Түргэн эхлэх - SMS алсын удирдлага
Түргэн эхлэх - SMS алсын удирдлага
Түргэн эхлэх - SMS алсын удирдлага

Өөрийнхөө гараар халуун усны хяналтыг бий болгох хурдан эхлэх гарын авлага энд байна.

  1. Энэ жагсаалтад орсон хэсгүүдийг худалдаж аваарай.
  2. Arduino IDE 1.5.8 хувилбарыг суулгаад pfodParser номын санг татаж суулгаарай.
  3. Үнэгүй pfodDesigner татаж авах.
  4. Андройд гар утсан дээрх цэсийн гулсагчнаас дижитал оролтыг асаах, унтраахын тулд өөрийн хүссэн цэсээ зохио.
  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 хүчийг мега руу ашиглана уу. Номын сангийн код нь танд GPRS хамгаалалтыг идэвхжүүлдэг.
  10. 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 хүртэлх зургаан оронтой тоотой нууц үгээ ашиглана уу. Нууц үгийг 32 -аас доош зургаан өнцөгт цифрээр 0 -ээр бөглөсөн болно. Санамсаргүй нууц үг хэрхэн үүсгэх, QR код руу гаргах талаар Андройд руу хялбар оруулахын тулд 128 битийн хамгаалалттай (Arduino) энгийн Wifi/интернет pfodDevice -ийг үзнэ үү. PfodAppForAndroidGettingStarted.pdf -ийг үзнэ үү

PfodDesigner нь 128 битийн хамгаалалттай SPI -ээр дамжуулан Цуваа болон Ethernet -ээр дамжуулан Bluetooth болон wifi холболтын кодыг үүсгэх болно.

pfodApp

Анхаарал татах ёстой зүйл бол SMS бол үнэхээр утгагүй зүйл бөгөөд тэнд очихгүй эсвэл захиалга өгөхгүй байж магадгүй юм. Тиймээс pfodApp -тэй холбогдоход SMS хариу өгөхөөс өмнө хэсэг хугацааны дараа саатал гарах болно. Хэрэв мессеж алдагдсан эсвэл хойшлогдсон бол pfodApp нь 3 минутын дараа автоматаар дахин илгээх болно. 5 удаа ийм оролдлого хийсний дараа pfodApp нь холболт тасарсныг танд хэлэх болно. Та pfodApp -ийн холболтыг засах дэлгэц дээр 3 минутын хугацааг тохируулах боломжтой.

Хэрэв та нууц үг нэмж оруулбал pfodApp -ийн үндсэн цэсийг хүлээн авахаас өмнө зургаан SMS мессеж (хоёр талдаа гурван) ирнэ. Эдгээр нэмэлт мессежүүд зөвхөн анхны холболт дээр л хийгддэг бөгөөд үүний дараа нууц үг ашиглах үед нэмэлт мессеж байхгүй болно. Тиймээс бүх зүйл ажиллаж байгааг харахын тулд нууц үггүйгээр эхлүүлээд дараа нь нууц үгээ оруулна уу.

SMS/GPRS хамгаалалт

Боломжит асуудлууд нь зүү дугаараар хамгаалагдсан эсвэл сүлжээнд холбогдох эрхгүй SIM картууд юм. Pfod номын сан нь GPRS бамбайг автоматаар асааж, 'дуудлагад бэлэн' хариултыг хайдаг. Хэрэв энэ хариулт ирэхгүй бол номын сан унтарч, дахин оролдох тул хэрэв та GPRS бамбай дээрх тэжээлийн гэрэл 20 секундын турш асаж, дараа нь унтрах юм бол сүлжээнд холбогдоход асуудал гарна. SIM -ээ гаргаад энгийн утсаар оролдоно уу. Пин дугаар оруулахыг шаардаагүй эсэхийг шалгаарай.

Хэрэв энэ нь асуудал биш бол юу болж байгааг харахын тулд доор тайлбарласны дагуу эхлүүлэх дибаг хийхийг асаах шаардлагатай болно.

Mega / GPRS бамбайг тэжээх

Бамбай нь 2А хүртэл импульс, 0.5А хүртэл тасралтгүй авдаг. 12V батерейны хангамж гэж үзвэл 0.5А нь Мега дээрх цахилгаан хангамжийн хүчин чадлаас давсан байна. Тиймээс энэ бамбай нь Мега дээрх 7V -аас 12V хүртэлх хүчдэлтэй байх ёсгүй. Өөр хувилбар бол USB холболтоор дамжуулан Mega болон бамбайг асаах явдал юм. Би 1А USB тэжээл ашигладаг байсан. Туршилт хийхийн тулд би компьютерийн USB портоос хэт их гүйдэл авахаас сэргийлэхийн тулд Белкин хөдөлгүүртэй зангилаа (F4U020) ашигласан.

12В батерейны хувьд чанартай 5А автомашины USB 1V, 1А ба түүнээс дээш цэнэглэгч ашиглахыг зөвлөж байна. Чанартай автомашины USB 5V хангамж нь автомашины цахилгаан системд тохиолддог хэт хүчдэлийн өсөлтийг зохицуулах зориулалттай байх ёстой бөгөөд ихэнх 12V цэнэглэх системд тохирсон байх ёстой.

Хатуу төлөвт буухиа

Энэхүү жишээ төсөл нь халуун ус халаагчийг (эсэргүүцэх ачаалал) хянаж байгаа тул Solid State реле хамгийн тохиромжтой. Хэрэв та моторыг асаах, унтраах, генераторыг асаах гэх мэт ажилд тохирох релений талаар цахилгаанчинтайгаа ярилцаарай. Хэрэв танд өндөр хүчдэлийн реле хэрэгтэй бол та arduino самбар дээрх жижиг реле хөтчийг ашиглан цахилгаан реле асаах, унтраах боломжтой.

Хатуу төлөвт буухиа олон хувилбарууд байдаг. Та халаагчийн гүйдэл, хүчдэлийг зохицуулж, 5V тогтмол гүйдэл, Arduino гаралтын зүүгээр хангагдсан хэдэн миллиампаар хянах боломжтой төхөөрөмж худалдаж аваарай. Энд ашиглагдаж байгаа FOTEK SSR-40 DA нь 40Amps-т 380VAC хүртэл шилждэг бөгөөд 3V-аас дээш гүйдэлтэй аливаа зүйлээр хянагддаг бөгөөд 7mA-аас бага хэмжээтэй байдаг.

Та дулаан шингээгч ашиглах ёстой бөгөөд дулааны шингээгч рүү боолт хийхээс өмнө хатуу төлөвт релеийн ар талд дулаан шингээгч нэгдэл эсвэл дулааны тосны нимгэн түрхлэг түрхэх ёстой. Энэхүү санаа нь металлын гадаргуу дээрх бичил харуурын хөндийг дүүргэхийн тулд толгойг угаалтуурын хамгийн нимгэн давхаргаар гадаргууг бүрэн бүрхэх явдал юм. Хатуу төлөвт шилжүүлэгчийг асаахад 1.6 В хүчдэл буурч 10Амп -д 16 ватт дулаан ялгаруулдаг. Дулаан шингээгчийг энэ дулаанаас ангижруулах шаардлагатай тул хуванцар хайрцагт биш чөлөөт агаарт суурилуулах шаардлагатай.

Саатал бол муу

GPRS бамбай нь хүссэн үедээ Serial холболтоор SMS мессеж илгээдэг бөгөөд таны үндсэн давталт () cmd = parser.parse () руу залгах ёстой; ихэвчлэн Arduino номын сангийн код дахь 64 байтын буфер дүүрэхээс өмнө өгөгдөл алдагдахаас өмнө Цуваа өгөгдлийг боловсруулдаг..

Тиймээс та үндсэн давталтаа () хурдан ажиллуулах ёстой. Та хэзээ нэгэн цагт delay () - ийг ашиглах ёсгүй бөгөөд ашиглаж буй номын сангийн аль нь ч хоцрогдсон эсэхийг шалгах хэрэгтэй. Hardware Serial -ээр дамжуулан SIM900 -ийн 19200 өгөгдлийн хурдыг ашиглан Arduino номын сангийн кодын буферийн хэмжээг нэмэгдүүлэх шаардлагагүй гэж би бодож байна. Би Програм хангамж Цуваа ашигладаггүй, зөвхөн Цуваа ба Цуваа1, Тоног төхөөрөмжийн Цуваа холболтууд, pfodApp -аас илгээдэг бараг бүх мессежүүд нь маш жижиг хэмжээтэй, 10 эсвэл 12 байт байдаг. Хэрэв та хүсвэл HardwareSerial.h дээрх тодорхойлолтыг #define SERIAL_BUFFER_SIZE 64 -аас #SERIAL_BUFFER_SIZE 128 болгон өөрчилж Arduino буферын хэмжээг нэмэгдүүлэх боломжтой.

Гэхдээ миний олж мэдсэн зүйл бол хэрэв би доор тайлбарласны дагуу дибаг хийх гаралтыг идэвхжүүлсэн бол терминалын холболтын хувьд маш хурдан дамжуулах хурдтай байх ёстой байсан, эс тэгвээс терминал руу дибаг хийх мессеж илгээхэд гарсан саатал нь SMS мессежийн зарим хэсгийг алдахад хүргэсэн юм..

Суурилуулалт

Би шураг терминалын бамбай нэмсэн тул Solid State реле утсыг холбох зүйл надад байсан. Би цахилгаанчиндаа хянагч суурилуулж амжаагүй байна. Үүнийг дулаалгатай хайрцагт хийх хэрэгтэй, гэхдээ дулаан шингээгч нь үүрнээс гадагш гарч, халуун усны цахилгаан дамжуулагч руу залгана.

Алхам 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 below -аас доош")); Анхаарна уу: тэмдэгт мөр дэх UTF-8 тэмдэгт. pfodSMS нь бүх UTF-8 тэмдэгтүүдийг pfodApp руу дамжуулдаг.

Алхам 4: PfodParser номын санд SMS холболтыг ашиглах явцад дибаг хийх

PfodParser номын санд SMS холболтыг ашиглах явцад дибаг хийх
PfodParser номын санд SMS холболтыг ашиглах явцад дибаг хийх
PfodParser номын санд SMS холболтыг ашиглах явцад дибаг хийх
PfodParser номын санд SMS холболтыг ашиглах явцад дибаг хийх

PfodDesigner нь ажилладаг кодыг үүсгэдэг боловч та өөрийн нэмэлт кодыг дибаг хийх эсвэл GPRS бамбайг эхлүүлэх эсвэл SMS мессеж хүлээн авах үед юу болж байгааг харахыг хүсч магадгүй юм. Таны авч болох хэд хэдэн арга бий.

Өөрийн кодыг дибаг хийх

Хэрэв та өөрийн кодыг дибаг хийж байгаа бол pfodSMS шугам дээр тайлбар хийж, задлагчийг Serial -д холбож, дараа нь GPRS хамгаалалтыг аваад Arduino терминалаас Mega -г ажиллуулж болно. өөрөөр хэлбэл тохиргоог () болгож өөрчилнө үү

//pfodSMS.init(& Цуврал, 9); // GPRS бамбай parser.connect -ийг бүү эхлүүл (& Цуваа); // SMS урсгалын оронд задлагчийг Цуваа руу холбоно уу

Дараа нь Arduino терминал дээрээс та {.} Гэж бичээд Mega -г үндсэн цэс рүү буцааж оруулаад дараа нь гүйцэтгэхийг хүссэн командаа буцааж илгээнэ үү. Реле асаахын тулд {A`1}, унтраах бол {A`0}. (PfodApp нь ихэвчлэн гулсагч дээр дарахад эдгээр мессежийг танд илгээдэг.) Дараа нь нэмэлт дибаг хийх parser.println () нэмээд таны оруулсан нэмэлт код юу хийж байгааг хянана.

GPRS бамбайг хянах

Хэрэв та GPRS бамбай юу хийж байгааг харахыг хүсч байвал. Энэ нь хэрхэн эхэлж байгаа, SMS мессеж хүлээн авах гэх мэт. Дараа нь та бамбайны утсыг өөрчилж, Mega Serial1 (цуврал нэг) руу холбож, Arduino IDE монитор руу дибаг хийх гаралтын хувьд USB (USB) холболтыг чөлөөлөх хэрэгтэй.

GPRS бамбайг Mega 2560 Serial1 -тэй холбохын тулд дээр үзүүлсэн линкүүдийг устгаад Mega -ийн TX1 ба RX1 тээглүүрт утсыг холбоно уу.

Дараа нь setup () кодыг өөрчил

void setup () {Serial1.begin (19200); // Serial -ийг Serial 1 Serial.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_SETUPGPRS бамбайг асааж, SMS мессеж хүлээж авахад юу болж байгааг (дибаг хийх урсгал руу) хэвлэх болно.

Сэтгэгдэл бичихгүй байх #DEBIN-ийг тодорхойлох нь хүлээн авсан SMS мессежийн талаар маш их мэдээлэл өгөх болно.

Ингээд л боллоо!

Зөвлөмж болгож буй: