IOT მოწყობილობების განვითარება Arduino- ზე Mydevices Cayenne Service- ის გამოყენებით. Blynk: Easy Control Raspberry და Arduino Cloud მომსახურება კონტროლის Arduino

სესიები - Purify in წოდებები Blinkers!
დღეს, ჩვენ კონფიგურაცია ESP8266 მენეჯმენტი 5 წუთის თქვენი სმარტფონი (iOS ან Android) გამოყენებით ახალი Blink Cloud სერვისი. ვიდეო და დეტალები ქვეშ cut.


დააინსტალირეთ Blynk აპლიკაცია სმარტფონზე

დარეგისტრირდით დანართში და შექმენით ახალი პროექტი.

შეიყვანეთ პროექტის სახელი, მაგალითად ESP8266.. სფეროში აპარატურის მოდელი არჩევა ESP8266.. (იმედი მაქვს, რომ თქვენ შეამჩნევთ მხარდაჭერილი მოწყობილობის შთამბეჭდავი სია) ავტომატურად გენერირდება Auth Token. გააგზავნეთ საფოსტო ყუთი.

ღილაკზე დაჭერის შემდეგ Შექმნა. თქვენ ხელმისაწვდომი იქნება ცარიელი ველი თქვენი ESP8266 პანელის UI- ის შემუშავებისათვის.

დაწკაპეთ პლუს ზედა მარჯვენა მარჯვენა - პანელი გამოჩნდება ვიჯეტის ყუთი. დაამატოთ ვიჯეტები თქვენს პანელზე. აღსანიშნავია, რომ ვიჯეტების სია კვლავ შევსება.

ნიმუში, აირჩიეთ ტიპის ვიჯეტის ღილაკი. - ეს ვიჯეტის დაუყოვნებლივ დაემატება თქვენს პანელს. შეცვალეთ იგი ერთი შეხებით. სახელი არ შეიძლება იყოს შევსებული, მხოლოდ უფლება შეგიძლიათ აირჩიოთ ფერის მაჩვენებელი, სფეროში გამომავალი PIN. აირჩიეთ უფლება ციფრული., და დატოვა ნებისმიერი უფასო PIN ჯიპია.. ქვემოთ გადართვა ღილაკის ტიპი ცვლილება.

შემდეგი, მითითებული Blynk ბიბლიოთეკა Arduino IDE. ეს ხელს შეუწყობს ოფიციალურ ინსტრუქციებს. თქვენ ასევე შეგიძლიათ ბიბლიოთეკა Ბოლო ვერსია მარჯვენა საცავიდან და ხელით მითითებული. შემდეგი, აირჩიე მაგალითი Esp8266_standalone და მასში მითითება Auth Token.რომელიც ჩვენ მივიღეთ ფოსტით SSID და პაროლი თქვენ WiFi ქსელი. სრული და დაასხით ესკიზი ESP8266- ში.

მშვენიერი რამ - ESP8266. Pretty ძლიერი პროცესორი, ბევრი მეხსიერება, ჩაშენებული WiFi კონტროლერი. ESP32, რა თქმა უნდა, კიდევ უფრო უკეთესი, არამედ უფრო ძვირია. მაგრამ ეს არ არის მათ შესახებ. უფრო ზუსტად, არა ზუსტად მათ შესახებ. ESP- ზე ძალიან ადვილია თითქმის ნებისმიერი სახლის ავტომატიზაციის აშენება და დისტანციური მართვა და კონტროლი სმარტფონი ან კომპიუტერიდან. ასეთი მოწყობილობის მაგალითი ამ საიტზეა. ერთი პრობლემა - მუშაობა ასეთ მოწყობილობასთან არა მხოლოდ მთავარი ქსელი, და ნებისმიერ ადგილას პლანეტაზე (სადაც ხელმისაწვდომია ინტერნეტში, რა თქმა უნდა, რა თქმა უნდა), გარკვეული სერვერი საჭიროა - შუამავალი, რომელიც მიიღებს შეტყობინებებს მოწყობილობიდან და გადაეცემა მათ, და პირიქით. რა თქმა უნდა, არსებობს პარამეტრები და პირდაპირი კომუნიკაცია, მაგრამ აქ არ მიფიქრია, რადგან განხორციელების სირთულე ან მაღალი ღირებულება.

ამ სტატიაში მოცემული სია არ იძლევა სრულყოფილებას და კიდევ უფრო მეტად უნიკალურობას, მე უბრალოდ სცადა გარკვეული უფასო მომსახურების შესაძლებლობების ანალიზი და სტრუქტურა. უპირველეს ყოვლისა, თქვენთვის, მაგრამ თუ ეს სასარგებლო იქნება ვინმესთვის - ჯანმრთელობაზე. როდესაც მე ვეძებდი საჯარო MQTT სერვერს ჩემთვის, მე ვუთხარი ბევრი ინტერნეტ რესურსების. მე ვეძებდი პირველ რიგში ESP8266.ru- ზე, მაგრამ სამწუხაროდ, სერვისის ნახევარი ან არ არის მუშები ან არ არის შესაფერისი ჩემთვის ერთი ან სხვა პარამეტრისთვის. ყველა ეს არის დაწერილი, არის პირველი ჩემი პირადი გამოცდილება, თქვენი გამოცდილება ამ სერვისებთან შეიძლება სრულიად განსხვავებული იყოს. თუ თქვენ იცით, რომ ნებისმიერი სხვა სერვისები - ჩაწერეთ კომენტარი ან ფოსტა (ფოსტა და სხვა კონტაქტები არის ზედა მარჯვენა კუთხეში საიტის ქუდები), და მე შევეცდები შეამოწმოთ და დაამატოთ სია.

Mqtt ბროკერები

MQTT პროტოკოლი ალბათ პირველ რიგში, რომ თქვენ ეძებთ საძიებო სისტემებში, როდესაც თქვენ ეძებთ გზას დისტანციური მართვა სხვადასხვა "ჭკვიანი ცალი". მე არ შემიძლია არ დავუშვებ, რომ ეს არის ყველაზე მარტივი ოქმი (მე უბრალოდ არაფერი არ უნდა შევადაროთ რაღაც, მე რატომღაც შეწყვიტა მას დაუყოვნებლივ), მაგრამ ჩემი პირადად მან არ გამოიწვია რაიმე სირთულეები. მაგალითები - ბევრი. არდუინოს IDE- ის მზა ბიბლიოთეკები არ არიან მარტო, რადგან ამბობენ, "არჩევა გემო". მობილური აპლიკაციები საკმარისია იმისათვის, რომ აირჩიოთ ორივე სმარტფონი და უძველესი ტაბლეტისგან დამზადებული პანელი. ასე რომ, ეს არის ალბათ ყველაზე პოპულარული ვარიანტი, რათა განახორციელოს დისტანციური მართვა. Cloud სერვერები ასევე საკმაოდ ბევრია, მათ უწოდებენ MQTT ბროკერებს. მე არ განიხილავს პროტოკოლისა და სერვერების ფუნქციონირების პრინციპი აქ, ეს ინფორმაცია საკმაოდ საკმარისია სხვა საიტებზე.

Cloudmqtt.com.

ამ სამსახურში დავიწყე. მხოლოდ იმიტომ, რომ MQTT პროტოკოლის თითქმის ყველა მაგალითი ეფუძნება მასზე. მომსახურება საკმაოდ მოსახერხებელია და მარტივია, ყველაფერი ინტუიტიურია. 2018 წელს, სერვისი უფასოდ დაშვებულია სატარიფო გეგმა დამაკავშირებელი 10 მოწყობილობები, რომ ეს იყო საკმაოდ კმაყოფილი. თუმცა, 2018 წლის ბოლოს, სამსახურის მფლობელებმა შეცვალა მათი პოლიტიკა და თავისუფალი "Cute Cat" ტარიფის გეგმა ახლა მხოლოდ 5 კავშირები ხელმისაწვდომია. ჩემთვის პირადად, ეს ძალიან მცირეა. მე შემიძლია ერთდროულად დაკავშირება სამი "კონტროლის" მოწყობილობები - ორი სმარტფონი და ტაბლეტი, და მხოლოდ ორი კავშირები რჩება esp თავად. და მე უკვე ბევრი სხვადასხვა ავტომატური მანქანები, და ის ჯერ კიდევ დაგეგმილია. რა თქმა უნდა, თქვენ შეგიძლიათ მიახლოება რამდენიმე შემთხვევა ბროკერებს შიგნით ანგარიშიმიუხედავად იმისა, რომ მათ ცოტა ხნის წინ გააცნეს შეზღუდვები. მაგრამ ამ შემთხვევაში, სამი საკონტროლო მოწყობილობა ჯერ კიდევ "ელფოსტა" სამივე კავშირს ყოველი ინსტანციისთვის, და სინამდვილეში ასეთი ეკონომიკა - და მტერს არ სურს. იაფი ფასიანი ქაღალდის გეგმა "თავმდაბალი ზღარბი" დგას დროს 5 $ თვეში. არა, მე ვარ ერთი ლამაზი ამფიბიანი, რომ გადაიხადოს ასეთი ფული ყოველ თვე. დიახ, და შესაძლებლობები არ არის ასე ჭკვიანი - 25 კავშირები. ამიტომ, მე უნდა ვეძებოთ სხვა ვარიანტი.

დადებითი: მოსახერხებელი და მარტივი

მინუსი: მხოლოდ 5 კავშირები უფასო სატარიფო გეგმის შესახებ

flespi.io.

საკმაოდ დიდი ხნის განმავლობაში მე გამოვიყენე mqtt.flespi.io ბროკერი. მან ისიც მოიპოვა ის ფაქტი, რომ იმ დროს, როცა მასთან მუშაობა დავიწყე, მან აღიარა, რამდენადაც 100-მდე კონკურენტული კავშირები ერთდროულად და გადამდები და შენახული შეტყობინებების დიდი რაოდენობით. Gorgeous! თუმცა, მომსახურება არ არის ისეთი მოსახერხებელი, როგორც Cloudmqtt. საკონტროლო პანელი არ არის ძალიან მოსახერხებელი (მიუხედავად იმისა, რომ გაუმჯობესებულია), დაშვების უფლების პარამეტრი არ არის ნათელი ერთი შეხედვით, ავტორიზაციისა და მოწყობილობებისა და სმარტფონებისათვის შეზღუდული პერიოდის განმავლობაში. არ არსებობს ფუნქციების ფუნქციები, ან ვერ ვიპოვე როგორ გამოვიყენო. მაგალითად, თუ როგორ უნდა წაშალოს შენახული (შეინარჩუნა) შეტყობინებები ბაზაზე - მე არასოდეს მინახავს. მკაცრად ლაპარაკი, ეს არ არის მხოლოდ mqtt საბროკერო, ასე რომ, ალბათ, მე უბრალოდ არ მესმის ყველა მისი შესაძლებლობები. ზოგჯერ სხვადასხვა სმარტფონებისათვის გარკვეულ თემებში ინფორმაციის გაწმენდა. რამდენჯერმე შეცდომების გამო, სერვერზე მოწყობილობის ფირმა და მუდმივი სააპელაციო შეცდომების გამო, სერვისმა მთლიანად დაბლოკა ანგარიში რამდენიმე საათის განმავლობაში. მაგრამ ეს ყველაფერი შეიძლება იყოს პატიება ასეთი შესაძლებლობებისთვის. მაგრამ სამწუხაროდ, აქედან გამომდინარე, 2019 წლიდან მოყოლებული, 10 კავშირის შეზღუდვა გაეცნო თავისუფალ ტარიფს. ამგვარად არაფერია საზიანო, მაგრამ მე არ ვარ მზად, რომ ასეთი ფულის გადახდა ჰობი და თუნდაც საკმაოდ საეჭვო ხარისხის მომსახურებით. ზოგადად, ჩვენ ვეძებთ იგივე, მაგრამ მარგალიტი ღილაკები ...

დადებითი: სანამ 100-მდე კავშირია

მინუსი: ეს არ არის მოსახერხებელი, დაკეცილი ხელმისაწვდომობის შექმნის, შეინარჩუნა პანელი არ წაშლა

Hivemq საჯარო საბროკერო.

სრულად უფასო საჯარო საბროკერო ყოველგვარი შეზღუდვების გარეშე. Მინიმუმ Მთავარი გვერდი საბროკერო არ არის დაწერილი მათ შესახებ. მაგრამ არსებობს დიდი "მაგრამ" - ეს ბროკერი არ არის ავტორიზაცია, ეს არ არის. ანუ, ყველა გაგზავნილი მოწყობილობა და თქვენ გაქვთ შეტყობინება ვინმეს წაიკითხოს. ეს არ იქნება დიდი ტრაგედია, თუ ეს იყო მხოლოდ ტემპერატურისა და ტენიანობის ნებისმიერი მაჩვენებელი, ისინი არ არიან საიდუმლო. მაგრამ როდესაც საქმე "ჭკვიანი სახლის" დისტანციურ მენეჯმენტს ეხება, მაშინ ასეთი ბროკერი პრინციპულად არ არის შესაფერისი. ყოველივე ამის შემდეგ, მე არ მინდა ვინმეს, რათა ნებისმიერ მოწყობილობას სახლში, ან გამორთოთ სიგნალი, მაგალითად.

დადებითი

მინუსი

Eclipse mqtt.

სხვა საჯარო ბროკერი ნებართვის გარეშე. როგორც საიტზე დაწერილი, ეს ბროკერი განკუთვნილია პირველ რიგში ტესტირებისთვის და არ არის განკუთვნილი კონფიდენციალური ინფორმაციის შენახვა და გადაცემა. სერვერთან დაკავშირება, თქვენ უნდა გამოიყენოთ შემდეგი პარამეტრების გამოყენება: სერვერი iot.eclipse.org, Port 1883; TLS v1.2, V1.1 ან V1.0 - Port 8883. კავშირი და WebSockets ხელმისაწვდომია. ზოგადად, იგივე როგორც Hivemq, მხოლოდ გვერდითი პროექტორის ...

დადებითი: უფასო, გარეშე კავშირების შეზღუდვები

მინუსი: შესაფერისი ტესტირებისა და ამინდის სადგურების გარეშე დისტანციური მართვის გარეშე

mosquitto.org.

და სხვა საჯარო ბროკერი ნებართვის გარეშე. თქვენ არ შეგიძლიათ გავიმეოროთ, ყველა იგივე როგორც Hivemq და Eclipse MQTT. გაითვალისწინეთ, რომ ყველა ეს სერვერის მხარდაჭერა TLS შიფრაცია არ ნიშნავს, რომ თქვენი მონაცემები დაცულია. მოწყობილობასა და სერვერზე გადამცემი არხი დაცულია, მაგრამ მათი მონაცემები ღიაა.

დადებითი: უფასო, გარეშე კავშირების შეზღუდვები

მინუსი: შესაფერისი ტესტირებისა და ამინდის სადგურების გარეშე დისტანციური მართვის გარეშე

IBM Cloud (Bluemix)

ეს არ არის MQTT საბროკერო, ეს არის მთელი პლატფორმა "ინტერნეტ პლატფორმა". მაგრამ მისი შემადგენლობა არის MQTT საბროკერო. უფასო სატარიფო გეგმის "Lite" ნებადართულია 500-მდე რეგისტრირებული მოწყობილობით და თითოეული მეტრიკის შესახებ 200 მბ. ეს საკმაოდ ელეგანტურია არა მხოლოდ სახლისთვის, არამედ კომერციულ მოწყობილობებზეც. მაგრამ, როგორც ყოველთვის, არა "მაგრამ". პირველი, ძალიან რთულია ეს პლატფორმის გაგება. არსებობს დოკუმენტაცია, მაგრამ ეს ძალიან ბევრია. არა - ძალიან! მე არ გავატარე ერთი საათი მეტი - ნაკლებად გვესმის, თუ როგორ უნდა კონფიგურაცია კავშირი. მეორე, პლატფორმა საშუალებას გაძლევთ გამოაქვეყნოთ თემები მკაცრად კონკრეტულ ფორმატში: "IOT-2 / EVT / Event_id / FMT / Format_string". ანალოგიურად, ბრძანებით: "IOT-2 / CMD / Command_id / FMT / Format_string". და ყველა - არ არის თავისუფლება - ეს არის მხოლოდ გაგზავნა ნომერი და გაგზავნა თავად. მაგრამ გადაცემული შეტყობინებების ფორმა უკვე უფრო დიდია - "JSON", "XML", "TXT" და "CSV". ალბათ, ვინმეს ასეთი მიდგომა ძალიან სწორი და მოსახერხებელია, მაგრამ ის არ მომიყვანე. დიახ, და ძნელია ყველა განზრახვა - შესაძლებლობები, როგორც ჩანს, ბევრი, მაგრამ ამ ყველას უნდა შეეძლოს პირველი.

დადებითი: ძალიან დიდი ლიმიტები კავშირებზე

მინუსი: ძალიან რთულია დამწყები, შეზღუდვები თემებზე

mqtt.dioty.co.

ეს არის სრულიად უფასო საბროკერო. Მანამდე. კავშირი პარამეტრების პარამეტრების გვერდზე: "ეს MQTT საბროკერო ამჟამად მუშაობს ბეტაში. ამ ეტაპზე ბეტა ტესტირება, ჩვენ არ დააკისროს საფასური თუ თქვენ აღემატება ლიმიტი 50000 შეტყობინებას თვეში. თუმცა, ჩვენ ვიტოვებთ უფლებას დროებით შეაჩეროს თქვენი ანგარიში, თუ თქვენ გავლენას ახდენს სხვა მომხმარებელთა მომსახურებაზე. ამ შემთხვევაში, ჩვენ ყოველთვის დაგიკავშირდებით ელ-ფოსტით, რათა გაიგოთ თქვენი კონკრეტული საჭიროებები და როგორ შეგვიძლია დააკმაყოფილოს ისინი ". თვეში 50,000 შეტყობინება საათში დაახლოებით 70 შეტყობინებაა, რაც არ არის იმდენად, თუ მიიჩნევთ, რომ ერთ მოწყობილობას შეუძლია გამოაქვეყნოს მონაცემთა სესია სენსორებისგან 50-მდე შეტყობინებაზე. ბროკერი მხარს უჭერს ავტორიზაციას და TLS კავშირს. რეგისტრაცია Google ანგარიშზეა მიბმული. არსებობს მცირე შეზღუდვა - ყველა თქვენი თემა უნდა დაიწყოს მისამართზე ელ ელრომლითაც თქვენ დარეგისტრირდით სამსახურში, მაგალითად, ასე რომ: "/ [Email protected]/ ... / ... / ... ". მაგრამ ეს პრობლემა მეტ-ნაკლებად მნიშვნელოვანია მხოლოდ სმარტფონზე MQTT კლიენტების შექმნისას (მეტი ტექსტი), და ეს ყოველთვის არ არის. ჩემი აზრით, ეს სერვისი სრულყოფილად იმსახურებს ყურადღებას. მე არ შევამოწმე, მე უბრალოდ დარეგისტრირდა.

დადებითი: სრულიად უფასოა

მინუსი: საჭიროა გარკვეული პრეფიქსი თემებზე, დაახლოებით 70 შეტყობინების შეზღუდვა საათში

Solace.cloud (pubsub +)

ეს არ არის იმდენად mqtt ბროკერი, როგორც მთელი IOT პლატფორმა. თავისუფალი სატარიფო გეგმის შესახებ, 50-მდე კავშირის საშუალებით თვეში 1 გბ-მდე გადაცემული მონაცემები, 4 გბ ინახება მონაცემებით (რევოლუციური შეტყობინებები). Ცუდი არაა. მაგრამ კი უფასო ვერსია ბევრი პარამეტრები - ძნელია გაერკვია "ფარგლებსთან". სწორედ ამიტომ, ერთ დროს მე არ სარგებლობდა მათ. ალბათ, დრო მოვა, მე გაუმკლავდები და კონფიგურაცია.

დადებითი: 50-მდე კავშირები

მინუსი: საკმაოდ დაკეცილი mastering

myqtthub.com.

აშკარად ესტონეთის საბროკერო. თავისუფალი სატარიფო გეგმის შესახებ საშუალებას იძლევა: 100-მდე მომხმარებელი, მაგრამ 50-მდე კავშირით; 10 მბ შენახული მონაცემები; კავშირის 50-მდე ხელმოწერით, მაქსიმუმ 250 გამოწერა (და არ არის ნათელი, გამოწერა "მთავარი / #" არის ერთი სააბონენტო ან ბევრი?); 300 წუთი წუთში, მაგრამ არა უმეტეს 800 საათში და არა უმეტეს 10,000 დღეში. თუ თქვენ გააგრძელებთ რეგულარულ (ყოველ 5 წუთში) პუბლიკაციებს, გამოდის არაუმეტეს 34 შეტყობინებაზე. ჯერ კიდევ არსებობს შეზღუდვები - უფრო მეტად, უფრო მეტია მომსახურების მთავარი გვერდი. შეზღუდვები, თუმცა, გამოიყურება საკმაოდ რეალური მთავარი გამოყენება. არ სცადა ...

დადებითი: 50-მდე კავშირები

მინუსი: შეზღუდვები შეტყობინებების რაოდენობაზე

mqtt.by.

ადვილად გამოიყენოთ ბელორუსული ბროკერი. არაფერია შეზღუდვების შესახებ. მხარს უჭერს ავტორიზაციას, მაგრამ შესაძლებელია საზოგადოების გარკვეული თემების გაკეთება, რაც, სერვისის ყველა სხვა მომხმარებლისთვის გახსნას. მაგრამ არ არსებობს უსაფრთხო კავშირის მხარდაჭერა (TLS), ეს შეიძლება იყოს კრიტიკული ზოგიერთი განაცხადების. თითოეული გამოქვეყნებული თემა უნდა დაიწყოს პრეფიქსი "/ მომხმარებელი / user_name", რომელიც გარკვეულწილად ართულებს მობილური MQTT- ის მომხმარებელს, მაგრამ არა მნიშვნელოვნად. Advantages - სერვერზე არსებობს საჯარო თემები თარიღი და დრო, რომელიც ძალიან მოსახერხებელია პანელი დაფუძნებული ტაბლეტი, რომელიც მუშაობს 24 საათის განმავლობაში - ამავე დროს და watch კვლავ მარტო (ასი თორმეტი 🙂). ზოგადად, საკმაოდ ნორმალური საბროკერო, მხოლოდ სტაბილური მუშაობისთვის.

დადებითი: ყოველგვარი შეზღუდვების გარეშე, არსებობს საჯარო თემები, შეგიძლიათ გამოაქვეყნოთ თქვენი თემები

მინუსი: არ არის SSL / TLS კავშირი შიფრაცია

mqtt.4api.ru.

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

დადებითი: შეზღუდვების გარეშე

მინუსი: არ არის SSL / TLS კავშირი შიფრაცია, ცუდი პანელი ფუნქციური

სხვა მომსახურება

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

Thingspeak

Thinkpeak ხელმისაწვდომია უფასო მომსახურება არაკომერციული მცირე პროექტებისთვის (<3 миллиона сообщений в год или ~ 8 200 сообщений в день). Сервис позволяет накапливать получаемые данные в своих хранилищах, после чего их можно удобно просматривать в виде графиков. В том числе и на сторонних сайтах, .

სერვისის თვისებები - მას აქვს ინტეგრაცია Matlab Analytics, მაგრამ რამდენად მე არ ცდილობენ კონფიგურაცია Matlab სკრიპტები, ამიტომ მე არ გამოვა. კარგად, არ არის ძალიან და მინდოდა. თავისუფალ ანგარიშზე, სერვისი საშუალებას გაძლევთ შექმნათ ოთხი არხი, თითოეული არხი შეიძლება ინახებოდეს 8 სფეროს სხვადასხვა მონაცემებით. თავისუფალ ანგარიშზეც კი არის კიდევ ერთი შეზღუდვა - შეუძლებელია მონაცემების გამოქვეყნება უფრო ხშირად, ვიდრე ყოველ 15 წამში (რეკომენდირებულია 20 წამის პაუზის პაუზა), ეს არის "დაცვა" დღეში 8 200 შეტყობინების ლიმიტისგან. პრინციპში, ყველა ჩემი "გამომცემლები" ადვილად შეესაბამება ამ ლიმიტს, მე მაქვს საკმარისი. მე საკმაოდ დიდი ხნის განმავლობაში ვიყენებ, საკმაოდ მოსახერხებელი და მარტივი, თუ არ დათვლის matlab. არსებობს რამდენიმე პროგრამა - მომხმარებელს Android, მაგრამ ბევრად ნაკლებია, ვიდრე MQTT.

დადებითი: მარტივი გამოყენება ESP, მოსახერხებელი საიტი

მინუსი: ბევრი შეზღუდვა უფასო ანგარიშზე

ღია-monitoring.online

ეს სერვისი მსგავსია Thinkepeak - თქვენ ასევე შეგიძლიათ გააგზავნოთ მონაცემები და შემდეგ დაათვალიეროთ ცხრილების, გრაფიკების და ჰისტოგრამების სახით. ინტერფეისი უფრო მარტივია, ვიდრე thinkpeak, არამედ Customize ეს ბევრად უფრო ადვილია.

თავდაპირველად, ეს სერვისი შეიქმნა, როგორც მე მესმის, რომ პერსონალური მზის ენერგიის მცენარეთა პარამეტრების მონიტორინგი, მაგრამ ის ასევე შესაფერისია სხვა მიზნებისთვის. სერვისი ხელმისაწვდომია ყველასთვის და თავისუფალი, მომენტში მნიშვნელოვანი შეზღუდვების გარეშე. ერთადერთი შეზღუდვა, რომელიც მე გავიგე, არის ერთ-ერთი კონტროლერის სერვერზე სერვერზე ფასეულობების გაგზავნა, ეს არ შეიძლება უფრო ხშირად ერთხელ წუთში. მაგრამ თითოეული კონტროლერისთვის ღირებულებების რაოდენობაზე და შეზღუდვის კონტროლერების რაოდენობაზე, როგორც ჩანს, არ არის. სერვერზე მონაცემების გაგზავნა ხორციელდება მარტივი მოთხოვნის მიხედვით, არდუინინოიდზე განხორციელება არა უმეტეს საათში. განსხვავებით Thinkpeak, შენახული მონაცემები შეიძლება ჩაითვალოს ერთი ჩარტში (ერთად overlay), ისევე როგორც Customize ზოგიერთი Dashboard გამომავალი უახლესი ღირებულებები. თქვენ ასევე შეგიძლიათ ნახოთ შენახული ღირებულებები მარტივი მაგიდის სახით.

დადებითი: მარტივი გამოყენება ESP, მოსახერხებელი ინტერფეისი, თითქმის არ შეზღუდვები

მინუსი: არ არსებობს შესაძლებლობა, რომ გააუქმოს გრაფიკა მესამე მხარის საიტებზე (განსხვავებით Thinkepeak), ან მე ჯერ კიდევ არ არის ნაპოვნი, თუ როგორ უნდა გავაკეთოთ ეს

beebotte

ამ სერვისის მთავარ გვერდზე, ქვემოთ ჩამოთვლილია: "ყველაფერი და ყველაფერი რეალურ დროში მდიდარი API- ის გამოყენებით, რომელიც მხარს უჭერს დანარჩენი, ვებსაიტი და MQTT." პირადად, ამ სერვისს ჯერ არ გამოვიყენე. ვიმსჯელებთ იმით, რაც მე გავიგე აღწერისგან, ეს არის MQTT- ის საბროკერო და ThingsPeak.com- ის ველური ნაზავი. თავისუფალი რეჟიმი, არხების რაოდენობა და რესურსები არ არის შეზღუდული, მაგრამ შეტყობინებების რაოდენობა შეზღუდულია: 0.05 მილიონი დღეში | თვეში 1.5 მილიონი. ინახება შეტყობინებები, ლიმიტები კიდევ უფრო ნაკლებია: 5 000 დღეში | 150 000 თვეში. გარდა ამისა, შეტყობინებები ინახება მხოლოდ მაქსიმუმ სამი თვის განმავლობაში, რის შემდეგაც ისინი ამოღებულნი არიან. ანუ, მთელი წლის განმავლობაში ამინდი არ გამოიყურება. ჩემი მობილური კლიენტის შესახებ სმარტფონი არ არის ჩემთვის ცნობილი. რეგისტრირებული. Ვცდი. დასკვნები ამის გაკეთება ძალიან ადრე.

ბლინკი.

აქტიურად პროპორციული სერვისი დისტანციური მართვის "Smart მოწყობილობები". მეც კი ვამბობ აგრესიულად - ყველა ფორუმი წერენ, სადაც ჩვენ გვჭირდება და სად არ არის აუცილებელი. ზოგადად, ჩემი პირადად გამოიყურება, ეს პლატფორმა არ არის მოყვარულთათვის, არამედ ბიზნესისთვის. On "უფასო რეჟიმი" მოცემულია ძალიან მცირე რესურსები, გარდა იმ შემთხვევებისა, რომ გახსოვდეს LED ან ჩართოთ ერთი სარელეო. ზოგადად, მე შევეცადე ერთხელ - და ესროლა, დაუყოვნებლივ რესურსები და დასრულდა. ძალიან ხარბ.

დადებითი: ვერ მოიძებნა

მინუსი: გარეგი, მობილური კლიენტი მხოლოდ ერთი

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

კავშირი Cloud Server Remotexy საშუალებას გაძლევთ გააკონტროლოს მოწყობილობა მსოფლიოს ნებისმიერ წერტილში, სადაც ინტერნეტია.

ESP8266 მოდული კონფიგურირებულია, როგორც კლიენტი WiFi Access Point- თან დაკავშირებას. ხელმისაწვდომობის წერტილი უნდა ჰქონდეს ინტერნეტში შესვლა. Remotexy ბიბლიოთეკა დარეგისტრირდება მოწყობილობის Cloud სერვერზე.

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

Შენიშვნა:-ში ამ მომენტში კავშირი Cloud Server მეშვეობით გადის ტესტირების ნაბიჯი. ეს არის სერვერზე შესაძლო შეფერხებები.

ნაბიჯი 1. შექმნა გრაფიკული ინტერფეისის პროექტი

ნაბიჯი 5. შეცვალეთ ESP8266

ESP8266 მოდული უნდა იყოს კონფიგურირებული. ალბათ, თქვენს მოდულს უკვე აქვს საჭირო ნაგულისხმევი პარამეტრები, მაგრამ უმჯობესია შეამოწმოს იგი.

რა უნდა შეამოწმოთ:

  • მოდულს აქვს firmware მხარდაჭერით Version ბრძანებები არ დაბალია, ვიდრე v0.40;
  • მოდული კონფიგურირებულია 115200 სიჩქარით.

ნაბიჯი 6. დააკავშირეთ ESP8266 Arduino Uno- სთვის

შეაერთეთ ESP8266 Arduino UNO- ს სქემის მიხედვით. გთხოვთ გაითვალისწინოთ, რომ RX-TX კონტაქტები უკავშირდება Crosshair- ს.

მას შემდეგ, რაც ESP8266 მოდულის სიგნალების დონეა 3.3V და Arduino- ში, ისინი 5V არიან, აუცილებელია რეზისტენტული ძაბვის გამყოფი სიგნალის კონვერტაციისთვის.


ნაბიჯი 7. ჩატვირთეთ ესკიზი Arduino- ში.

ჩანახატი ჩატვირთულია Arduino- ში ჩვეულებრივი გზით. თუმცა, იმის გამო, რომ ESP8266 მოდული უკავშირდება კონტაქტებს 0 და 1, პროგრამირება შეუძლებელია. შემდგენელი გამოჩნდება შეცდომა.

პროგრამირების დაწყებამდე, ხაზების გააქტიურება ESP8266- ის კონტაქტების 0 და 1. პროგრამირებისგან. შემდეგ დააბრუნეთ კონტაქტები ადგილას. დააჭირეთ Arduino Reset ღილაკს.

Შენიშვნა:პირველი ნიშანი ის არის, რომ პროგრამირების წარმატებით გაიარა, ეს არის Flickering of Blue LED on ESP8266 მოდული დაუყოვნებლივ შემდეგ გადატვირთვის შემდეგ. ლურჯი LED- ის საშუალებები არდუინოსა და ESP8266- ს შორის მონაცემთა გაცვლის შესახებ. ამ 8 წელს, Arduino უკვე კონფიგურირებულია კონფიგურაცია ESP8266 დაკავშირება წვდომის წერტილი. გარკვეული დროის შემდეგ, LED იქნება მოციმციმე კვლავ მოციმციმე, რაც იმას ნიშნავს, რომ Remotxy Cloud Server- ზე დარეგისტრირება.

ნაბიჯი 8. დაკავშირება თქვენი მობილური აპლიკაცია.

შეამოწმეთ Power ESP8266.

ასევე შესაძლებელია, რომ თქვენი ESP8266 არ არის ელექტროენერგიის მიწოდება. ზოგიერთი Arduino დაფები აქვს სუსტი ძაბვის სტაბილიზატორი 3.3 V, რომელიც არ შეუძლია გაცემის 200-300 MA პიკი რეჟიმები. ამ შემთხვევაში, სერიულ მონიტორზე, თქვენ ასევე იხილავთ ბრძანების თანმიმდევრობას.

ვადიმ კოლესნიკი, ტირასპოლი

საინტერესო, მარტივი და სწრაფი განვითარება სრულფასოვანი ინტერნეტ მოწყობილობების შესახებ Arduino გამოყენებით Cloud სერვისი

საერთო

myDevices ჩართული განვითარების პროგრამული უზრუნველყოფა და განაცხადების ინტერნეტში რამ (iot) და არის გაყოფა Avanquest. MyDevices Cayenne - პირველი drag-and-drop განაცხადის და Cloud მომსახურება გამარტივებული iot განვითარების პროექტების ჟოლოს pi.

Radiotozman ვერსია ცოტა ხნის წინ გამოქვეყნდა, რომელშიც მე შევეცადე გამოვლენა ძირითადი უპირატესობები და შესაძლებლობების სისტემა, როდესაც მუშაობს ჟოლოს PI ერთჯერადი ფორუმში კომპიუტერი (RPI). მაგრამ Cayenne პროექტი მუდმივად ვითარდება, დეველოპერები, რომლებიც ეფუძნება მომხმარებელთა სურვილებზე, თანდათანობით დაამატეთ ახალი ფუნქციები, აღმოფხვრა ხარვეზები და შეცდომები.

Cayenne- სთან მუშაობისას Arduino და Raspberry Pi- ის IOT მოწყობილობების განვითარება განსხვავდება ფუნდამენტურად. რაც შეეხება ჟოლოს PI- ს, Cayenne პლატფორმა შეიძლება ჩაითვალოს ვიზუალური განვითარების გარემო: ჩვენ ფიზიკურად დაკავშირებულია სხვადასხვა პერიფერიებზე ჟოლოს PI- ის ფორუმში და შემდეგ ჩვენ ვმუშაობთ მხოლოდ ონლაინ Cayenne გარემოში (შეიქმნას ვიჯეტები, მონაცემთა დამუშავება, ავტომატიზაციის ალგორითმები).

რაც შეეხება Arduino, Cayenne Dashboard არის მხოლოდ კომპლექტი ვიჯეტების და აკონტროლებს, რომ ვიზუალურად მონაცემების სენსორების და გადასცემს მომხმარებლის მონაცემების კონტროლი კონტროლის ან სხვა აღმასრულებელი მოწყობილობები. პირდაპირი ოპერაცია სენსორების, აღმასრულებელი მოწყობილობებით, დამატებითი პერიფერია (მაგალითად, ჩვენების, მეორე კლავიატურაზე), ავტომატიზაციის პირობების დამუშავება მიკროკონტროლერისთვის ენიჭება. სხვა სიტყვებით რომ ვთქვათ, ყველაფერი ჩამოდის არდუინოს აპარატის სტანდარტულ განვითარებაზე; მომხმარებელი თავად წერს პროგრამის კოდს, არამედ Cayenne- ის მოქნილი iot ფუნქციების პროექტს. ამ აზრით, ჩემი აზრით, ჩემი აზრით, Cayenne- ის მთავარი უპირატესობაა: თქვენ შეგიძლიათ დაუკავშირდეთ ნებისმიერ სენსორებს და აუქციონებს სისტემაში, შეუზღუდავი პერიფერიების სიის შეზღუდვის გარეშე.

მომხმარებლის ინტერფეისი და სამუშაო მომზადება

რაც შეეხება სისტემის ინტერფეისს, მისი პარამეტრების, კონტროლის მეთოდებსა და ვიჯეტებს Dashboard- ზე, ეს ყველაფერი რჩება ჟოლოს PI- ზე, რა თქმა უნდა, ამ უკანასკნელის ინდივიდუალური უნიკალური ელემენტების გარდა (მაგალითად, დისტანციური დესკტოპის, მეხსიერების სტატუსი, პროცესორის დატვირთვის). ამიტომ, სისტემაში მუშაობის საფუძვლების გაგება, გირჩევთ გაეცნოთ სტატიებს. სტატიაში ყველა ინფორმაცია შესაბამისია სისტემის ვებ-ინტერფეისისთვის და მობილური აპლიკაციის ინტერფეისისთვის. ასევე სტატიაში მიუთითებს მხარდაჭერილი პერიფერია.

IOT მოწყობილობების ან აპლიკაციების შემუშავება, ჩვენ გვჭირდება:

  • მათი ანგარიში Cayenne სერვისზე (თქვენ შეგიძლიათ გამოიყენოთ არსებული);
  • ინტეგრირებული Arduino IDE განვითარების გარემოს ინსტალაცია;
  • დაამატეთ კაიენინის ბიბლიოთეკის ფუნქციები Arduino IDE- ში;
  • კონფიგურაცია Arduino IDE: აირჩიეთ საფასური და COM პორტი, რომელსაც იგი უკავშირდება;
  • ARDUINO Ethernet Shield- სთან დაკავშირება ან Wi-Fi Shield Extension Board (ან გამოიყენეთ Arduino Board ინტეგრირებული ქსელის ინტერფეისით).

მე ვფიქრობ, Arduino IDE- ის განვითარების გარემოს დამონტაჟების პროცესი, ისევე როგორც მოსაკრებლებისა და პორტების არჩევანი არ არის საჭირო, და ჩვენ მთავარია.

Cayenne ბიბლიოთეკა Arduino არის უბრალოდ და სწრაფად დაინსტალირებულია ბიბლიოთეკის მენეჯერის გამოყენებით (სურათი 2).

ბიბლიოთეკის ინსტალაციის შემდეგ, ჩვენ შეგვიძლია გამოვიყენოთ თქვენი განაცხადების გამოყენება და ახალი საქაღალდე Cayenne- ს სახელით გამოჩნდება ესკიზის მაგალითები. ჩემი აზრით, ეს მაგალითები არ მოგცემთ სრულად გაიგოთ, თუ როგორ უნდა ვიმუშაოთ სისტემაში, მაგრამ, მიუხედავად ამისა, ისინი უნდა შეისწავლონ და ასევე შეგახსენოთ, რომ კაიენის სისტემის დოკუმენტაციის უზარმაზარი მონაკვეთია. ზოგადი საქმეში, ეს ბიბლიოთეკა არის სკეტჩების კომპლექტი, რომელიც საშუალებას გაძლევთ გამარტივდეს კავშირი და მონაცემთა გაცვლა სენსორების / actuators და Cloud Service- ს შორის.

მოსამზადებელი ოპერაციების შესრულებით, განვითარების გარემოს კონფიგურაცია და Ethernet Shield Extension Board- ის კავშირი, თქვენ შეგიძლიათ დაიწყოთ iOT მოწყობილობის განვითარება.

Arduino უკავშირდება USB კომპიუტერს, Ethernet Shield- ში, აკავშირებს ადგილობრივ ქსელებს. ინტერნეტ ბრაუზერის, ჩვენ შეხვიდეთ Cayenne ანგარიში და დაამატოთ ახალი მოწყობილობა პანელი - Arduino. შემდეგი, აირჩიეთ ტიპის ფორუმში, მეთოდი დაკავშირების ინტერნეტი (საკმაოდ ბევრი ვარიანტი), ყურადღება მიაქციონ უნიკალური ავტორიზაციის გასაღები ჩვენი მოწყობილობა და დაველოდოთ Arduino ფორუმში Cayenne (სურათი 3).

ყოველი ახალი მოწყობილობისთვის, ახალი უნიკალური გასაღები გენერირდება, მომავალში შესაძლებელია მოწყობილობის პარამეტრებში (საფასური).

მას შემდეგ, რაც თქვენ აირჩიეთ გზა დაკავშირება ქსელში, ფანჯარა Microcontroller პროგრამის კოდით. ეს არის საჭირო მინიმალური დაკავშირება მოწყობილობის Cloud Service- ზე. გთხოვთ გაითვალისწინოთ, რომ პროგრამის ტექსტმა უკვე მითითებული თქვენი ავტორიზაციის გასაღები და ბიბლიოთეკას უკავშირებს ბიბლიოთეკას, რომელიც შეესაბამება ქსელთან დაკავშირების შერჩეულ მეთოდს (სურათი 4). დააკოპირეთ ეს კოდი Arduino IDE- ში, შეადგინოს და დატვირთვა საფასურში. თუ ყველაფერი სწორად იყო კონფიგურირებული, მაშინ ახალი აქტიური მოწყობილობა და დაფა გამოჩნდება კაიენოს პანელში, სადაც შეგიძლიათ დაამატოთ ვიჯეტები და კონტროლი. უფრო მეტიც, ამ ეტაპზე, თქვენ შეგიძლიათ დისტანციურად გააკონტროლონ ხელმისაწვდომი ციფრული და ანალოგური arduino პორტები, ერთი ხაზი კოდი - on Dashboard, დაამატეთ ვიჯეტის, მიუთითეთ ტიპის პორტი (ციფრული), მისი სახელი ფორუმში და ბორტზე გადავარჩინოთ ვიჯეტის. ახლა, ბრაუზერის ღილაკზე დაჭერით, თქვენ შეცვლით პორტის ლოგიკურ მდგომარეობას. ასევე, უბრალოდ, შესაბამისი ვიჯეტების დასძინა, თქვენ შეგიძლიათ მართოთ PWM შედეგები, მიიღონ "ნედლეული" მონაცემები ანალოგური arduino- ის საშუალებებით, აკონტროლებენ ციფრული შეყვანის მდგომარეობას.

მოწყობილობის განვითარება კონკრეტულ მაგალითზე

ახლა გეტყვით სისტემის დამატებითი ფუნქციების და ფუნქციების შესახებ. მაგალითად, მე შეგროვებული მარტივი სისტემა, რომელიც მოიცავდა:

  • Arduino Uno ფორუმში;
  • Ethernet Shield გაფართოების საბჭო WizNet W5100 კონტროლერის შესახებ;
  • DS18B20 ტემპერატურის სენსორი;
  • Photoresistor;
  • თერმისტორი;
  • რამდენიმე LED- ები;
  • OLED ეკრანზე SSD1306 კონტროლერი.

სენსორების დამაკავშირებელი სქემატური დიაგრამა და arduino- სთვის განკუთვნილი leds.

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

მე ვფიქრობ, რომ LED- ების დამაკავშირებელი, ციფრული ტემპერატურის სენსორი და კითხვების ცხრილი არ არის. ანალოგური განათება და ტემპერატურის სენსორები დაკავშირებულია ანალოგური საშუალებებით რეზისტენტული გამყოფი სქემით. ამავდროულად, თერმისტერის ჯაჭვისთვის აუცილებელია R6 Resistor- ის ზუსტი წინააღმდეგობის გაწევა, ეს ღირებულება გამოყენებული იქნება კოდით კოდით.

დიაგრამაზე მითითებულ სტატიებთან დაკავშირების შემდეგ, ჩაწერეთ ესკიზის არდუინოს და შემდეგ დააინსტალირეთ საჭირო ვიჯეტები Cayenne Dashboard- ზე. ამ დროისთვის Arduino Board უკვე დატვირთულია მინიმალური ესკიზი და საბჭო განისაზღვრება Cayenne Dashboard- ში. როგორც ზემოთ მოყვანილი, ამ ეტაპზე ჩვენ შეგვიძლია დავამატოთ ვიჯეტები, რათა გააკონტროლონ LEDS D1, D2, ასევე "ნედლეულის" მონაცემების მიღება ანალოგური საშუალებებით, რომლის მიხედვითაც თერმომისტორი და ფოტოგრაფია დაკავშირებულია (მოღვაწე 6, 7).

Arduino კოდექსის ერთი ხაზის წერის გარეშე, ჩვენ უკვე მივიღეთ მარტივი დისტანციური მართვის სისტემა და კონტროლი (სურათი 8).

გამოიყენეთ ციფრული ტემპერატურის სენსორების, თერმომისტორი, PWM, მაგალითად, D2 LED- ის კონტროლი, საჭირო იქნება მინიმალური ესკიზის დამატება. უნდა დაიწყოს, ჩვენ განსაზღვრავს საჭირო ბიბლიოთეკებს.

#Include.< CayenneEthernet.h> // გამოიყენეთ Ethernet Shield გაგრძელების საფასური
#Include.< CayenneTemperature.h> / / მონაცემთა კონვერტაციის ფუნქციები თერმომისტთან
#Include.< OneWire.h> // 1 მავთულის ავტობუსთან მუშაობის ფუნქციები
#Include.< DallasTemperature.h> // ციფრული ტემპერატურის სენსორებთან მუშაობის ფუნქციები
#Include.< Arduino.h> // სტანდარტული მუდმივები და ცვლადები Arduino.
#Include.< U8x8lib.h> // ბიბლიოთეკა მუშაობისთვის OLED ეკრანზე ტექსტის რეჟიმში
#Include.< Wire.h> // მხარდაჭერა ტექნიკის ინტერფეისი I 2 გ

#Define virtual_pin_1 v0 // ვირტუალური არხი ds18b20 სენსორი
#define virtual_pin_2 v1 // - თერმისტორისთვის
#define virtual_pin_3 v2 // - D2 LED- ისთვის, ჩვენ მიიღებთ მონაცემებს PWM- ის ღირებულებაზე
#Define led2_pwm 6 // რეალური Arduino პორტი, რომელსაც D2 LED უკავშირდება

ვირტუალური არხები არ არის ციფრული, და არა ანალოგური შეყვანის / გამომავალი პორტები. ანალოგური შეყვანის წაკითხვისას, მომხმარებელი იღებს მონაცემებს 10-ბიტიან მიკროკონტროლერის ADC- სგან. ღირებულებები დაბრუნდა ADC არიან სპექტრი 0 ... 1023 და პროპორციული ძაბვის ამ შეყვანა. სხვა სიტყვებით, თუ თქვენ დაკავშირება ტემპერატურის სენსორი ანალოგური Arduino input, რომ თქვენ არ მიიღოს ტემპერატურა ღირებულება, დამატებითი ტრანსფორმაციისა და მათემატიკური გათვლებით საჭირო იქნება გარდაქმნას ძაბვის - ტემპერატურა.

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

Cayenne.VirtualWrite (V1, 123) // გადაცემის მთელი ღირებულება ვირტუალური არხის V1
Cayenne.VirtualWrite (V2, 12.34) // გადაცემის მცურავი მძიმით აფასებს ვირტუალური არხის V2

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

// ციფრული პორტი, რომელსაც DS18B20 სენსორები დაკავშირებულია. არ გამოიყენოთ Arduino 0 და 1 (RX / TX) პორტები.
Const Int ds18b20_pin \u003d 2;
// ანალოგური პორტი, რომელსაც თერმისტორი უკავშირდება.
Const Int Thermistorpin \u003d 0;
// წინააღმდეგობის გაწევა მუდმივი resistor (9 com), შედის სერია თერმომისტორი ადგილზე.
Const Float წინააღმდეგობა \u003d 9000;
/ / Cayenne ავტორიზაციის გასაღები. თქვენ შეგიძლიათ იპოვოთ იგი Cayenne Web Interface მოწყობილობის პარამეტრების ჩანართზე.
Char token \u003d "640c9odi4";
Onewire onewire (ds18b20_pin);
Dallastemperature სენსორები (და onewire);
თერმომისტორი თერმოტარი (თერმისტორიპინი, წინააღმდეგობა);

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

ინიციალიზაციის განყოფილებაში, ჩვენ მიუთითებთ შემდეგ ფუნქციებს:

ძალადაკარგული კონფიგურაცია ()
{
Cayenne.begin (ნიშნად); / / CAYENNE- სთან დაკავშირება მითითებულ ავტორიზაციის ღილაკზე
სენსორები (); / ციფრული ტემპერატურის სენსორების ინიციალიზაცია
u8x8.begin (); // ინიციალიზაცია და ტექსტური ინფორმაცია OLED ეკრანზე

u8x8.setpowersave (0);
u8x8.setfont (u8x8_font_torussansbold8_r);
u8x8.drawstring (2.0, "Cayenne Test");
u8x8.drawstring (1,2, "სისტემა გაშვებული");
}

ძირითად პროგრამულ ციკლში, ჩვენ მხოლოდ ერთი ფუნქცია გვექნება:

ბათილი loop ()
{
Cayenne.run ();
}

ყველა მონაცემთა გაცვლის Cayenne Dashboard ხორციელდება გამოყენებით რამდენიმე ფუნქციები:

Cayenne_in (virtual_pin) - განსაზღვრავს ფუნქციას, რომელსაც უწოდებენ Cayenne Server- ის ვირტუალური არხის მეშვეობით განახლებული მონაცემების საშუალებით.

Cayenne_out (virtual_pin) - განსაზღვრავს ფუნქციას, რომელსაც ეწოდება, როდესაც გსურთ განახლებული მონაცემების გაგზავნა მოწყობილობიდან Cayenne სერვერზე.

Cayenne_connected () - ფუნქცია ხორციელდება ყოველ ჯერზე, როდესაც მოწყობილობა უკავშირდება Cayenne სერვერს. ზოგადად, ეს ფუნქცია სინქრონიზაციისთვის გამოიყენება.

Cayenne.syncall () - ფუნქცია, რომელიც ქმნის მოთხოვნას Cayenne სერვერზე სინქრონიზაციისათვის ყველა ვიჯეტების. ანალოგური და ციფრული Arduino პორტების სტატუსი აღდგება და თითოეული ვირტუალური არხი გენერირდება Cayenne_in მოვლენა.

Cayenne.syncvirtual (virtual_pin) - სინქრონიზაცია განსაზღვრული ვირტუალური არხის მიერ. აღსრულების შედეგად, შესაბამისი cayenne_in handler ეწოდება.

ჩემი დიაგრამა, D2 LED უკავშირდება D6 Arduino ციფრული პორტის. ამ პორტს აქვს ალტერნატიული ფუნქცია - PWM გამომავალი. PWM რეჟიმში ამ LED- ის დისტანციური მართვის განხორციელება, ჩვენ დაგჭირდებათ მონაცემების მიღება Dashboard- დან. ამის გაკეთება, ჩაწერეთ ფუნქცია, რომელიც შესრულდება ვირტუალური არხის V2- ის მეშვეობით მონაცემების განახლებისას:

Cayenne_in (v2)
{
/ / მიიღეთ მონაცემები PWM- ის ღირებულების დაფარვისგან (სლაიდერი)
int pwmvalue \u003d getValue.Asint (); // ღირებულება დიაპაზონში 0 - 1023
ანალოგარდი (led2_pwm, pwmvalue / 4); // PWM- ისთვის, ღირებულება უნდა იყოს 0-დან 255 წლამდე
}

ახლა ჩვენ დავამატებთ "სლაიდერს" ვიჯეტს Dashboard- ზე სახელით LED_2 PWM (PWM) და მის პარამეტრებში, მიუთითეთ, რომ იგი მუშაობს ვირტუალური არხის 2 (სურათი 9).

ჩამოტვირთვის შემდეგ ესკიზის ფორუმში, შეგიძლიათ გამოიყენოთ სლაიდერი Cayenne დაფა კონტროლი სიკაშკაშე D2 LED. ყველაფერი ძალიან სწრაფად და ადვილია ...

