Სარჩევი:

დისტანციური მართვა და ფოტო მეთვალყურეობა MQTT– ზე: 8 ნაბიჯი
დისტანციური მართვა და ფოტო მეთვალყურეობა MQTT– ზე: 8 ნაბიჯი

ვიდეო: დისტანციური მართვა და ფოტო მეთვალყურეობა MQTT– ზე: 8 ნაბიჯი

ვიდეო: დისტანციური მართვა და ფოტო მეთვალყურეობა MQTT– ზე: 8 ნაბიჯი
ვიდეო: როგორ გავაზიაროთ ტელეფონის ეკრანი ტელევიზორში 2024, ნოემბერი
Anonim
დისტანციური მართვა და ფოტო მეთვალყურეობა MQTT– ზე
დისტანციური მართვა და ფოტო მეთვალყურეობა MQTT– ზე

გამარჯობა

დღეს მინდა ვისაუბრო იმაზე, თუ როგორ უნდა გავაკეთოთ დისტანციური მართვის და მონიტორინგის სისტემა, რომელიც შეიძლება გამოყენებულ იქნას, მაგალითად, ავტოფარეხის კარების, განათების, გათბობის, წნევის კონტროლის, ტემპერატურის და მრავალი სხვა პარამეტრის გასაკონტროლებლად. მაგრამ ამ სისტემის მთავარი მახასიათებელია ის, რომ თქვენ შეგიძლიათ დისტანციურად მიიღოთ ფოტოები დისტანციური ობიექტიდან. სანამ მოთხრობას დაიწყებ, მოკლე წინასიტყვაობა. ერთხელ მინდოდა შემექმნა ფოტო თვალთვალის სისტემა თავსებადი Arduino M0-SD დაფის, VC0706 კამერის და 3G/GPRS/GSM/GPS ფარისთვის Arduino– სთვის. Arduino M0 -SD თავსებადი დაფა შეირჩა იმ პირობებიდან, რომ მისი დაპროგრამება ძალიან ადვილია (ისევე როგორც Arduino UNO), საოპერაციო ძაბვა არის 3.3V - ეს ძალიან მოსახერხებელია VC0706 კამერასთან მუშაობისთვის, დიდი რაოდენობით ROM და ოპერატიული მეხსიერება, UART– ის რამდენიმე პორტი, USB– ის ცალკეული ვირტუალური პორტი, მაგრამ მთავარი უპირატესობა არის მიკრო SD კონექტორის არსებობა პირდაპირ დაფაზე (ძალიან მოსახერხებელია დიდი რაოდენობით მონაცემების, მაგალითად სურათების შენახვა).

3G/GPRS/GSM/GPS ფარი Arduino– სთვის ძალიან მოსახერხებელია გამოსაყენებლად თავსებადი Arduino M0-SD დაფით. ინტერნეტში არის რამდენიმე ბიბლიოთეკა, ასევე ბევრი მაგალითი ამ ფარის მუშაობისთვის. მონაცემთა გადაცემის სიჩქარე (3G) გაცილებით მაღალია, ვიდრე ჩვეულებრივი GPRS ფარები (განსაკუთრებით მოსახერხებელია სურათების გადასაცემად). GPS მოდულის ხელმისაწვდომობა დამატებითი უპირატესობაა.

მე ავირჩიე დაბალი ტარიფი ფიჭური ოპერატორისგან ინტერნეტით მონაცემების (ფოტოების) გადაცემისათვის. მაგრამ გაჩნდა კითხვა: როგორ გადავიტანოთ მონაცემები? MMS? FTP? როგორ მივიღოთ შეტყობინება მონაცემების მიღების შესახებ (ფოტო)? შედეგად, მე მივიღე გადაწყვეტილება გავგზავნო მონაცემები (ფოტოები) ელექტრონულ ფოსტაზე და დავინახო წერილები მობილური ტელეფონზე დაყენებული აპლიკაციის საშუალებით. აღმოჩნდა ძალიან მოსახერხებელი!:-) დასრულებული პროექტი შეგიძლიათ ნახოთ ამ ბმულზე.

ასევე არსებობს მსგავსი პროექტი Arduino UNO– სთვის მითითებით.

შემდეგ გადავწყვიტე ჩემი მოწყობილობის ფუნქციონირების გაფართოება. მაგალითად, დაამატეთ LED- ების კონტროლის შესაძლებლობა (თუმცა სინამდვილეში შესაძლებლობები გაცილებით ფართოა). ამისათვის ელ.ფოსტა არ არის შესაფერისი. SMS ვარიანტი ძვირი და არასასიამოვნოა. შემდეგ კი გავიგე MQTT– ის შესახებ. მე არ აღვწერ რა არის ის. ნება მომეცით მხოლოდ ვთქვა: ეს მართლაც მაგარი რამეა!:-) MQTT– ის დახმარებით თქვენ შეგიძლიათ გაცვალოთ არა მხოლოდ შეტყობინებები, არამედ ორობითი ფაილები (სურათები). ტელეფონის აპლიკაციაში შეგიძლიათ მარტივად შექმნათ თქვენი საკუთარი ინტერფეისი.

მე ვეძებდი MQTT პროტოკოლის დანერგვის მაგალითებს ჩემი 3G/GPRS/GSM/GPS ფარისთვის (SIM5320) და, სამწუხაროდ, ვერ ვიპოვე საჭირო განხორციელება. მაგრამ ამან არ დამტოვა მარტო. მე გადავწყვიტე დამოუკიდებლად განვახორციელო საჭირო ფუნქციონირება. შედეგად, მე შევძელი შევქმნა მოწყობილობა, რომელიც კონტროლდება (მითითებულია სამი LED- ით) MQTT– ით მობილური ტელეფონზე დაყენებული აპლიკაციიდან და ასევე აგზავნის ფოტოს ტელეფონზე ტელეფონის ბრძანებით. (მე გეტყვით საიდუმლოს, რომ მე არ მინახავს MQTT ბროკერის საშუალებით სურათების გაგზავნის მაგალითები და ეს პირველად გავაკეთე. და როდესაც მოვახერხე პირველი სურათის გადაცემა, მე უზომოდ ბედნიერი ვიყავი!:-)) და ასე რომ, მე ვთავაზობ პირდაპირ პირველ საფეხურზე გადასვლას - აუცილებელი კომპონენტების ჩამონათვალს.

ნაბიჯი 1: კომპონენტების სია

კომპონენტების სია
კომპონენტების სია
კომპონენტების სია
კომპონენტების სია
კომპონენტების სია
კომპონენტების სია
კომპონენტების სია
კომპონენტების სია

ჩვენ გვჭირდება შემდეგი კომპონენტები:

1) Arduino M0-SD თავსებადი.

2) TTL- კამერა VC0706.

3) 3G/GPRS/GSM/GPS ფარი არდუინოსთვის.

4) წითელი, მწვანე, ყვითელი LED- ები, 3 რეზისტორი (100-500 Ohm), მავთულები, pin კუთხის კონექტორი 2.54 მმ მოედანზე.

5) AC-DC დენის ადაპტერი (6V 1A), 3G ანტენა და ა.

ნაბიჯი 2: კამერის მომზადება

კამერის მომზადება
კამერის მომზადება
კამერის მომზადება
კამერის მომზადება
კამერის მომზადება
კამერის მომზადება

კამერას აქვს RS-232 გამომავალი კომპიუტერთან პირდაპირი კავშირისთვის. აუცილებელია ამოიღოთ MAX232 (RS-232 გადამყვანი) და დაიხუროს საკონტაქტო ბალიშები შესაბამის ქინძისთავებს შორის 7-10 (TX), 8-9 (RX).

ექვს მავთულის კაბელი, რომელიც მოყვა კამერას, ოდნავ უნდა გადაკეთდეს:

  • ამოიღეთ ორი მავთული კონექტორიდან.
  • გადააკეთეთ წითელი (+ 5V) და შავი (GND) მავთულები, როგორც ეს მოცემულია ფიგურაში.

მავთულის შიშველ ბოლოებზე უნდა იყოს შეკრული რჩევები, როგორიცაა "ქალი".

ნაბიჯი 3: თავსებადი Arduino M0-SD- ის მომზადება

თავსებადი Arduino M0-SD- ის მომზადება
თავსებადი Arduino M0-SD- ის მომზადება
თავსებადი Arduino M0-SD- ის მომზადება
თავსებადი Arduino M0-SD- ის მომზადება
თავსებადი Arduino M0-SD- ის მომზადება
თავსებადი Arduino M0-SD- ის მომზადება

როგორც უკვე აღვნიშნეთ, თავსებადი Arduino M0-SD არის აპარატურა და პროგრამული უზრუნველყოფა, რომელიც თავსებადია ორიგინალ Arduino M0– თან, მაგრამ მას ასევე აქვს შიდა microSD კონექტორი მეხსიერების ბარათის დასაკავშირებლად.

კამერის შესაერთებლად Arduino M0-SD დაფაზე აუცილებელია კუთხის კონექტორის მიერთება ტერმინალებზე TXD, RXD (კონექტორი X6) როგორც ეს მოცემულია ფიგურაში. ეს პორტი ემთხვევა "სერიალს".

თეთრი (კამერა RX) და ყვითელი (კამერა TX) მავთული კამერიდან უნდა იყოს დაკავშირებული, შესაბამისად, TXD და RXD (კონექტორი X6) ტერმინალებთან, როგორც ეს მოცემულია ფიგურაში.

ნაბიჯი 4: 3G/GPRS/GSM/GPS ფარის მომზადება SIM5320

3G/GPRS/GSM/GPS ფარის მომზადება SIM5320
3G/GPRS/GSM/GPS ფარის მომზადება SIM5320
3G/GPRS/GSM/GPS ფარის მომზადება SIM5320
3G/GPRS/GSM/GPS ფარის მომზადება SIM5320
3G/GPRS/GSM/GPS ფარის მომზადება SIM5320
3G/GPRS/GSM/GPS ფარის მომზადება SIM5320

სანამ SIM ბარათს სლოტში დააყენებთ, უნდა გამორთოთ PIN კოდის მოთხოვნა. შემდეგ დააინსტალირეთ SIM ბარათი დაფის ქვედა მხარეს, როგორც ეს მოცემულია ფიგურაში. ორი მხტუნავი უნდა იყოს დაყენებული RX-1 (D1), TX-0 (D0) პოზიციებში.

ნაბიჯი 5: აპარატურის შეკრება

აპარატურის შეკრება
აპარატურის შეკრება
აპარატურის შეკრება
აპარატურის შეკრება
აპარატურის შეკრება
აპარატურის შეკრება

აპარატურის შეკრება შედგება რამდენიმე მარტივი ოპერაციისგან:

  • LED- ების გასაკონტროლებლად, თქვენ ჯერ უნდა შეაერთოთ LED- ების მცირე დიზაინი და მიმდინარე შემზღუდველი რეზისტორები (100-500 Ohm), როგორც ეს მოცემულია ფიგურაში. ყურადღება მიაქციეთ LED- ების პოლარობას - ანოდი უნდა იყოს გამყარებული რეზისტორებზე (+). LED- ების პარაზიტული ზემოქმედების შესამცირებლად, მე გავაკეთე შავი ეკრანი ჩვეულებრივი მუყაოსგან.
  • შეაერთეთ LED- ები და კამერა თავსებად Arduino M0-SD დაფაზე, როგორც ეს მოცემულია დიაგრამაში. კამერის ელექტრომომარაგება (წითელი მავთული "+ 5V" და შავი მავთული "GND") უნდა იყოს აღებული "+ 5V" და "GND" ტერმინალებიდან სლოტიდან. თქვენ ასევე შეგიძლიათ გამოიყენოთ კუთხის კონექტორი ამისათვის.
  • ამის შემდეგ დააკავშირეთ 3G/GPRS/GSM/GPS ფარი თავსებად Arduino M0-SD დაფაზე. ნუ დაგავიწყდებათ 3G ანტენის დაკავშირება.

ნაბიჯი 6: MQTT ბროკერის დაყენება

MQTT ბროკერის დაყენება
MQTT ბროკერის დაყენება
MQTT ბროკერის დაყენება
MQTT ბროკერის დაყენება
MQTT ბროკერის დაყენება
MQTT ბროკერის დაყენება

მე შევარჩიე ძალიან მოსახერხებელი და ნათელი www.cloudmqtt.com, როგორც MQTT ბროკერი. ის უზრუნველყოფს უფასო ტესტირებას. ასევე შესაძლებელია შეტყობინებების მიღება და გაგზავნა პირდაპირ საიტზე.

დაყენების პროცედურა შემდეგია:

  1. დარეგისტრირდით ონლაინ რეჟიმში.
  2. დააჭირეთ ღილაკს "შექმენით ახალი შემთხვევა".
  3. დააყენეთ სახელი, მაგალითად "MqttCamera".
  4. დააჭირეთ ღილაკს "აირჩიეთ რეგიონი". მაგალითად, აირჩიეთ "აშშ-აღმოსავლეთი -1 (ჩრდილოეთ ვირჯინია)".
  5. დააჭირეთ ღილაკს "მიმოხილვა".
  6. დააჭირეთ ღილაკს "შექმენით შემთხვევა". იხილეთ შეტყობინება "შემთხვევა წარმატებით შეიქმნა".
  7. დააწკაპუნეთ "MqttCamera".
  8. დაიმახსოვრე ინფორმაცია: სერვერი, მომხმარებელი, პაროლი, პორტი, API გასაღები (ეს დაგვჭირდება მე -7 და მე -8 ნაბიჯებზე).
  9. შემდეგ შეგიძლიათ გადადით "WEBSOCKET UI" ფანჯარაში, სადაც შეგიძლიათ შეამოწმოთ და გამართოთ, ნახოთ და გაგზავნოთ შეტყობინებები (ჩვენ დაგვჭირდება ეს ფანჯარა შემდეგ ეტაპზე).

ნაბიჯი 7: MQTT Dash აპლიკაცია

MQTT Dash აპლიკაცია
MQTT Dash აპლიკაცია
MQTT Dash აპლიკაცია
MQTT Dash აპლიკაცია
MQTT Dash აპლიკაცია
MQTT Dash აპლიკაცია

მობილურ ტელეფონში საკონტროლო პანელის შესაქმნელად, მე ავირჩიე ძალიან მოსახერხებელი და გასაგები MQTT Dash აპლიკაცია.

დააინსტალირეთ აპლიკაცია MQTT Dash თქვენს ტელეფონში და გააკეთეთ შემდეგი პარამეტრები:

  1. გახსენით აპლიკაცია.
  2. MQTT ტირის ფანჯარაში დააწკაპუნეთ (+) ახალი მართვის პანელის დასამატებლად.
  3. ფანჯარაში, რომელიც გამოჩნდება, შეავსეთ საჭირო ველები, როგორიცაა: სახელი (მაგალითად, MqttCamera), მისამართი, პორტი, მომხმარებლის სახელი, მომხმარებლის პაროლი (მიიღეთ მონაცემები ნაბიჯი 6 -დან).
  4. ველების შევსების შემდეგ დააჭირეთ დისკის ხატულას (ოპერაცია "შენახვა").
  5. ფანჯარაში, რომელსაც აქვს პანელების სია, დააწკაპუნეთ გამოჩენილ ხაზზე "MqttCamera".
  6. პანელის ფანჯარაში, რომელიც იხსნება, დააწკაპუნეთ ისრის ხატულაზე მეტრიკის ჩატვირთვა.
  7. შემდეგ ამომხტარი ფანჯარაში დააწკაპუნეთ ღილაკზე "გამოიწერეთ და დაელოდეთ მეტრიკას".
  8. პერსონალურ კომპიუტერზე გახსენით ანგარიში MQTT- ბროკერში (იხ. წინა ნაბიჯი), გახსენით "WEBSOCKET UI" ფანჯარა, დააყენეთ "მეტრიკა/გაცვლა" თემა "გაგზავნის შეტყობინების" ფანჯარაში და ჩაწერეთ ტექსტი თანდართული metrics.txt ფაილი "შეტყობინების" ფანჯარაში, დააჭირეთ ღილაკს "გაგზავნა".
  9. დაელოდეთ 10 წამს, დარწმუნდით, რომ მეტრიკი მიღებულია ტელეფონში და საკონტროლო პანელი განახლებულია.

შემდეგ შეგიძლიათ გააგრძელოთ Arduino M0-SD თავსებადი პროგრამირება.

ნაბიჯი 8: პროგრამირება და მუშაობა

პროგრამირება და მუშაობა
პროგრამირება და მუშაობა
პროგრამირება და მუშაობა
პროგრამირება და მუშაობა
პროგრამირება და მუშაობა
პროგრამირება და მუშაობა
პროგრამირება და მუშაობა
პროგრამირება და მუშაობა

Arduino M0-SD თავსებადი პროგრამირების წინ, თქვენ უნდა დააინსტალიროთ კომპიუტერზე ყველა საჭირო ბიბლიოთეკა (pubsubclient-master, TinyGSM-master), რომელიც ქვემოთ მოვიყვანე. ეს ბიბლიოთეკები ოდნავ შეცვლილია Arduino M0-SD თავსებადი დაფით, VC0706 კამერით და 3G/GPRS/GSM/GPS SIM5320 ფარით.

თქვენ უნდა დააკავშიროთ თქვენი კაბელი და კვების ბლოკი (6V 1A 3G/GPRS/GSM/GPS ფარის ჩართვისთვის) თავსებად Arduino M0-SD– თან.

დაიწყეთ Arduino IDE. Arduino– ში IDE– მ უნდა აირჩიოს: ინსტრუმენტები-> დაფა: Arduino M0 Pro (მშობლიური USB პორტი).

გახსენით ესკიზი MqttCamera.ino. შეავსეთ ველები: მომხმარებლის სახელი, მომხმარებლის პაროლი, API გასაღები, პორტი, სერვერი (მიიღეთ მონაცემები ნაბიჯი 6 -დან).

გახსენით სერიული მონიტორის ფანჯარა.

ესკიზის ატვირთვა. მე დეტალურად არ აღვწერ პროგრამირების პროცედურას (ინტერნეტში არის საკმარისი ინსტრუქცია).

წარმატებული ჩატვირთვისა და სწორი შეკრების შემდეგ, სერიული მონიტორის ფანჯარაში უნდა გამოჩნდეს შემდეგი ინფორმაცია:

VC0706 კამერა + Arduino M0 + SIM5320 + MQTT

კამერის ინტი… ვერსია: ----------------- VC0703 1.00 Ctrl infr არსებობს მომხმარებლის განსაზღვრული სენსორი 525 ----------------- წარმატება ! მოდემის ინიციალიზაცია… მოდემი: AT+CGMM SIMCOM_SIM5320E ელოდება ქსელს… OK ინტერნეტთან დაკავშირება OK დაკავშირება 3.83.68.228 ვერ ხერხდება დაკავშირება 3.83.68.228 OK Ping: 0

ხაზი "Ping: XX" არის პერიოდული შეტყობინება თავსებადი Arduino M0-SD სერვერზე. ამ ინფორმაციის ნაცვლად, შეგიძლიათ გააგზავნოთ ADC გაზომვები, შეყვანის სტატუსი და სხვა.

MQTT Dash აპლიკაციაში დააწკაპუნეთ ნათურების ხატებზე (LED_YELLOW, LED_GREEN, LED_RED) - ჩართეთ/გამორთეთ. შეხედეთ სერიული მონიტორის ფანჯარაში - უნდა იყოს ინფორმაცია მსგავსი რამის შესახებ:

LED_YELLOW ჩართულია

LED_YELLOW_Off LED_GREEN On LED_GREEN off LED_RED On LED_RED Off

დააწკაპუნეთ კამერის ხატულაზე - გაგზავნეთ ბრძანება "SHOOT" და დაელოდეთ ცოტა ხანს. შემდეგი ინფორმაცია უნდა გამოჩნდეს სერიული მონიტორის ფანჯარაში:

დაიწყეთ სროლა!

სურათი გადაღებულია! შექმენით IMAGE332-j.webp

და რამდენიმე ხნის შემდეგ (5-10 წამი) ფანჯარაში "VIEW IMAGE" უნდა იყოს ნაჩვენები ფოტო.

დემონსტრაციისთვის, მე მივმართე VC0706 კამერა LED- ებს ისე, რომ თქვენ შეგიძლიათ ნახოთ მათი სტატუსი მას შემდეგ, რაც მე თვითნებურად შევცვალე ისინი. მაგრამ რეალურ გამოყენებაში შეგიძლიათ კამერის გადატანა ოთახში, კარში, ქუჩაში, კარიბჭეში, მანქანაში და ა.შ. (რა თქმა უნდა, თქვენ უნდა გაითვალისწინოთ კანონის მოთხოვნები). როგორც დემონსტრაცია, წარმოგიდგენთ რამდენიმე ეკრანის სურათს მობილური ტელეფონი, სადაც ნაჩვენებია LED- ების დაყენებული და ფაქტობრივი მდგომარეობა.

ვიმედოვნებ, რომ ჩემი ინსტრუქცია თქვენთვის საინტერესო და სასარგებლო იყო. მოხარული ვიქნები თქვენი გამოხმაურებისა და კომენტარებისათვის. ჩემი მოწყობილობის შემუშავებისა და ახალი ინოვაციების გაზიარების გეგმებში. Გმადლობთ, რომ გვიყურებთ!

გირჩევთ: