Isi kandungan:

Komunikasi Arduino ke Laravel: 4 Langkah
Komunikasi Arduino ke Laravel: 4 Langkah

Video: Komunikasi Arduino ke Laravel: 4 Langkah

Video: Komunikasi Arduino ke Laravel: 4 Langkah
Video: Arduino to Laravel Communication - Send data from NodeMCU to Laravel 2024, November
Anonim
Image
Image
Arduino ke Laravel Communication
Arduino ke Laravel Communication

Hai semua, Dalam Instructable ini, saya akan menunjukkan kepada anda bagaimana anda dapat mengirim data dari Arduino ke aplikasi Laravel.

Langkah 1: Pengenalan

Pengenalan
Pengenalan
Pengenalan
Pengenalan

Setiap kali kita mempunyai projek yang memerlukan beberapa paparan data dan pembalakan, biasanya kita memerlukan data yang ada di web. Dengan cara ini kita mungkin dapat memantau keadaan objek dari jauh atau bahkan mengawal peranti kita dari mana saja di dunia.

Untuk projek ini, kami akan menggunakan papan NodeMCU v1.0 yang mempunyai modul ESP8266 12e. Selain itu, kita perlu menggunakan komputer di mana kita boleh menjadi tuan rumah aplikasi Laravel kita. Sekiranya anda ingin mengetahui bagaimana anda boleh mengatur persekitaran seperti itu, periksa video saya mengenai perkara itu.

Langkah 2: Sediakan Aplikasi Laravel

Sediakan Aplikasi Laravel
Sediakan Aplikasi Laravel
Sediakan Aplikasi Laravel
Sediakan Aplikasi Laravel

Langkah pertama kami adalah memasang Laravel melalui Composer. Saya tidak akan memperincikan bagaimana anda boleh melakukannya kerana dokumentasi menerangkannya secara terperinci dan anda boleh mencarinya di sini.

Untuk memastikan demo ini mudah, di Laravel kami akan mencatat maklumat yang dihantar dari Arduino ke fail teks supaya kami dapat menyemaknya kemudian. Untuk itu, pertama-tama kita akan membuat laluan POST baru dalam fail "api.php". Dalam panggilan balik, kami akan memasukkan butiran permintaan sehingga kemudian kami dapat mengambil parameter yang dikirimkan.

Untuk menulis ke fail, saya menggunakan Penyimpanan fasad dari Laravel dengan kaedah tambahan yang berguna. Apabila dipanggil kaedah ini menerima nama file dan data rentetan di mana ia menambahkan data ini ke file yang ditentukan. Sekiranya fail tidak ada, maka fail dibuat pada panggilan pertama.

Data yang kami tulis di setiap baris terdiri dari tanggal dan waktu saat ini, diikuti dengan nilai permintaan untuk suhu dan kelembapan. Sekiranya anda mempunyai banyak nilai seperti itu, anda boleh mengulangi proses pengambilan yang sama untuk semuanya.

Langkah 3: Siapkan Pengirim Arduino

Siapkan Arduino Sender
Siapkan Arduino Sender
Siapkan Arduino Sender
Siapkan Arduino Sender

Sekarang mari kita lihat kod Arduino dan pengiriman data.

Agar papan NodeMCU dapat menyambung ke WiFi kami dan menghantar permintaan, pertama kami perlu memasukkan beberapa perpustakaan di bahagian atas. Seterusnya kita perlu menentukan SSID rangkaian yang kita sambungkan dan kata laluannya. Sekiranya anda menggunakan Uno dengan pelindung Ethernet, maka proses anda akan berbeza.

Juga, kita simpan di sini root URL pelayan Laravel yang baru sahaja kita buat. Dalam kes saya, ini adalah alamat IP komputer tempatan saya tetapi anda boleh menambahkan mana-mana URL host di mana kodnya dapat diakses.

Dalam fungsi persediaan, kita memulakan komunikasi bersiri sehingga kita dapat memantau apa yang sedang berlaku. Selain itu kita perlu menyiapkan papan NodeMCU supaya dapat disambungkan ke WiFi dengan betul. Setelah selesai, kita dapat memulakan sambungan dan menunggu sehingga kita menerima alamat IP dari penghala.

Untuk contoh ini, saya sebenarnya tidak mempunyai sensor yang disambungkan ke papan. Sebagai gantinya saya hanya menghasilkan beberapa data rawak menggunakan fungsi rawak dan saya menghantarnya.

Data ini perlu disiapkan dalam bentuk string pertanyaan dan setelah permintaan HTTP dimulai, kami harus mengirimkannya menggunakan metode POST pada klien HTTP. Header yang kami tambahkan sebelumnya ada untuk memberitahu pelayan bahawa ada data dalam permintaan yang perlu dikumpulkannya.

Hasilnya, pertama-tama kami mendapat kod status HTTP dan kemudian muatan respons. Sekiranya semuanya berjalan lancar, kita harus mendapatkan 200 sebagai kod dan kerana kita tidak mengembalikan apa-apa dari aplikasi Laravel kami, muatan akan kosong.

Sekiranya atas sebab tertentu kod status tidak 200, maka muatan biasanya akan mengandungi mesej ralat tentang apa yang berlaku.

Pada akhirnya, kita perlu memastikan untuk menutup permintaan dan menunggu waktu tertentu, 5 saat dalam contoh kita untuk melakukan proses yang sama sekali lagi.

Hasilnya adalah bahawa kita mendapatkan nilai-nilai yang disimpan dalam fail teks pada setiap lelaran sehingga kita kemudian dapat menggunakannya untuk memaparkannya atau memetakannya pada carta.

Langkah 4: Langkah Lebih Lanjut

Langkah Lanjut
Langkah Lanjut

Seperti yang anda lihat, prosesnya cukup mudah dan dapat diperluas dengan mudah untuk membaca nilai dari sensor yang berbeza dan mungkin menuliskannya dalam pangkalan data. Hasil dari apa yang dapat anda bina dengan ini hanya dibatasi oleh imaginasi anda. Untuk membantu anda memulakan, di bawah adalah pautan ke kod sumber penuh yang digunakan dalam contoh.

github.com/bkolicoski/arduino-laravel-comm…

Saya harap anda berjaya mempelajari sesuatu yang baru dari Instructable ini dan jika anda melakukannya, sila beritahu saya dalam komen, ikuti saya di Instructables dan jangan lupa untuk melanggan saluran YouTube saya.

Terima kasih!

Disyorkan: