Pengembangan perangkat IOT di Arduino menggunakan layanan MyDevices Cayenne. BLYNK: Layanan Cloud Raspberry dan Arduino Mudah untuk Kontrol Arduino

Sesi - Murni di jajaran penutup mata!
Hari ini, kami akan mengkonfigurasi manajemen ESP8266 dalam 5 menit dari ponsel cerdas Anda (iOS atau Android) menggunakan layanan Blink Cloud yang baru. Video dan detail di bawah potongan.


Instal Aplikasi Blynk di Smartphone

Daftar dalam Lampiran Lampiran dan buat proyek baru.

Masukkan nama proyek, misalnya Esp8266.. Di bidang Model perangkat keras. Memilih Esp8266.. (Saya harap Anda akan melihat daftar peralatan yang didukung yang mengesankan) dihasilkan secara otomatis Token auth. Kirim ke kotak surat Anda.

Setelah menekan tombol Membuat. Anda akan tersedia bidang kosong untuk merancang UI dari panel kontrol ESP8266 Anda.

Klik pada plus di bagian atas di sebelah kanan - bilah alat akan muncul Kotak widget. Untuk menambahkan widget ke panel kontrol Anda. Perlu dicatat bahwa daftar widget masih akan diisi ulang.

Untuk sampel, pilih jenis widget Tombol. - Widget ini segera ditambahkan ke panel Anda. Edit dengan satu sentuhan. Nama tidak dapat diisi, tepat Anda dapat memilih warna indikator, di lapangan PIN output. Pilih Kanan Digital., dan meninggalkan pin gratis Gpio.. Di bawah beralih jenis tombol ke Beralih.

Selanjutnya, atur Perpustakaan Blynk di Arduino IDE. Ini akan membantu Anda instruksi resmi. Anda juga dapat mengambil perpustakaan versi lalu. Langsung dari repositori dan diatur secara manual. Selanjutnya, pilih contoh Esp8266_standalone. dan meresepkannya Token auth.yang kami dapatkan melalui surat SSID dan kata sandi kamu Wifi Network.. Lengkapi dan tuangkan sketsa di ESP8266.

Hal yang luar biasa - ESP8266. Prosesor yang cukup kuat, banyak memori, pengontrol wifi bawaan. ESP32, tentu saja, bahkan lebih baik, tetapi juga lebih mahal. Tapi ini bukan tentang mereka sekarang. Lebih tepatnya, tidak persis tentang mereka. Pada ESP, sangat mudah untuk membangun hampir semua otomasi rumah, dan dengan remote Control. dan kontrol dari smartphone atau komputer. Contoh perangkat semacam itu ada di situs ini. Satu masalah - untuk bekerja dengan perangkat seperti itu tidak hanya dari jaringan rumah, dan dari mana saja di planet ini (di mana ada akses ke Internet, tentu saja), diperlukan server tertentu - seorang mediator yang akan menerima pesan dari perangkat dan mentransfernya kepada Anda, dan sebaliknya. Tentu saja, ada opsi dan komunikasi langsung, tetapi saya tidak akan menganggap mereka di sini karena kompleksitas implementasi atau biaya tinggi.

Daftar yang diberikan dalam artikel ini tidak mengklaim kepenuhan dan bahkan lebih pada keunikan, saya hanya mencoba menganalisis dan menyusun kemungkinan layanan gratis tertentu. Pertama-tama, untuk diri sendiri, tetapi jika itu akan bermanfaat bagi orang lain - gunakan pada kesehatan. Ketika saya mencari server MQTT publik untuk diri saya sendiri, saya kebobolan banyak sumber daya internet. Saya sedang mencari yang pertama-tama di ESP8266.ru, tetapi sayangnya, ada setengah dari layanan atau tidak ada pekerja atau tidak lagi cocok untuk saya untuk satu atau parameter lain. Semua yang tertulis di sini adalah yang pertama dari semua pengalaman pribadi saya, pengalaman Anda dengan layanan ini dapat sepenuhnya berbeda. Jika Anda tahu layanan lain seperti itu - tulis di komentar atau surat (surat dan kontak lainnya ada di sudut kanan atas tutup situs), dan saya akan mencoba memeriksa dan menambahkan daftar.

Broker MQTT

Protokol MQTT mungkin adalah hal pertama yang Anda beli di mesin pencari ketika Anda mencari jalan remote Control. Berbagai "potongan pintar". Saya tidak dapat menjamin bahwa ini adalah protokol termudah (saya tidak perlu dibandingkan dengan sesuatu, saya entah bagaimana berhenti padanya segera), tetapi saya secara pribadi dia tidak menimbulkan kesulitan. Contoh - banyak. Perpustakaan siap untuk Arduino IDE juga tidak sendirian, seperti yang mereka katakan "pilih rasanya". Aplikasi seluler cukup untuk memilih keduanya untuk smartphone, dan untuk panel kontrol yang terbuat dari tablet kuno. Jadi ini mungkin merupakan opsi paling populer untuk mengimplementasikan remote control. Server cloud juga cukup banyak, mereka disebut broker MQTT. Saya tidak akan mempertimbangkan prinsip operasi protokol dan server di sini, informasi ini cukup cukup di situs lain.

Cloudmqtt.com.

Saya mulai dari layanan ini. Hanya karena hampir semua contoh bekerja dengan protokol MQTT didasarkan pada itu. Layanan ini cukup nyaman dan sederhana, semuanya intuitif. Pada 2018, layanan ini diizinkan secara gratis rencana Tarif Menghubungkan hingga 10 perangkat yang cukup puas. Namun, pada akhir 2018, pemilik layanan merevisi kebijakan mereka dan pada rencana tarif "Cute Cat" gratis sekarang hanya 5 koneksi yang tersedia. Bagi saya pribadi, ini sangat kecil. Saya secara bersamaan dapat menghubungkan tiga perangkat "kontrol" - dua smartphone dan tablet, dan hanya dua koneksi yang tersisa untuk ESP itu sendiri. Dan saya sudah memiliki banyak mobil otomatis yang berbeda, dan masih direncanakan. Tentu saja, Anda dapat mendekati beberapa contoh broker di dalamnya akunMeskipun mereka baru saja memperkenalkan batasan. Tetapi dalam hal ini, tiga perangkat kontrol masih akan "mengirim email" tiga koneksi untuk setiap contoh, dan Soory ekonomi seperti itu - dan musuh tidak menginginkannya. Paket pengisian berbayar termurah "Humble Hedgehog" berdiri pada saat menulis $ 5 per bulan. Tidak, saya seorang amfibi yang cukup terkenal untuk membayar uang seperti itu setiap bulan. Ya, dan kemungkinannya tidak begitu pintar - 25 koneksi. Karena itu, saya harus mencari opsi lain.

Pro.: nyaman dan mudah

Minus.: Hanya 5 koneksi pada paket tarif gratis

flespi.IO.

Untuk waktu yang cukup lama saya menggunakan broker mqtt.flespi.io. Dia menarik saya dengan fakta bahwa pada saat ketika saya mulai bekerja dengannya, ia mengakui sebanyak 100 koneksi yang bersaing secara bersamaan dan sejumlah besar pesan yang ditransmisikan dan disimpan. Menawan! Namun, layanan ini tidak senyaman cloudmqtt. Panel kontrol tidak terlalu nyaman (meskipun ditingkatkan), pengaturan hak akses tidak jelas pada pandangan pertama, otorisasi dan perangkat, dan token smartphone dengan periode terbatas. Tidak ada fungsi dari beberapa fungsi, atau saya tidak menemukan cara menggunakannya. Misalnya, cara menghapus pesan yang disimpan (dipertahankan) dari pangkalan - saya tidak pernah menemukan. Sebenarnya, ini bukan hanya broker MQTT, jadi mungkin saya tidak mengerti semua kemampuannya. Terkadang pada smartphone yang berbeda Menghapus informasi dalam beberapa topik. Beberapa kali karena kesalahan dalam firmware dan banding permanen perangkat ke server, layanan sepenuhnya memblokir akun selama beberapa jam. Tetapi semua ini bisa dimaafkan untuk peluang seperti itu. Tapi sayangnya, dan di sini keinginan untuk mendapatkan mengambil puncak - sejak 2019, pembatasan 10 koneksi diperkenalkan pada tarif gratis. Tidak ada yang tercela dalam hal ini, tetapi saya belum siap untuk membayar uang seperti itu untuk hobi, dan bahkan untuk layanan dengan kualitas yang cukup meragukan. Secara umum, kami akan mencari yang sama, tetapi dengan tombol mutiara ...

Pro.: Sebelum itu hingga 100 koneksi

Minus.: Tidak nyaman, dilipat dalam mengatur akses, dipertahankan dari panel tidak dihapus

Broker Umum Hivemq.

Pialang umum gratis tanpa batasan apa pun. Paling sedikit halaman Utama Pialang tidak ditulis tentang mereka. Tetapi ada yang besar "tapi" - broker ini tidak memiliki otorisasi, yaitu tidak. Artinya, semua yang dikirim antara perangkat dan Anda memiliki pesan dapat membaca siapa pun. Ini tidak akan menjadi tragedi besar jika itu hanya indikator suhu dan kelembaban, mereka tidak mewakili rahasia. Tetapi ketika datang ke manajemen jarak jauh "rumah pintar", maka broker seperti itu pada prinsipnya tidak cocok. Bagaimanapun, saya tidak ingin ada yang mengaktifkan perangkat apa pun di rumah, atau menonaktifkan alarm, misalnya.

Pro.

Minus.

Eclipse MQTT.

Broker publik lain tanpa otorisasi. Seperti yang tertulis di situs, broker ini dirancang terutama untuk pengujian dan tidak dimaksudkan untuk menyimpan dan mengirimkan informasi rahasia. Untuk terhubung ke server, Anda perlu menggunakan parameter berikut: server iot.eclipse.org, port 1883; Untuk TLS v1.2, v1.1 atau v1.0 - port 8883. Koneksi dan oleh WebSockets tersedia. Secara umum, sama dengan HIVEMQ, hanya dalam proyeksi lateral ...

Pro.: Gratis, tanpa batasan konektivitas

Minus.: Cocok untuk pengujian dan stasiun cuaca tanpa remote control

mosquitto.org.

Dan broker publik lain tanpa otorisasi. Anda tidak dapat mengulangi, sama seperti HIVEMQ dan Eclipse MQTT. Perhatikan bahwa semua server ini mendukung enkripsi TLS tidak berarti bahwa data Anda dilindungi. Saluran transmisi antara perangkat dan server dilindungi, tetapi data itu sendiri berada di akses terbuka.

Pro.: Gratis, tanpa batasan konektivitas

Minus.: Cocok untuk pengujian dan stasiun cuaca tanpa remote control

IBM Cloud (Bluemix)

Ini bukan broker MQTT, ini adalah keseluruhan platform "internet platform hal-hal". Tetapi dalam komposisinya ada broker MQTT. Pada rencana tarif gratis "Lite" diizinkan hingga 500 perangkat terdaftar, dan informasi 200 MB pada setiap metrik. Ini cukup elegan tidak hanya untuk rumah, tetapi juga untuk perangkat komersial. Tapi, seperti biasa, bukan tanpa "tetapi". Pertama, sangat sulit untuk memahami platform ini. Ada dokumentasi, tetapi sangat banyak. Tidak - sangat! Saya menghabiskan tidak satu jam untuk lebih - kurang mengerti bagaimana mengkonfigurasi koneksi. Kedua, platform ini memungkinkan Anda untuk menerbitkan topik secara ketat dalam format tertentu: "IOT-2 / EVT / Event_ID / FMT / FORMAT_STRING". Demikian pula, dengan perintah: "IOT-2 / CMD / COMMAN_ID / FMT / FORMAT_STRING". Dan semua - tidak ada kebebasan - yaitu, hanya nomor pesan dan pesan itu sendiri. Tetapi format pesan yang ditransmisikan sudah lebih besar - "JSON", "XML", "TXT", dan "CSV". Mungkin seseorang pendekatan semacam itu akan tampak sangat benar dan nyaman, tetapi dia tidak menarik saya. Ya, dan sulit untuk semua niat - peluang, rupanya, banyak, tetapi dengan ini semua orang harus bisa terlebih dahulu.

Pro.: Batas yang sangat besar pada koneksi

Minus.: Sangat rumit untuk pemula, pembatasan pada topik

mqtt.dioty.co.

Ini adalah broker yang sepenuhnya gratis. Sampai. Berikut ini ditulis pada halaman Pengaturan Koneksi: "Broker MQTT ini saat ini bekerja di Beta. Pada tahap tes beta ini, kami tidak akan membebankan biaya jika Anda melebihi batas dalam 50000 pesan per bulan. Namun, kami berhak untuk sementara menangguhkan akun Anda jika Anda memengaruhi layanan pengguna lain. Dalam hal ini, kami akan selalu menghubungi Anda melalui email untuk mencoba memahami kebutuhan spesifik Anda dan bagaimana kami dapat memuaskan mereka. ". 50.000 posting per bulan adalah sekitar 70 pesan per jam, yang tidak begitu banyak jika Anda menganggap bahwa satu perangkat dapat mempublikasikan untuk sesi data dari sensor hingga 50 pesan. Broker mendukung otorisasi dan koneksi TLS. Pendaftaran diikat ke Akun Google. Ada batasan kecil - semua topik Anda harus dimulai dengan alamat surelDimana Anda telah mendaftar dalam layanan, misalnya, jadi: "/ [Dilindungi Email]/ ... / ... / ... ". Tetapi masalah ini kurang lebih signifikan hanya ketika menyiapkan klien MQTT pada smartphone (dapatkan lebih banyak teks), dan tidak selalu. Menurut pendapat saya, layanan ini sangat layak mendapat perhatian. Saya tidak memeriksa dengannya, saya baru saja mendaftar.

Pro.: sepenuhnya gratis

Minus.: Awalan tertentu untuk topik diperlukan, pembatasan sekitar 70 pesan per jam

Solace.cloud (pubsub +)

Ini bukan begitu banyak broker MQTT sebagai seluruh platform IOT. Pada rencana tarif gratis, hingga 50 koneksi diizinkan untuk 1 GB data yang ditransmisikan per bulan, hingga 4 GB data yang disimpan (pesan retian). Tidak buruk. Tetapi bahkan telah versi gratis Banyak pengaturan - sulit untuk mengetahui "dengan ruang lingkup". Itu sebabnya pada suatu waktu saya tidak menikmatinya. Mungkin waktunya akan tiba, saya akan menangani dan mengkonfigurasi.

Pro.: Hingga 50 koneksi

Minus.: Cukup terlipat dalam penguasaan

myqtthub.com.

Rupanya broker Estonia. Pada rencana tarif gratis memungkinkan: hingga 100 pengguna, tetapi hingga 50 koneksi; 10MB data tersimpan; Hingga 50 langganan untuk koneksi, maksimum 250 langganan (dan tidak jelas, berlangganan "Beranda / #" adalah satu langganan atau banyak?); 300 pesan per menit, tetapi tidak lebih dari 800 per jam dan tidak lebih dari 10.000 per hari. Jika Anda melanjutkan dari publikasi reguler (setiap lima menit), ternyata tidak lebih dari 34 pesan sekaligus. Masih ada batasan - lebih seperti lebih banyak di halaman utama layanan. Keterbatasan, bagaimanapun, terlihat sangat nyata untuk digunakan di rumah. Tidak mencoba ...

Pro.: Hingga 50 koneksi

Minus.: Pembatasan jumlah pesan

mqtt.by.

Mudah digunakan broker Belarusia. Tidak ada apa-apa tentang batasan. Mendukung otorisasi, tetapi dimungkinkan untuk membuat beberapa topik dengan publik, yaitu, untuk membuka untuk semua pengguna layanan lainnya. Tetapi tidak ada dukungan koneksi yang aman (TLS), itu bisa sangat penting untuk beberapa aplikasi. Setiap topik yang diterbitkan harus dimulai dengan awalan "/ user / user_name", yang agak memperumit pengaturan pelanggan MQTT seluler, tetapi tidak signifikan. Dari keunggulan - di server ada topik publik dengan tanggal dan waktu, yang sangat nyaman untuk panel kontrol berdasarkan tablet, yang bekerja 24 jam sehari - pada saat yang sama dan jam tangan masih sendirian (seratus dua belas 🙂). Secara umum, broker yang cukup normal, hanya untuk bekerja stabil.

Pro.: Tanpa batasan apa pun, ada topik umum, Anda dapat mempublikasikan topik Anda

Minus.: Tidak ada enkripsi koneksi SSL / TLS

mqtt.4api.ru.

Broker gratis Rusia - "Kami menyediakan akses ke server MQTT gratis untuk semua orang." Otorisasi dan pendaftaran layanan melalui jaringan sosial. Tampaknya muncul, tidak terlalu lama. Meskipun situs itu sendiri memiliki sertifikat SSL, parameter data hanya ditentukan untuk "tanpa SSL", tampaknya koneksi SSL untuk perangkat tidak tersedia. Masih pada halaman koneksi yang ditulis sebagai berikut: "Kami tidak merekomendasikan menggunakan server ini Untuk proyek vital. " Panel kontrol memiliki fungsionalitas yang sangat sederhana, sehingga Anda perlu menggunakan pihak ketiga

Pro.: tanpa batasan apa pun

Minus.: Tidak ada enkripsi koneksi SSL / TLS, fungsional panel kontrol yang buruk

Layanan lainnya

Satu mqtt tidak akan diberi makan. MQTT sederhana dan nyaman, tetapi memungkinkan Anda untuk melihat informasi "di sini dan sekarang", tanpa riwayat perubahan waktu. Untuk melihat grafik ada layanan lain, untuk membangun pekerjaan yang juga tidak sulit. Beberapa dari mereka berada di bawah.

Hal-hal.

Hal-hal tersedia sebagai layanan gratis Untuk proyek kecil non-komersial (<3 миллиона сообщений в год или ~ 8 200 сообщений в день). Сервис позволяет накапливать получаемые данные в своих хранилищах, после чего их можно удобно просматривать в виде графиков. В том числе и на сторонних сайтах, .

Dari fitur-fitur layanan - ia memiliki integrasi dengan matlab analytics, tetapi seberapa banyak saya tidak mencoba untuk mengkonfigurasi skrip matlab, jadi saya tidak keluar. Yah, tidak terlalu banyak dan diinginkan. Dalam akun gratis, layanan ini memungkinkan Anda untuk membuat hingga empat saluran, masing-masing saluran dapat disimpan hingga 8 bidang dengan data yang berbeda. Bahkan di akun gratis ada batasan lain - tidak mungkin untuk mempublikasikan data lebih sering dari sekali setiap 15 detik (disarankan jeda 20 detik), itu seperti "perlindungan" dari melebihi batas 8 200 pesan per hari. Pada prinsipnya, semua "penerbit" saya dengan mudah masuk ke batas ini, saya punya cukup. Saya menggunakan layanan ini untuk waktu yang cukup lama, cukup nyaman dan sederhana, jika tidak menghitung matlab. Ada beberapa program - pelanggan untuk Android, tetapi jauh lebih sedikit daripada untuk MQTT.

Pro.: Penggunaan sederhana di ESP, situs yang nyaman

Minus.: Banyak batasan pada akun gratis

open-monitoring.online.

Layanan ini mirip dengan hal-hal - Anda juga dapat mengirim data ke sana dan kemudian telusuri dalam bentuk tabel, grafik, dan histogram. Antarmukannya lebih sederhana dari pada hal-hal, tetapi juga untuk menyesuaikannya jauh lebih mudah.

Awalnya, layanan ini dibuat, seperti yang saya mengerti, untuk memantau parameter pembangkit listrik tenaga surya pribadi, tetapi juga cocok untuk keperluan lain. Layanan ini tersedia untuk semua orang dan gratis, tanpa batasan signifikan saat ini. Satu-satunya batasan yang telah saya pahami adalah mengirim sekelompok nilai ke server untuk satu pengontrol, itu tidak mungkin lebih sering sekali per menit. Tetapi pada jumlah nilai untuk setiap pengontrol dan pada jumlah pengontrol pembatasan, tampaknya tidak. Mengirim data ke server dilakukan dengan permintaan get sederhana, implementasi pada arduinoide telah memakan waktu tidak lebih dari satu jam. Tidak seperti hal-hal yang disimpan, data yang disimpan dapat dilihat pada satu bagan (dengan overlay), serta menyesuaikan beberapa dasbor untuk menampilkan nilai terbaru. Anda juga dapat melihat nilai yang disimpan dalam bentuk tabel sederhana.

Pro.: Penggunaan sederhana pada ESP, antarmuka yang nyaman, hampir tidak ada batasan

Minus.: Tidak ada kemungkinan untuk menarik grafik di situs pihak ketiga (tidak seperti hal-hal), yah, atau saya belum menemukan cara melakukannya

beebotte.

Di halaman utama layanan ini, berikut ini ditulis: "Menghubungkan semuanya dan semuanya secara real time menggunakan API kaya yang mendukung istirahat, Websockets, dan MQTT." Secara pribadi, saya belum menggunakan layanan ini. Dilihat oleh apa yang saya mengerti dari deskripsi, ini adalah campuran liar broker MQTT dan hal-hal. Dalam mode bebas, jumlah saluran dan sumber daya tidak terbatas, tetapi jumlah pesan terbatas: 0,05 juta per hari | 1,5 juta per bulan. Untuk pesan yang disimpan, batas bahkan lebih sedikit: 5 000 per hari | 150.000 per bulan. Selain itu, pesan disimpan hanya untuk maksimal tiga bulan, setelah itu mereka dihapus. Artinya, cuaca sepanjang tahun Anda tidak akan melihat. Tentang klien ponsel saya untuk smartphone belum diketahui oleh saya. Terdaftar. Saya akan mencoba. Kesimpulan untuk melakukannya terlalu dini.

Blynk.

Layanan yang dipromosikan aktif untuk remote control "perangkat pintar". Saya bahkan akan mengatakan secara agresif - semua forum menulis, di mana kita perlu dan di mana itu tidak perlu. Secara umum, saya secara pribadi terlihat, platform ini bukan untuk pecinta, melainkan untuk bisnis. Pada "mode bebas" diberikan sangat sedikit sumber daya, kecuali untuk mengingat LED atau nyalakan satu relay. Secara umum, saya mencoba sekali - dan melemparkan, segera sumber daya dan berakhir. Terlalu rakus.

Pro.: tidak ditemukan

Minus.: Garegi, klien seluler hanya satu

Meskipun ini semua. Jika Anda tahu cara lain untuk mengelola ESP jarak jauh (diperlukan dengan "seluler") - silakan email saya. Mari kita bahas dan mungkin menambahkan artikel.

Koneksi melalui server cloud remotexy memungkinkan Anda untuk mengontrol perangkat dari mana saja di dunia di mana ada Internet.

Modul ESP8266 akan dikonfigurasi sebagai klien untuk terhubung ke titik akses WiFi. Titik akses harus memiliki akses ke Internet. Perpustakaan Remotexy akan mendaftarkan perangkat pada server cloud.

Aplikasi seluler akan terhubung ke server cloud, dan tidak langsung ke perangkat. Dengan demikian, perangkat akan tersedia dari mana saja di Internet.

catatan:DI saat ini Koneksi melalui server cloud meneruskan langkah pengujian. Ini kemungkinan interupsi di server.

Langkah 1. Buat Proyek Antarmuka Grafis

Langkah 5. Sesuaikan ESP8266

Modul ESP8266 perlu dikonfigurasi. Mungkin modul Anda sudah memiliki pengaturan default yang diperlukan, tetapi lebih baik untuk memeriksanya.

Apa yang perlu Anda periksa:

  • Modul ini memiliki firmware dengan dukungan pada perintah versi tidak lebih rendah dari v0.40;
  • Modul ini dikonfigurasi untuk kecepatan 115200.

Langkah 6. Hubungkan ESP8266 ke Arduino Uno

Hubungkan ESP8266 ke Arduino Uno sesuai dengan skema di bawah ini. Harap dicatat bahwa kontak RX-TX dihubungkan oleh Crosshair.

Karena tingkat sinyal modul ESP8266 adalah 3.3V dan di Arduino, mereka adalah 5V, perlu menggunakan pembagi tegangan resistif untuk mengubah tingkat sinyal.


Langkah 7. Muat sketsa di Arduino.

Sketsa dimuat di Arduino dengan cara biasa. Namun, karena fakta bahwa modul ESP8266 terhubung ke kontak 0 dan 1, pemrograman menjadi tidak mungkin. Kompiler akan menunjukkan kesalahan.

Sebelum pemrograman, cabut kabel akan ke ESP8266 dari kontak 0 dan 1. Pemrograman. Kemudian kembalikan kontak ke tempat itu. Klik tombol RESET ARDUINO.

catatan:Tanda pertama adalah bahwa pemrograman telah berhasil berlalu, ini adalah flight dari LED biru pada modul ESP8266 segera setelah reset. Flickering dari LED biru berarti pertukaran data antara Arduino dan ESP8266. Dalam 8 ini, Arduino telah dikonfigurasi untuk mengkonfigurasi ESP8266 untuk terhubung ke titik akses. Setelah beberapa waktu, LED akan berkedip lagi, yang berarti upaya untuk mendaftar di server Cloud Remotexy.

Langkah 8. Hubungkan dari aplikasi seluler Anda.

Periksa daya ESP8266.

Dimungkinkan juga bahwa ESP8266 Anda tidak memiliki daya catu daya. Beberapa papan Arduino memiliki stabilizer tegangan lemah 3,3 V, yang tidak mampu menerbitkan 200-300 mA dalam mode puncak. Dalam hal ini, dalam monitor serial, Anda juga akan melihat istirahat dari urutan perintah.

Vadim Kolesnik, Tiraspol

Pengembangan perangkat Internet berfitur lengkap yang mengasyikkan, sederhana dan cepat di Arduino menggunakan layanan cloud

Umum

myDevices terlibat dalam pengembangan perangkat lunak dan aplikasi di Internet of Things (IOT) dan merupakan pembagian Avanquest. MyDevices Cayenne - aplikasi drag-and-drop pertama dan layanan cloud untuk proyek pengembangan IOT yang disederhanakan di Raspberry PI.

Portal Radiotozman baru-baru ini telah diterbitkan di mana saya mencoba mengungkapkan keunggulan dan kemampuan utama sistem saat bekerja pada komputer papan tunggal Raspberry PI (RPI). Tetapi proyek Cayenne terus berkembang, pengembang, berdasarkan keinginan pengguna, secara bertahap menambah fitur baru, menghilangkan kekurangan dan kesalahan.

Pengembangan perangkat IOT di Arduino dan Raspberry PI saat bekerja dengan Cayenne berbeda secara fundamental. Mengenai Raspberry PI, platform Cayenne dapat dianggap sebagai lingkungan pengembangan visual: Kami secara fisik menghubungkan periferal yang berbeda ke papan PI Raspberry dan kemudian kami hanya bekerja di lingkungan Cayenne online (mengatur widget, pemrosesan data, tulis algoritma).

Berkenaan dengan Arduino, dasbor Cayenne hanya satu set widget dan kontrol yang memvisualisasikan data dari sensor dan mengirimkan data pengguna untuk mengontrol kontrol atau perangkat eksekutif lainnya. Pengoperasian langsung dengan sensor, perangkat eksekutif, periferal tambahan (misalnya, tampilan, keyboard kedua), pemrosesan kondisi otomatisasi ditugaskan ke mikrokontroler. Dengan kata lain, semuanya bermuara pada pengembangan standar perangkat di Arduino; Pengguna sendiri menulis kode program, tetapi dengan integrasi ke dalam proyek fungsi IOT yang fleksibel dari Cayenne. Dalam pendapat ini, menurut saya, menurut saya, keuntungan utama Cayenne adalah: Anda dapat menghubungkan sensor dan aktuator apa pun ke sistem, tanpa membatasi daftar periferal yang didukung.

Antarmuka pengguna dan persiapan kerja

Adapun antarmuka pengguna sistem, pengaturannya, metode kontrol dan widget di dasbor, semua ini tetap sistem yang sama pada Raspberry PI, tentu saja, dengan pengecualian elemen unik individu yang melekat pada yang terakhir (misalnya, a Remote desktop, status memori, pemuatan prosesor). Karena itu, untuk memahami dasar-dasar bekerja dengan sistem, saya sarankan untuk berkenalan dengan artikel. Semua informasi dalam artikel tersebut relevan untuk antarmuka web sistem dan untuk antarmuka aplikasi seluler. Juga dalam artikel ini menunjukkan daftar pinggiran yang didukung.

Untuk mengembangkan perangkat atau aplikasi IOT, kami perlu:

  • Memiliki akun mereka di layanan Cayenne (Anda dapat menggunakan yang ada);
  • Instal lingkungan pengembangan Ide Arduino yang terintegrasi;
  • Tambahkan perpustakaan fungsi Cayenne di Arduino IDE;
  • Mengkonfigurasi Arduino IDE: Pilih biaya dan port COM yang terhubung;
  • Hubungkan ke Arduino Ethernet Shield atau Wi-Fi Shield Extension Board (atau gunakan papan Arduino dengan antarmuka jaringan terintegrasi).

Saya pikir proses menginstal lingkungan pengembangan IDE Arduino, serta pilihan biaya dan port dalam penjelasan tidak perlu, dan kami akan pergi ke yang utama.

Perpustakaan Cayenne untuk Arduino hanyalah dan cepat dipasang menggunakan manajer perpustakaan (Gambar 2).

Setelah menginstal perpustakaan, kami akan dapat menggunakannya di aplikasi Anda, dan folder baru dengan nama Cayenne akan muncul di bagian Contoh Sketch. Menurut pendapat saya, contoh-contoh ini tidak memungkinkan Anda untuk sepenuhnya memahami cara bekerja dengan sistem, tetapi, namun, mereka harus dieksplorasi, dan juga, mari kita ingatkan Anda bahwa ada bagian besar dari dokumentasi pada sistem Cayenne. Dalam kasus umum, perpustakaan ini adalah satu set sketsa yang memungkinkan Anda menyederhanakan koneksi dan pertukaran data antara sensor / aktuator dan layanan cloud.

Dengan melakukan operasi persiapan, mengkonfigurasi lingkungan pengembangan dan koneksi papan ekstensi perisai Ethernet, Anda dapat mulai mengembangkan perangkat IOT.

Arduino terhubung ke komputer USB, di Ethernet Shield, hubungkan kabel jaringan lokal. Di browser Internet, kami masuk ke akun Cayenne, dan menambahkan perangkat baru di panel kontrol - Arduino. Selanjutnya, pilih jenis papan, metode menghubungkan ke Internet (cukup banyak opsi), perhatikan kunci otorisasi unik untuk perangkat kami dan tunggu papan Arduino ke Cayenne (Gambar 3).

Untuk setiap perangkat baru, kunci unik baru dihasilkan, di masa depan dapat ditemukan di pengaturan perangkat (biaya).

Setelah Anda memilih cara untuk terhubung ke jaringan, jendela dengan kode sumber program mikrokontroler akan muncul. Ini adalah minimum yang diperlukan untuk menghubungkan perangkat ke layanan cloud. Harap dicatat bahwa teks program sudah menentukan kunci otorisasi Anda dan menghubungkan perpustakaan yang sesuai dengan metode yang dipilih untuk menghubungkan ke jaringan (Gambar 4). Salin kode ini dalam Arduino IDE, kompilasi dan beban dengan biaya. Jika semuanya dikonfigurasi dengan benar, maka perangkat aktif dan dasbor baru akan muncul di panel kontrol Cayenne, di mana Anda sekarang dapat menambahkan widget dan kontrol. Selain itu, sudah pada tahap ini, Anda dapat mengontrol jarak jauh dari port arduino digital dan analog yang tersedia, tanpa menulis satu baris kode - di dasbor, tambahkan widget, tentukan jenis port (digital), namanya di papan tulis dan Simpan widget. Sekarang, dengan mengklik tombol di browser, Anda akan mengubah keadaan logis port. Juga, hanya dengan menambahkan widget yang sesuai, Anda dapat mengelola output PWM, menerima data "RAW" dari input Analog Arduino, mengontrol keadaan input digital.

Pengembangan perangkat pada contoh tertentu

Sekarang saya akan memberi tahu Anda tentang fitur dan fungsi tambahan dari sistem. Sebagai contoh, saya mengumpulkan sistem sederhana, yang termasuk:

  • Arduino Uno Board;
  • Papan ekstensi Ethernet Shield pada wiznet w5100 controller;
  • Sensor suhu DS18B20;
  • Photoresistor;
  • Termistor;
  • Beberapa LED;
  • Tampilan OLED pada pengontrol SSD1306.

Diagram skematik sensor penghubung dan LED ke Arduino ditunjukkan pada Gambar 5.

Biarkan saya mengingatkan Anda bahwa sebagian besar pertanyaan terkait dengan koneksi berbagai sensor dan aktuator, Anda dapat menemukan jawaban di bagian dokumentasi.

Saya berpikir tentang menghubungkan LED, sensor suhu digital dan tampilan pertanyaan OLED tidak akan muncul. Sensor iluminasi analog dan suhu terhubung ke input analog sesuai dengan skema pembagi resistif. Pada saat yang sama, untuk rantai termistor, perlu untuk mengetahui resistansi yang tepat dari resistor R6, nilai ini akan digunakan dalam kode sumber selama perhitungan.

Setelah menghubungkan artikel yang ditentukan pada diagram, tulis sketsa Arduino, dan kemudian instal widget yang diperlukan di dasbor Cayenne. Saat ini, Dewan Arduino telah memuat sketsa minimum dan papan ditentukan di dashboard Cayenne. Seperti yang saya katakan di atas, pada tahap ini kita dapat menambahkan widget untuk mengontrol LED D1, D2, serta mendapatkan data "mentah" dari input analog yang dihubungkan termistor dan fotoresistor (Gambar 6, 7).

Tanpa menulis satu baris kode Arduino, kami telah menerima sistem dan kontrol remote control sederhana (Gambar 8).

Untuk menggunakan sensor suhu digital, termistor, PWM, misalnya, untuk mengontrol LED D2, perlu untuk menambahkan sketsa minimum. Untuk memulai, kami mendefinisikan perpustakaan yang diperlukan.

#Include.< CayenneEthernet.h> // Gunakan Biaya Ekstensi Perisai Ethernet
#Include.< CayenneTemperature.h> // fungsi konversi data dengan termistor
#Include.< OneWire.h> // Fungsi untuk bekerja dengan bus 1-wire
#Include.< DallasTemperature.h> // Fungsi untuk bekerja dengan sensor suhu digital
#Include.< Arduino.h> // konstanta standar dan variabel. Arduino.
#Include.< U8x8lib.h> // Perpustakaan untuk bekerja dengan tampilan OLED dalam mode teks
#Include.< Wire.h> // Dukungan untuk antarmuka perangkat keras I 2 C

#Define virtual_pin_1 v0 // saluran virtual untuk sensor DS18B20
#define virtual_pin_2 v1 // - untuk termistor
#define virtual_pin_3 v2 // - untuk D2 LED, kami akan menerima data pada nilai PWM
#Define LED2_PWM 6 // Port Arduino Nyata ke mana D2 LED terhubung

Saluran virtual bukan digital, dan bukan port input / output analog. Saat membaca input analog, pengguna menerima data dari mikrokontroler 10-bit ADC. Nilai yang dikembalikan oleh ADC berada dalam kisaran 0 ... 1023 dan proporsional dengan tegangan pada input ini. Dengan kata lain, jika Anda menghubungkan sensor suhu ke input Arduino analog, Anda tidak akan mendapatkan nilai suhu, transformasi tambahan dan perhitungan matematika akan diperlukan untuk mengubah tegangan - suhu.

Untuk menyederhanakan konversi data, pemformatan dan pemrosesan, saluran virtual dirancang. Ini adalah alat yang agak kuat yang digunakan untuk bertukar antara Arduino dan Cayenne, serta untuk memudahkan pemformatan data untuk tujuan visualisasi mereka yang dapat dimengerti di dasbor. Ingat, saluran virtual tidak memiliki parameter fisik.

Cayenne.virtualwrite (v1, 123) // transmisi nilai integer virtual channel v1
Cayenne.virtualwrite (v2, 12.34) // Transfer Nilai Floating-Comma Virtual Channel V2

Misalnya, dengan membaca sensor suhu analog, kami akan dapat mengkonversi nilai ke derajat Celcius dan mentransfer nilai ini ke dasbor. Selain itu, saluran virtual memungkinkan Anda untuk mengimplementasikan kontrol setiap pinggiran yang terhubung ke port analog atau digital Arduino, tanpa perlu menulis kode tambahan. Saat ini, dua jenis data didukung dengan saluran virtual yang beroperasi: integer (integer) dan floating point (float). Di masa depan, direncanakan untuk mendukung tipe dan array simbolis. Di dasbor pada saluran virtual Anda dapat menghubungkan dan mengkonfigurasi jenis data yang diambil oleh widget pengguna untuk visualisasi.

// port digital ke sensor DS18B20 akan terhubung. Jangan gunakan port Arduino 0 dan 1 (RX / TX).
Const int ds18b20_pin \u003d 2;
// port analog ke mana termistor terhubung.
Const int thermistorpin \u003d 0;
// Resistance ke resistor permanen (9 com), termasuk dalam seri dengan termistor ke tanah.
Const Float Resistance \u003d 9000;
// Kunci Otorisasi Cayenne. Anda dapat menemukannya di antarmuka web Cayenne pada tab Pengaturan Perangkat.
Char token \u003d "640C9ODI4";
Onewire onewire (ds18b20_pin);
Sensor dallastemperature (& onewire);
Termistor termistor (termistorpin, resistensi);

Atas kebijakannya, hampir pada tahap apa pun, Anda dapat menambahkan pemilihan informasi debug ke kode sumber ke port berurutan.

Di bagian inisialisasi, kami akan menunjukkan fungsi-fungsi berikut:

void Setup ()
{
Cayenne.begin (token); // Hubungkan ke Cayenne dengan kunci otorisasi yang ditentukan
Sensors.begin (); // Inisialisasi sensor suhu digital
U8x8.begin (); // Inisialisasi dan tampilan informasi teks pada tampilan OLED

u8x8.setpowersave (0);
U8x8.setfont (U8x8_font_torussbold8_r);
U8x8.drawstring (2.0, "uji cayenne");
U8x8.drawstring (1,2, "menjalankan sistem");
}

Dalam siklus program utama, kami hanya akan memiliki satu fungsi:

void Loop ()
{
Cayenne.run ();
}

Semua pertukaran data dengan dasbor Cayenne dilakukan dengan menggunakan beberapa fungsi:

Cayenne_in (virtual_pin) - Menentukan fungsi yang disebut pada saat diterima oleh perangkat data yang diperbarui melalui saluran virtual dari server Cayenne.

Cayenne_out (virtual_pin) - Menentukan fungsi yang disebut ketika Anda ingin mengirim data yang diperbarui dari perangkat ke server Cayenne.

Cayenne_connected () - Fungsi dilakukan setiap kali pada perangkat terhubung ke server Cayenne. Secara umum, fitur ini digunakan untuk menyinkronkan.

Cayenne.syncall () - Fungsi yang menghasilkan permintaan ke server Cayenne untuk menyinkronkan semua widget. Status port analog dan digital Arduino akan dipulihkan, dan setiap saluran virtual akan menghasilkan acara Cayenne_IN.

Cayenne.syncVirtual (virtual_pin) - Sinkronisasi dengan saluran virtual yang ditentukan. Sebagai hasil dari eksekusi, pawang Cayenne_in yang sesuai disebut.

Dalam diagram saya, LED D2 terhubung ke port Digital D6 Arduino. Port ini memiliki fungsi alternatif - output PWM. Untuk mengimplementasikan remote control LED ini dalam mode PWM, kita perlu menerima data dari dasbor. Untuk melakukan ini, tulis fungsi yang akan dieksekusi saat memperbarui data melalui saluran virtual v2:

Cayenne_in (v2)
{
// Dapatkan data pada nilai PWM dari dasbor (slider)
int pwmvalue \u003d getValue.Asint (); // Nilai dalam kisaran 0 - 1023
Analogwrite (led2_pwm, pwmvalue / 4); // untuk PWM, nilainya harus berada di kisaran 0 - 255
}

Sekarang kami akan menambahkan widget "slider" di dasbor dengan nama LED_2 PWM (PWM), dan dalam pengaturannya, kami menentukan bahwa ia berfungsi melalui saluran virtual 2 (Gambar 9).

Setelah mengunduh sketsa di papan tulis, Anda dapat menggunakan slider pada dashboard cayenne mengontrol luminositas D2 LED. Semuanya sangat cepat dan mudah ...

Cayenne_out (v0)
{
Sensors.requesttemperature (); // Terima data dari sensor suhu digital.
// Konversi data dari termistor, format dan kirim ke server melalui saluran virtual v1
Cayenne.celsiuswrite (v1, thermistor.getcelsius ());
// format data dari sensor suhu digital dan kirim ke saluran Virtual Channel V0
Cayenne.celsiuswrite (v0, sensor.gettempcbyindex (0));
}

Melalui penggunaan saluran virtual, seluruh kode fungsi untuk mentransmisikan data yang benar-benar berbeda terdiri dari dua baris. Di dasbor, tambahkan widget untuk sensor suhu DS18B20 dan termistor (mereka siap di panel kontrol). Kustomisasi widget, muat sketsa dengan biaya, dan ... Siap (Gambar 10A, 10b)!


Gambar 10. Pandangan dasbor Cayenne untuk mengontrol Arduino (sensor suhu,
Cahaya, LED Control D1, PWM LED Control D2):

Jangan lupa bahwa fungsi kontrol dan kontrol yang sama tersedia di aplikasi mobile.. Semua widget yang dipasang di antarmuka web akan melihat dalam aplikasi seluler (Gambar 10b).

Penampilan Perangkat dengan periferal yang terhubung ditunjukkan pada Gambar 11.

Kemampuan untuk mengembangkan perangkat IOT nirkabel

Anda dapat melihat bahwa pada beberapa tangkapan layar, panel kontrol saya terlihat, di mana selain Arduino Uno dan Raspberry PI, ada perangkat bernama ESP8266-1. Baiklah perangkat tambahan Pada modul ESP-12 yang terkenal (ESP8266), yang terhubung ke server Cayenne dengan Wi-Fi dan memiliki dashboard terpisah (Gambar 12A, 12b). Perangkat seperti itu adalah kontrol nirkabel dan kontrol node. Dua LED terhubung ke modul (satu terhubung ke output PWM ESP8266) dan sensor suhu digital DS18B20.


Gambar 12. Dasbor untuk perangkat nirkabel pada modul ESP-12:
a) antarmuka web, b) aplikasi seluler.

Berkat dukungan kernel ESP8266, lingkungan Ide Arduino, implementasi perangkat IOT nirkabel dengan Cayenne tidak berbeda dari pengembangan di Arduino. Dengan kata lain, modul apa pun pada chip ESP8266 adalah papan Arduino dengan antarmuka Wi-Fi. Untuk modul Wi-Fi ini, kami menulis sketsa serupa, kami menggunakan perpustakaan yang sama untuk bekerja dengan sensor, port input / output digital dan analog tersedia bagi kami. Modul ini telah mengakumulasi sejumlah besar informasi, berbagai dokumentasi dan perkembangan.

Diagram koneksi perifer ke modul ESP8266 ditunjukkan pada Gambar 13. Saya menggunakan modul ESP-12 yang terpisah tanpa papan transisi dengan sirkuit daya terintegrasi dan antarmuka pemrograman, yang sangat rumit pekerjaan pada tahap unduhan sketsa. Opsi optimal akan menjadi penggunaan modul tipe Nodemcu V3 siap pakai, yang dibuat dalam faktor bentuk Arduino dan memiliki skema pencocokan antarmuka. (Sangat momen penting Saat memprogram modul). Penampilan modul dengan LED yang terhubung dan sensor suhu ditunjukkan pada Gambar 14.

Sedangkan untuk menghubungkan ke server Cayenne dan pertukaran data, semuanya ada di sini untuk Arduino. Semua konsep tentang saluran virtual disimpan, fungsi yang sama digunakan, kunci otorisasi unik juga digunakan. Perbedaan hanya pada tahap koneksi modul ke Internet.

Untuk menghubungkan perangkat pada modul ESP8266, kami bertindak secara analog dengan penambahan papan Arduino apa pun dan bereaksi terhadap siaga untuk menghubungkan perangkat ke Cayenne, di mana sketsa minimum akan dihasilkan.

Kita perlu mengubah sketsa ini. Kami menghubungkan perpustakaan berikut:

#Include "cayennedefines.h" // konstanta dan variabel cayenne
#include "bllynksimpleesp8266.h" // fungsi untuk bekerja dengan ESP8266
#include "cayennewifylient.h" // fungsi untuk implementasi klien Wi-Fi

char token \u003d "3YJ62U9OGI";
Char ssid \u003d "network_ssid"; // SSID dan kata sandi untuk jaringan Wi-Fi Anda.
Char Password \u003d "Network_Password";

Di bagian inisialisasi, tambahkan string:

Cayenne.begin (token, ssid, kata sandi);

Kompilasi dengan memuat ke dalam modul (membutuhkan waktu lebih lama daripada mengunduh ke papan Arduino), kami berharap dapat menghubungkan dan mengaktifkan perangkat baru di dasbor Cayenne. Selanjutnya, semua untuk Arduino: Tambahkan fungsi untuk bekerja dengan sensor dan port I / O, tambahkan widget ke dasbor. Hanya menyenangkan, bukan?!

Kesimpulan

Menurut hasil bekerja dengan Cayenne pada Raspberry Pi dan Arduino, saya pasti dapat mengatakan bahwa Raspberry PI tidak boleh digunakan untuk mengembangkan perangkat Internet tentang hal-hal, bahkan dengan Cayenne. Apa yang tidak diceritakan tentang Arduino - meskipun sumber daya yang terbatas, kurangnya multitasking, daya komputasi rendah (meskipun, ini adalah momen yang diperdebatkan, mengingat karakteristik papan Arduino baru pada prosesor ARM), itu sangat ideal untuk mengembangkan IOT sederhana Perangkat dan sistem otomasi rumah.

Selain itu, dalam konteks ini, keuntungan utama Arduino, seperti yang saya perhatikan di atas adalah kemampuan untuk secara mandiri mengembangkan perangkat, mempelajari sirkuit, menulis kode, mengembangkan keterampilan pemrograman, meskipun argumen programmer profesional, yang tidak dapat dipelajari dari Arduino. Mungkin, tapi ... dalam kaitannya dengan Arduino, platform Cayenne hanya menyediakan grafis antarmuka pengguna Dan beberapa pemrosesan data yang disederhanakan. Semua sisanya harus Anda kembangkan sendiri, termasuk pemrosesan data primer dari sensor, subsistem pemrosesan acara, serta algoritma otomatisasi. Sekarang tambahkan ke Arduino kemudahan mengembangkan perangkat IOT nirkabel ke modul Wi-Fi ESP8266 dan sudah mendukung resmi (meskipun tidak lengkap) chip ESP32 terbaru, yang memiliki pinggiran yang kaya, dan Anda memiliki peluang besar untuk mengembangkan perangkat baru yang mendasar dan Menarik proses ini bukan hanya pecinta, tetapi juga para profesional.

Pada saat persiapan, Cayenne tidak dilaporkan atas dukungan resmi modul pada chip ESP8266. Awalnya, ini adalah manfaat komunitas - amatir dan insinyur yang bekerja atau menggunakan Arduino IDE dan ketahui tentang dukungan ESP8266, menggunakan pustaka Cayenne dapat terhubung dan menggunakan ESP8266. Tetapi bahkan pada saat itu, forum komunitas Cayenne sudah terbiasa jumlah besar Berbagai proyek perangkat IOT nirkabel.

Setelah pengujian panjang perangkatnya di Arduino dan ESP8266, saya dapat mengatakan bahwa yang terakhir bekerja sangat stabil. Beberapa keandalan rendah Arduino dengan Ethernet Shield disebabkan oleh masalah terkenal. Namun, kontroler W5100, ada beberapa cara untuk menyelesaikannya, baik perangkat keras dan lunak. Saya dapat berasumsi bahwa ini tidak menyangkut papan Arduino dengan Ethernet atau Wi-Fi terintegrasi.

Dari saat persiapan artikel tentang Raspberry PI dan Cayenne, tidak ada banyak waktu, tetapi fitur baru dan pinggiran yang didukung menjadi jauh lebih besar. Selain memiliki banyak pilihan berbagai papan ekstensi, sensor dan perangkat eksekutif, perpustakaan yang relevan, proyek dan contoh untuk Arduino, sekarang di Cayenne, pengguna tersedia perangkat, jaringan, dan layanan LORA, Pustaka dukungan protokol jaringan MQTT untuk Arduino, C, C ++, MBED, perpustakaan untuk bekerja dengan nyamuk broker MQTT. Jelas, untuk mengembangkan perangkat Internet dan sistem otomasi rumah di Arduino, saya akan merekomendasikan Layanan Cayenne.

Sebelumnya, saya hadir sepeda untuk membuat perangkat Arduino untuk pemantauan.

Itu menarik.

/ * - Proyek Baru - Kode sumber antarmuka pengguna grafis ini telah dihasilkan secara otomatis oleh Remotexy Editor. Untuk mengkompilasi kode ini menggunakan Remotexy Library 2.3.5 atau versi lebih baru Unduh dengan tautan http://remotexy.com/en/library/ untuk menghubungkan menggunakan aplikasi seluler Remotexy dengan tautan http://remotexy.com/en/download/ - untuk Android 4.3.1 atau versi yang lebih baru; - Untuk versi iOS 1.3.5 atau lebih baru; Kode sumber ini adalah perangkat lunak gratis; Anda dapat mendistribusikannya mendistribusikannya dan / atau memodifikasinya berdasarkan ketentuan-ketentuan Lisensi Publik Umum GNU yang lebih rendah seperti yang diterbitkan oleh Yayasan Perangkat Lunak Bebas; Baik versi 2.1 dari lisensi, atau (pada opsi Anda) versi yang lebih baru. * ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////// // // Definisi koneksi Mode dan koneksi remotexy #define remotexy_mode__sp8266_mode__sp8266_mode__sp8266_hardservial_cloud #include // Pengaturan Koneksi #define remotexy_serial serial #define remotexy_serial_speed 9600 #define remotexy_wifi_sid "***********" #define remotexy_wifi_password "*********" Cloud "cloud. Remotexy .com "#define remotexy_cloud_port 6376 #define remotexy_cloud_token" ************************** "#include // tambahkan perpustakaan DHT11 DHT11 DHT; // Pengumuman Kelas Variabel DHT11 #Definine DHT11_PIN 7 // Sensor DHT11 terhubung ke digital Pine Number 4 Const int analogsignal \u003d A3; // sambungkan pin sinyal analog const int digitalsignal \u003d 8; // menghubungkan pensinyalan digital nogas pina boolean; // variabel untuk menyimpan nilai keberadaan gas int gas \u003d 0; // variabel untuk menyimpan jumlah gas float hum \u003d 0; // variabel untuk menyimpan temp mengambang kelembaban \u003d 0; // variabel untuk menyimpan suhu int chk; // variabel untuk menyimpan kesalahan Msgbuffer DHT Char; // antarmuka konfigurasi #pragma pack (push, 1) uint8_t remotexy_conf \u003d (255,1,0,24,0,74,0,8,13,2, 2,0,38,44,22,11,7, 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,26,5,20, 5.38,23,20.52,26,11,67, 4, 63,6,20, 5,39,52,20,26, 11); // struktur menentukan semua variabel antarmuka kontrol struct Anda (// input variabel uint8_t switch_1; // \u003d 1 jika sakelar dihidupkan dan \u003d 0 jika dinonaktifkan // output variabel int8_t level_1; // \u003d 0..100) int8_t Posisi level_2 level; / / \u003d 0..100 posisi level char text_1; // \u003d baris utf8 ending nol char text_2; // \u003d baris utf8 ending nol // variabel lain uint8_t connect_flag; // \u003d 1 jika kawat terhubung, lain \u003d 0) Remotexy; # Pragma Pack (POP) /////////////////////////////////////// // END REMOTEXY TERMASUK // /////////////////////////////////////// #define pin_switch_1 13 void setup () (remotexy_init (); pinmode (pin_switch_1, output); // todo Anda setup kode) void loop () (remotexy_handler (); digitalwrite (pin_switch_1, (remotexy.switch_1 \u003d\u003d 0)? rendah: tinggi)? nogas \u003d digitalread (digitalsignal); // baca kehadiran gas \u003d analografe (analogsignal); // dan tentang nomornya chk \u003d dht.read (dht11_pin); hum \u003d dht.humidation; 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 you loop code / / gunakan struktur remotexy untuk transfer data )

Kami menggunakan sandwich dari papan.

Tiba-tiba, semuanya segera diperoleh:

Dari saat menemukan layanan cloud, Remotexy ke foto di atas melewati satu jam.

Fitur bekerja dengan remotexy.

1. Semuanya sangat sederhana. Dengan caranya sendiri itu baik. Dengan Blynk dan Cayenne, misalnya, hampir tidak dari awal dalam satu jam ternyata mengerti. Untuk menggunakan, misalnya, "Kascada Cloud" Anda perlu membeli khusus.

2. Tidak ada pemrosesan dan penyimpanan data di sisi server: Tidak ada koneksi dengan papan - aplikasi menggantung "tanpa koneksi".

3. Gratis hanya 5 elemen desain, tetapi aplikasi pro tidak lebih mahal dari setengah hari.

4. Ada peluang dari satu aplikasi untuk berkomunikasi dengan papan melalui server cloud dan langsung. Benar, tidak pada saat yang sama. Tentu saja. Dan beralih segera mustahil - Anda perlu mengubah sketsa di papan tulis. Ada juga kemampuan untuk mengkomunikasikan smartphone dengan bluetooth dan papan USB.