Cayenne_out (v0)
{
სენსორები (); // მიიღოს ციფრული ტემპერატურის სენსორების მონაცემები.
// Thermistor- ის მონაცემების კონვერტაცია, მათ ფორმატში და გააგზავნეთ სერვერზე ვირტუალური არხის V1- ის მეშვეობით
Cayenne.celsiuswrite (v1, thermistor.getcelsius ());
// ფორმატი მონაცემების ციფრული ტემპერატურის სენსორი და გააგზავნეთ სერვერზე ვირტუალური არხი v0
Cayenne.celsiuswrite (v0, სენსორების.გეტემპკბიინი (0));
}

ვირტუალური არხების გამოყენების გზით, სრულიად განსხვავებული მონაცემების გადაცემის მთელი ფუნქციის კოდი შედგება ორი ხაზით. On Dashboard, დაამატეთ Widgets for DS18B20 ტემპერატურის სენსორი და თერმისტორი (ისინი მზად არიან პანელი). გე widgets, ჩატვირთვა ესკიზის საფასური, და ... Ready (მოღვაწეთა 10 ა, 10 ბ)!


ფიგურა 10. Cayenne Dashboard- ის ნახვა Arduino (ტემპერატურის სენსორების,
სინათლის, LED კონტროლის D1, PWM LED კონტროლის D2):

არ უნდა დაგვავიწყდეს, რომ იგივე კონტროლი და კონტროლის ფუნქციები ხელმისაწვდომია მობილური აპლიკაცია. ვებ ინტერფეისში დამონტაჟებული ყველა ვიჯეტები დაინახავთ მობილურ აპლიკაციას (ფიგურა 10 ბ).

გარეგნობა მოწყობილობებთან დაკავშირებული პერიფერიული მოწყობილობები ნაჩვენებია სურათზე 11.

უკაბელო iot მოწყობილობების განვითარების უნარი

თქვენ შეიძლება შეამჩნევთ, რომ ზოგიერთი ეკრანის, ჩემი პანელი ჩანს, სადაც გარდა Arduino Uno და ჟოლოს Pi, არსებობს მოწყობილობა დაასახელა ESP8266-1. Კარგი დამატებითი მოწყობილობა ცნობილ ESP-12 მოდულში (ESP8266), რომელიც უკავშირდება Cayenne სერვერს Wi-Fi- სთან და აქვს ცალკე დაფა (მოღვაწე 12 ა, 12 ბ). ასეთი მოწყობილობა უკაბელო კონტროლისა და კონტროლის კვანძია. ორი LED- ები დაკავშირებულია მოდულთან (ერთი უკავშირდება ESP8266 PWM გამოყვანას) და DS18B20 ციფრული ტემპერატურის სენსორი.


სურათი 12. Dashboard for უსადენო მოწყობილობა ESP-12 მოდული:
ა) ვებ ინტერფეისი, ბ) მობილური აპლიკაცია.

ESP8266 ბირთვის, Arduino IDE გარემოს მხარდაჭერის წყალობით, Cayenne- ის უკაბელო iot მოწყობილობების განხორციელება არდუინოს განვითარებისგან განსხვავდება. სხვა სიტყვებით, ნებისმიერ მოდულის ESP8266 ჩიპი არის Arduino გამგეობის Wi-Fi ინტერფეისი. ამ Wi-Fi მოდულისთვის, ჩვენ ვწერთ მსგავსი ჩხრეკა, ჩვენ ვიყენებთ იმავე ბიბლიოთეკებს სენსორებთან, ციფრულ და ანალოგური შეყვანის / გამომავალი პორტებისგან. ეს მოდული დაგროვილი დიდი რაოდენობით ინფორმაციის, სხვადასხვა დოკუმენტაციასა და მოვლენებს.

Periphery Connection დიაგრამაზე ESP8266 მოდული ნაჩვენებია ფიგურა 13. მე გამოვიყენე ცალკე ESP-12 მოდული გარდამავალი გამგეობის გარეშე ინტეგრირებული დენის მიკროსქემით და პროგრამირების ინტერფეისით, რაც მნიშვნელოვნად გართულებულია სამუშაოს ესკიზის ჩამოტვირთვა ეტაპზე. ოპტიმალური ვარიანტი იქნება მზა Nodemcu V3 ტიპის მოდულის გამოყენება, რომელიც მზადდება Arduino ფორმა ფაქტორში და აქვს ინტერფეისის შესაბამისი სქემა. (მაღალი მნიშვნელოვანი მომენტი მოდულის პროგრამირებისას). გამოჩენა მოდული დაკავშირებული ები და ტემპერატურის სენსორი ნაჩვენები ფიგურა 14.

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

ESP8266 მოდულის მოწყობილობის დასაკავშირებლად, ჩვენ ვიმოქმედებთ ანალოგიურ დამატებით ნებისმიერ Arduino ფორუმში და რეაგირება ლოდინის დამაკავშირებელი მოწყობილობის Cayenne, სადაც მინიმალური ესკიზის იქნება გენერირებული.

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

#Include "Cayennedefines.h" // Constants და ცვლადები Cayenne
#include "bllynksimpleesp8266.h" // ფუნქციები ESP8266- თან მუშაობისთვის
#include "cayennewifylient.h" // wi-fi კლიენტის განხორციელების ფუნქციები

char token \u003d "3YJ62U9OGI";
Char ssid \u003d "network_ssid"; / / SSID და პაროლი თქვენი Wi-Fi ქსელისთვის.
Char password \u003d "network_password";

ინიციალიზაციის განყოფილებაში, დაამატეთ სიმებიანი:

Cayenne.begin (ნიშნად, SSID, პაროლი);

მოდულის ჩატვირთვა შეადგინეთ (Arduino- ის ფორუმში გადმოტვირთვით), ჩვენ ველით, რომ Cayenne Dashboard- ში ახალი აპარატის დამაკავშირებელი და გააქტიურება. შემდეგი, ყველა, რაც Arduino: სანიშნეს ფუნქციები მუშაობა სენსორების და I / O პორტებზე, დაამატეთ ვიჯეტები Dashboard. უბრალოდ ლაღი, არა?!

დასკვნა

შედეგების მიხედვით მუშაობის Cayenne on Raspberry Pi და Arduino, შემიძლია ვთქვა, რომ Raspberry PI არ უნდა იქნას გამოყენებული განვითარება ინტერნეტის მოწყობილობები რამ, თუნდაც Cayenne. რა არ გითხრათ Arduino - მიუხედავად შეზღუდული რესურსების, Multitasking, დაბალი Computing Power (თუმცა, ეს არის სადავო მომენტი, იმის გათვალისწინებით, რომ ახალი Arduino დაფები Arm პროცესორების შესახებ), იდეალურია მარტივი IOT- ის განვითარებისთვის მოწყობილობები და სახლის ავტომატიზაციის სისტემები.

გარდა ამისა, ამ კონტექსტში, Arduino- ს მთავარი უპირატესობა, როგორც ზემოთ შენიშნა, არის დამოუკიდებლად განვითარება, ჩართვა, წერა კოდი, პროგრამირების უნარ-ჩვევების განვითარება, პროფესიული პროგრამისტების არგუმენტების მიუხედავად, არდუინოდან არ შეიძლება. ალბათ, მაგრამ ... Arduino- სთან დაკავშირებით, Cayenne პლატფორმა მხოლოდ გრაფიკულ უზრუნველყოფს მომხმარებლის ინტერფეისი და ზოგიერთი გამარტივებული მონაცემების დამუშავება. ყველა დანარჩენი თქვენ უნდა განვითარდეს საკუთარ თავს, მათ შორის პირველადი მონაცემების დამუშავება სენსორებისგან, ღონისძიების დამუშავების ქვესისტემის, ასევე ავტომატიზაციის ალგორითმს. ახლა დაამატეთ Arduino- ს უკაბელო iot მოწყობილობების განვითარებას Wi-Fi მოდული ESP8266 და უკვე ოფიციალური მხარდაჭერა (თუმცა არ დასრულებულა) უახლესი ESP32 ჩიპი, რომელსაც აქვს მდიდარი პერიფერია ბორტზე და თქვენ გაქვთ უზარმაზარი შესაძლებლობები, რათა განავითაროს ფუნდამენტურად ახალი მოწყობილობები და მოზიდვის ეს პროცესი არ არის მხოლოდ მოყვარულებს, არამედ პროფესიონალები.

მომზადების დროს კაიენი არ იყო esp8266 ჩიპზე მოდულების ოფიციალურ მხარდაჭერაზე. თავდაპირველად, ეს დამსახურებაა საზოგადოებას - მოყვარულთა და ინჟინერი, რომლებიც ან გამოიყენოთ Arduino IDE და ვიცი მხარდაჭერის შესახებ ESP8266 გამოყენებით Cayenne ბიბლიოთეკების შეძლეს დაკავშირება და გამოყენება ESP8266. მაგრამ იმ დროს კი, Cayenne- ის საზოგადოების ფორუმი უკვე იცნობს დიდი რაოდენობა უკაბელო IOT მოწყობილობების სხვადასხვა პროექტები.

