Arduino Mega Server

gambar

Ya, ini Arduino lagi, tapi jangan buru-buru menutup halaman, kali ini Anda sedang menunggu sesuatu yang benar-benar baru dan menarik. Pada dasarnya, artikel ini akan fokus pada papan mikrokontroler Arduino Mega dan kartu antarmuka jaringan Ethernet Shield W5100 dan pada keajaiban yang dapat dilakukan dengan mereka jika Anda membiarkan diri Anda melampaui stereotip.

Jadi, apa itu papan Arduino? Mikrokontroler 8-bit "buruk" dengan jumlah RAM yang konyol (dalam kasus Mega adalah 8 kilobyte) dan jumlah memori flash yang sama konyol (256 kilobyte untuk Mega). Kartu ekspansi menambah keaktifan dalam lanskap, dalam kasus kami ini adalah Ethernet Shield, tetapi pada dasarnya itu tidak mengubah apa pun. Ruang lingkup papan tersebut adalah kerajinan marjinal dan LED yang berkedip-kedip.

Tapi itu sampai saat terakhir. Sekarang di alam ada Server Arduino Mega , yang secara fundamental mengubah hal-hal. Misalnya, apa yang akan Anda katakan jika Anda menemukan pernyataan bahwa:
  • pada Arduino Anda dapat mengatur server web lengkap yang tidak memiliki batasan pada ukuran dan jumlah file?
  • memperbarui konten secara dinamis tanpa menghentikan server?
  • HTML5, CSS3, JavaScript, Ajax, Processig, THREE.js, . .?
  • «» ( )?
  • , , ( 32 )?

Anda akan mengatakan bahwa ini tidak mungkin.

Namun, ini adalah fakta. Dan Anda dapat mengunduh kit distribusi ke komputer Anda dan melihatnya sendiri (kecuali Habr, ini adalah contoh hipotetis).

Apa rahasianya? Semuanya sangat sederhana. Papan antarmuka jaringan mendukung menghubungkan kartu memori SD hingga 32 gigabyte dan tidak ada yang mencegah kita menggunakannya untuk menyimpan file server web dan konten yang sebenarnya. Anda hanya perlu menyelesaikan masalah mengintegrasikan semua kekayaan ini ke dalam satu sistem.

Agar semua ini berfungsi, Anda perlu menulis mesin server untuk Arduino dan mengajari dia cara menampilkan konten kartu memori flash atas permintaan browser. Sebenarnya, hampir semuanya. Anda juga perlu mengatur pembaruan file server dan konten “on the fly”, sehingga Anda tidak harus bangun dari sofa, matikan daya Arduino dan lepaskan kartu memori setiap kali Anda perlu mengubah sesuatu di konfigurasi server atau mengubah apa atau dalam konten. Misi yang sulit namun mulia ini dipercayakan kepada Komandan Serial Arduino, yang mengontrol pengunduhan file ke server yang berfungsi, tanpa menghentikannya.

gambar

Jika semuanya sangat sederhana, lalu mengapa belum pernah dilakukan sebelumnya? Ini benar-benar sebuah pertanyaan. Versi saya adalah stereotip pemikiran. Mereka mengatakan kepada Anda bahwa ini adalah pengontrol 8-bit, apa lagi THREE.js? Hosting apa? Apa yang kamu bicarakan? Dalam keadilan, saya harus mengatakan bahwa semua bagian dari teka-teki sudah ada di alam, tetapi mereka ada dalam bentuk yang benar-benar tidak senonoh - baik dalam bentuk server abstrak yang sepenuhnya terpisah dari kenyataan, atau dalam bentuk contoh-contoh Ajax, tetapi sekali lagi dengan hanya dua tombol abstrak yang dengannya tidak jelas apa yang harus dilakukan.

Area aplikasi


Sekarang mari kita bicara tentang penerapan teknologi ini dan apa, pada kenyataannya, sangat indah dan bermanfaat di dalamnya.

Penjelasan yang diperlukan. Nama tersebut mengandung kata "server" dan bagian pertama dari artikel ini adalah tentang fungsi server dari sistem. Ini dapat membuat Anda tersesat dan memberi kesan bahwa tujuan utama dari sistem ini adalah meng-hosting file dan situs dan mendistribusikan konten. Ini tidak sepenuhnya benar. Hambatan sempit dalam sistem ini adalah kecepatan kartu SD dan tentu saja, mengganti mikrokontroler dengan server web nyata akan gagal.

Arti sistem agak berbeda. Bersama dengan Arduino Mega Server Anda mendapatkan kemampuan untuk mengelola perangkat Anda dengan mudah menggunakan antarmuka web dan cukup mewah (dalam arti visual) menampilkan hasil kerjanya menggunakan semua kekuatan teknologi modern (HTML5, CSS3, THREE.js, dll.). Baik itu sistem kontrol untuk rumah pintar, rumah kaca, mesin penjual minuman, stasiun cuaca atau apa pun yang Anda punya cukup imajinasi.

gambar

Bidang lain yang menarik dari penerapan sistem ini adalah dokumentasi mandiri (interaktif). Sebagai contoh, Anda menemukan di dapur berdebu (milik Anda atau pelanggan Anda) mikrokontroler tidak jelas apa dan bagaimana melakukannya (itu sudah lama sekali dan semua dokumentasi telah hilang). Yang Anda butuhkan adalah pergi ke situsnya dan mendapatkan informasi lengkap tentang koneksi, protokol, lingkungan, dll. Lagi pula, kami tidak memiliki batasan pada volume file yang disimpan. Dokumentasinya mungkin interaktif. Misalnya, pinout controller tidak hanya digambar di halaman, tetapi juga diperbarui secara real time (status, potensi, dll.). Anda dapat segera melihat apa dan bagaimana cara kerjanya dan apa dan bagaimana itu tidak bekerja.

gambar

Apa yang ada di papan kecuali server


Saya memperhatikan banyak fungsi server, tetapi ini hanya satu bagian dari sistem. Selain server, Arduino berisi kode untuk semua kesempatan:
  • pengukuran suhu
  • pemeliharaan sensor PIR
  • pemeliharaan sensor kontak
  • jam waktu nyata
  • modul untuk memantau dan mengukur tegangan dan arus jaringan selama 13 saluran
  • Modul strip LED
  • modul penentuan ketersediaan perangkat jaringan
  • modul untuk bekerja dengan kartu memori SD
  • modul untuk menerima dan mengeluarkan perintah melalui jaringan
  • modul integrasi dengan sistem otomasi rumah
  • dan banyak fitur lainnya plus kemampuan untuk membuat yang baru

Struktur modular dan kompilasi modul selektif didukung. Bagian browser dari kode mengenali ada atau tidaknya modul yang dikompilasi dan memungkinkan Anda untuk secara dinamis mengaktifkan atau menonaktifkannya langsung dari halaman web.

gambar

Integrasi dengan MajorDoMo


Secara historis, Arduino Mega Server (selanjutnya AMS) dikembangkan bersama dan sebagai bagian dari sistem otomasi rumah berbasis pada platform terbuka MajorDoMo dan memiliki dukungan “asli” bawaan untuk platform ini. Dia dapat mengirim status dan data untuk analisis dan penyimpanan ke "kakak laki-lakinya" dan menerima perintah kontrol darinya melalui jaringan.

Selain itu, saat ini, AMS sedang bekerja dalam apa yang disebut. mode tandem, mis., untuk beberapa fungsi, sumber daya dari server MajorDoMo digunakan. Tetapi bekerja bersama untuk Mega Server tidak berprinsip, ia dapat bekerja sepenuhnya secara mandiri.

gambar

Teknologi sisi


Dalam kerangka kerja proyek, beberapa teknologi menarik dan unik diterapkan, misalnya, indikator tingkat CPU mikrokontroler. Ini nyaman karena Anda dapat segera melihat betapa sibuknya pengontrol Anda dan apa yang sedang dilakukannya. Saya tidak tahu betapa uniknya ini, tetapi saya tidak dapat menemukan yang serupa di internet, terutama dalam bentuk yang dapat dicerna dengan grafik yang indah dan halaman web.

gambar

Modul elektro telah dibuat yang memonitor tegangan listrik dan 13 saluran arus lainnya. Dipasang di panel listrik, memungkinkan Anda memantau secara langsung atau tidak langsung semua aktivitas listrik di rumah. Ketika alat tertentu dinyalakan dan dimatikan, berapa banyak listrik yang dikonsumsi dan berapa kontribusinya terhadap ukuran tagihan listrik. Ini juga memungkinkan Anda untuk secara tidak langsung melacak ada atau tidaknya orang di rumah.

gambar

Modul untuk memvisualisasikan dan mengendalikan bentuk tegangan dan arus listrik pada 13 saluran telah dibuat. Plus, osiloskop jaringan ditambahkan ketika Arduino secara real time mentransmisikan sinyal dinamis (bentuk gelombang) ke halaman web Anda. Yang juga tidak memiliki analog, sejauh yang saya tahu.

gambar

Menambahkan modul screensaver untuk panel tampilan informasi modern. Anda dapat menghapus semua informasi teknis dari layar dan hanya meninggalkan yang diperlukan dengan latar belakang gambar yang indah. Ternyata sesuatu seperti gambar dalam bingkai untuk panel besar atau kecil.

gambar

Masih menerapkan hal-hal seperti pengukur frekuensi dari tegangan listrik, yang dapat digunakan untuk memperingatkan kemungkinan kerusakan dalam waktu dekat dan, misalnya, indikator status sistem 3D multi-fungsi untuk 216 objek / subsistem / fungsi, yang berputar di header situs. Artinya adalah sekilas Anda dapat mengevaluasi keadaan sistem yang kompleks.

Dan seterusnya dan seterusnya. Ada lebih banyak teknologi dari yang bisa muat di halaman ini. Dan semua ini bekerja pada mikrokontroler 8-bit dengan memori 8 kilobyte, yang sungguh tidak bisa dipercaya.

gambar

Prospek


Prospeknya tidak terbatas. Anda dapat menerapkan menggunakan teknologi ini apa saja, bahkan proyek yang paling fantastis. Misalnya, intelijen rumah pintar didistribusikan di seluruh pengontrol, kedipan dinamis dari pengontrol melalui jaringan (tergantung pada beberapa kondisi) dan konfigurasi ulang rumah pintar di tingkat besi, penyediaan antarmuka web untuk Arduino Uno "sangat buruk", dll., Dll. Belum lagi pabrik bir pintar dan setiap situs bunga di rumah Anda dengan blog pribadi mereka.

Dan untuk ini Anda tidak perlu apa-apa selain Arduino, Ethernet Shield, AMS, kartu SD dan imajinasi Anda.

gambar

Prospek komersial


Anda dapat menjual perangkat Anda dengan hanya memasukkan semua yang Anda butuhkan dalam kotak dan menambahkan firmware AMS untuk tugas Anda. Pelanggan menyalakan perangkat dan mengendalikannya melalui antarmuka web penuh dan tidak ada lagi yang diperlukan. Dan jika Anda masih mempertimbangkan untuk menghubungkan perangkat dan sensor Anda tanpa setrika, maka perluas pemirsa potensial Anda lebih banyak lagi.

Bagaimana cara melakukannya tanpa setrika? The Open Home Automation Standard (OHAS) dan sensor satu-klik membantu Anda melakukan ini, tapi itu cerita lain. Jika itu akan menarik, saya akan menjelaskan di sini beberapa teknologi "terobosan" lainnya.

Status proyek


Status proyek adalah versi alfa, semuanya berfungsi, tetapi semuanya harus diselesaikan. Jika Anda memiliki keinginan dan kualifikasi yang sesuai, Anda dapat bergabung dengan proyek dan mempercepat proses pengembangan dan mendapatkan penggemar yang tiada banding. Atau Anda dapat mengunduh kode sumber dan membuat proyek impian Anda.

Proyek ini sepenuhnya terbuka dan tidak memaksakan pembatasan penggunaannya. Anda dapat menggunakannya secara bebas untuk apa saja, termasuk tujuan komersial, mengubah kode, memodifikasinya, membuat proyek Anda sendiri di GitHub, dll.

gambar

Anda dapat mengunduh versi terbaru di situs web resmi proyek . Jika Anda memiliki pertanyaan, maka Anda dapat menanyakannya di forum . Forum ini juga memiliki instruksi untuk menginstal dan mengkonfigurasi AMS.

Teman! Saya lupa menyebutkan yang lain, mungkin bagian terpenting dari proyek. Ini adalah fungsi pembelajaran. Jika Anda mulai bekerja dengan proyek dan mengubah kode untuk tugas-tugas Anda, maka Anda akan segera belajar mempraktikkan banyak teknologi modern, seperti HTML, CSS, JavaScript, interaksi antar browser, kode debugging di browser, pemrograman untuk Arduino, Pemrosesan dan banyak lagi lainnya.

Dan yang terakhir. Proyek ini sarat dengan ide dan eksklusif. Anda cukup mengambil potongan kode yang diperlukan untuk proyek Anda sendiri, menambah dan memperbaikinya.

Selain itu . Saluran Youtube terbuka dan berikut ini adalah video promo dari Arduino Mega Server, yang menunjukkan cara bekerja dengan sistem nyata.

Source: https://habr.com/ru/post/id382177/


All Articles