Arduino- სა და ESP8266- ზე მისი მოწყობილობების ხანგრძლივი ტესტირების შემდეგ შემიძლია ვთქვა, რომ ეს უკანასკნელი ძალიან სტაბილურია. რამდენიმე დაბალი საიმედოობა Arduino ერთად Ethernet ფარი გამო ცნობილი პრობლემა W5100 Controller Hang, თუმცა, არსებობს რამდენიმე გზა მოსაგვარებლად, ორივე აპარატურა და პროგრამული უზრუნველყოფა. მე შეიძლება ვივარაუდოთ, რომ ეს არ ეხება Arduino დაფები ინტეგრირებული Ethernet და Wi-Fi.

ჟოლოს პიისა და კაიენის სტატიის მომზადების მომენტიდან, არ იყო ბევრი დრო, მაგრამ ახალი ფუნქციები და მხარი დაუჭირა პერიფერია. გარდა იმისა, რომ უზარმაზარი შერჩევა სხვადასხვა გაფართოება დაფები, სენსორები და აღმასრულებელი მოწყობილობები, შესაბამისი ბიბლიოთეკების, პროექტები და მაგალითები Arduino, ახლა Cayenne მომხმარებლებს ხელმისაწვდომია მოწყობილობები, ქსელების და მომსახურების Lora, მხარდაჭერა ბიბლიოთეკები ქსელის პროტოკოლი MQTT ამისთვის Arduino, C, C + +, Mbed, ბიბლიოთეკები მუშაობა MQTT საბროკერო Mosquito. აუცილებლად, ინტერნეტის მოწყობილობების განვითარება და სახლის ავტომატიზაციის სისტემები Arduino- ზე, მე გირჩევთ Cayenne მომსახურება.

ადრე, მე ვიყავი ველოსიპედით, რათა შეიქმნას Arduino მოწყობილობა მონიტორინგი.

Საინტერესო იყო.

/ * - ახალი პროექტი - გრაფიკული ინტერფეისის ეს კოდის კოდი ავტომატურად გენერირდება Remotexy რედაქტორის მიერ. ამ კოდის შესაქმნელად Remotexy Library 2.3.5 ან მოგვიანებით ვერსია ჩამოტვირთვა ბმული http://remotexy.com/en/Library/ დაკავშირება გამოყენებით Remotexy Mobile App http://remotexy.com/en/download/ - for Android 4.3.1 ან უფრო გვიანდელი ვერსიის; - IOS- ისთვის 1.3.5 ან მოგვიანებით ვერსია; ეს კოდის თავისუფალი პროგრამული უზრუნველყოფა; თქვენ შეგიძლიათ გადანაწილდეთ და / ან შეცვალონ იგი GNU- ის ნაკლები ზოგადი საზოგადოებრივი ლიცენზიის საფუძველზე, როგორც ახალი პროგრამული უზრუნველყოფის საფუძველზე გამოქვეყნებული; ლიცენზიის ან ვერსია 2.1 ლიცენზიის, ან (თქვენი ვარიანტი) ნებისმიერი მოგვიანებით ვერსია. * ///////////////////////////////////// // // Remotexy ჩართეთ ბიბლიოთეკა // /// ////////////////////////////////////////// // // Definition დაკავშირებით რეჟიმი და კავშირი Remotexy განსაზღვრავს Remotexy_mode__Sp8266_mode__sp8266_mode__sp8266_hardservial_cloud # include // Connection Settings #Define Remotexy_serial Serial #define Remotexy_serial_speed 9600 #define remotexy_wifi_sid "***********" *********** "***********" *********** "*********" ********* "#define remotexy_cloud_server" Cloud. remotexy .com "განსაზღვრავს remotexy_cloud_port 6376 განსაზღვროს Remotexy_Cloud_Token" ************************** "# მოიცავს / / დაამატეთ DHT11 DHT11 DHT ბიბლიოთეკა; // განცხადების ცვლადი კლასის DHT11 განსაზღვრავს DHT11_PIN 7 // Sensor DHT11 უკავშირდება ციფრული ფიჭვის ნომერი 4 Const int analogsignal \u003d A3; / / დაკავშირება ანალოგური სიგნალიზაცია Pin Const Int DigitalSignal \u003d 8; // აკავშირებს ციფრული სიგნალი Pina Boolean Nogas; // // / / ცვლადი გაზის int gas \u003d 0-ის არსებობის ღირებულების შენახვისთვის; / / ცვლადი გაზის float hum \u003d 0; // ცვლადი ტენიანობის ტემპერატურის შენახვისთვის \u003d 0; / / ცვლადი ტემპერატურის Int Chk; // ცვლადი DHT Char Msgbuffer შეცდომის შენახვისთვის; / / კონფიგურაციის ინტერფეისი #Pragma Pack (Push, 1) Uint8_t Remotexy_conf \u003d (255,1,24,7,74,74,8,13,2, 2,0,38,44,22,12, 81,22,11, 2,26,31,31,79,78,79.70,70, 0.66,132,10,13,31,24,7,10,27, 21,2,24, 66,132,56, 13,31,24,4, 41,31,24,2,24,67,4,26,5,20, 5.38,23,20,52,26,11,67, 4, 63,6,20, 5,39,52,20,5,26, 11); / / სტრუქტურა განსაზღვრავს თქვენი სტრუქტურის კონტროლის ინტერფეისის ყველა ცვლას (/ / შეყვანის ცვლადი uint8_t switch_1; // \u003d 1 თუ გადართვა ჩართულია და 0 თუ გამორთულია // გამომავალი ცვლადი int8_t lefl level_1; // \u003d 0..100) INT8_T Level_2 თანამდებობა; / / \u003d 0..100 დონის პოზიცია cHAR TEXT_1; // \u003d Row UTF8 დამთავრებული ნულოვანი char ტექსტი_2; // \u003d Row UTF8 დამთავრებული ნულოვანი // სხვა ცვლადი UINT8_T Connect_Flag; // \u003d 1 თუ Wire დაკავშირებული, სხვა \u003d 0) Remotexy; #Pragma Pack (POP) /////////////////////////////////////// // END REMOTEXY შედის // ///////////////////////////////////// // // /// განსაზღვრავს pin_switch_1 13 ბათილად setup () (remotexy_init (); pinMode (pin_switch_1, გამომავალი); // TODO თქვენ setup კოდი) ბათილად loop () (remotexy_handler (); DigitalWrite (pin_switch_1 (remotexy.switch_1 \u003d\u003d 0)? დაბალი: High); nogas \u003d DigitalRead (DigitalSignal); // მოხმარებლის ყოფნა GAS \u003d Analogread (AnalogSignal); // და მისი ნომერი CHK \u003d DHT.READ (DHT11_PIN); HUM \u003d DHT.Humidity; Temp \u003d DHT.temperature; remotexy.level_1 \u003d hum; remotexy.level_2 \u003d temp; dtostrf (Hum, 6, 2, Remotexy.text_1); dtostrf (temp, 6, 2, remotexy.text_2); // Todo თქვენ Loop Code / / გამოყენება Remotexy სტრუქტურა მონაცემთა გადაცემის )

ჩვენ ვიყენებთ სენდვიჩს დაფებიდან.

მოულოდნელად, ყველაფერი მაშინვე მიღებული:

Cloud Service- ის აღმოჩენის მომენტიდან, რედოტიქსი ფოტოზე გადავიდა ერთი საათის განმავლობაში.

რედეტექსის მუშაობის მახასიათებლები.

1. ყველაფერი ძალიან მარტივია. თავისთავად კარგია. Blynk და Cayenne, მაგალითად, ძნელად ნულიდან ერთი საათის განმავლობაში აღმოჩნდება გასაგები. მაგალითად, "Kascada Cloud" თქვენ უნდა შეიძინოთ სპეციალური.

2. სერვერზე მონაცემების დამუშავება და შენახვა არ არსებობს: ბორტთან კავშირი არ არის - განაცხადი "არანაირი კავშირი" არ არის დაკიდებული.

3. უფასო 5 დიზაინის ელემენტები, მაგრამ პრო აპლიკაცია არ არის უფრო მეტი, ვიდრე ნახევარი დღე.

4. არსებობს შესაძლებლობა, ერთი აპლიკაცია იყოს, რომ Cloud სერვერისა და პირდაპირი მეშვეობით საბჭოსთან კომუნიკაცია. მართალია, არა ამავე დროს. რა თქმა უნდა. და დაუყოვნებლივ შეუძლებელია - თქვენ უნდა შეცვალოთ ესკიზის ბორტზე. ასევე არსებობს სმარტფონის კომუნიკაციის უნარი Bluetooth და USB ფორუმში.